Que es un lenguaje de programación


Para la inmensa mayoría de los usuarios, el uso de una computadora es lo más sencillo y transparente que existe, y no debe preocuparse por aspectos técnicos relacionados con cómo los programas que utiliza a diario son desarrollados y diseñados. Esto es así desde hace años, y es totalmente aceptable que sea de esta manera, ya que lo que subyace debajo de las ventanas y cuadros de diálogo de una aplicación no debe interferir nunca con la productividad de quien use el software, sino que es responsabilidad de los ingenieros y desarrolladores.

Sin embargo nunca está demás aprender algo nuevo, ya que de esta manera podremos entender mejor cómo funciona una computadora y cómo se interrelaciona con nosotros a través del software, con la consiguiente ganancia en productividad, y por qué no, conseguir ese algo más que nos diferencie de los demás. Es por ello que en este artículo encontraremos abundante información acerca de los lenguajes de programación y su evolución a lo largo de los años.

lenguaje-de-programacion- (1)

¿Qué son los lenguajes de programación?

Todo lo que vemos ni bien pulsamos el botón de encendido de nuestra computadora, es decir el sistema operativo, sus aplicaciones, y las partes más pequeñas que lo conforman como cuadros de diálogo, menús, ventanas y botones, tienen su nacimiento en los llamados lenguajes de programación, los cuales son básicamente programas con la habilidad, mediante una serie de reglas sintácticas y semánticas compuestas por palabras, números y expresiones matemáticas, de crear el llamado código fuente, el cual una vez compilado, se convertirá en un programa o software y podrá ser ejecutado en nuestra computadora sin necesidad de que el usuario lleve a cabo ningún otro paso.

lenguaje-de-programacion- (2)

La historia de los lenguajes de programación se remonta hasta 1840, cuando Ada Lovelace, considerada una pionera en este ámbito, dejara en un reconocido trabajo llamado “Notas” el puntapié inicial de todo lo que hoy conocemos en materia de lenguajes de computadoras, y que ha sido muy importante en los orígenes de esta materia. Los años han pasado, y desde esos primeros esbozos, los lenguajes de programación han avanzado muchísimo, como así también sus capacidades y el resultado de lo que pueden ofrecer.

Si bien Ada Lovelace fue la primera persona que trabajó en este tipo de investigaciones, los verdaderos avances se hicieron muchos años después, a partir de la década de 1940, momento en que la computación comenzaba a desarrollarse.

Precisamente en 1946 surgió ENIAC, iniciales de “Electronic Numerical Integrator And Computer”, que en español significa “Computadora e Integrador Numérico Electrónico”, y que fuera utilizada por el Laboratorio de Investigación Balística del Ejército de los Estados Unidos. Obviamente, con estas primeras computadoras surgió la necesidad de programarlas para que hicieran lo que se les solicitaba.

lenguaje-de-programacion- (3)

Lenguaje de máquina

El lenguaje de máquina, también llamado código máquina es un sistema de códigos diseñado para ser reconocido y ejecutado en forma directa por un circuito microprogramable, tal como el de un microprocesador de una computadora o de microcontroladores en máquinas de control numérico, por ejemplo. Básicamente, este lenguaje de máquina está compuesto por un set de instrucciones que determinan el comportamiento de una maquinaria o controlador. Un programa en lenguaje máquina  es una cadena de estas instrucciones más los datos sobre los que arrojará los resultados.

Sin embargo, el lenguaje de máquina es expresado completamente en código binario, es decir 1 y 0, y por lo tanto muy complejo de implementare, y debe ser traducido para que los humanos puedan interrelacionarse con el mismo. Fue para ello que se desarrolló el lenguaje ensamblador, que posibilita traducir estas extensas cadenas numéricas en palabras como “Add”, “Sub”, “Mul” y “Call”, a las que posteriormente se les denominó “Instrucciones” y que operaban directamente a nivel de hardware.

Lenguaje ensamblador

Assembly Language o Lenguaje Ensamblador por su traducción al castellano, es un lenguaje de programación para todo tipo de procesadores y controladores, que es capaz de interpretar y manipular mediante una representación  simbólica de los códigos de máquina binarios y hacerlos de alguna manera “más accesibles” a los programadores.

lenguaje-de-programacion- (4)

El lenguaje ensamblador fue utilizado en los albores de las ciencias de la computación, cuando todavía no habían sido desarrollados lenguajes más potentes y flexibles. No obstante, todavía es utilizado a nivel académico y cuando es necesario tener acceso directo al hardware, como en el caso de los sistemas operativos y los controladores de dispositivos para impresoras, scaners y otros tipos de periféricos.  Cabe destacar que el lenguaje ensamblador es considerado como un lenguaje de bajo nivel.

Lenguajes de Alto y Bajo Nivel

También existe un segundo tipo de lenguaje de programación, o “lenguaje de Alto Nivel”, que se distingue del primero debido a que tiene la capacidad de poder expresarse de manera análoga al lenguaje de los humanos, es decir que pueden representar los algoritmos de una manera adecuada a la capacidad cognitiva de las personas.

lenguaje-de-programacion- (5)

El primer lenguaje de programación de Alto Nivel que les permitió a los programadores una flexibilidad nunca antes vista fue Fortran, creado en el año 1957, precisamente como una alternativa de lenguaje de alto nivel al lenguaje ensamblador para programar la mainframe IBM 704, lo que permitiría agilizar los tiempos de programación de dichas máquinas. Este debe considerase como un verdadero hito en la historia de los lenguajes de programación, ya que  antes de Fortran, los programas sólo se desarrollaban en lenguaje ensamblador.

lenguaje-de-programacion- (6)

Evolución de los lenguajes de programación

A lo largo de los años, y a medida que eran necesarios lenguajes de programación más potentes y flexibles para llevar a cabo las tareas complejas que las computadoras modernas podían procesar, al lenguaje ensamblador y a Fortran le siguieron LISP, COBOL, ALGOL, PASCAL, BASIC, C, dBASE, ADA, JAVA, PHP, C++, DELPHI y otros, que le abrieron la puerta a la computación tal y como la conocemos ahora.

En la actualidad, existen alrededor de 2000 lenguajes de programación, lo que demuestra que existe un gran interés en este tipo de herramientas de diseño de software, tanto de los desarrolladores como de sus clientes, sin embargo la mayoría de ellos son implementaciones de lenguajes más antiguos.

Más a pesar de este gran abanico de posibilidades, no existe ningún lenguaje de programación que se destaque por sobre el resto, ya que cada uno de los lenguajes de programación ofrecen ventajas y desventajas, y será cada desarrollador el que deba seleccionar el que mejor le sea conveniente para el tipo de desarrollo que llevará a cabo.

lenguaje-de-programacion- (7)

Aprender a programar

La programación de aplicaciones es una de las profesiones que más redituables son en esos días, y por ello no es de extrañar que cada vez más personas inclinen sus preferencias de estudio para este ámbito. Sin embargo, puede ser una tarea complicada de aprender, ya que el camino a recorrer es arduo y largo. Programar no es algo que podemos aprender en unos días o semanas. Aprender a escribir nuestras propias aplicaciones y además también hacerlo para clientes externos como un profesional nos puede llevar muchos años.

Sin embargo, esto no quiere decir que la programación sea una profesión solo para unos pocos, ya que con paciencia y dedicación podremos obtener resultado, que nos podrán poner en el camino correcto.

Pero para que ello funcione, debemos tener en cuenta algunas consideraciones, que tiene que ver en mayor medida con lo que necesitamos para aprender a programar. En este sentido, antes de nada debemos tener en claro qué queremos aprender a programar, es decir si queremos diseñar aplicaciones de gestión, programación web o videojuegos, ya que el primer paso en la cadena del aprendizaje es sin dudas el tipo de lenguaje de programación que necesitamos aprender.

lenguaje-de-programacion- (8)

Todos sabemos que en el campo de la programación, la oferta de software para crear aplicaciones es vasta, y sobre todo muy cambiante, debido sobre todo a que dichas aplicaciones y lenguajes la mayoría de las veces pueden indistintamente utilizarse para diferentes tipo de aplicaciones, y no hay nada peor para la persona que quiere programar es la proliferación de ofertas que lo conducen a un callejón sin salida a la hora de sentarse a aprender. Esto significa que el usuario que recién comienza a programar necesita centrarse en un solo aspecto, y evitar dispersarse en otros lenguajes y formas.

Como hemos notado, aprender a programar ya desde el principio es una tarea complicada, pero no imposible, y para ser de ayuda en este aspecto, a partir de este punto vamos a conocer algunas de las formas más interesantes para aprender a programar.

La primera opción que tenemos disponible para aprender es la autodidacta, es decir aprender a programar por nuestros propios medios. Esto es posible siempre que se cuente con una base sólida en matemáticas, determinación y una buena biblioteca o base de consulta.

lenguaje-de-programacion- (9)

Afortunadamente, en Internet podemos encontrar material para aprender a programar totalmente gratis, incluyendo cursos, tutoriales y libros en formato PDF, lo que nos será de mucha ayuda, sobre todo si no contamos con el presupuesto suficiente para comprar los libros necesarios. En este sentido, la literatura técnica que necesitamos conseguir debe abarcar desde los fundamentos del lenguaje. Para ello, la mejor forma de encontrar todos estos materiales son los foros o sitios webs dedicados a los lenguajes de programación. También podemos recurrir a la sabiduría de amigos, familiares y conocidos, ya que nunca debemos descartar un buen consejo.

El método autodidacta puede incluir entre otras herramientas de estudio la posibilidad de practicar sobre los lenguajes de programación, es decir comenzar a programar de la mano de los materiales de consulta directamente sobre el lenguaje de programación que queremos aprender.

Otra de las formas de aprender programación es inscribirnos en algún curso introductorio de forma presencial en la materia, y a partir de allí combinar los conocimientos adquiridos en dicho curso con estudios autodidactas. Esto no permitirá aprender a programar a nuestro propio ritmo y necesidades partiendo de una base sólida. La única condición para que esto funcione es que el curso que tomemos garantice buenos contenidos y que esté actualizado, en el caso contrario sólo estaremos perdiendo el tiempo.

lenguaje-de-programacion- (10)

Por último, no debemos descartar la posibilidad de obtener estudios formales en programación ya que esta es la opción que además de brindarnos más beneficios, es la que más puertas nos abrirá en un futuro. Claro que el camino es más tortuoso, pero los beneficios a la larga son mejores.

Si estás interesado en aprender a programar, debajo de estas líneas encontraremos información acerca de los diferentes tipos de lenguajes de programación que existen, como primer paso para emprender el camino hacia un buen aprendizaje.

Tipos de lenguajes de programación

Los lenguajes de programación son la base con la que se construyen todas las aplicaciones que utilizamos para nuestras tareas diarias, desde el sistema operativo de nuestra computadora hasta nuestro editor de texto favorito, pasando por las páginas web que visitamos todos los días.

Básicamente, los lenguajes de programación se dividen en dos tipos:

Lenguajes de Bajo Nivel

Son lenguajes totalmente orientados para la máquina, o sea son los que más se aproximan al “Código de Máquina”, o sea, a los 0 y 1, y es necesario conocerse sólidamente el hardware. Los programas resultantes de estos lenguajes son de muy pequeño tamaño y de extrema rapidez. Ejemplos de estos lenguajes de bajo nivel son Assembler y Lenguaje C.

lenguaje-de-programacion- (11)

Lenguajes de Alto Nivel

Son lenguajes más orientados para el problema que se desee resolver, de modo que el programador debe prestar poca o ninguna atención a las características de la computadora en las que se irá a ejecutar el programa. Los programas resultantes de estos lenguajes no son tan rápidos. Ejemplos de lenguajes de alto nivel son Delphi, Visual Basic, Pascal, el antiguo Clipper y Foxpro, entre otros.

Para que los programas funcionen, necesitan ser traducidos para el código de máquina, es decir que el código fuente del programa debe ser transformado a código objeto) y para eso necesita de un traductor o compilador.

Traductor

Debe estar en la memoria mientras se ejecuta el programa, el programa necesita ser traducido cada vez que es ejecutado. Cada instrucción va siendo traducida a medida que va siendo ejecutada, con eso el programa termina por ser más lento. Ejemplo de ello son Access, DBase y demás aplicaciones de este tipo.

lenguaje-de-programacion- (12)

Compilador

No necesita estar en la memoria mientras se ejecuta el programa, pues este es traducido enteramente una vez sólo, haciendo su ejecución muy rápida. Ejemplo de este tipo de apps son Delphi, Clipper, Pascal y C, entre otros.

¿Cuál es el lenguaje ideal para aprender a programar?

Hace algunos años, las personas que querían comenzar a aprender algún lenguaje de programación se veían limitadas por las pocas alternativas disponibles, además, la falta de literatura relacionada con el tema era complicada de encontrar y muy cara, y no siempre estaba actualizada.

Y si bien existían carreras de nivel universitario con esta temática, lo cierto es que no todos podían acceder a una educación de nivel superior debido a otros factores externos, que la mayoría de las veces nada tiene que ver con el intelecto.

lenguaje-de-programacion- (13)

Otra problemática que tenía que afrontar aquella persona que quería asomarse al mundo de la programación de software era el lenguaje, es decir que además de preocuparse por conseguir material con el cual aprender, debía a su vez aprender inglés para poder entenderlo. 

Afortunadamente, este escenario ha cambiado, y hasta es posible aprender a programar de forma completamente autodidacta, con decenas de lenguajes de programación de los cuales escoger disponibles para comenzar a bucear en ellos.

Esto es fundamentalmente gracias a Internet, que nos provee de todas las herramientas necesarias para aprender a programar: libros, manuales, tutoriales, software y todo lo necesario para que aprendamos a utilizar un lenguaje de programación sin prácticamente movernos de casa.

Sin embargo, esta cantidad de lenguajes listos para que los aprendamos también puede llegar a confundirnos, y ponernos en la duda acerca de cuál de ellos es el más adecuado para nosotros y nuestros requerimientos.

lenguaje-de-programacion- (14)

Para aquellos que recién comienzan, la elección del lenguaje de programación adecuado es una cuestión que no es muy sencilla de resolver. Sin embargo, en este punto existen tres factores básicos que nos pueden ayudar en esta decisión: La facilidad de uso y aprendizaje, la utilidad del mismo, es decir en que plataformas y escenarios nos puede servir el lenguaje que vamos a aprender y finalmente, quizás el más importante de los factores de decisión, el mercado laboral en el cual nos va a permitir movernos el lenguaje aprendido.

Si deseas resolver esta cuestión lo más limpiamente posible, te invitamos a seguir leyendo este artículo, en donde encontraremos suficiente información como para tomar una decisión basada en estos tres elementos.

Cómo decidir qué lenguaje de programación aprender

Facilidad de uso y aprendizaje

No cabe ninguna duda de que uno de los lenguajes de programación más fáciles de aprender y utilizar es PHP, convirtiéndose en el lenguaje perfecto para todos aquellos que quieren comenzar a programar. 

lenguaje-de-programacion- (15)

Esto es debido fundamentalmente a diversos factores técnicos como su característica de “No tipado”, lo que significa que no controla el tipo de variable que declara, de esta manera es posible utilizar variables de cualquier tipo en un mismo escenario, algo que beneficia directamente al usuario principiante.

Utilidad

En el caso de que deseemos aprender un lenguaje de programación que pueda usarse en muchos tipos de escenarios o proyectos diferentes, no cabe duda de que el lenguaje que debemos escoger es C/C++, el cual se utiliza para programar juegos, aplicaciones y hasta incluso sistemas operativos.

lenguaje-de-programacion- (16)

Sin embargo, C/C++ es mucho más complejo de aprender que PHP, pero el mercado laboral al que podemos acceder mediante este lenguaje es mucho mayor, y por lo tanto más redituable para nosotros.

Otro lenguaje que puede sernos útil para una inserción rápida en el mercado laboral es JavaEsto es debido a que es un lenguaje que puede ser utilizado para escribir software para un grupo muy amplio de aplicaciones, incluyendo smartphones, electrodomésticos y otros usos.

lenguaje-de-programacion- (17)

Mercado laboral

Si realmente queremos instalarnos en el mercado laboral actual, es sumamente importante tener en consideración aprender más de un lenguaje de programación, ya que esto nos abrirá la puerta a muchas oportunidades laborales.

Es por ello que lo mejor es entrar de lleno y convertirnos en expertos en el lenguaje de programación que mejor se adapte a nuestras necesidades y requerimientos, pero sin olvidarnos de obtener la mayor cantidad de conocimientos posibles en otras plataformas y estar al tanto de toda nueva tecnología y nuevo lenguaje de programación que aparezca.