Principalmente soy un desarrollador de .NET, por lo que normalmente uso Windows / VisualStudio (eso significa: estoy malcriado) pero disfruto de Haskell y otros lenguajes (en su mayoría funcionales) en mi tiempo libre.
Ahora para Haskell, el soporte de Windows está bien (puede obtener la plataforma Haskell) pero, por suerte, traté de configurar un entorno Clojure / Scheme básico y es solo un problema para Windows.
Así que estoy pensando en probar otro sistema operativo para obtener mejores herramientas y soporte de idiomas. Por supuesto, eso me deja con MacOS o alguna distribución de Linux.
Nunca he usado MacOS antes y, por supuesto, Linux sería más barato (gratis) y no creo que pueda arrancar en paralelo MacOS en tu PC-Hardware normal (¿puedes?). ADEMÁS: no tengo ni idea de las herramientas que puede usar en esos (para mí) sistemas operativos extranjeros.
Para abreviar: quiero explorar más Haskell, Clojure, Scala, Scheme y, por supuesto, necesito al menos buenas herramientas para JavaScript / HTML5 / Css. El soporte para .NET / Mono / F # sería genial, pero para esto todavía tendré mi arranque Win7.
Entonces, me gusta saber: - ¿Cuál es su sistema operativo preferido, Distribución (¿Ubuntu es viable?) - ¿Qué Editor / IDE está utilizando?
¡Gracias por tu ayuda!
PD: No estoy seguro de si este es el lugar correcto para esta pregunta, pero seguramente espero que sí; si no es así, avíseme a dónde debo mover esto (StackOverflow no parece ser el lugar correcto en mi humilde opinión)
Respuestas:
La ruta que estoy tomando actualmente para experimentar con tales idiomas y otras cosas, con gran éxito y facilidad de uso:
De esta manera obtienes las ventajas de ambos sistemas operativos.
fuente
Respuesta corta: hay una solución simple a su problema. Simplemente instale la máquina virtual con Linux (Ubuntu) , es gratis.
También soy un desarrollador principalmente .NET que adora experimentar diferentes cosas o probar una variedad de marcos y / o herramientas de desarrollo. Lo principal aquí es no alterar su entorno de desarrollo principal. Por lo tanto, instalar todo en una máquina virtual (sistema operativo nativo, marcos, configurarlos y configurarlos, etc.) para el tipo de desarrollo que pretendía hacer es la forma más lógica y óptima de hacerlo.
Editar: puede considerar diferentes soluciones de virtualización para construir su máquina virtual. Mi preferencia personal va con VirtualBox . Es una solución de virtualización x86 gratuita que permite que una amplia gama de sistemas operativos x86 como Windows, DOS, BSD o Linux se ejecuten en un sistema Linux.
fuente
Uso Haskell y Scala (y también hago algunos Scheme, Common Lisp, SML, OCaml, Erlang), todo bajo Linux (Ubuntu).
Todos los idiomas anteriores (compiladores e intérpretes) se pueden instalar con bastante facilidad (hay paquetes que se pueden instalar usando apt-get u otro sistema de administración de paquetes).
Scala tiene una buena integración con Eclipse y los complementos de Scala se desarrollan activamente. Si desea obtener más información, hay un curso sobre Scala actualmente en curso en Coursera que explica cómo usar Scala en Windows, Linux y Mac. Quizás no tenga todas las características e integración de Visual Studio, pero he desarrollado proyectos bastante grandes en Eclipse y funciona bien.
Para editar Haskell (y los otros idiomas enumerados anteriormente) utilizo gvim, que está bien para proyectos pequeños. Puede usar otro editor (por ejemplo, EMACS), siempre que tenga resaltado de sintaxis para Haskell. De lo contrario, puede echar un vistazo a haskellwiki (gracias a Zach L por la sugerencia).
Para administrar el código fuente (versionado) utilizo SVN a través de Eclipse para todos estos idiomas.
fuente
MacOS requiere hardware de Mac o puede que se ejecute en VirtualBox, pero la última vez que lo intenté no funcionó. Y dado que no desea reemplazar sus problemas actuales de configuración / configuración con otros problemas, le sugiero que gaste mucho dinero o pruebe Linux. He usado Ubuntu para el desarrollo de Haskell, Scala y Lisp con Eclipse, Netbeans, IntelliJ y Emacs, y no he tenido muchos problemas para configurarlos.
fuente
Todos los sistemas operativos tipo Unix tienen herramientas de línea de comandos muy buenas . Personalmente, he tenido buenas experiencias con Ubuntu tanto para el desarrollo como para la implementación, muchos de mis amigos también juran por MacOS. No he visto una razón obvia para preferir uno u otro, todos son IMO mejores que Windows para el trabajo de línea de comandos.
En el lado de Clojure / Scala específicamente, puede encontrar que Windows es bastante bueno si usa uno de los IDEs de Java con el complemento Clojure / Java apropiado. Personalmente uso Eclipse con el sentido contrario a las agujas del reloj como mi principal entorno de desarrollo de Clojure en Windows 7. También hay un IDE de Scala para verificar. Este es un buen enfoque si le gustan los IDE con todas las funciones y / o desea hacer la programación políglota en el mismo entorno. Una ventaja adicional de usar algo como Eclipse es que la integración de git / svn / maven es muy buena.
fuente
Si bien soy un gran fanático de Mac y Linux, no hay ninguna razón por la que no puedas usar ninguno de esos idiomas en Windows. Además, si desea un lenguaje funcional en Windows, no pase por alto F #, que es un lenguaje .net
fuente
He usado Haskell en Windows, OS X y (Ubuntu) Linux, por lo que puedo ofrecer algunas observaciones al respecto. Ahora, cualquier cosa que pueda obtener de la plataforma Haskell probablemente funcionará bien, pase lo que pase, pero después de eso:
Relativamente pocos programadores de Haskell usan Windows. Encontrará cosas en Hackage que suponen un entorno similar a Unix sin decirlo explícitamente.
Muchas cosas útiles provienen de los enlaces de FFI a las bibliotecas de C, y la falta de una cadena de herramientas de compilación de C incluso vagamente consistente y confiable significa que, en mi experiencia, instalar enlaces de FFI desde el pirateo es, en el mejor de los casos, un desastre.
Cualquier cosa necesariamente específica de la plataforma, que de manera bastante divertida incluye bibliotecas GUI multiplataforma, es más probable que "simplemente funcione" en Linux.
Cygwin no ayuda tanto como piensas.
En resumen: todo tiende a funcionar en Linux, la mayoría de las cosas funcionan en OS X, pero algunas cosas son raras, y en Windows debe esperar encontrar muchos dolores de cabeza interesantes al usar bibliotecas.
Si solo quieres divertirte experimentando con cosas y aprendiendo Haskell, hazte un favor y usa una máquina virtual Ubuntu o algo así.
En cuanto a los editores y demás, emacs y vim son populares como siempre. Nunca aprendí a usar ninguno (aunque realmente debería ...) y no me importan la mayoría de los IDE, por lo que generalmente me quedo con SciTE: es un envoltorio delgado alrededor de un widget de editor llamado Scintilla, que tal vez sepa como Notepad ++ usos.
fuente
En lugar de elegir un sistema operativo, déjame abordar esto desde el ángulo IDE. Si estás interesado en Scheme, te animo a que pruebes DrRacket, que surgió de la selva de Scheme hace unos años. El IDE funciona bien en Windows, OS X y Linux.
Ahora, solo tiene que elegir el sistema operativo adecuado para ejecutar todos sus otros lenguajes funcionales.
fuente
Simon Peyton-Jones, uno de los creadores de Haskell es un usuario de Windows y, por lo que sé, Haskell tiene un excelente soporte de Windows.
Su pregunta es un poco vaga para ser honesto, su elección del sistema operativo no está vinculada al paradigma del lenguaje que está utilizando.
Personalmente, creo que fuera del mundo de C # y Java (donde su entorno de desarrollo está dictado por su IDE), un entorno de desarrollo siempre debe ser un sabor de Unix, ya sea BSD, Linux u OSX.
fuente