passer de Windows à la plate-forme de programmation * nix

Comment migrer vers la plate-forme * nix après avoir passé plus de 10 ans sur Windows? Quelle saveur sera facile à manipuler pour me rendre plus confortable et puis peut-être puis-je passer à plus de saveurs stadard * nix? Je reporte depuis un moment maintenant. Aidez-moi avec la poussée supplémentaire.

Linux est le plus accessible et dispose de la fonctionnalité de bureau la plus mature. BSD ( dans ses différentes versions ) a moins de bagage d’espace utilisateur et serait plus facile à comprendre à un niveau fondamental. À cet égard, cela ressemble plus à un Unix traditionnel qu’à une dissortingbution Linux moderne. Certains pourraient voir cela comme une bonne chose (et de certaines outlook, il est), mais seront plus étrangers à quelqu’un qui est familier avec Windows.

Les principales dissortingbutions de bureau sont Ubuntu et Fedora. Ce sont deux systèmes capables, mais ils diffèrent quelque peu dans leur architecture d’espace utilisateur. Les outils pour l’environnement de bureau et la configuration par défaut pour la sécurité système fonctionnent un peu différemment sur Ubuntu que sur la plupart des autres versions Linux ou Unix, mais cela est peu pertinent pour le développement. Du sharepoint vue de l’utilisateur, l’un ou l’autre d’entre eux serait un bon début.

Du sharepoint vue d’un développeur, toutes les versions modernes d’Unix et de Linux sont très similaires et partagent essentiellement la même chaîne d’outils de développement. Si vous voulez en apprendre davantage sur le système du sharepoint vue d’un programmeur, il y a relativement peu de choix.

La plupart des programmes Unix peuvent être réalisés de manière très efficace avec un éditeur de programmation tel que vim ou emacs, tous deux disponibles en mode texte et en saveurs. Ces éditeurs sont très puissants et possèdent des interfaces utilisateur plutôt bizarres – les interfaces utilisateur sont habituelles mais consortingbuent de manière significative à la puissance des outils. Si vous n’êtes pas à l’aise avec ces outils, cette publication aborde plusieurs autres éditeurs offrant une expérience utilisateur plus proche des outils Windows courants.

Il y a plusieurs IDE tels que Eclipse qui pourraient intéresser davantage les utilisateurs de Windows / Visual Studio.

Certains messages sur Stackoverflow qui traitent des ressources Linux / Unix sont:

  • Quels sont les bons livres linux-unix pour un utilisateur qui avance

  • Quelles sont les bonnes ressources pour apprendre le C au-delà de K & R?

  • Ressources pour l’apprentissage de la conception du programme C

Si vous avez le temps et que vous voulez faire une véritable visite guidée, Linux From Scratch est un didacticiel qui permet de créer une installation Linux à la main. C’est un bon moyen d’apprendre en profondeur.

Pour la programmation, découvrez C / unix de K & R et certaines des ressources mentionnées dans les questions ci-dessus. L’équivalent de Petzold, Prosise et Richter dans le monde Unix est la programmation avancée de W Richard Stevens dans l’environnement Unix et la programmation réseau Unix vol. 1 et 2.

Apprendre un des langages dynamics tels que Perl ou Python si vous ne les connaissez pas déjà est également utile. En bonus, vous pouvez obtenir de bons ports Windows d’ Activestate, ce qui signifie que ces compétences sont utiles sur les deux plates-formes.

Si vous êtes en C ++, jetez un coup d’œil à QT. Il s’agit sans doute de la meilleure boîte à outils d’interface graphique multi-plateforme sur le marché et (encore) présente un ensemble de compétences et une chaîne d’outils transférables sous Windows. Il y a aussi plusieurs bons livres sur le sujet et (en bonus) cela fonctionne aussi bien avec Python.

Enfin, Cygwin est une couche d’émulation Unix fonctionnant sous Windows et offrant un environnement sensiblement unix. Sur le plan architectural, Cygwin est un port de glibc et les crt (les bibliothèques de base de la chaîne d’outils GNU) en tant qu’adaptateur au-dessus de Win32. Cette couche d’émulation facilite le port des applications Unix / Linux sur Cygwin. La plate-forme est livrée avec un ensemble de logiciels assez complet, essentiellement une dissortingbution Linux complète hébergée sur un kernel Windows. Il vous permet de travailler de manière unix sous Windows sans avoir à gérer une installation séparée du système d’exploitation. Si vous ne souhaitez pas exécuter de machines virtuelles, de plusieurs démarrages ou de plusieurs PC, cela peut être un moyen de passer à l’unix.

Ubuntu est bien équilibré, avec un bureau convivial, mais le potentiel de mettre en place un environnement de programmation entièrement fonctionnel.

Je vous conseille d’expérimenter avec des machines virtuelles – il n’y a aucune raison de laisser tomber votre configuration actuelle avant d’avoir essayé quelques unes des principales dissortingbutions. VMware et d’autres disposent d’une grande variété de versions de serveurs et de postes de travail.

Je suppose que cela dépend aussi des langages de programmation avec lesquels vous êtes à l’aise.

Si vous avez travaillé avec C # dans le passé, vous pouvez envisager d’utiliser les connaissances en exécutant Mono, ou peut-être en utilisant Java (qui est syntaxiquement très similaire). De toute façon, Linux serait bien.

Personnellement, je vous recommande de regarder le Mac OS X. C’est un système d’exploitation basé sur BSD Unix, mais avec une interface utilisateur très sophistiquée sur le dessus. Pour moi, c’est comme le meilleur des mondes Windows et Unix.

Je fais tout mon développement Unix, en le déployant sur des serveurs Ubuntu. Si vous regardez un Mac, jetez un coup d’œil au projet MacPorts , qui regroupe une grande partie du logiciel Unix / Linux Open Source, facilitant ainsi l’installation des outils de programmation.

Ubuntu semble être très convivial et contient de nombreuses informations spécifiques dans les forums, etc. Vous serez donc couvert par le support technique.

J’ai connu le passage de windows à ubuntu comme très faisable, les choses que vous pouvez faire graphiquement dans Windows peuvent être faites exactement de la même manière dans Ubuntu (peut-être quelques exceptions) et un peu plus. Une personne avertie en informatique ne devrait avoir aucun problème.

Cependant, cela vous aidera grandement si vous êtes familier avec les commandes shell de base (vous en aurez besoin en tant que programmeur!). Certains sont les mêmes que sur windows mais surtout ls (dir) me fait parfois mal au coeur pour “quelle était cette commande à nouveau”, et inversement quand je suis de retour sur Windows. Prenez le temps de les essayer. (par exemple: pwd, ls, mv, rm, ps, kill)

Enfin, lors de l’installation de programmes, souvent un simple “sudo apt-get install X” fait tout le travail pour vous, encore plus convivial que les fichiers exécutables de Windows Installer que je trouve.

Edit: Vous voudrez peut-être essayer un lecteur VMware et essayer quelques dissortingbutions linux à jouer avant d’installer le dual boot.

Obtenez un macbook pro. OSX est la version la plus lisse d’Unix et l’ordinateur portable devrait vous donner le coup de pouce dont vous avez besoin.

Ensuite, lorsque vous vous sentez plus en confiance, vous pouvez décider si vous voulez ou non passer le plus clair de votre temps à configurer votre carte son, à exécuter ./autoconfigure && make et à déboguer les erreurs du gestionnaire de paquets.

Toute version moderne d’Unix (ou de Linux) que vous pouvez utiliser sur votre machine fonctionnera parfaitement.

Voici celles que je considérerais:

  • Ubuntu. Comme d’autres l’ont noté, cela est souvent considéré comme le plus facile à utiliser. Cependant, certaines parties ne sont pas “standard” Unix. Par exemple, les scripts de démarrage n’utilisent pas init . C’est surtout une bonne chose, mais si vous essayez d’apprendre, Unix n’est peut-être pas ce dont vous avez besoin.
  • Feutre. Saignement mais avec des bords rugueux.
  • Slackware. Peut-être la dissortingbution Linux la plus semblable à Unix (certains diraient datée!).
  • Un des * BSD: FreeBSD, OpenBSD, NetBSD. Une approche différente de certaines choses que Linux.
  • Solaris. Ceci est “propre” Unix. Semblable à Linux par rapport à Linux, mais qui vaut la peine de jouer pour voir ce qui est “standard”.

En fait, j’envisagerais d’en lancer au moins deux, la plupart fonctionnant correctement en tant que VM. L’un des avantages et des inconvénients d’Unix est que ce qui est standardisé est plus la philosophie que la plupart des détails. Il n’y a pas de Visual Studio, il n’y a pas de C # (je veux dire pas de langage de haut niveau canonique, je connais Mono).

Excellentes réponses. Quelques commentaires:

Presque toutes les dissortingbutions prennent en charge les LiveCD, pour vous permettre d’essayer avant l’installation. les gens ont mentionné VMWare et VirtualBox, notez également que le programme d’installation WUBI d’Ubuntu vous permet d’installer Linux sous Windows sans repartitionnement; très agréable; Je l’ai utilisé lorsque je suis passé sur mon système 64 bits, car je n’étais pas sûr de la qualité du support du pilote. Ubuntu 9.04 fonctionne très bien en 64, cependant. De plus, comme Ubuntu est si populaire, ce sont de nombreuses versions, Kubuntu utilise KDE au lieu de Gnome, Mint et Xubuntu sont tous deux plus légers.

Attendez-vous à courir côte à côte pendant un certain temps lors de la transition depuis Windows. Cygwin propose de bons manuels téléchargeables pour les utilisateurs habitués à bricoler, ainsi que des informations de base sur le fonctionnement de * nix ci-dessous, destiné aux utilisateurs Windows. Il y a des tonnes de sites utiles; les forums de la communauté Ubuntu ont une quantité énorme d’informations, à la fois pour les débutants et les avancés.

Pour vous habituer au développement sous Linux, consultez le projet de documentation Linux. En plus de KDevelop, il y a Anjuta, Eclipse et beaucoup d’autres. Certains sont légers, d’autres lourds.

Une chose qui peut faciliter la transition est d’utiliser un logiciel qui fonctionne dans les deux systèmes d’exploitation. Firefox, Thunderbird, OpenOffice, Subversion et des centaines sinon des milliers d’autres fonctionnent sous Linux et Windows. Et avec très peu d’effort, vous pouvez utiliser les mêmes dossiers pour les parameters d’application et les données pour beaucoup d’entre eux. Firefox et Thunderbird peuvent facilement utiliser les mêmes dossiers / fichiers sur une partition NTFS. Facilite le double démarrage Les instructions sont sur le site de la communauté Ubuntu et sur d’autres sites.

Notez que certains logiciels Linux ne sont pas compatibles NTFS; sous Linux, conservez vos dossiers de travail Subversion sur une partition native.

Une mise en garde pour le partage des parameters de l’application; certaines applications stockent des chemins absolus; Pour contourner ce problème, vous pouvez créer des liens symboliques qui ressemblent à des lettres de lecteur Windows.

Après vous être familiarisé avec Linux, twigz-vous et essayez des applications et des outils non Windowsy. Parfois, c’est mieux. Beaucoup de gens utilisent Emacs et Vim pour de bonnes raisons.

Essayez Kubuntu comme une dissortingbution et Kdevelop et Qt pour commencer à programmer, tout cela est très civilisé.

Kate est un éditeur de texte correct pour le bloc-notes si vous voulez aller dans cette direction, mais je ne vois pas pourquoi vous voudriez vous adresser à Vi ou à Emacs en dehors de l’attrait geek d’utiliser quelque chose de vraiment mystérieux.