El mejor lenguaje de programación para aprender

0
37

Todos están aprendiendo a escribir software en estos días. Eso significa que cada escuela, MOOC y sitio de capacitación debe adoptar un primer idioma para los jóvenes padawans. Algunos lugares, como el feroz Harvard, todavía se aferran a la era C de los 70s, pero muchas escuelas oscilan entre JavaScript, Python y Java. Uno está enterrado en todos los navegadores, el otro es la opción predilecta de las ciencias sociales, y el último es el que prefieren los tipos de personas con una mentalidad más matemática.

¿Es uno la mejor opción? ¿Es uno claramente mejor que los demás? ¿O son todos igualmente propensos a estresar a los estudiantes? Examinemos las mejores razones para aprender Java, Python o JavaScript.

Java es clásico
El Examen de colocación avanzada eligió Java hace mucho tiempo cuando era joven y explotaba. Quizás Java nunca alcanzó el vértice de su trayectoria inicial, cuando todos parecían asumir que sería completamente dominante, pero sigue siendo la columna vertebral de muchos sitios web y smartphones. Elegir un idioma con muchos seguidores le permite al estudiante subirse a un carro que ya está completamente equipado con sofisticadas herramientas de desarrollo. Además, hay miles de millones de líneas de código de fuente abierta que el alumno puede estudiar, revisar y ampliar para su propio trabajo. Se están uniendo a un gran movimiento y es fácil para ellos encajar.

Python es nuevo
De hecho, Python no es tan nuevo, el proyecto comenzó hace unos 30 años, pero se siente nuevo porque su éxito ha sido lento. Recientemente, Python estalló y encontró una adopción generalizada entre programadores casuales. La novedad es que las escuelas que están adoptando Python están creando nuevos planes de lecciones, escribiendo nuevos exámenes y desarrollando nuevos conjuntos de diapositivas; no están desenterrando algunas viejas preguntas polvorientas de la década de 1990 con referencias a Pets.com y MySpace. Esto puede parecer superficial, pero todos los lenguajes son solo una sintaxis inteligente que oculta la estructura de decisión if-then-else del código ensamblador.

JavaScript está en todas partes
Está en el navegador y esta es la base de su computadora, su teléfono y todos esos quioscos que ve en todas partes. En la última década, JavaScript se ha apoderado de las líneas frontales de los servidores web, ya que las aplicaciones web de Node.js se convirtieron en la forma más popular para que los desarrolladores escriban «código isomorfo», que puede ejecutarse tanto en los clientes como en las granjas de servidores. JavaScript tiene prácticamente la misma edad que Java y, sin embargo, la gente del lado del servidor tardó años en descubrir su poder. Es nuevo y viejo al mismo tiempo.

Java está escrito
Es posible que no le guste dedicar tiempo a especificar el tipo de cada variable, pero no le tomará tanto tiempo hacer clic en tres teclas para agregar «int» a su código. Cuando hace eso, obtiene todo el poder que viene de permitir que el compilador verifique su código de inmediato y encuentre los errores antes de que se implemente. Los lenguajes de verificación de tipo nos obligan a pensar de manera más rigurosa la lógica de nuestro código, y esa es una lección esencial para los nuevos programadores. La estructura de tipos de Java reduce los errores y crea un mejor código.

Python no está escrito
Los amantes del lenguaje mecanografiado son inteligentes y escriben un buen código, pero si cree que su código es lo suficientemente bueno como para funcionar sin problemas sin la información adicional sobre los tipos de datos para cada variable, Python está listo para usted. La computadora puede determinar el tipo de datos cuando los almacena en una variable. ¿Por qué hacer ese trabajo extra?

JavaScript está y no está escrito
JavaScript en sí no está escrito, pero últimamente algunos de los miembros de alto perfil de ese mundo se han cambiado a TypeScript, un superconjunto del lenguaje original que le brinda la posibilidad de configurar los tipos cuando lo desee. Si no quiere, JavaScript normal también funcionará bien. Es una versión relajada de la verificación de tipos.

Dispositivos de reglas Java
La plataforma de telefonía celular más popular del mundo es Android, una enorme pila de código construida sobre Java; pero esa es solo la plataforma más visible. Los decodificadores, los nuevos Chromebooks e incluso algunos equipos de escritorio, ejecutan aplicaciones de Android al igual que los smartphones. Un primo cercano de Java, C#, domina el mundo de Windows. Si está escribiendo una aplicación para un hardware fijo, Java es la mejor opción.

Python gobierna la ciencia de datos
Si está escribiendo software para trabajar con datos, existe una buena posibilidad de que quiera usar Python. La sintaxis simple ha enganchado a muchos científicos y el lenguaje ha adquirido muchos seguidores en los laboratorios de todo el país. Ahora que la ciencia de datos se está consolidando en todas las capas del mundo empresarial, Python se está volviendo cada vez más popular.

Uno de los mejores inventos para crear y compartir documentos interactivos, el Jupyter Notebook, comenzó con la comunidad Python antes de adoptar otros idiomas. Es una de las mejores formas de mezclar software, datos y el texto que explica lo que está sucediendo. Los lectores pueden absorber las palabras y luego presionar botones para ejecutar el software en los datos.

JavaScript gobierna la web
Las otras plataformas pueden ser buenas, pero el navegador web sigue siendo el único portal que casi todos usan para conectarse con el mundo. Este suele ser el software más utilizado en la computadora, el smartphone y la tableta. JavaScript comenzó como el jefe de este cliente local y su influencia se expandió a un dominio total a medida que el crecimiento de Node.js facilitó a los desarrolladores ejecutar el mismo código en el cliente y el servidor.

Incluso en los mundos dominados por otros idiomas, JavaScript logra abrirse paso entre la pila. Muchos desarrolladores de smartphones se omiten Java y Swift para crear sus aplicaciones multiplataforma en JavaScript. Después de todo, JavaScript determina lo que sucede en el rectángulo del navegador y eso prácticamente garantiza que tomará la decisión de lo que sucede con la mayoría de los clics y las pulsaciones de teclas en todas partes.

Java ejecuta todo
Si escribe código Python, existe una gran posibilidad de que termine ejecutándose en Jython, una implementación del lenguaje escrito en Java para aprovechar la omnipresencia de la máquina virtual Java. Si necesita ejecutar JavaScript, también puede enviarlo a Rhino, una herramienta que convierte el código en bytecode Java. Rhino sigue siendo una forma popular de ejecutar JavaScript además de la máquina virtual Java cuando el motor V8 no es compatible.

Estos dos idiomas no son los únicos que dependen del rendimiento sólido de JVM. Muchos lenguajes de programación funcionales como Scala, Clojure y Kotlin también se basan en los mismos fundamentos. Esto ayuda a todos simplificando la vinculación de estos lenguajes basados en JVM si desea utilizarlos en el mismo proyecto.

Python se ejecuta en todos lados
Python no es la primera opción ni la última para las personas que escriben emuladores para otros idiomas. Aun así, es fácil encontrar Python en muchas computadoras. Los creadores del lenguaje siempre han distribuido el código como código abierto y los paquetes están prácticamente en todas partes.

JavaScript se ejecuta en el navegador
Es difícil creer que el lenguaje juguete construido para crear cuadros de alerta en el navegador, sea ahora la base de muchos idiomas. Los desarrolladores quieren llegar a los usuarios y si estos viven en el navegador, encontrar una manera de que su código se ejecute en JavaScript es la forma más rápida de llegar a todos.

No son solo primos de JavaScript como CoffeeScript y LiveScript los que se trasladan a JavaScript. Incluso lenguajes como Lisp, OCaml, y Pascal pueden ser convertidos a JavaScript y ejecutados en el navegador. Python es popular en proyectos como el de Jupyter notebooks e incluso Java puede ser traducido a JavaScript usando herramientas como Google Web Toolkit.

Java tiene IDEs fuertes
Eclipse, NetBeans e IntelliJ son algunos de los mejores entornos de desarrollo integrados. Fueron creados por la comunidad Java, y se nutrieron a lo largo de los años para crear uno de los entornos más favorables para escribir código. Los algoritmos de finalización y generación de código pueden no escribir todo su software, pero sí una cantidad significativa. Todo este soporte realmente ayuda a los nuevos desarrolladores a entender la sintaxis.

Estos IDEs fueron tan populares que los desarrolladores de otros idiomas encontraron una manera de ejecutar su código dentro de ellos.

Python tiene la nube
El lenguaje Python encontró su primer hogar en el mundo de Unix, por lo que no es sorprendente que las nubes llenas de cajas de Linux, sean lugares donde naturalmente se encuentra un montón de código Python. Algunas de las herramientas más recientes, como Jupyter, agrupan código, datos y explicaciones para que las personas puedan compartir sus ideas con otros como documentos de investigación que cobran vida. Los Jupyter notebooks no son documentos estáticos, sino herramientas interactivas para explorar.

Otros están construyendo herramientas sofisticadas alrededor del lenguaje para mejorar la investigación. PyTorch, por ejemplo, es un juego de herramientas de aprendizaje profundo lleno de códigos, datos y algoritmos para el análisis. Entornos como este dominarán el futuro de la ciencia de datos.

JavaScript tiene JSFiddle
Cada navegador viene con potencia más que suficiente para actuar como un IDE. JSFiddle es solo el más destacado de más de una docena de sitios web que le permiten compartir código JavaScript con otros desarrolladores. Sin embargo, las páginas web no son estáticas porque se puede jugar con el código y verlo correr. Herramientas como ésta hacen que sea sencillo experimentar con toda la diversión sintáctica de JavaScript.

Aprenda cualquiera -o los tres
Al mundo de la programación le encanta la polinización cruzada. Si bien puede ser confuso rebotar entre diferentes idiomas y mantener la sintaxis recta, es posible usar los tres idiomas en los proyectos sin atascarse demasiado. Los proyectos Java o JavaScript que analizan datos pueden vincularse en bibliotecas de ciencia de datos escritas en Python; o los proyectos de Python pueden invocar código Java o JavaScript. Los tres idiomas no necesitan ser islas ni estar aislados los unos de los otros.

Peter Wayner, InfoWorld.com