Tabla de contenidos
Los lenguajes de programación son lenguajes formales con los que se pueden formular reglas de cálculo. Estas reglas pueden luego ser ejecutadas por una computadora.
Cómo funcionan los lenguajes formales
La totalidad de todas las instrucciones escritas en un lenguaje de programación específico se denomina código fuente. Se puede crear un código fuente con la ayuda de un editor de texto simple. Sin embargo, para proyectos más grandes, se suele utilizar un entorno de desarrollo (IDE) para ayudar al programador en su trabajo de desarrollo.
Para que una computadora pueda ejecutar las instrucciones contenidas en el texto fuente, el código debe estar traducido al lenguaje de máquina del tipo respectivo de computadora. El lenguaje de máquina es un código binario que es difícil de leer para los humanos. El texto fuente se puede traducir al lenguaje de la máquina en diferentes momentos.
Por un lado, la traducción puede tener lugar antes de que se ejecute el programa descrito en el código fuente. Para ello se utiliza un denominado compilador. Si el texto de origen no se traduce hasta que se ejecuta el programa, se utiliza un compilador JIT o un intérprete justo a tiempo .
En algunos lenguajes, por ejemplo en Java, se utiliza una combinación de estos dos métodos: antes de ejecutar el programa, el código se traduce a un código intermedio, que luego se convierte en código de máquina mientras se ejecuta el programa.
Los componentes de los lenguajes de programación
Cada lenguaje formal puede definirse con precisión utilizando varios datos. Esta información incluye la sintaxis, el vocabulario y el conjunto de caracteres.
- 1. La sintaxis de un lenguaje de programación es su «gramática». Describe tanto los elementos de lenguaje permitidos como cómo se utilizarán estos elementos de lenguaje.
- 2. El vocabulario se refiere a palabras clave reservadas, que por lo tanto no pueden utilizarse como nombres de variables o funciones.
- 3. El conjunto de caracteres de un lenguaje de programación generalmente consta de caracteres alfabéticos y numéricos, así como caracteres especiales.
La potencia de un lenguaje de programación está determinada por la potencia del conjunto de instrucciones. En general, los lenguajes formales tienen al menos los siguientes comandos:
- Comandos para la entrada y salida de datos con los que el programa puede recibir y enviar información
- Comandos para declarar variables y otros tipos de datos, como campos con los que se pueden guardar datos (temporalmente)
- Funciones para procesar cadenas de caracteres (por ejemplo, para concatenar cadenas de caracteres)
- funciones matemáticas básicas (por ejemplo, suma, multiplicación)
- Instrucciones de control como la ejecución condicional o la ejecución repetida de determinadas partes del programa.
También se pueden crear funciones más complejas a partir de la combinación de estas funciones básicas. Algunos lenguajes formales también ofrecen la opción de encapsular estas funciones superiores como una así llamada biblioteca y así hacerlas reutilizables.
Clases de lenguajes de programación: paradigmas de programación
Los primeros lenguajes de programación de alto nivel se desarrollaron en los Estados Unidos en la década de 1950. El lenguaje Fortran fue diseñado por el científico informático John Werner Backus en 1954. Fortran es ahora el lenguaje formal más antiguo que todavía se usa.
En 1959, el lógico John McCarthy desarrolló el lenguaje LISP. Ese mismo año se presentó COBOL, un lenguaje de programación para aplicaciones comerciales. Estos y los demás lenguajes que se desarrollaron en las décadas siguientes se pueden dividir en clases.
Estas clases se conocen como paradigmas de programación. Los paradigmas más conocidos incluyen la programación imperativa, funcional y orientada a objetos. Para todos los paradigmas es cierto que la estructura de un programa informático debe estar estructurada. Por tanto, el programa debe poder desglosarse en programas parciales.
La programación imperativa: el paradigma de programación más antiguo
En la programación imperativa, un programa de computadora consta de una secuencia de instrucciones que especifican exactamente cuándo debe hacer la computadora. Ciertas estructuras de control, como bucles o ramas, se utilizan para controlar la ejecución de comandos. La programación imperativa es el paradigma conocido más antiguo. Incluye lenguajes formales como FORTRAN, ALGOL, Pascal, Cobol, C y el lenguaje Go desarrollado por empleados de Google.
Programación funcional: programas informáticos como funciones
En la programación funcional, los programas informáticos constan exclusivamente de funciones que, como en las matemáticas, pueden vincularse a funciones de orden superior. El programa en sí también es una función.
El paradigma de la programación tiene su origen en la investigación académica en la década de 1930. En ese momento, varios científicos estaban trabajando en el llamado cálculo lambda. Es un lenguaje matemático formal con el que se pueden examinar funciones. El cálculo lambda se convirtió en la base teórica de la programación funcional. Los lenguajes funcionales más populares incluyen LISP, Haskell y Scheme.
Programación orientada a objetos: los objetos son el foco
Los lenguajes orientados a objetos como Python, Java, Javascript o C ++ entienden los programas informáticos como un sistema de objetos cooperantes. Un objeto se caracteriza por el hecho de que pertenece a una categoría superior (clase), tiene ciertas propiedades (atributos) y se le asignan varios métodos. También debe poder enviar y recibir mensajes hacia y desde otros objetos.
Un ejemplo popular de esto: hay una clase de “automóvil” que define el modelo básico del automóvil, por ejemplo, cuatro neumáticos, un volante y otras propiedades comunes a todos los automóviles. De acuerdo con este plan de construcción, se puede construir un automóvil especial (el objeto) que tenga sus propios atributos, como el color o la velocidad máxima.
La velocidad se puede variar utilizando los métodos «acelerar» o «frenar». El objeto coche también debe poder integrar objetos de otras clases; Las sillas de auto, por ejemplo, son básicamente las mismas, pero a su vez están definidas por el material y otras propiedades. La propiedad de la «posición sentada» se puede cambiar utilizando métodos como «empujar hacia adelante» o «bombear».
Si programas orientado a objetos, entonces, a diferencia de los otros paradigmas de programación, los datos y las instrucciones no se declaran por separado entre sí; más bien, los datos y los comandos se combinan en una unidad para poder reproducir mejor las estructuras organizativas del mundo real.