Es muy común entre la gente que empieza sus principios con la programación, la interesante pregunta de ¿Qué lenguaje de programación aprendo?, pregunta que nunca es fácil para nadie, ni para la gente que ya sabe, porque depende de la forma en que se aprende a razonar y no ver los códigos como “códiguitos” nada más.
Yo les voy a decir los lenguajes de programación que debes de saber nativamente, lenguajes que al menos a mí me han facilitado cambiarme de un lenguaje a otro que tienen cierto parecido, y que además son de los más usados, entonces, ahí le añadimos un pequeño plus al saber un lenguaje que mundialmente si se usa.
C
La primera vez que jugué con C tenía como 12 años, y no me gustó nada cuando llegué a apuntadores, porque no tenía ni siquiera la menor idea de lo que era uno, entonces me quedé sólo con lo más básico, printf y condicionales.
Ahora que estoy viendo C implementado en Unix me doy cuenta que el lenguaje es impresionante por su simpleza y poder tan simplificado, porque literalmente puedes hacer cualquier aplicación de sistema que quieras si dominas C a la perfección. A mi me ha gustado mucho jugar con estructuras, apuntadores, procesos y ahorita voy a ver sincronización, por lo que es casi de regla saber un poco de C, y saber que es un lenguaje estructurado dirigido más para aplicaciones de sistema.
Java
Otro grande que es usado en el mundo actualmente. Java es un lenguaje orientado a objetos, que usa una metodología diferente a la de C, pero que igual nos proporciona una base muy buena para hacer aplicaciones graficas. Es importante saber Java por lo que les digo, el concepto de objeto es nuevo, así como encapsulación, herencia, polimorfismo y más derivadas del lenguaje que representa a objetos, por lo que no saber un poco de Java ya los deja un paso atrás al menos en ver cómo se implementan métodos, interfaces y conexiones a bases de datos o a servidores.
Visual Basic
Si lo que quieren es empezar a programar sin gran conocimiento es 100% recomendable que aprendan un poco, pero un poco Visual Basic. Este lenguaje me gustaba porque el IDE para empezar ya te completa todo, y sus declaraciones de funciones tan poco comunes me hicieron comprender en parte la programación estructurada y la orientada a objetos.
Un poco a favor de usar Visual Basic es que puedes crear aplicaciones de forma muy fácil. Sé que lo ideal sería conocer cómo se usa el API de Windows para generar una ventana, pero Microsoft parece que no le gusta que le vean el código, por eso te da ya la interfaz y botones a la medida y con las características que necesitas para que programes sin saber casi nada.
C++
Para mi es objetivo aprender a programar en C++, por el hecho de que es la implementación de C para objetos, vagamente haciendo la metáfora, ya que es mucho más que eso. Algunos dicen que es bonito mientras todavía tenga la parte de C encima, porque cuando usas C++ de verdad es una cosa horrenda.
Este no lo he probado tanto, pero le hecho de que muchos puestos de trabajo te pidan saber C/C++ es porque C++ no está colado, sino porque es importante hoy en día, como por ejemplo, para comprender más o menos como funciona Objective-C-
JavaScript
Javascript es el alma de la web, pese a quien le pese; no hay otro lenguaje que tenga más dominio, y a pesar de que cada día aparecen más librerías que nos facilitan hacer aplicaciones web, su núcleo se basa en Javascript. Es importante saber Javascript porque las aplicaciones web empiezan a crecer exponencialmente, y saber HTML sólo te convierte en un simple diseñador, con Javascript ya tienes cierto grado de programador, pero no es el punto.
Aprender Javascript te da la oportunidad de que no dependas de nadie más para que hagan el código de tu aplicación, además de que puedes crear lo que quieras por la flexibilidad del lenguaje y de HTML y CSS.
Son 5 lenguajes que me parecen imprescindibles para el bolsillo, hay más pero siento que sabiendo estos pueden meterte en el que tu quieras, aunque a mi parecer Objective-C es un mundo completamente diferente, pero en general la teoría dice que si podríamos hacer el cambio.
¿Qué lenguaje de programación te gusta más?