Lenguaje de programación: concepto y clasificación
Lenguaje de programación, en informática, cualquier lenguaje artificial que puede utilizarse para definir una secuencia de instrucciones para su procesamiento por un ordenador o computadora. Es complicado definir qué es y qué no es un lenguaje de programación. Se asume generalmente que la traducción de las instrucciones a un código que comprende la computadora debe ser completamente sistemática. Normalmente es la computadora la que realiza la traducción.
Indice de Contenido
Lenguajes de bajo nivel
Vistos a muy bajo nivel, los microprocesadores procesan exclusivamente señales electrónicas binarias. Dar una instrucción a un microprocesador supone en realidad enviar series de unos y ceros espaciadas en el tiempo de una forma determinada. Esta secuencia de señales se denomina código máquina. El código representa normalmente datos y números e instrucciones para manipularlos. Un modo más fácil de comprender el código máquina es dando a cada instrucción un mnemónico, como por ejemplo STORE, ADD o JUMP. Esta abstracción da como resultado el ensamblador, un lenguaje de muy bajo nivel que es específico de cada microprocesador.
Los lenguajes de bajo nivel permiten crear programas muy rápidos, pero que son a menudo difíciles de aprender. Más importante es el hecho de que los programas escritos en un bajo nivel son prácticamente específicos para cada procesador. Si se quiere ejecutar el programa en otra máquina con otra tecnología, será necesario reescribir el programa desde el principio.
Lenguajes de alto nivel
Por lo general se piensa que los ordenadores son máquinas que realizan tareas de cálculos o procesamiento de textos. La descripción anterior es sólo una forma muy esquemática de ver una computadora. Hay un alto nivel de abstracción entre lo que se pide a la computadora y lo que realmente comprende. Existe también una relación compleja entre los lenguajes de alto nivel y el código máquina.
Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés. En BASIC, el lenguaje de alto nivel más conocido, los comandos como 'IF CONTADOR = 10 THEN STOP' pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a 10. Por desgracia para muchas personas esta forma de trabajar es un poco frustrante, dado que a pesar de que las computadoras parecen comprender un lenguaje natural, lo hacen en realidad de una forma rígida y sistemática
Intérpretes y compiladores
La traducción de una serie de instrucciones en lenguaje ensamblador (el código fuente) a un código máquina (o código objeto) no es un proceso muy complicado y se realiza normalmente por un programa especial llamado compilador. La traducción de un código fuente de alto nivel a un código máquina también se realiza con un compilador, en este caso más complejo, o mediante un intérprete. Un compilador crea una lista de instrucciones de código máquina, el código objeto, basándose en un código fuente.
El código objeto resultante es un programa rápido y listo para funcionar, pero que puede hacer que falle el ordenador si no está bien diseñado. Los intérpretes, por otro lado, son más lentos que los compiladores ya que no producen un código objeto, sino que recorren el código fuente una línea cada vez. Cada línea se traduce a código máquina y se ejecuta. Cuando la línea se lee por segunda vez, como en el caso de los programas en que se reutilizan partes del código, debe compilarse de nuevo. Aunque este proceso es más lento, es menos susceptible de provocar fallos en la computadora.
Lista de lenguajes de programación
-
Python:
- Concepto: Python es un lenguaje de programación de alto nivel conocido por su sintaxis clara y legible. Es ampliamente utilizado en desarrollo web, análisis de datos, inteligencia artificial, aprendizaje automático y automatización de tareas.
- Uso: Desarrollo web (Django, Flask), ciencia de datos (pandas, numpy), inteligencia artificial (TensorFlow, PyTorch), automatización de tareas.
-
JavaScript:
- Concepto: JavaScript es un lenguaje de programación de alto nivel que se utiliza principalmente en el desarrollo web para agregar interactividad a las páginas web. Es un componente esencial en el desarrollo front-end y también se utiliza en el back-end (Node.js).
- Uso: Desarrollo web (front-end y back-end), desarrollo de aplicaciones móviles, desarrollo de juegos.
-
Java:
- Concepto: Java es un lenguaje de programación orientado a objetos que se caracteriza por su portabilidad y robustez. Es ampliamente utilizado en el desarrollo de aplicaciones empresariales, móviles (Android) y en el desarrollo de software embebido.
- Uso: Desarrollo de aplicaciones empresariales, desarrollo de aplicaciones móviles (Android), desarrollo de software embebido.
-
C++:
- Concepto: C++ es un lenguaje de programación de propósito general que combina la programación orientada a objetos con la programación de bajo nivel. Es conocido por su eficiencia y se utiliza en sistemas embebidos, desarrollo de juegos, software de sistemas y aplicaciones de alto rendimiento.
- Uso: Desarrollo de juegos, desarrollo de software de sistemas, sistemas embebidos, software de alto rendimiento.
-
C#:
- Concepto: C# es un lenguaje de programación desarrollado por Microsoft como parte de su plataforma .NET. Se utiliza principalmente en el desarrollo de aplicaciones de escritorio, aplicaciones web y juegos para la plataforma Windows.
- Uso: Desarrollo de aplicaciones de escritorio, desarrollo de aplicaciones web (ASP.NET), desarrollo de juegos (con Unity).
-
Swift:
- Concepto: Swift es un lenguaje de programación desarrollado por Apple para el desarrollo de aplicaciones iOS, macOS, watchOS y tvOS. Es conocido por su seguridad, velocidad y facilidad de uso.
- Uso: Desarrollo de aplicaciones para dispositivos Apple (iOS, macOS, watchOS, tvOS).
-
Ruby:
- Concepto: Ruby es un lenguaje de programación interpretado, dinámico y orientado a objetos. Es conocido por su sintaxis simple y elegante, y por el framework Ruby on Rails, utilizado en el desarrollo web.
- Uso: Desarrollo web (Ruby on Rails), desarrollo de scripts, automatización de tareas.
-
PHP:
- Concepto: PHP es un lenguaje de programación diseñado específicamente para el desarrollo web. Es ampliamente utilizado en la creación de sitios web dinámicos y aplicaciones web.
- Uso: Desarrollo web (backend), creación de sitios web dinámicos, desarrollo de aplicaciones web.