Tengo que aprender dos de los cuatro lenguajes de programación en un curso universitario: 1 – Python, 2 – Javascript, 3 – Haskell, 4 – Mozart. ¿Qué dos idiomas son mejores para estudiar y por qué?

Habiendo codificado en los cuatro idiomas, puedo decir que los disfruto a todos.

En cuanto a la carrera profesional: Python y Javascript son las opciones a seguir, ya que serán útiles con tus futuras opciones de carrera. No es muy difícil de aprender, lo que significa que le será muy fácil hacer el trabajo del curso. Tutoriales y ayudas disponibles en todas partes online.

Conocimiento sabio: Haskell y Mozart-Oz son las opciones a seguir, si desea obtener una buena comprensión de los fundamentos de los lenguajes de programación. Especialmente, Mozart-Oz es este lenguaje extremadamente pequeño del kernel que le da un poder increíble en términos de lo que puede hacer. Desde el punto de vista de la carrera, esto no te ayudará mucho y, para colmo, puede que te resulte difícil envolver la cabeza (es diferente de una persona a otra, pero las personas que son generalmente buenas en la programación imperativa lo pasan mal). y Mozart-Oz), lo que significa que el trabajo del curso puede ser difícil. La ayuda para Haskell es limitada pero está disponible en línea, pero con Mozart-Oz, queda solo para sus propios dispositivos.

Si desea ir por el equilibrio , puede ir con uno de Python / Javascript y uno de Haskell / Mozart-Oz. En este caso, sugeriría Python y Mozart-Oz. Python puede presentarte imperativo y OOP. Mozart-Oz es un lenguaje divertido que puede enseñarte casi todos los paradigmas de programación existentes 🙂

Bueno, elige lo que flota en tu bote y diviértete!

Haskell y JavaScript.

Haskell le enseñará la programación funcional y, potencialmente, lo convertirá en un mejor programador en general al ofrecerle una manera mejor (o al menos importante y alternativa) de razonar sobre los problemas de software que la imperativa programación orientada a objetos. Además, es un hermoso lenguaje para aprender, y si eres como yo, aprenderlo será muy gratificante en sí mismo.

Digo JavaScript porque, aunque es un lenguaje con muchas verrugas feas, como han indicado otros, JavaScript es, para bien o para mal, el idioma de la web. Habría dicho el lenguaje del navegador, pero con tecnología como node.js, que se está volviendo omnipresente y sumamente útil en el servidor, puede crear aplicaciones web sofisticadas y completas utilizando esencialmente solo JavaScript. Hay muy buenos marcos dentro de los cuales escribir JavaScript que te ayudan a evitar los rincones oscuros del lenguaje. Y las lecciones de programación funcional que aprendiste con Haskell te serán de alguna utilidad aquí.

Por supuesto, si no tiene interés en el desarrollo web, tal vez Haskell + Python sería más valioso para usted.

JavaScript es un truco feo de un lenguaje. Si hablas cualquier otro lenguaje imperativo, lo aprenderás cuando lo necesites. Mozart es interesante. Disfruté usarlo para el MOOC sobre los principios de los lenguajes de programación. Sin embargo, es multi-paradigma, por lo que es probable que te confunda.

Si es por un curso universitario, optaría por una variedad de enfoques, entonces: Python y Haskell.

Bueno, ¿quieres ser empleado cuando te gradúes?

No hay trabajos de Haskell o Mozart, una pequeña cantidad de trabajos de Python y TONELADAS de trabajos de JavaScript.

Si bien Haskell y Mozart pueden ser un sueño de torre de marfil de un idioma, eso no se traduce bien en el mundo real. En la universidad, en mi época, nos enseñaron muchos idiomas de torres de marfil: MIX, ALGOL, LISP, SIMULA, SNOBOL, ninguno de los cuales he escrito una sola línea de dinero en los siguientes 35 años.

Si yo fuera tú, aprendería Python, porque es un lenguaje muy útil que podrías usar para pequeñas tareas en el mundo real, si tienes un jefe muy comprensivo. Y JavaScript, porque está en todas partes, aunque en muchos sentidos es un lenguaje horrible.

Pero en su propio tiempo, también realice algunas aplicaciones pequeñas en C, C ++ o C #, o Java. Aquellos en tu currículum te conseguirán un trabajo. Los empleadores generalmente buscan personas que tengan un historial comprobado de hacer las cosas que necesitan que se hagan. Realmente no dan una pizca de si se puede escribir una fábrica de clases abstractas, todo en expresiones lambda abstractas virtuales recursivas. Solo quieren que arregles ese programa de C ++ de 300,000 líneas que administra su negocio.

La respuesta más corta posible es: sigue tu instinto. Si cualquiera de los dos de esos parece particularmente atractivo, esos son los con los que debe comenzar.

Si te limitas a la programación, es casi seguro que aprenderás muchos idiomas, con diversos grados de profundidad, por muchas razones. La pasión es una gran razón.

Si estás en la universidad, este es un buen momento para explorar tu pasión, ver qué tipos de idiomas realmente te hablan y desarrollar un sentido más claro de las áreas conceptuales (y aplicadas) más amplias que te gustaría explorar.

Si no estás en la universidad, este también es un buen momento para explorar tu pasión, ver qué tipo de idiomas realmente te hablan y desarrollar un sentido más claro de las áreas conceptuales (y aplicadas) más amplias que te gustaría explorar.

Dicho esto …

Si realmente estás en la cerca, mi consejo sería aprender tres idiomas: Python, Haskell, y sí, Javascript .

  • Python es un lenguaje decente, se usa en el “mundo real” (* tos *) y es una buena introducción a muchos otros idiomas del “mundo real” y OO en general.
  • Haskell es una excelente introducción a la programación funcional, y probablemente mejorará su comprensión más amplia.
  • Javascript es un idioma terrible, pero aquí está la cosa: es importante saber idiomas terribles.

Aquí está la cosa con los “idiomas terribles”: el mundo está lleno de idiomas que la mayoría de las personas piensan que son terribles. Inevitablemente, deberá comprender al menos uno o dos, ya que habrá ocasiones en las que deberá apretar los dientes y trabajar en ellos. Sin embargo, de manera más general, comprender el fenómeno de los “lenguajes terribles” puede enseñarle mucho sobre el diseño del lenguaje y la industria. Muchos de estos idiomas (probablemente todos) se iniciaron con las mejores intenciones. ¿Por qué se volvieron terribles? ¿Cuáles son algunas cosas que son terribles sobre ellos? ¿Cómo puedes identificar las lenguas terribles? ¿Cómo es que este lenguaje no es terrible?

Quizás lo más importante es que deberías explorar: ¿qué significa realmente “terrible” ? Cualquier lenguaje que se haya vuelto tan omnipresente como Javascript debe tener algo a su favor: puede que no tenga elegancia, puede tener un montón de palabras cruzadas, pero probablemente haya sobrevivido por alguna razón, probablemente por varias razones, muchas de ellas sutiles. La idea de un lenguaje “terrible” es tanto un fenómeno social como cualquier otra cosa.

Javascript es un ejemplo especialmente bueno de un lenguaje terrible porque se ha escrito mucho en él: cómo comenzó, cómo despegó, qué partes son malas, qué partes son buenas y cómo reclamarlo … y es lenta y constantemente evolucionando En particular, echa un vistazo a Javascript de Douglas Crockford, y definitivamente echa un vistazo a su libro, JavaScript: The Good Parts . Mientras estás en ello, consulta lenguajes como CoffeeScript, que intentan proporcionar una apariencia pulida a Javascript, y ClojureScript, que compila Clojure (Lisp) a Javascript.

Si todo lo que estás haciendo es mirar hermosos idiomas, te estás perdiendo las realidades más profundas de nuestro oficio. De una manera real, Javascript puede enseñarle tanto sobre programación como cualquier idioma, y ​​más que muchos.

Creo que la mayoría de la gente dirá que Python y Javascript son los que es más probable que utilices en tu carrera a corto plazo. Esto es verdad.
Mucha gente también dirá que Mozart y Haskell te enseñarán más que Python y Javascript. Esto también es cierto.
La respuesta inteligente es estudiar uno de cada grupo.

Si no quieres convertirte en un desarrollador de software o científico informático profesional, elige Python y Javascript. Aprenderá lo suficiente sobre programación para cubrir sus necesidades no profesionales.

De lo contrario, opta por Haskell y Python o Javascript. Elija Javascript si cree que la web es importante y querrá desarrollar páginas web, sitios, etc. Elija Python si está menos orientado a la web y más orientado a las aplicaciones de sistema / no web.

Si va a trabajar profesionalmente como programador, probablemente necesitará aprender 5 o 6 idiomas, al menos hasta cierto punto.
Si realmente desea aprender sobre el desarrollo de software como una ciencia, no solo como una actividad, tendrá que aprender más Y los idiomas como Haskell tendrán que convertirse en su pan y mantequilla.

Tenga en cuenta que es probable que sus cursos solo le enseñen muy poco del idioma que elija. Le llevará algunos años (probablemente muchos) entender realmente cualquier idioma.

Python: fácil de aprender, tiene casi todos los conceptos / abstracciones relacionados con la OOP. Es un excelente primer lenguaje de programación para aprender. Y tenga listas / componentes de energía listas para usar.
Haskell – uno de los verdaderos lenguajes de programación funcionales. Cambiará tu forma de pensar, como programador. Incluso si nunca lo usas en el trabajo, cambiará tu perspectiva, tu forma de pensar mientras resuelves problemas.

Si aprendes ambos, aprenderás la mayoría de los paradigmas relacionados con la programación. Esos 2 idiomas le mostrarán / enseñarán el enfoque / modelado de programación, en ambos sentidos: OOP y funcional.

Yo sugeriría pareja Python + Haskell. Uno del mundo imperativo, uno del mundo funcional. Si no tuviera idiomas predefinidos para elegir, sugeriría Go + Erlang (par con el que trabajo profesionalmente), Java + Scala (trabajo imperativo y funcional en la plataforma JVM) o C # + F # (trabajo imperativo y funcional en la plataforma .NET )

Comprender Python le daría acceso a una gran cantidad de (llamémoslos) lenguajes “clásicos”. Python, Ruby, PERL, JS, C / C ++, Java, etc. Todos ellos tienen una sintaxis diferente, diferentes bibliotecas estándar, pero la manera en que PIENSAS en cómo resolver un problema es aproximadamente la misma. Una vez que aprendas lo básico, entenderás el programa en cualquiera de ellos.

Comprender a Haskell le daría acceso a una familia maliciosa de programación funcional. Haskell, mOZart, Ocaml, Erlang. Difieren mucho en la sintaxis (mucho más divergentes que las imperativas), pero una vez más, PIENSAS en una solución más o menos igual.

Algunos lenguajes imperativos (por ejemplo, Ruby, Java 8, C ++ 14 para nombrar algunos) tienen elementos funcionales (cierres, funciones como objetos de primera clase). Algunos lenguajes funcionales (por ejemplo, Erlang, Ocaml, dos con los que trabajé) tienen elementos imperativos.

¿Por qué insisto en aprender funcional? Es como aprender latín. No tiene un uso comercial del mismo, pero le da una perspectiva completamente nueva en otros idiomas.

Y por último (pero no menos importante): de todos los lenguajes funcionales, supongo que Erlang es el más próspero. Sin publicitarse ampliamente, se ejecuta entre bastidores en algunos de los principales sitios web y servicios de uso intensivo.

Python y Haskell le enseñarán más sobre los lenguajes de programación porque tienen la mayor cobertura * en todo el espectro de lenguajes de programación. Python es imperativo, interpretado y tipificado dinámicamente con la evaluación impaciente por defecto, mientras que Haskell es puramente funcional, compilado y fuertemente tipado con la evaluación perezosa por defecto.

No debes aprender un nuevo idioma a menos que te enseñe una manera diferente de pensar acerca de la programación. Por lo tanto, debe evitar enfocarse en lenguajes similares entre sí. Sí, JavaScript se usa más que Haskell en la industria, pero también es un lenguaje inconsistente, mal diseñado y no cambiará drásticamente tu forma de pensar acerca de la programación si también estás aprendiendo Python.

Python se usa a menudo en la industria y es un excelente primer idioma por su simplicidad y consistencia. Haskell se usa menos en la industria, pero podría decirse que ningún otro lenguaje puede cambiar su manera de ver la programación más que Haskell.

* Aunque Mozart tiene una gran cobertura, es multiparadigm, por lo que no te obliga a pensar de manera diferente y es más probable que te confunda.

No es una elección simple.

Diría que Python es seguro, porque es un buen lenguaje, agradable de escribir, agradable de leer, eficiente de ejecutar … Puedes resolver muchas de tus tareas de programación diarias con Python. Además, es muy popular y hay una gran comunidad.

Entonces, voto por Haskell. Definitivamente es bueno conocer un lenguaje no procesal, ya que le abre una nueva forma de pensar acerca de la programación. También es un buen ejercicio mental. Además, puedes usarlo para programar cosas reales. No será tan eficiente de ejecutar, pero el código generalmente será muy agradable y limpio y mucho más libre de errores que en otros idiomas. Tengo varios colegas que conocen a Haskell y les encanta y lo usan siempre que pueden (lo cual es generalmente si la eficiencia no es crítica y si no colaboran con otras personas que no conocen a Haskell, lo que significa que la mayoría de las veces lo son). forzado a no usar Haskell, pero cuanto más disfrutan cuando pueden usarlo ;-))

No optaría por Javascript, a menos que quieras hacer páginas web para vivir. No es un lenguaje genio, y es básicamente útil solo para páginas web. E incluso entonces, si desea crear una aplicación web más grande, la tendencia parece ser escribirla en un lenguaje “real”, como Java o Scala, y luego compilarla en Javascript, para que no tenga que hacerlo. en realidad escribe Javascript por ti mismo. Ver Scala.js o Proyecto GWT.
Además, siempre puedes aprender Javascript, es bastante simple.

Nunca he oído hablar de Mozart, así que realmente no puedo juzgarlo. Una cosa es que, por lo general, no es muy útil aprender un idioma que nadie sabe y nadie usa, ya que en la mayoría de los casos no podrás usarlo. Además, si solo hay una pequeña comunidad, hay poco apoyo, pocas bibliotecas, introducción lenta de mejoras y una amenaza de desarrollo del lenguaje y la congelación total de sus compiladores. Por otro lado, si el idioma es realmente útil, puede ser una gran ventaja saberlo; pregúntele a los maestros qué tan útil creen que es …

Si tuviera que elegir dos de estos cuatro.

Mi primera elección sería, sin duda, JavaScript.
Razones:
1. Es Omnipresente, navegadores web, aplicaciones móviles, incluso penetra en las profundidades de la codificación del lado del servidor gracias a Node.js
2. Ha madurado mucho a lo largo de los años, y hay una gran cantidad de bibliotecas de código abierto que me ayudan a hacer cualquier tarea posible.

La segunda opción sería Python.
Razones:
1. Simplicidad.
2. Ha madurado a lo largo de los años.
3. Bibliotecas y apoyo comunitario.

Ni siquiera un concurso: Python y JavaScript. Haskell es un lenguaje especializado, bueno para el aprendizaje de la programación funcional, pero no se usa comúnmente en la industria. Mozart tuve que mirar hacia arriba. Python y JavaScript son los más comunes y ambos comparten conceptos similares como la escritura dinámica. Conocer ambos le ayudará si desea trabajar en el campo del desarrollo web y / o software.

Haskell y Python. Haskell enseñará el concepto de programación funcional, que puede aplicarse a JavaScript más adelante. Python es imperativo y está orientado a objetos, y es un lenguaje que vale la pena tener en su cinturón de herramientas para su futura carrera de programación.

Depende de lo que quieras.

Python + JavaScript: si quieres conseguir un trabajo rápidamente.

Python + Haskell: si quieres convertirte en un científico de datos.

JavaScript + Haskell: si quieres trabajar con el desarrollo web, pero al mismo tiempo quieres algo de respeto por parte de otros desarrolladores.

Como puede notar, no he mencionado a Mozart, pero eso es totalmente culpa mía, ya que no sé nada al respecto.

Yo escogería JavaScript y Haskell. JavaScript está en todas partes, por lo que tendrás que saberlo tarde o temprano. Una vez que has aprendido JavaScript, aprender Python es fácil.

Haskell es diferente de la mayoría de los otros lenguajes de programación. Es más como un sistema de programación: el lenguaje Haskell, el lenguaje meta y el patrón de programación funcional. Se necesita tiempo para aprender y entender completamente a Haskell, ¿por qué no empezar temprano?

Mozart es un lenguaje muy bueno si quieres aprender a programar sistemáticamente. Sin embargo, es principalmente para fines educativos y su uso en el mundo real es limitado.

Claro, toda esta charla académica está muy bien. Hablemos por un momento sobre los idiomas que agregarán el valor más profesional. JS y Python se utilizan activamente en un amplio espectro de aplicaciones e industrias. Estoy de acuerdo con Víctor en el hecho de que JS es un lenguaje increíblemente abrasivo para escribir, pero … ¿no estamos olvidando el pequeño hecho de que JS gobierna el universo en este momento? ¿Cómo podría eso no hacer la lista? Claro, elige Haskell si quieres aprender nuevos paradigmas, pero ignorar JS? Eso es genial, pero estaría dispuesto a apostar que tendrás que escribirlo en algún momento si haces algo con respecto a la web.

¡Ve por Python! JavaScript tiene una buena estructura general, pero es una especie de lavado de Python. Haskell y el Paradigma de Programación Funcional son demasiado complicados si no tienen la experiencia y el tiempo suficientes para jugar con ellos. Mozart … tómalo como segunda opción.
Si su universidad tiene buenos departamentos de Aprendizaje automático o Ciencia de datos, conocer Python lo suficientemente bien superará su curva de aprendizaje en un orden de magnitud en esas áreas.
Después de completar Python, ¡sumérgete en lenguajes compilados como C / C ++ para ver el panorama general!

Elija uno del primer par y otro del segundo par. De esa manera, cubriría un lenguaje real / práctico (Python / JavaScript) y un lenguaje académico / de investigación (Haskell / Mozart).

Python y JavaScript comparten un paradigma bastante similar, por lo que depende de su gusto. Python tiene un código más limpio / más hermoso en general, pero JavaScript se está poniendo al día (ES6) y para el código del lado del servidor, creo que NodeJS es un buen nicho para aprender.

Haskell parece ser más atractivo que Mozart, pero este último te permite explorar múltiples paradigmas (lo que puede o no puede ser algo bueno).

Diría que Python y Haskell son una opción sólida. Haskell es un lenguaje funcional que te enseñará mucho sobre programación. Python es un excelente ejemplo de un lenguaje bien diseñado. Se usa mucho en las ciencias de la información y el aprendizaje automático, lo que está causando furor en estos días.
Sin embargo, si está interesado en los idiomas que se usan mucho en la industria, entonces use Python y Javascript. Javascript es el dominante en todo web.

Parece que todos estamos de acuerdo en una cosa. Mozart puede chuparlo.

Discutiría por los lenguajes más útiles, que serían JS y Python. En cuanto a la variedad, con estos dos obtiene dos modelos de herencia diferentes para los objetos, ambos son razonablemente adecuados para escribir en una forma orientada a objetos y / o funcional y tienen una sintaxis relativamente diferente.

En general, los programadores que subestiman JS como lenguaje simplemente no lo saben lo suficiente como para escribir algo útil en él.

More Interesting

Cómo llegar a la cima de mi grado para poder estudiar en el extranjero

¿Cuáles son los mejores consejos para estudiar física, matemáticas y química, con una comprensión adecuada? ¿Cómo puedo mejorar mi inglés, ya que a veces mientras estudio no puedo entender los conceptos con claridad?

Cómo completar mi aprendizaje 3 días antes del examen para obtener un porcentaje superior a 85

Quiero estudiar ingeniería en una escuela de ingeniería de renombre en Estados Unidos. ¿Cómo puedo prepararme para el SAT y qué debo hacer si mi familia no puede pagar una universidad en los Estados Unidos?

Cómo prevenir que la depresión afecte mis estudios.

Cómo estudiar para desarrollarme mejor.

¿Prefiere ser excepcionalmente inteligente o tener una memoria excepcional? ¿Por qué?

Soy un estudiante por encima del promedio. Obtuve un 10 CGPA en el 10º grado. Siempre he estado en la cima de mi clase, pero el coaching y las cosas realmente me están bajando la confianza, porque estoy empezando a darme cuenta de que hay muchos estudiantes como yo. ¿Qué es un consejo?

Estoy planeando dejar mi trabajo y estudiar algoritmos a tiempo completo durante un año. Mi objetivo es entrenar mi habilidad de algoritmos para preparar una entrevista de Google. ¿Alguien me puede dar un consejo?

¿Cuál es la mejor manera de estudiar para ingresar a AIIMS Delhi?

¿Por qué verifico compulsivamente Facebook / Quora en lugar de estudiar?

¿Cómo estudiar durante 16 horas al día, durante 3 meses, para el JEE? ¿Cuál es un buen horario para estudiar 15 hrs? ¿Cómo lo hago un hábito?

¿Cómo debo administrar mi horario de estudio diario si mi universidad comienza a las 8 AM hasta las 5 PM?

Estoy estudiando ciencias de la computación y estoy interesado en el desarrollo del software de simulación y en el modelado de las líneas de guía para mí.

Quiero estudiar inteligencia artificial en la universidad (MIT). ¿Qué proyectos puedo hacer en la escuela secundaria para mostrar a las universidades mi gran interés en el tema?