Esta es probablemente una de las preguntas más populares de personas que quieren entrar en el mundo de la programación. Si preguntásemos cuál es el mejor lenguaje para empezar a diez programadores, obtendriamos diez respuestas diferentes.
A continuación, ofrecemos algunos consejos y sugerencias para tratar de ayudar a decidir.
Hay miles de opciones, y el mejor lenguaje de programación para empezar no sólo depende de lo intuitivo, o no, sino que también depende del tipo de proyecto que desea hacer, por qué se desea programar, o si quieren dedicarse a ella profesionalmente.
¿Por qué quieres aprender a programar?
Es probable que, dependiendo de lo que quieras programar o para qué, la elección ya esté tomada aunque tú todavía no lo sepas. Para programar páginas web, por ejemplo, deberías aprender HTML, CSS, JavaScript y quizás PHP para la interactividad. Si tu objetivo es solo desarrollar aplicaciones móviles, lo que deberías aprender, para empezar, sería Objective-C para iOS o Java para Android.
¿Qué lenguaje de programación debo aprender para empezar?
La mayor parte de lenguajes de programación populares como C, Java, C#, Perl, Ruby, o Python, sirven para hacer más o menos las mismas cosas. Java, por ejemplo, es un sistema multiplataforma utilizado para aplicaciones web y applets. Ruby también sirve para hacer grandes aplicaciones web, y las de Python corren igualmente en Linux o Windows.
Como indica SOA World, el hecho de que los lenguajes estén desarrollados unos sobre otros hace que muchas veces la sintaxis entre ellos sea idéntica o muy parecida, así que aprender uno de ellos hará que te sea más fácil aprender el siguiente. Por ejemplo, imprimir la expresión ‘Hello World’ en Java y C# es similar, como también lo es entre Perl y Python.
¿Qué lenguaje de programación deberia Aprender Para Empezar?
Estos lenguajes, sin embargo, se diferencian en lo fácil o difícil que es comenzar a operar con ellos. Mirando el ejemplo anterior, hay lenguajes que necesitan más comillas, otros menos. En general, SOA World recomienda empezar con lenguajes sintácticamente más simples, o sea, que tengan menos reglas sintácticas o lógicas. Así podremos ir de menos a más. A continuación os ofrecemos un breve resumen de los lenguajes más comunes.
C: Te enseña a programar de manera eficiente
C es uno de los lenguajes de programación más usados y esta popularidad tiene sus razones. En palabras del programador Joel Spolsky: “C es el equivalente a aprender anatomía básica en medicina””. C es un lenguaje que funciona a nivel de máquina, así que sirve para entender cómo interacciona un programa con la capa de hardware.
Con C se aprende a hacer cosas como depurar código, o a gestionar la memoria. También ofrece una visión panorámica de cómo funciona un ordenador que no ofrecen otros lenguajes. En ese sentido C es el ‘abuelo’ de otros lenguajes de alto nivel como Java, C# o JavaScript.
Dicho esto, programar en C también es más rígido y su curva de aprendizaje no es muy fácil. Si no tienes pensado trabajar en programas que interactúan con la capa de hardware (utilizando, por ejemplo, unidades de disco, o extensiones del sistema operativo) C quizá prolongue de manera innecesaria tu tiempo de aprendizaje.
Java: Una de los lenguajes más útiles para aprender
Java es el segundo lenguaje de programación más popular es muy útil para aprender los principios de la programación orientada a objetos que se usa en otros lenguajes modernos como C++, Perl, Pyython, o PHP. Una vez que has aprendido Java, es más fácil aprender estos otros lenguajes.
Java tiene la ventaja de que es un lenguaje muy maduro y con una larga trayectoria. Hay infinidad de plantillas y tutoriales, y se usa en una gran cantidad de entornos, incluido el desarrollo de aplicaciones en Android, así que es un lenguaje muy práctico. Con Java no aprenderás control de dispositivo a nivel de hardware como con C, pero aprenderás a acceder y gestionar las partes más importantes como el sistema de archivos, los gráficos o el sonido.
Python: fácil y divertido de aprender
Mucha gente recomienda Python para empezar por sus amplias capacidades y su simplicidad. Su código es fácil de leer y también ayuda a desarrollar un estilo de programación limpio, sin necesidad de ser muy estricto con la sintaxis (cosas como olvidar un paréntesis al final de una línea). Patrick Jordan, de Ariel Computing, compara el tiempo que se tarda en escribir una instrucción simple en distintos lenguajes (Basic, C, J, Java y Python) y concluye que:
Aunque los demás lenguajes no deben ser descuidados, Python lleva menos tiempo, menos líneas de código, y menos conceptos que aprender para alcanzar un determinado objetivo. Programar en Python es divertido, y eso genera interés y confianza en el alumno, lo que siempre es bueno para animarle a continuar con su formación en otros lenguajes más austeros.
En la SOA consideran a Python como un auténtico imprescindible para principiantes, sobre todo para los que ya estén un poco familiarizados con entornos Linux. Python está, además, creciendo debido a su uso en sites tan populares como Pinterest o Instagram.
Javascript: Para dar el salto a la programación web
A pesar de su nombre, Javascript no tiene mucha relación con Java. Su puesta en marcha es relativamente sencilla ya que prácticamente está integrado ya en todos los navegadores. O’Reilly Media recomienda empezar con JavaScript porque es bastante flexible en sintaxis, puedes ver inmediatamente los resultados de lo que has hecho, y no es necesario aprender muchas herramientas. En su propia escuela nocturna O’Really utiliza JavaScript para enseñar lo más básico como las variables o las funciones. Si quieres programar elementos interactivos para una página web, JavaScript es un imprescindible.
Elegir tu camino
- Programador de Servidores o Back-end: Python, Rubyy, PHP, Java o .Net. Conocimientos de bases de datos y posiblemente de administración de sistemas.
- Programador de clientes o Front-end: HTML, CSS, Javascript. Posiblemente sean necesarios conocimientos de diseño.
- Programador móvil: Objective C o Java (para Android). HTTML / CSS para sitios web móviles. Posibles conocimientos sobre servidores.
- Programador 3D o de videojuegos: C/C++, OpenGL, Animación. Es recomendable tener buenas dosis de conocimientos de diseño y artísticos.
- Programador de alto rendimiento o generico: C/ C++, Java, conocimientos en matemáticas y análisis cuantitativo.
Artículo original: http://es.gizmodo.com/que-lenguaje-de-programacion-deberia-aprender-para-emp-1479554075