Con la invasión tecnológica que la sociedad ha sufrido —y sigue sufriendo en algunos ámbitos—, la programación se posiciona como una materia esencial para la ejecución de las profesiones del futuro. Por esta razón, de hecho, cada vez son más las escuelas y centros de formación que fomentan la enseñanza de esta materia entre sus alumnos.
Pero al comienzo de ese camino en la programación, la pregunta más frecuente es: ¿qué lenguaje es mejor para adentrarse en ella? Con una simple búsqueda en Google cualquier persona puede encontrar informaciones hablando de C, C++, Java, Python, Swift, etc. Todos ellos son diferentes lenguajes de programación, y cada uno de ellos tiene unas características y un enfoque diferente. La respuesta a la pregunta ¿qué lenguaje de programación es mejor? es bastante simple: depende de qué quieras hacer.
Escoger un lenguaje de programación u otro depende de lo que quieras hacer, aunque hay una serie de lenguajes más recomendados que otros.
No es lo mismo desarrollar una aplicación para un iPhone que hacerlo para Android. Tampoco es lo mismo trabajar en una aplicación para teléfonos móviles que desarrollar un videojuego para Xbox o trabajar en todo el software que gestiona los diversos aspectos de un servidor.
No obstante, las escuelas de programación y las universidades sí recurren a ciertos lenguajes para implementar en las mentes de los alumnos determinadas aptitudes lógicas y estructurales que permiten interpretar mejor la forma en la que los ordenadores y la programación funciona. Uno de esos lenguajes es C, considerado por muchos como “el abuelo” de los lenguajes de programación.
Con C se aprenden todos los conceptos básicos de la programación, al mismo tiempo que se profundiza más que en otros lenguajes en aspectos como la gestión de memoria (punteros, liberar memoria, etc.) o la depuración del código. Asimismo, es un lenguaje no orientado a objetos, por lo que sirve para desarrollar el pensamiento estructural y secuencial que tan importante es en la programación.
Aprender C en primer lugar asienta unos cimientos sólidos que mejoran las aptitudes como programador y facilitan el aprendizaje de otros lenguajes de programación en el futuro. No obstante, su complejidad hace que la curva de aprendizaje, para alguien que desconoce la programación, sea mayor que en otros lenguajes.
Con C se aprenden los fundamentos de la programación y se obtiene una visión más amplia de esta materia, pero su dificultad es mayor que la de otros lenguajes como Java o Python.
Esa es la razón por la que muchas escuelas recurren a Java, uno de los lenguajes de programación más utilizados —y odiado por muchos— del mundo. A diferencia de C, Java está orientado a objetos y simplifica muchos aspectos respecto a C, por lo que resulta más amigable para principiantes.
Este lenguaje se considera un lenguaje de más alto nivel —no confundir alto nivel con mayor dificultad o mayor valor—, alejándose de aspectos como la gestión de memoria o el control del hardware, algo que C sí permite hacer a los programadores. Esto tiene sus beneficios y sus perjuicios: el lenguaje es más amigable para el programador principiante pero obtiene una visión menos completa de lo que ocurre entre bambalinas cuando se ejecuta un programa o se altera una porción del código.
Un tercer lenguaje muy recomendado para principiantes es Python, más sencillo y amigable que los dos anteriores. Además, requiere menos precisión en su sintaxis, eliminando la posibilidad de cometer errores absurdos por parte de los principiantes. Empresas como Instagram, de hecho, utilizan este lenguajes en algunas parte de su producto, y su popularidad ha aumentado durante los últimos años. El problema es, al igual que ocurre con Java, la amplitud de visión que otorga.
Lo mejor, para asentar una sólida base, es aprender C y después comenzar con lenguajes de más alto nivel como Java o Python, cuya demanda es bastante alta. Además, al estar basados unos en otros, una persona que ya conoce el lenguaje C encontrará una gran facilidad para aprender e interpretar otros lenguajes como C++, Java o Python. Parte de las sintaxis o de las metodologías se comparten entre lenguajes, por lo que la sencillez de aprendizaje se reduce exponencialmente.
Una vez aprendidos los fundamentos, encuestas como la Developer Economics de VisionMobile ofrece a los desarrolladores la posibilidad de valorar las herramientas y los recursos que les han permitido evolucionar en su carrera, todo ello a través de la gamificación de elementos de ciencia ficción para que se haga más entretenida de hacer. Y, además, los participantes en la encuesta pueden ganar decenas de premios, entre los que se incluye un iPhone 7, un Google Pixel o un kit de Oculus Rift.