El mejor lenguaje de programación para aprender ahora

La mejor manera de entender las computadoras y someterlas a nuestra voluntad es aprender a hablar su idioma para que comprendan nuestros comandos. Las personas que aman las novelas de fantasía a veces imaginan que están aprendiendo hechizos y encantamientos mágicos. Las personas con mentalidad práctica utilizan un lenguaje más fundamentado para representar la estructura lógica de números y datos. En cualquier caso, se trata de comprender qué secuencia de pulsaciones de teclas y clics del mouse hará que la computadora salte a través de aros metafóricos y ejecute bailes virtuales.

Cada escuela, MOOC y sitio de capacitación debe adoptar un primer idioma para los jóvenes padawans. Algunos lugares, como Harvard, todavía se aferran a la era C de los 70, pero muchas escuelas están oscilando entre JavaScript, Python y Java. Uno está enterrado en todos los navegadores, uno es la elección limpia de las ciencias sociales y el otro es la preferencia rica en tipos de personas con mentalidad matemática.

¿Es una la mejor opción? ¿Es uno claramente mejor que los demás? ¿O es probable que todos envíen a un número sustancial de estudiantes gritando sobre sus almohadas por la noche? Examinemos las mejores razones para aprender Java, Python o JavaScript.

Java es clásico

La prueba de Colocación Avanzada eligió Java hace mucho tiempo cuando Java era joven y estaba en auge. Quizás Java nunca alcanzó la cúspide de su trayectoria inicial, cuando todos parecían asumir que sería completamente dominante, pero sigue siendo la columna vertebral de muchos sitios web, teléfonos inteligentes, televisores y dispositivos pequeños.

La elección de un idioma con un gran número de seguidores permite al estudiante subirse al tren que ya cuenta con sofisticadas herramientas de desarrollo. Además, hay millones de líneas de código fuente abierto que el estudiante puede estudiar, revisar y ampliar para su propio trabajo. Se están uniendo a un gran movimiento y les resulta fácil encajar.

Python es nuevo

De hecho, Python no es tan nuevo — el proyecto comenzó hace más de 30 años — pero se siente nuevo porque su éxito ha llegado lentamente. Solo recientemente Python ha estallado y encontrado una adopción generalizada entre programadores casuales. La novedad significa que las escuelas que están adoptando Python están creando nuevos planes de lecciones, escribiendo nuevos exámenes y desarrollando nuevos mazos de diapositivas. No están desenterrando algunas viejas preguntas polvorientas de la década de 1990 con referencias a Pets.com y MySpace.

El curso AP más nuevo, llamado Principios de Ciencias de la Computación, permite al maestro elegir el lenguaje de la computadora y muchos eligen Python debido a su frescura. La novedad puede ser superficial, pero todos los lenguajes son solo una sintaxis inteligente que oculta la estructura de decisión if-then-else del código ensamblador.

Todo este éxito está creando un circuito de retroalimentación positiva. La edición de noviembre de 2020 del índice Tiobe marcó la primera vez que Python subió al puesto número dos (detrás de C), reconociendo cómo el lenguaje se estaba volviendo más popular que Java.

JavaScript está en todas partes

Está en el navegador y el navegador es la base de su escritorio, su teléfono y todos esos quioscos que ve en todas partes. En la última década, JavaScript se ha apoderado de la primera línea de los servidores web, ya que las aplicaciones web Node.js se convirtieron en la forma más popular para que los desarrolladores escriban "código isomórfico" que se puede ejecutar 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

Puede que no le guste perder el tiempo para especificar el tipo de cada variable, pero no lleva tanto tiempo hacer clic en tres teclas para agregar "int" a su código. Cuando haces eso, obtienes todo el poder que proviene de permitir que el compilador verifique dos veces tu código inmediatamente y encuentre los errores estúpidos antes de implementarlo. Los lenguajes de tipo verificado nos obligan a pensar con más rigor sobre 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 buen código, pero si cree que su código es lo suficientemente bueno para funcionar sin problemas sin la información adicional sobre los tipos de datos para cada variable, bueno, Python está listo para usted. La computadora puede determinar el tipo de datos cuando los almacena en una variable. ¿Por qué hacer un trabajo extra para ti?

Tenga en cuenta que este enfoque libre puede estar cambiando, aunque lentamente. La documentación de Python anuncia que el tiempo de ejecución de Python no hace cumplir las anotaciones de funciones y tipos de variables, pero aún se pueden usar. Quizás con el tiempo agregar tipos se convierta en la forma dominante de programar en el idioma, pero por ahora es su elección.

JavaScript es ambos

JavaScript en sí no tiene tipo, pero últimamente algunos de los miembros de alto perfil del mundo de JavaScript han estado cambiando a TypeScript, un superconjunto del lenguaje original que le brinda la capacidad de establecer los tipos cuando lo desee. Y si no quieres, bueno, 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 móvil 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. Decodificadores, nuevos Chromebooks e incluso algunos equipos de escritorio ejecutan aplicaciones de Android al igual que los teléfonos inteligentes. Un primo cercano de Java, C #, domina el mundo de Windows. C # no es exactamente lo mismo que Java pero está muy cerca. Si va a escribir una aplicación para una pieza fija de hardware, es muy probable que Java sea la mejor opción.

Python gobierna la ciencia de datos

Si está escribiendo software para trabajar con datos, es muy probable que desee utilizar Python. La sintaxis simple ha enganchado a muchos científicos y el idioma ha encontrado un gran número de seguidores en los laboratorios de todo el país. Ahora que la ciencia de datos se está afianzando en todas las capas del mundo empresarial, Python la sigue.

Uno de los mejores inventos para crear y compartir documentos interactivos, el Jupyter Notebook, comenzó con la comunidad de Python antes de adoptar otros lenguajes. Es una de las mejores formas de combinar software, datos y 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 agradables, pero el navegador web sigue siendo el único portal que casi todo el mundo usa para conectarse con el mundo. Suele ser el software más utilizado en el escritorio, el teléfono inteligente 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.

También hay docenas de buenos marcos de JavaScript (Angular, React, Vue, etc.) que ofrecen una base para construir su aplicación web y algunos son lo suficientemente inteligentes como para mover su código entre el cliente y el servidor según sea necesario. 

Incluso en los mundos dominados por otros lenguajes, JavaScript se abre camino en la pila. Muchos desarrolladores de teléfonos inteligentes se saltan 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 sobre lo que sucede con la mayoría de los clics y pulsaciones de teclas en todas partes.

Java lo ejecuta todo

Si escribe código Python, es muy probable 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 y Nashorn, dos herramientas que convierten JavaScript en código de bytes Java.

Estos dos lenguajes no son los únicos que dependen del sólido rendimiento de la JVM. Muchos lenguajes de programación funcionales como Scala, Clojure y Kotlin también se basan en las mismas bases. Esto ayuda a todos al simplificar la vinculación de estos lenguajes basados ​​en JVM si desea usarlos en el mismo proyecto.

Python corre por todas partes

Python no es la primera opción ni la última opción para las personas que escriben emuladores para otros lenguajes. Aún así, es fácil encontrar Python en muchas computadoras. Los creadores del lenguaje siempre han distribuido el código como fuente abierta y los paquetes están prácticamente en todas partes. De hecho, encontrará Python incluido en MacOS y la mayoría de las distribuciones de Linux con todas las funciones. Y aunque no está incluido en Windows, es muy fácil de instalar, simplemente hágalo de manera inteligente.

JavaScript se ejecuta en el navegador

Es difícil creer que el lenguaje de juguete creado para crear cuadros de alerta en el navegador sea ahora la base de muchos idiomas. Los desarrolladores quieren llegar a los usuarios y si los usuarios viven en el navegador, bueno, 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 los primos de JavaScript como CoffeeScript y LiveScript los que se transpilan a JavaScript. Incluso lenguajes como Lisp, OCaml y Pascal pueden convertirse a JavaScript y ejecutarse en el navegador. Python es popular en el navegador en proyectos como los cuadernos de Jupyter e incluso Java se puede traducir a JavaScript utilizando herramientas como Google Web Toolkit.

Java tiene IDE fuertes

Eclipse, NetBeans e IntelliJ son algunos de los mejores entornos de desarrollo integrados que existen. Fueron creados por la comunidad de Java y cultivados a lo largo de los años para crear uno de los entornos más favorables para la escritura de código. Es posible que los algoritmos de finalización y generación de código no escriban todo su software, pero pueden escribir una cantidad significativa. Todo este agarre de la mano realmente ayuda a los nuevos desarrolladores a obtener la sintaxis correcta. 

Estos IDE fueron tan populares que los desarrolladores de otros lenguajes encontraron una forma de ejecutar su código dentro de ellos. Si se convierte en un programador Java profesional, es casi seguro que utilizará uno de ellos. Mientras tanto, si desea una experiencia de programación Java más simple y amigable, pruebe BlueJ o Greenfoot. Estos "IDE para principiantes" fueron diseñados específicamente para aprender Java.

Python tiene la nube

El lenguaje Python encontró su primer hogar en el mundo de Unix, por lo que no sorprende que las nubes llenas de cajas de Linux sean lugares naturales para encontrar mucho código Python. Algunas de las herramientas más recientes, como Jupyter, combinan código, datos y explicaciones para que las personas puedan compartir sus conocimientos con otros como artículos de investigación que cobran vida. Los cuadernos de Jupyter no son documentos estáticos, sino herramientas interactivas para explorar.

Otros están creando herramientas sofisticadas en torno al lenguaje para mejorar la investigación. PyTorch, por ejemplo, es un conjunto de herramientas de aprendizaje profundo lleno de código, datos y algoritmos para el análisis. Entornos como este dominarán el futuro de la ciencia de datos.

También hay varios buenos hosts para portátiles que agregan funciones adicionales para compartir datos y manejar trabajos de análisis de datos computacionales grandes e intensivos. Google, por ejemplo, ejecuta Colaboratory, que almacenará sus datos y ofrecerá acceso gratuito a las GPU para un cálculo más rápido. Saturn Cloud promociona un rendimiento que puede ser 100 veces más rápido que su computadora de escritorio.

JavaScript tiene JSFiddle

Cada navegador viene con una 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. Las páginas web, sin embargo, no son estáticas porque puede jugar con el código y ver cómo se ejecuta en la misma página web. Herramientas como esta facilitan la experimentación 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 resultar confuso saltar entre diferentes idiomas y mantener la sintaxis correcta, es posible utilizar los tres idiomas en proyectos sin atascarse demasiado. Los proyectos de Java o JavaScript que analizan datos se pueden vincular en bibliotecas de ciencia de datos escritas en Python. O los proyectos de Python pueden invocar código Java o JavaScript.

Los desarrolladores inteligentes también han creado herramientas para traducir, vincular e integrar automáticamente los diferentes idiomas entre sí. ¿Quiere ejecutar código Python en su navegador? Hay varias opciones diferentes ahora y probablemente más por venir. Java tiene una clase ScriptEngine que evaluará JavaScript. Hay cientos de lenguajes diferentes que se ejecutarán como JavaScript mediante traducción o emulación.

En resumen, los tres idiomas no tienen por qué ser islas, aisladas entre sí. No es necesario elegir solo uno a largo plazo. Pero empieza con uno al principio.

Leer más sobre desarrollo de software:

  • Los mejores cursos de programación gratuitos durante el bloqueo
  • ¿Qué es CI / CD? Explicación de la integración continua y la entrega continua
  • ¿Qué es la metodología ágil? Explicación del desarrollo de software moderno
  • ¿Qué es una API? Explicación de las interfaces de programación de aplicaciones
  • El mejor lenguaje de programación para aprender ahora
  • Las habilidades de desarrollador de software más valiosas en 2020
  • Los 6 mejores lenguajes de programación para el desarrollo de IA
  • Los 24 puestos de desarrollador mejor pagados en 2020
  • Desarrollador de pila completa: qué es y cómo puede convertirse en uno
  • 9 trampas profesionales que todo desarrollador de software debería evitar