¿Qué lenguajes de programación hay en tu cola para “estudiar”?

  1. Pitón. No es el lenguaje más emocionante, pero sí B + en muchas cosas y en la lengua franca de la ciencia de datos. De hecho, tengo un gran conocimiento práctico de los conceptos básicos, pero me gustaría aprender las bibliotecas (NumPy, SciPy) y también algunas de las herramientas relacionadas con la web.
  2. Haskell, por la patada en las mónadas cuando finalmente asimilas una nueva característica o propósito de su sistema de tipos.
  3. Rust , porque me intriga la idea de un lenguaje moderno con un sistema de tipos bastante avanzado, que también tenga administración de memoria manual e incorpore los problemas y casos de uso de MMM en el sistema de tipos.
  4. Core.logic , core.typed y core.async de Clojure . Estas son bibliotecas poderosas que le dan a Clojure el poder que se encuentra en otros idiomas. He jugado con ellos, pero no los he usado para nada grande.
  5. C. Al igual que Haskell y Python, “lo sé” en el sentido de ser “Turing completo” y poder escribir código que no es horrible, pero no lo he usado para nada importante. Me gustaría.
  6. LLVM. No es un lenguaje sino una tecnología intrigante y poderosa. Parece llevar las partes buenas (verdadera comprensión, no memorización parroquial) de la asamblea sin los artefactos.
  7. HTML / CSS / JavaScript. Soy excelente en cosas algorítmicas de back-end, pero comunicar lo que he hecho a través de, digamos, una visualización en lugar de un archivo CSV es una habilidad que vale la pena tener. Además, las personas que son buenas en el back-end y el front-end pueden matarlo como consultores, mientras que ser un back-end fuerte tiende a mantener uno dentro de las grandes empresas y también requiere que uno confíe en las personas que evalúan el trabajo. El buen trabajo de front-end es mucho más demostrable.
  8. C ++. Me pusieron en un proyecto de mantenimiento heredado en C ++ y lo odié absolutamente. Si tengo tiempo (y honestamente estoy más interesado en profundizar en el aprendizaje automático que en adquirir más lenguajes) me gustaría obtener un conocimiento más profundo de C ++ para saber si fue el lenguaje o la base de código lo que apestaba muy malo.

Un poco tarde en el juego, pero aquí va …

  1. Asamblea x86. Esto no debe considerarse como un consejo para el programador novato. Creo que sé suficientes lenguajes (que no deben confundirse con suficiente programación) para aprender realmente ensamblador. Honestamente, no sé por qué esto está en la cima de mi lista. Simplemente satisface mi TOC para aprender más sobre la máquina. Es absolutamente humillante cuando lees que los programadores de ensamblaje ven a C como un lenguaje de alto nivel. Hace un año, pensé que era la mierda después de aprender Python y C #. Sí, literalmente mierda. De hecho, me estoy divirtiendo aprendiendo los principios básicos del conjunto de instrucciones x86. Veamos hasta dónde llega esto.
  2. C. Sé de C a C ++. Y C ++ no es mi taza de té. Quiero saber C a través de la Asamblea en su lugar. En cierto modo, me gustaría volver a aprender C, si eso tiene algún sentido. Esta vez voy a leer K&R.
  3. elisp / lisp. Necesito aprender más sobre programación funcional y piratear mis queridos emacs al mismo tiempo. Después de esto, voy a leer SICP y lograr el nirvana.
  4. Haskell Simplemente por la promesa de que después de aprenderlo, la informática y las matemáticas se convertirán en una.

Ese es el plan para los próximos meses, además de avanzar en mi conocimiento de los idiomas con los que ya estoy familiarizado.

Mi criterio principal no es necesariamente algo práctico (aunque eso ciertamente tiene en cuenta): es el gusto . Quiero aprender idiomas que, dentro de las limitaciones de su propósito principal, sean elegantes, bien diseñados y bien pensados. Aquí está mi lista actual:

  • Coq que elegí sobre Agda porque tiene excelentes libros gratis en línea: Fundamentos de software y programación certificada con tipos dependientes
  • Rust, que es el lenguaje de programación de sistemas de bajo nivel más emocionante que conozco
  • Idris que explora tipos dependientes para la programación en lugar de probar el teorema
  • Mercurio para un enfoque novedoso (y creo que mejor) para la programación lógica
  • LLVM no es realmente un lenguaje de programación per se , sino una alternativa maravillosa para aprender x86, especialmente como un objetivo de compilación (probablemente para DSL)

Creo que tiene una buena cantidad de variedad, tanto en sí mismo como en comparación con los idiomas que ya conozco.

Actualización: Como se detalla en mi respuesta original, Haskell y Clojure fueron los grandes idiomas con los que nos enfrentamos este año. Seis meses después descubrí que realmente me gusta Clojure (Lisp) y, aunque Haskell me impresiona, descubrí que Clojure me ha ayudado a conseguir lo que quería hacer, al tiempo que me cautivó con las cosas geniales de FP.

Diría que tanto Haskell como Clojure siguen siendo importantes para mí para dedicar más tiempo y tener más experiencia, pero tengo más énfasis en mejorar en Clojure / ClojureScript. Y ahora estoy buscando algún tipo de Lisp que se compila para usar en proyectos donde no tengo el JVM / navegador disponible.

Respuesta original

Haskell es mi lenguaje actual de “familiarizarse con”. Lo que me vendió fue el punto de Tikhon Jelvis de que podrías usarlo para escribir DSL que se compilaron en C. independiente y realmente quiero usar Elm correctamente a medida que se vuelve más maduro. Se ve muy prometedor.

Tengo un eterno “hacer algo con Lisp” en mi cubo “alguna vez”. Pero nunca llego allí. Casi sucedió este año. Estaba considerando ir a Clojure, particularmente para ver si hacía escribir aplicaciones de Android. Más sabroso.

Pero resulta que lo faffy en Android parece mantenerse faffy en Clojure. De hecho, el punto de venta de Clojure es que hace posible Java faff de Lisp en lugar de que Clojure tenga buenas maneras de ocultarlo.

Puedes compilar Pi-Occam para Arduino ahora (occam-pi) y me gustaría jugar con eso.

También jugué con Erlang pero nunca escribí una aplicación de tamaño razonable con muchos nodos interactuantes. Me gustaría intentar eso.

En general, creo que la Programación Reactiva (Funcional) es la nueva “recolección de basura”, es decir. que, al igual que lo que caracterizó a los principales idiomas importantes a partir de los 90 fue su responsabilidad de ocultar la gestión de memoria del programador, lo que caracterizará la próxima gran ola de mejoras en los idiomas principales es ocultar la responsabilidad del manejo explícito de eventos / devolución de llamadas.

Por lo tanto, cualquier lenguaje que prometa implementar FRP o incluso una programación reactiva lo más convenientemente posible es algo que me interesa aprender.

Haskell Realmente necesito asimilar la programación funcional y todavía no.

Erlang Como padre de una tecnología de multiprocesamiento, realmente necesito entender más, especialmente esto, ya que es un éxito venerable.

LLVM me intriga. No estoy muy seguro de para qué sirve, pero mucha gente que conozco y respeto está bastante entusiasmada.

REBOL porque fue desarrollado por Carl Sassenrath, padre del núcleo Amiga Exec y uno de mis pensadores minimalistas favoritos en CS.

El lenguaje julia
El lenguaje de programación Scala
El lenguaje de programación Go
OCaml – OCaml

Ya he comenzado con C y Java.

Actualmente conozco PHP, Python, Ruby, JS, etc.

Los que actualmente estoy rebotando entre:

  • F # (una gran parte de la cual está construyendo fluidez con BCL y .NET en general)
  • Scala
  • Clojure
  • re
  • Asamblea x86-64

Idiomas sobre los que pretendo aprender más en el mediano plazo:

  • Erlang
  • Lua
  • R
  • Limpiar
  • Fortran

¿Qué lenguajes de programación hay en tu cola “para estudiar”?

Bueno, ciertamente hay C #, eso es porque es mi idioma principal de trabajo y lo uso todo el tiempo, por lo que estudiarlo más a la par es normal para el curso.

También me cruzo con JavaScript con bastante frecuencia, y mi conocimiento de él (y mi afición, francamente) es bastante limitado, por lo que también está en la lista.

En términos de aprendizaje de nuevos idiomas; Python, creo. Es popular y tiene una buena reputación, es ampliamente compatible, se ve bastante presentable por lo que he visto de él. Entre Django / Flask y PyGame, varias bibliotecas científicas y de inteligencia artificial, PyQT, desarrollo integrado para Raspberry Pi, etc., es fácilmente tan diverso como C # en términos de recursos y aplicaciones prácticas.

Probablemente debería volver a algo funcional para ampliar mi mente, pero no estoy demasiado preocupado por eso en este momento.

  • Óxido, porque es una C. mucho mejor
  • Clojure, porque tengo que aprender algo sobre la JVM y prefiero que no sea Java. Además, LISPs.
  • Erlang, porque tiene un modelo de simultaneidad muy bueno y alguna otra pulcritud.
  • C ++, porque eventualmente tendré que conseguir un trabajo.

En primer lugar: no soy un programador de ningún tipo, y solo sé lo suficiente como para hacer las primeras tres o cuatro lecciones de sitios de tipo codeacademy para aburrirme … (“sí, sé qué ‘recursividad’ y un ‘condicional’ son “), pero lo que me gustaría aprender correctamente son:

  • Prio 1: C (para cosas incrustadas: estoy viendo ‘Aprenda C de la manera difícil’), Haskell (Estoy mirando el libro “Haskell” de Wikibooks, cuyo tempo me gusta más que LYAHFGG o RealWorld Haskell).
  • Prio 2: C ++ (incluido SystemC)
  • Prio 3: Lisp común, Python
  • Prio 4: Julia, Rust, ambos parecen estar causando babeo, y me gustaría saber por qué.

El hermoso día cuando tengo tiempo de sobra, por supuesto.
He tocado todos estos lenguajes (con la excepción de SystemC; y más Scheme que CLisp), pero no conozco ninguno de ellos correctamente.

También escuché que hay más paradigmas de programación que “OO” y “FP”, por lo que podría decidir que también quiero analizar algunos de ellos, pero allí ni siquiera sé cuáles son las (buenas) opciones.

Ah, y para mejorar mi VHDL y Verilog (hasta el punto de que califican como ‘programación’).

Editar: Y luego voy y obtengo recomendaciones que debo aprender Perl. ¡Entonces, Perl lo es!

Esquema: quiero hacer todos los ejercicios SICP.
Haskell: Empecé y luego me detuve. Continuará aprendiéndolo nuevamente. Estaba siguiendo Learn You a Haskell for Great Good !. El libro es un poco lento. Comenzaré con algo más adecuado para mi ritmo. Creo que comenzar de nuevo con un proyecto de código abierto sería mejor.

1. Prólogo,
2. Haskell
3. Ir
4. C (¡Sí! He programado en varios idiomas pero nunca aprendí C en serio, lo que necesito arreglar)
5. Erlang (Hace un tiempo estuve usando Erlang en el trabajo y realmente me gusta el idioma, así que quiero aprender más).

Actualmente estoy aprendiendo Clojure durante aproximadamente 6 meses (aparte)

C ++ para eliminar el cuello de botella en Python y para cosas en general de nivel inferior.

Scala para aprender programación funcional y para seguir usando algo de linaje de Java (aunque no me gusta Java …).

  • Lisp : leer los ensayos de Paul Graham me ha enganchado a la idea de aprender un dialecto de Lisp.
  • Haskell: parece que recibe críticas muy favorables, por lo que quiero saber si se trata de tanto alboroto.
  • Python: puedo leer el código de Python, pero como parece que se usa mucho, me gustaría estar más cómodo con él.
  • C / C ++: ambos tienen una gran huella y, por lo tanto, creo que aprender uno o ambos de estos dos idiomas sería útil, incluso si no lo uso.

¡Pitón! (y un poco de R en el costado …)

Mi plan de estudios de MD nos hace declarar “concentraciones” (algo así como “especializaciones” en la universidad) y estoy haciendo bioinformática y big data. Python es el lenguaje básico entre los biólogos computacionales.

Yo diría Lisp. Existen muchos dialectos de Lisp. Y tiene una gran influencia en bastantes lenguajes de programación modernos.
Algunos candidatos de dialecto: Common Lisp, Scheme y Clojure

Haskell, vete, óxido.

Ahh, quiero aprender muchos de ellos.
Primero PHP y JavaScript. Entonces HTML5. También python. Y tal vez Ruby. También sería bueno conocer algunos lenguajes de programación funcionales también.

Con eso, saber más sobre la creación de aplicaciones de Androd y iOS también no estaría de más.

También ayudaría si no postergo tanto como planeo. 🙂

Estos estarán sujetos a cambios sin previo aviso, pero mis 3 principales actuales son

  • Julia, porque promete combinar matemáticas de alto rendimiento con comunicación unilateral en plataformas de memoria distribuida. Tarde o temprano debo descubrir lo que ofrece, ya que ese tipo de cosas son mi pan de cada día.
  • Vala, porque tengo un historial personal de desarrollar periódicamente una sensación de que debería incursionar con GObject, seguido rápidamente por una sensación más fuerte de que debería construir una catapulta para lanzar mi computadora desde un acantilado. Superficialmente, Vala parece que podría atender a la primera sin inducir a la segunda.
  • R, porque necesito leer y hacer modificaciones menores a los guiones R de vez en cuando, y probablemente lo haga con la elegancia de un hipopótamo en un monociclo, ya que todavía no le he prestado la atención adecuada. También parece tener muchas cosas gráficas buenas para ofrecer, para lo cual probablemente pueda encontrar uso.

En la práctica, me encuentro estudiando extensiones de modelos de programación para lenguajes familiares con más frecuencia que lenguajes enteros, pero estos parecen cosas útiles para tener en cuenta durante una semana lluviosa.

Ya sé un poco y necesito más práctica: Scala, Clojure, mi lenguaje de trabajo principal es Java.

Curioso por los antecedentes teóricos funcionales: Haskell

Curioso por la concurrencia e influencia en Akka: Erlang

Indeciso: Ir: estaba en la programación de sistemas C antes, pero no estoy seguro de si volveré. Utilizado para algunos proyectos interesantes.

More Interesting

¿Cuánto le costará una empresa de desarrollo web para hacer un sitio web de devolución de dinero?

¿Qué es decorador en angular 2?

¿Dónde debo agregar el marcado estructurado de Google para enlaces sociales en mi sitio de WordPress?

Solicitó un trabajo de desarrollador junior C #; La primera tarea ha sido una tarea de desarrollo web completa en idiomas que no conozco. ¿Qué debo hacer?

¿El alojamiento web en la nube es bueno para sitios web dinámicos?

¿Cómo funciona Bootstrap Grid?

Servidores web: ¿Cómo almacenan las imágenes los sitios de manera eficiente con el equilibrio correcto entre buena calidad y tamaño de almacenamiento requerido? ¿En qué formato y con qué otras prácticas (compresión, base de datos vs sistema de archivos)?

Si estuviera enseñando una clase que consistía en desarrolladores web de nivel intermedio Y administradores de red, ¿qué temas abordaría?

¿Cuál es la mejor configuración para implementar una aplicación Rails 5 en un servidor Windows? ¿Es más fácil si la aplicación está construida con JRuby?

Cómo agregar Facebook como la funcionalidad de chat en mi sitio web matrimonial y restringir a un tipo de miembro en particular

¿Qué aspectos de HTML son importantes para el desarrollo web?

¿Hay algún buen (!) Código de Bootcamps en Europa que se centre en el desarrollo web JavaScript fullstack?

¿Qué es mejor usar malloc, calloc o realloc?

¿Cómo puede la comunidad de código abierto lograr que el DMV de California adopte nuestro rediseño?

Cómo construir un sitio web por mi cuenta si no conozco la codificación