¿Qué lenguaje de programación se debe aprender primero y se usará mucho en el futuro?

Acabo de leer y me gustó este artículo en Lifehacker. Entonces, solo voy a citarlo aquí.

¿Por qué quieres aprender a codificar?

Dependiendo de lo que quiera hacer o hacer, su elección ya podría estar hecha para usted. Para crear un sitio web o una aplicación web, por ejemplo, debe aprender HTML y CSS, junto con JavaScript y quizás PHP para interactividad. Si su enfoque es principalmente / solo en la creación de una aplicación móvil, puede sumergirse directamente en el aprendizaje de Objective-C para aplicaciones iOS o cómo programar con Java para Android (y otras cosas).

Sin embargo, si está buscando ir más allá de un proyecto o especialidad específica, o si desea aprender un montón de idiomas, es mejor comenzar aprendiendo los conceptos básicos de programación y cómo “pensar como un programador”. De esa manera, no importa cuál sea su primer lenguaje de programación, puede aplicar esas habilidades para aprender uno nuevo (tal vez en tan solo 21 minutos). Incluso las aplicaciones de codificación para niños pueden ser útiles para comenzar. Por ejemplo, el primer curso de programación formal que tomé (bueno, aparte de BASIC en cuarto grado) fue el CS50 de Harvard, que puedes tomar gratis. El profesor Malan comienza el curso con Scratch, un entorno de programación de arrastrar y soltar creado para niños que enseña conceptos básicos de codificación y lógica, mientras te ayuda a crear algo genial, y luego te enseña C.

Los lenguajes de programación más recomendados para principiantes

La mayoría de los lenguajes de programación “convencionales”, como C, Java, C #, Perl, Ruby y Python, pueden realizar las mismas tareas, o casi las mismas, que las demás. Java, por ejemplo, funciona multiplataforma y se usa para aplicaciones web y applets, pero Ruby también puede hacer grandes aplicaciones web y aplicaciones Python que se ejecutan de manera similar en Linux y Windows. SOA World señala que debido a que muchos idiomas se modelan uno tras otro, la sintaxis o la estructura de trabajar en ellos a menudo es casi idéntica, por lo que aprender uno a menudo ayuda a aprender los otros. Por ejemplo, para imprimir “Hello World”, Java y C # son sintácticamente similares al igual que Perl y Python:

Sin embargo, difieren en cuán fáciles son de configurar y entrar.

Aquí hay una comparación rápida de los lenguajes de programación más populares:

C: te entrena para escribir código eficiente

C es uno de los lenguajes de programación más utilizados, si no el más utilizado. Hay algunas razones para esto. Como señaló el programador y escritor Joel Spolsky, C es programar como aprender anatomía básica es para un médico. C es un lenguaje de “nivel de máquina”, por lo que aprenderá cómo un programa interactúa con el hardware y aprenderá los fundamentos de la programación en el nivel más bajo de hardware (C es la base de Linux / GNU). Aprende cosas como programas de depuración, administración de memoria y cómo funcionan las computadoras que no obtiene de lenguajes de nivel superior como Java, todo mientras lo prepara para codificar eficientemente para otros idiomas. C es el “abuelo” de muchos otros lenguajes de nivel superior, incluidos Java, C # y JavaScript.

Dicho esto, la codificación en C es más estricta y tiene una curva de aprendizaje más pronunciada que otros lenguajes, y si no está planeando trabajar en programas que interactúen con el hardware (aproveche los controladores de dispositivos, por ejemplo, o las extensiones del sistema operativo), aprender C aumentará su tiempo de educación, tal vez innecesariamente. Stack Overflow tiene una buena discusión sobre C versus Java como primer idioma, con la mayoría de las personas apuntando hacia C. Sin embargo, personalmente, aunque me alegra haber estado expuesto a C, no creo que sea un lenguaje muy amigable para principiantes. Te enseñará disciplina, pero tendrás que aprender muchísimo antes de poder hacer algo útil.

Java: uno de los lenguajes más prácticos para aprender

Java es el segundo lenguaje de programación más popular, y es el lenguaje que se enseña en el reconocido (y gratuito) curso de introducción a CS de Stanford. Java aplica principios sólidos orientados a objetos (OOP) que se utilizan en lenguajes modernos, incluidos C ++, Perl, Python y PHP. Una vez que haya aprendido Java, puede aprender otros lenguajes OOP con bastante facilidad.

Java tiene la ventaja de una larga historia de uso. Hay muchos ejemplos “repetitivos”, se ha enseñado durante décadas y se usa ampliamente para muchos propósitos (incluido el desarrollo de aplicaciones de Android), por lo que es un lenguaje muy práctico para aprender. No obtendrá el control a nivel de máquina, como lo haría con C, pero podrá acceder / manipular las partes más importantes de la computadora, como el sistema de archivos, gráficos y sonido para cualquier programa bastante sofisticado y moderno, que pueda ejecutarse en cualquier sistema operativo

Python: divertido y fácil de aprender

Muchas personas recomiendan Python como el mejor lenguaje para principiantes debido a su simplicidad y a sus excelentes capacidades. El código es fácil de leer y aplica un buen estilo de programación (como sangría), sin ser demasiado estricto sobre la sintaxis (cosas como recordar agregar un punto y coma al final de cada línea). Patrick Jordan en Ariel Computing comparó el tiempo que lleva escribir un script simple en varios idiomas (BASIC, C, J, Java y Python) y determinó que si bien los otros idiomas no deben ignorarse, Python es una necesidad absoluta para principiantes que quieren mojarse los pies con Linux (o ya están familiarizados con Linux). La popularidad de Python también está aumentando rápidamente hoy gracias a la amplia adopción en sitios web populares como Pinterest e Instagram.

JavaScript: para saltar directamente y crear sitios web

JavaScript (de poca relación con Java) requiere la menor cantidad de configuración para comenzar, ya que ya está integrado en los navegadores web. O’Reilly Media recomienda comenzar con JavaScript porque tiene una sintaxis relativamente tolerante (puede codificar libremente en JavaScript), ve resultados inmediatos de su código y no necesita muchas herramientas. En nuestra propia escuela nocturna Learn to Code, usamos JavaScript para mostrarle los conceptos básicos, como cómo funcionan las variables y las funciones. Si desea crear cosas interactivas interesantes para la web, JavaScript es una habilidad imprescindible.

Elegir tu camino

Una última consideración es si es posible que desee pasar de la codificación como un pasatiempo a hacerlo como una carrera. Dev / Code / Hack desglosa los diferentes roles de trabajo y las habilidades que debes adquirir para ellos:

Programador back-end / Server-Side: Usualmente usa uno de los siguientes: Python, Ruby, PHP, Java o .Net. Tiene conocimiento de base de datos. Posiblemente tiene algunos conocimientos de administrador de sistemas.

Programador front-end / cliente: HTML, CSS, JavaScript. Posiblemente tiene habilidad de diseño.

Programador móvil: Objective-C o Java (para Android). HTML / CSS para sitios web móviles. Potencialmente tiene conocimiento del lado del servidor.

Programador 3D / Programador de juegos: C / C ++, OpenGL, Animación. Posiblemente tiene buena habilidad artística.

Programador de alto rendimiento: C / C ++, Java. Puede tener antecedentes en matemáticas o análisis cuantitativo.

Al final, sin embargo, no hay una sola manera de comenzar a aprender a codificar. Lo más importante es aprender los fundamentos a través de “rascarse la picazón”, por así decirlo, trabajando en un problema que desea resolver o algo que desea construir. Como la programación es terrible, el blog dice:

El primer lenguaje de programación que aprenda probablemente será el más difícil de aprender. Elegir algo pequeño y divertido hace que esto sea menos un desafío y más una aventura. Realmente no importa dónde comiences mientras sigas adelante: sigue escribiendo código, sigue leyendo código. No te olvides de probarlo tampoco. Una vez que tenga un idioma con el que esté satisfecho, aprender un nuevo idioma es menos una hazaña, y aprenderá nuevas habilidades en el camino.

El lenguaje C es un lenguaje de programación básico de computadora de alto nivel \ U0001f4bb que se utiliza principalmente. También puedes aprender python ya que es bastante más fácil.