Je suis principalement un développeur .NET, donc j'utilise normalement Windows / VisualStudio (cela signifie: je suis gâté) mais j'aime Haskell et d'autres langages (principalement fonctionnels) pendant mon temps libre.
Maintenant, pour Haskell, le support Windows est correct (vous pouvez obtenir la plate-forme Haskell) mais j'ai essayé d'obtenir un environnement de base Clojure / Scheme et c'est juste une douleur pour Windows.
Je pense donc à essayer un autre système d'exploitation pour un meilleur outillage et un support linguistique. Bien sûr, cela me laisse avec MacOS ou une distribution Linux.
Je n'ai jamais utilisé MacOS auparavant et bien sûr Linux serait moins cher (gratuit) et je ne pense pas pouvoir démarrer MacOS en parallèle sur votre matériel PC normal (pouvez-vous?). PLUS: Je n'ai aucune idée des outils que vous pouvez utiliser sur ces (pour moi) systèmes d'exploitation étrangers.
Pour faire court: je veux explorer plus Haskell, Clojure, Scala, Scheme et bien sûr avoir besoin d'au moins de bons outils pour JavaScript / HTML5 / Css. La prise en charge de .NET / Mono / F # serait formidable mais pour cela, j'aurai toujours mon démarrage Win7.
Donc j'aime savoir: - quel est votre système d'exploitation préféré, la distribution (Ubuntu est-il viable?) - quel éditeur / IDE utilisez-vous
Merci de votre aide!
PS: Je ne sais pas si c'est le bon endroit pour cette question, mais j'espère bien que oui - sinon, faites-moi savoir où je dois déplacer cela (StackOverflow ne semble pas être le bon endroit à mon humble avis)
Réponses:
La voie que je prends actuellement pour expérimenter de telles langues et d'autres choses, avec un grand succès et une facilité d'utilisation:
De cette façon, vous obtenez les avantages des deux systèmes d'exploitation.
la source
Réponse courte: Il existe une solution simple à votre problème. Installez simplement la machine virtuelle avec Linux (Ubuntu) - c'est gratuit.
Je suis également un développeur principalement .NET qui aime expérimenter différentes choses, ou essayer une variété de frameworks et / ou d'outils de développement. L' essentiel ici n'est pas de gâcher votre environnement de développement principal. Ainsi, tout installer sur une machine virtuelle (le système d'exploitation natif, les frameworks, les configurer et les installer, etc.) pour le type de développement que vous envisagez de faire est la manière la plus logique et optimale de procéder.
Modifier: vous pouvez envisager différentes solutions de virtualisation pour créer votre machine virtuelle. Ma préférence personnelle va avec VirtualBox . Il s'agit d'une solution de virtualisation x86 gratuite permettant à une large gamme de systèmes d'exploitation x86 tels que Windows, DOS, BSD ou Linux de fonctionner sur un système Linux.
la source
J'utilise Haskell et Scala (et je fais aussi du Scheme, Common Lisp, SML, OCaml, Erlang) le tout sous Linux (Ubuntu).
Toutes les langues ci-dessus (compilateurs et interprètes) peuvent être installées assez facilement (il existe des packages qui peuvent être installés à l'aide d'apt-get ou d'un autre système de gestion de packages).
Scala a une bonne intégration avec Eclipse et le ou les plugins Scala sont activement développés. Si vous voulez en savoir plus, il y a un cours sur Scala actuellement en cours chez Coursera qui explique comment utiliser Scala sur Windows, Linux et Mac. Peut-être que vous n'avez pas toutes les fonctionnalités et l'intégration de Visual Studio, mais j'ai développé des projets assez importants dans Eclipse et cela fonctionne très bien.
Pour éditer Haskell (et les autres langues listées ci-dessus) j'utilise gvim qui est OK pour les petits projets. Vous pouvez utiliser un autre éditeur (par exemple EMACS), à condition qu'il ait une coloration syntaxique pour Haskell. Sinon, vous pouvez jeter un œil à haskellwiki (merci à Zach L pour la suggestion).
Pour gérer le code source (versioning), j'utilise SVN via Eclipse pour toutes ces langues.
la source
MacOS nécessite du matériel Mac ou vous pourriez le faire fonctionner sur VirtualBox, mais la dernière fois j'ai essayé que cela ne fonctionnait pas. Et comme vous ne voulez pas remplacer vos problèmes de configuration / installation actuels par d'autres problèmes, je vous suggère de dépenser beaucoup d'argent ou d'essayer Linux. J'ai utilisé Ubuntu pour le développement Haskell, Scala et Lisp avec Eclipse, Netbeans, IntelliJ et Emacs, et je n'ai pas eu beaucoup de mal à les configurer.
la source
Tous les systèmes d'exploitation de type Unix ont de très bons outils de ligne de commande . J'ai personnellement eu de bonnes expériences avec Ubuntu pour le développement et le déploiement, beaucoup de mes amis ne jurent que par MacOS. Je n'ai pas vu de raison évidente de préférer l'un ou l'autre, ils sont tous mieux IMO que Windows pour le travail en ligne de commande.
Du côté Clojure / Scala en particulier, vous pouvez trouver que Windows est en fait assez bon si vous utilisez l'un des IDE Java avec le plugin Clojure / Java approprié. J'utilise personnellement Eclipse avec Counterclockwise comme mon environnement de développement Clojure principal dans Windows 7. Il y a aussi l' IDE Scala à vérifier. C'est une bonne approche si vous aimez les IDE complets et / ou si vous voulez faire de la programmation polyglotte dans le même environnement. Un avantage supplémentaire d'utiliser quelque chose comme Eclipse est que l'intégration git / svn / maven est très bonne.
la source
Bien que je sois un grand fan de Mac et Linux, il n'y a aucune raison pour que vous ne puissiez pas utiliser ces langues sur Windows. Aussi, si vous voulez un langage fonctionnel sur Windows, ne négligez pas F # qui est un langage .net
la source
J'ai utilisé Haskell sur Windows, OS X et (Ubuntu) Linux, donc je peux faire quelques remarques à ce sujet. Maintenant, tout ce que vous pouvez obtenir de la plate-forme Haskell va probablement très bien fonctionner quoi qu'il arrive, mais après cela:
Relativement peu de programmeurs Haskell utilisent Windows. Vous trouverez des choses sur Hackage qui supposent un environnement de type Unix sans vraiment le dire explicitement.
Beaucoup de choses utiles proviennent des liaisons FFI aux bibliothèques C, et le manque d'une chaîne d'outils de compilation C même vaguement cohérente et fiable sous Windows signifie que, selon mon expérience, l'installation des liaisons FFI à partir du piratage est au mieux un jeu d'enfant.
Tout ce qui est nécessairement spécifique à la plate-forme, qui comprend de manière amusante les bibliothèques GUI multiplateformes, est plus susceptible de "fonctionner" sous Linux.
Cygwin n'aide pas autant que vous le pensez.
En résumé: tout a tendance à fonctionner sous Linux, la plupart des choses fonctionnent sous OS X, mais quelques choses sont étranges, et sous Windows, vous devriez vous attendre à rencontrer beaucoup de maux de tête intéressants lors de l'utilisation des bibliothèques.
Si vous voulez simplement vous amuser à expérimenter avec des choses et à apprendre Haskell, faites-vous plaisir et utilisez une machine virtuelle Ubuntu ou quelque chose.
En ce qui concerne les éditeurs et ces go-emacs et vim sont populaires comme toujours. Je n'ai jamais appris à utiliser non plus (bien que je devrais vraiment ...) et je ne me soucie pas de la plupart des IDE, donc je m'en tiens généralement à SciTE - c'est un mince wrapper autour d'un widget d'édition appelé Scintilla, que vous savez peut-être être ce que Notepad ++ utilise.
la source
Plutôt que de choisir un système d'exploitation, permettez-moi de voir cela sous l'angle IDE. Si vous êtes intéressé par Scheme, je vous encourage à essayer DrRacket, qui a émergé de la jungle Scheme il y a quelques années. L'IDE fonctionne bien sous Windows, OS X et Linux.
Maintenant, il vous suffit de choisir le bon système d'exploitation pour exécuter tous vos autres langages fonctionnels.
la source
Simon Peyton-Jones, l'un des créateurs de Haskell est un utilisateur Windows et d'après ce que je comprends, Haskell a un excellent support Windows.
Votre question est un peu vague pour être honnête, votre choix d'OS n'est pas lié au paradigme de la langue que vous utilisez.
Personnellement, je crois qu'en dehors du monde C # et Java (où l'environnement de développement est dicté par votre IDE), un environnement de développement devrait toujours être une saveur d'Unix, que ce soit BSD, Linux ou OSX.
la source