2009-07-02 3 views
7

Wie migrieren Sie zu * Nix-Plattform nach mehr als 10 Jahren auf Windows verbringen? Welcher Geschmack wird einfach zu handhaben sein, um mich komfortabler zu machen, und dann kann ich vielleicht zu mehr Standard * nix Aromen wechseln? Ich habe jetzt eine Weile verschoben. Hilf mir mit dem Extra-Push.Verschiebung von Windows zu * Nix-Programmierung-Plattform

+0

Ich habe derzeit das gleiche Problem, nach der Arbeit mit den wirklich hohen Level WPF/.NET Sachen für das letzte Jahr. Die * nixes scheinen nicht viel zu haben, was mit dem, was ich weiß, kompatibel ist. – IanGilham

+0

Eigentlich ist XAML stark von Mozillas XUL abgeleitet. Diese Plattform hat außerhalb der Firefox-Plugin-Entwicklung nie Fuß gefasst. XulRunner ist nicht so umfassend wie .Net, aber das Paradigma könnte nah genug an WPF sein, um eine gemeinsame Basis zu finden. – ConcernedOfTunbridgeWells

Antwort

9

Linux ist am zugänglichsten und hat die ausgereifteste Desktop-Funktionalität. BSD (initsvariousflavours) hat weniger Benutzerraum Gepäck und wäre einfacher auf einer grundlegenden Ebene zu verstehen. In dieser Hinsicht ist es mehr wie ein traditionelles Unix als eine moderne Linux-Distribution. Einige mögen dies als eine gute Sache betrachten (und aus bestimmten Perspektiven ist es), aber für jemanden vertrauter sein, der mit Windows vertraut ist.

Die wichtigsten Desktop-Distributionen sind Ubuntu und Fedora. Diese beiden Systeme sind aber in ihrer Userspace-Architektur etwas unterschiedlich. Die Werkzeuge für die Desktop-Umgebung und Standardkonfiguration für Systemsicherheit funktionieren auf Ubuntu ein wenig anders als auf den meisten anderen Linux- oder Linux-Plattformen Unix-Aromen, aber das ist von geringer Relevanz für die Entwicklung. Aus der Sicht der Benutzer wäre beides ein guter Anfang.

Aus der Perspektive eines Entwicklers sind alle modernen Varianten von Unix und Linux sehr ähnlich und teilen im Wesentlichen die gleiche Entwickler-Tool-Kette. Wenn Sie etwas über das System aus der Perspektive eines Programmierers erfahren möchten, gibt es relativ wenig zu wählen.

Die meisten Unix-Programmierung kann sehr effektiv mit einem Editor des Programmierers wie vim oder emacs, erreicht werden, die beide in Text-Modus und Windowing Aromen kommen. Diese Editoren sind sehr leistungsfähig und haben eher schrullige Benutzeroberflächen - die Benutzerschnittstellen sind zwar üblich, tragen aber wesentlich zur Leistungsfähigkeit der Werkzeuge bei. Wenn Sie mit diesen Tools nicht vertraut sind, behandelt this posting mehrere andere Editoren, die eine Benutzererfahrung näher an gängigen Windows-Tools bieten.

Es gibt mehrere IDEs wie Eclipse, die für jemanden von Windows/Visual Studio von Interesse sein könnten.

Einige Postings auf Stackoverflow, der Linux/Unix-Ressourcen zu diskutieren sind:

Wenn Sie die t haben Ime und wollen eine echte Tour der Schrauben und Muttern Linux From Scratch ist ein Tutorial, das durch den Aufbau einer Linux-Installation von Hand geht. Dies ist ein guter Weg, um etwas zu lernen.

Für die Programmierung erhalten Sie ein Gefühl für C/Unix von K & R und einige der Ressourcen in den oben genannten Fragen erwähnt. Das Äquivalent von Petzold, Prosise und Richter in der Unix-Welt sind Richard Stevens' Advanced Programming in the Unix Environment und Unix Network Programming vol. 1and 2.

eines der dynamischen Sprachen wie Perl oder Python lernen, wenn Sie nicht bereits mit diesen vertraut sind, ist auch eine nützliche Sache zu machen.Als Bonus können Sie gute Windows-Ports beider oben genannten von Activestate bekommen, was bedeutet, dass diese Fähigkeiten auf beiden Plattformen nützlich sind.

Wenn Sie in C++ sind, werfen Sie einen Blick auf QT. Dies ist wohl das beste plattformübergreifende GUI-Toolkit auf dem Markt und (wieder) hat den Vorteil einer Fähigkeit und Werkzeugkette, die zurück in Windows übertragbar ist. Darüber hinaus gibt es severalgoodbooks zum Thema und (als Bonus) auch works well with Python.

Schließlich Cygwin ist eine Unix-Emulationsschicht, die auf Windows läuft und gibt im Wesentlichen Unix-ähnliche Umgebung. Architektonisch ist Cygwin ein Port von glibc und dem crt (den Basisbibliotheken der GNU-Toolkette) als Adapter auf Win32. Dieser Emulations-Layer macht es einfach, Unix/Linux-Anwendungen auf Cygwin zu portieren. Die Plattform wird mit einem ziemlich vollständigen Satz von Software geliefert - im Wesentlichen eine vollständige Linux-Distribution, die auf einem Windows-Kernel gehostet wird. Es ermöglicht Ihnen, unter Windows unixartig zu arbeiten, ohne eine separate Betriebssysteminstallation durchführen zu müssen. Wenn Sie keine VMs, mehrere Boot-Programme oder mehrere PCs ausführen möchten, ist dies möglicherweise eine Möglichkeit, in Unix zu migrieren.

+0

woaw thx so viel, Ubuntu Download hat begonnen, ich versuche mit Desktop Edition 9.x – dhaval

+0

+1 für die "BSD (in seinen verschiedenen Geschmacksrichtungen)" Links :) –

+0

Auch +1 für BSD. Ich habe versucht, von Windows zu Linux zu wechseln, aber es hat nicht funktioniert. Ich versuchte es schließlich mit OpenBSD und mochte es sogar, weil ich nicht wusste, wie ich es anstellen sollte. Ich denke, dass ich von einem BSD mehr gelernt habe, nur weil ich nicht davon ausgegangen bin, dass Windows-Kompatibilität in der Benutzeroberfläche vorhanden ist. Es ist völlig anders und zwingt dich zu lernen. Davon abgesehen benutze ich nun sowohl Arch Linux als auch OpenBSD. Ich mag beide, aber die BSDs werden immer sauberer sein als Linux – Earlz

1

Ubuntu scheint sehr benutzerfreundlich zu sein und hat eine Menge spezifischer Informationen dafür in Foren usw. So werden Sie unterstützt.

Ich habe den Wechsel von Windows zu Ubuntu als sehr machbar erlebt, Dinge, die man grafisch in Windows machen kann, können genauso in ubuntu (vielleicht einige Ausnahmen) und ein bisschen mehr gemacht werden. Ein Computerkenner sollte keine Probleme haben.

Es hilft jedoch sehr, wenn Sie mit den grundlegenden Shell-Befehlen vertraut sind (Sie benötigen sie als Programmierer!). Einige sind die gleichen wie unter Windows, aber vor allem ls (dir) lässt mich manchmal mein Gehirn für "was war das Kommando wieder", und umgekehrt, wenn ich wieder auf Windows bin. Nehmen Sie sich etwas Zeit, um sie auszuprobieren. (zum Beispiel: pwd, ls, mv, rm, ps, kill)

Schließlich, bei der Installation von Programmen oft eine einfache "sudo apt-get install X" macht die ganze Arbeit für Sie, noch benutzerfreundlicher als die Fenster Installer ausführbare Dateien finde ich.

Edit: Vielleicht möchten Sie einen VMware-Player versuchen und ein paar Linux-Distributionen ausprobieren, bevor Sie den Dual-Boot-Modus installieren.

+0

welcher vmplayer wird auf winxp für ubuntu vorgeschlagen? – dhaval

+0

Ich benutze VMware-Player von VMware, aber es war für eine Schulaufgabe, ich habe die Sache nicht erforscht. Es funktioniert zwar (zumindest auf Vista) – NomeN

1

Ubuntu ist gut ausbalanciert, mit einem benutzerfreundlichen Desktop, aber die Möglichkeit, eine voll funktionsfähige Programmierumgebung einzurichten.

Ich würde empfehlen, mit virtuellen Maschinen zu experimentieren - es gibt keinen Grund, Ihre aktuelle Einrichtung zu verlassen, bis Sie einige der Hauptverteilungen ausprobiert haben. VMware und andere haben eine Vielzahl von Server-und Desktop-Builds zur Verfügung.

+0

Ich plane zu partitionieren und halten Sie die XP für mindestens ein paar Monate weiter – dhaval

+0

Ich würde dringend empfehlen, virtuelle Maschinen anstelle von Dual-Boot-Looking. Sie werden die Möglichkeit, mehrere Betriebssysteme gleichzeitig zu verwenden, wirklich zu schätzen wissen. Und wenn Sie einmal eine Auswahl getroffen haben, können Sie immer verschiedene virtuelle Windows-Installationen unter Ihrem bevorzugten System ausführen. – Ken

1

Ich denke, es hängt auch davon ab, mit welchen Programmiersprachen Sie sich wohl fühlen.

Wenn Sie in der Vergangenheit mit C# gearbeitet haben, können Sie das Wissen nutzen, indem Sie Mono ausführen, oder vielleicht Java verwenden (das syntaktisch sehr ähnlich ist). Wie auch immer, Linux wäre gut.

Ich persönlich würde empfehlen, Sie auf das Mac OS X zu schauen. Es ist ein Unix BSD-basierte OS, aber mit einer wirklich glatten Benutzeroberfläche über die Spitze. Für mich fühlt es sich an wie das Beste aus der Windows- und der Unix-Welt.

Ich mache alle meine Unix-Entwicklung darauf, Bereitstellung auf Ubuntu-Servern.Wenn Sie sich einen Mac ansehen, werfen Sie einen Blick auf das Projekt MacPorts, das eine große Menge der Open-Source-Unix/Linux-Software enthält und die Installation von Programmierwerkzeugen unglaublich einfach macht.

0

Holen Sie sich ein Macbook Pro. OSX ist der glatte Geschmack von Unix und der Laptop sollte Ihnen den Schub geben, den Sie brauchen.

Wenn Sie sich sicherer fühlen, können Sie entscheiden, ob Sie die meiste Zeit mit dem Konfigurieren Ihrer Soundkarte verbringen möchten, indem Sie ./autoconfigure & & make ausführen und Fehler im Paketmanager beheben.

+1

das ist eine gute warnung, wird es sich merken, aber mac ist ein entfernter traum mit seinem preis in indien – dhaval

0

Jede moderne Version von Unix (oder Linux), die Sie auf Ihrem Rechner laufen lassen können, ist in Ordnung.

Hier sind diejenigen, die ich in Betracht ziehen würden:

  • Ubuntu. Wie andere bemerkt haben, wird dies oft als am einfachsten zu verwenden angesehen. Einige Teile sind jedoch nicht "Standard" Unix. Die Startskripts verwenden beispielsweise init nicht. Das ist meistens eine gute Sache, aber wenn Sie versuchen, Unix zu lernen, ist es vielleicht nicht das, was Sie brauchen.
  • Fedora. Blutende Kante aber mit Ecken und Kanten.
  • Slackware. Möglicherweise die Unix-ähnliche Linux-Distribution (manche würden sagen, datiert!).
  • Einer der * BSDs: FreeBSD, OpenBSD, NetBSD. Unterschiedliche Herangehensweise an einige Dinge als Linux.
  • Solaris. Das ist "richtiges" Unix. Scheint im Vergleich zu Linux ein blanker Knochen, aber es lohnt sich, mit ihm zu spielen, um zu sehen, was "Standard" ist.

In der Tat würde ich in Betracht ziehen, mindestens ein paar von ihnen laufen, die meisten laufen gut als VM. Eines der guten und schlechten Dinge an Unix ist, dass standardisiert ist mehr die philosophy als viele der Details. Es gibt kein Visual Studio, es gibt kein C# (damit meine ich keine kanonische Hochsprache; ich kenne Mono).

-1

Versuchen Sie Kubuntu als eine Distribution und Kdevelop und Qt, um mit der Programmierung zu beginnen, es ist alles sehr zivilisiert.

Kate ist ein guter Notizblock-ähnlicher Texteditor, wenn du so willst, aber ich verstehe nicht, warum du zu Vi oder Emacs kommen willst, abgesehen von der geekigen Anziehungskraft, etwas wirklich Arkanes zu benutzen.

+0

Ich würde Fedora gehen und das Eclipse CDT heutzutage verwenden, könnten Sie sogar die Eclipse IDE auch auf Windows verwenden. Ich würde mir auch Gedit für Ihren "Notepad" -Typ ansehen. Ich stehe zu meinem Vi/Vim/Emacs-Kommentar, tut mir leid, aber es ist vorbei ... Escape-Colon schreiben quit bang – timB33

0

Ausgezeichnete Antworten. Ein paar Kommentare:

Fast alle Distributionen unterstützen LiveCDs, damit Sie es vor der Installation ausprobieren können. Leute erwähnten VMWare und VirtualBox, bedenken Sie auch, dass Ubuntus WUBI-Installer die Installation von Linux unter Windows ohne Neupartitionierung ermöglicht; Sehr schön; Ich benutzte es, als ich zum ersten Mal zu meinem 64-Bit-System wechselte, da ich nicht sicher war, wie gut die Treiberunterstützung war. Ubuntu 9.04 funktioniert jedoch gut in 64. Da Ubuntu so beliebt ist, sind viele Versionen, Kubuntu verwendet KDE anstelle von Gnome, Mint und Xubuntu sind beide leichter.

Beim Übergang von Windows wird erwartet, dass Sie eine Zeit lang nebeneinander ausgeführt werden. Cygwin hat ein paar gut lesbare Handbücher für Leute, die sich an bash gewöhnt haben, und grundlegende Informationen darüber, wie * nix darunter arbeitet und sich an Windows-Benutzer richtet. Es gibt Tonnen von nützlichen Seiten; Die Ubuntu Community Foren haben eine enorme Menge an Informationen für Anfänger und Fortgeschrittene.

Um sich an die Entwicklung unter Linux zu gewöhnen, überprüfen Sie das Linux-Dokumentationsprojekt. Neben KDevelop gibt es Anjuta, Eclipse und viele mehr. Manche sind leicht, andere schwer.

Eine Sache, die den Übergang erleichtern kann, ist die Verwendung von Software, die in beiden Betriebssystemen ausgeführt wird. Firefox, Thunderbird, OpenOffice, Subversion und Hunderte, wenn nicht Tausende von anderen, funktionieren sowohl unter Linux als auch unter Windows. Und mit sehr wenig Aufwand können Sie dieselben Ordner für Anwendungseinstellungen und Daten für viele von diesen verwenden. Firefox und Thunderbird können problemlos dieselben Ordner/Dateien auf einer NTFS-Partition verwenden. Macht das doppelte Booten viel einfacher. Anweisungen befinden sich auf der Ubuntu Community-Site und anderen Standorten.

Beachten Sie, dass einige Linux-Software nicht NTFS freundlich ist; In Linux behalten Sie Ihre Subversion-Arbeitsordner auf einer nativen Partition.

Eine Einschränkung für die Freigabe von Anwendungseinstellungen; Einige Anwendungen speichern absolute Pfade. Als Workaround können Sie Symlinks erstellen, die wie Windows-Laufwerkbuchstaben aussehen.

Nachdem Sie sich mit Linux vertraut gemacht haben, verzweigen Sie und testen Sie Anwendungen und Tools, die nicht von Windows stammen. Manchmal ist es anders. Viele Leute benutzen Emacs und Vim aus guten Gründen.