Lenguaje de programación | tipo de lenguaje escrito que indica a los ordenadores lo que deben hacer
Un lenguaje de programación es un tipo de lenguaje escrito que indica a los ordenadores lo que deben hacer. Algunos ejemplos son: Python, Ruby, Java, JavaScript, C, C++ y C#. Los lenguajes de programación se utilizan para escribir todos los programas de ordenador y el software informático. Un lenguaje de programación es como un conjunto de instrucciones que el ordenador sigue para hacer algo.
Un programador escribe texto en el código fuente de un lenguaje de programación para hacer programas. Normalmente, el lenguaje de programación utiliza palabras reales para algunos de los comandos (por ejemplo, "si... entonces... si no...", "y", "o"), para que el lenguaje sea más fácil de entender para un humano. Como cualquier lenguaje normal, muchos lenguajes de programación utilizan signos de puntuación. Muchos programas se compilan después, lo que significa que el ordenador cambia, o traduce, el código fuente a otro lenguaje (como el lenguaje ensamblador o el lenguaje máquina) que un ordenador puede leer, pero que es mucho más difícil de leer para una persona.
Los programas informáticos deben escribirse con mucho cuidado. Si un programador comete errores, o un programa intenta hacer algo para lo que el programador no lo diseñó, entonces el programa puede dejar de funcionar, lo que se llama "crash". Cuando un programa tiene un problema debido a cómo se ha escrito el código, esto se llama "error". Un error muy pequeño puede causar un problema muy grande.
Tipos de lenguajes de programación
Hay muchos tipos de lenguajes de programación. La mayoría de los lenguajes de programación no siguen un solo tipo, por lo que es difícil asignar un tipo para cada lenguaje. Los ejemplos de cada tipo se dan en cada sección a continuación porque son los ejemplos más conocidos de ese tipo.
Alto nivel frente a bajo nivel
| Esta sección necesita más información. (Agosto 2018) |
Los lenguajes de programación de alto nivel requieren menos conocimientos sobre el hardware en comparación con los lenguajes de programación de bajo nivel. Esto se debe a que los lenguajes de programación de alto nivel abstraen el hardware en el que se ejecuta el programa. Muchos lenguajes de alto nivel requieren un intérprete para ejecutar el código fuente en el hardware en tiempo real. En cambio, los lenguajes de bajo nivel suelen convertir todo el código fuente en código máquina antes de ejecutarlo, porque el código fuente está tan cerca del hardware que es fácil hacerlo. El alto nivel requiere un compilador, pero el bajo - nivel no
Programación declarativa vs. imperativa
Los lenguajes de programación declarativos describen un "problema", pero no suelen decir cómo debe resolverse el problema. La descripción del problema utiliza la lógica, y "resolver" el problema suele ser como demostrar automáticamente un sistema de axiomas lógicos. Ejemplos de estos lenguajes de programación son Prolog, XSLT, LISP y SQL.
Los lenguajes de programación imperativos describen un sistema de cambios de estado. Al principio, el programa se encuentra en un estado determinado, y se le dan unos pasos que debe seguir el ordenador para realizar una acción. Seguir los pasos hace que el programa "cambie de estado".
En general, los lenguajes de programación declarativos son más seguros y cortos. Los lenguajes de programación imperativos son más comunes, porque son más fáciles de usar.
Funcional vs. Procedimental
La programación funcional considera la programación como una función en matemáticas. El programa recibe la entrada, junto con alguna información, y utiliza esta información para crear la salida. No tendrá un estado intermedio, y tampoco cambiará cosas que no estén relacionadas con el cálculo.
Los programas de procedimiento especifican o describen conjuntos de pasos o cambios de estado.
Basado en la pila
Los lenguajes basados en la pila consideran parte de la memoria del programa como una pila de cartas. Hay muy pocas cosas que se pueden hacer con una pila. Se puede poner un dato en la parte superior de la pila. Esta operación se llama generalmente "push". Se puede retirar un elemento de datos de la parte superior de la pila. Esta operación se denomina "pop". Se puede mirar el elemento de la parte superior de la pila sin quitarlo. Esto se denomina "peek".
Si un programa se escribe como "push 5; push 3; add; pop;" pondrá el 5 en la parte superior de la pila, pondrá el 3 encima del 5, sumará los dos valores superiores (3 + 5 = 8), sustituirá el 3 y el 5 por el 8, e imprimirá la parte superior (8). Ejemplos de lenguajes de programación que se basan en la pila son los lenguajes Postscript y Forth.
Orientado a objetos
Los lenguajes de programación orientados a objetos colocan los datos y las funciones que los modifican en una sola unidad. Esta unidad se llama "objeto". Los objetos pueden interactuar entre sí y modificar los datos de otro objeto. Esto suele llamarse encapsulación u ocultación de información. La mayoría de los lenguajes de programación modernos están orientados a objetos, o al menos permiten este estilo de programación. Ejemplos de ello son Java, Python, Ruby, C++, C# y otros lenguajes C.
Orientado al flujo
La programación orientada al flujo ve la programación como la conexión de diferentes componentes. Estos componentes se envían mensajes de ida y vuelta. Un mismo componente puede formar parte de diferentes "programas", sin necesidad de ser modificado internamente.
Computación científica
Algunos de los lenguajes anteriores pueden utilizarse para la computación científica. Por ejemplo, C++ y Python también se utilizan de este modo. Por otro lado, hay algunos lenguajes que tienen como objetivo principal la computación científica. Los siguientes son algunos ejemplos:
- MATLAB - fabricado por MathWorks
- GNU Octave, Scilab - versiones de código abierto de MATLAB
- R (lenguaje de programación) - ampliamente utilizado en el campo de la estadística
- Wolfram Mathematica - hecho por Wolfram Research
Creación de documentos
LaTeX y SATySFi son lenguajes de programación que ayudan a la creación de documentos.
Reglas
Todo lenguaje de programación tiene reglas sobre lo que puede y no puede hacer. Entre ellas se encuentran:
- Números correctos (tipos de números y cuán grandes o pequeños pueden ser los números)
- Palabras (palabras reservadas, distinción entre mayúsculas y minúsculas)
- Límites de lo que puede hacer el lenguaje de programación
La mayoría de los lenguajes tienen normas oficiales que definen las reglas de cómo escribir el código fuente. Algunos lenguajes de programación tienen dos o más estándares. Esto puede ocurrir cuando un nuevo estándar sustituye a uno antiguo. Por ejemplo, el estándar Perl 5 sustituyó al Perl 4 en 1993. Puede ocurrir porque dos personas hayan elaborado dos estándares al mismo tiempo. Por ejemplo, hay varios estándares para APL.
Programación orientada a objetos
La programación orientada a objetos (a veces abreviada como POO) es una forma de programación en la que todas las partes del programa son objetos. Los objetos son piezas de memoria con la misma estructura que pueden utilizarse una y otra vez. Una cuenta bancaria, un mapa de bits o un héroe de un videojuego pueden ser todos ellos objetos dentro de un programa. Los objetos están formados por propiedades (piezas de información que el objeto almacena) y métodos, que son cosas que el objeto puede hacer. Un objeto Perro podría tener propiedades como altura y color de pelo. Sus métodos podrían incluir ladrar() y mover la cola().
Todos los objetos se crean a partir de plantillas llamadas clases. Puede pensar en una clase como un molde del que se hacen los objetos. La clase define todas las propiedades y métodos que tendrán sus objetos. Los objetos creados a partir de una clase se llaman instancias de la misma. Una clase puede extender otra clase, lo que significa que toma todas las propiedades y métodos de la clase pero puede añadir los suyos propios.
He aquí un ejemplo de cómo podría ser una clase en un lenguaje de programación:
class Dog extends Mammal{ //Estas son las propiedades: String breed = "Collie" String type = "Herding Dog" //Estos son métodos void wagTail(){ /Hacer algunos meneos } void bark(){ /Hacer los ladridos aquí } }
Observe que la clase Perro extiende la clase Mamífero, por lo que todos los perros tendrán las propiedades de un mamífero, como la longitud del pelo, y métodos, como comer() o dormir().
La programación orientada a objetos se utiliza en muchos de los lenguajes de programación más populares de la actualidad, como Java, C#, Objective-C, C++, Python, Ruby, Javascript y ActionScript.
Ejemplos
Ejemplo de Visual Basic
He aquí un sencillo programa escrito en Visual Basic (un lenguaje hecho por Microsoft):
Dim Input Input = InputBox("¿Cuántos años tienes? - Código") If Not IsNumeric(Input) Then MsgBox & Input & "¡Eso no es un número!" ElseIf Input < 0 Then MsgBox "¡No puede tener menos de cero años!" ElseIf Input > 100 Then MsgBox "¡Eso es viejo!" Else MsgBox "Tienes " & Input & " años." End If
Este programa pregunta al usuario su edad y responde en función de lo que éste haya tecleado. Si el usuario tecleó algo que no es un número, el programa lo dice. Si el usuario tecleó un número menor que cero, el programa lo dice. Si el usuario dice que tiene más de 100 años, el programa dice "¡Eso es viejo!". Si el usuario tecleó una edad correcta, el programa le dice al usuario cuántos años tiene.
Ejemplo de Python
Aquí hay un programa que hace lo mismo que el programa anterior, pero en Python:
try: age = int(raw_input("¿Cuántos años tienes?")) except ValueError: print ("¡Eso no es un número!") else: if age < 0: print ("¡No puedes tener menos de cero años!") elif age > 100: print ("¡Eso es viejo!") else: print("Tienes %s años." % age)
Ejemplo de C#
Lo mismo que el programa anterior, pero en C#:
using System; public class Hola { public static void Principal() { Console. WriteLine("¿Cuál es tu edad?"); int edad; if (! int. TryParse(Console. ReadLine(), out edad)) Console. WriteLine("¡Eso no es un número!"); else if (age < 0) Console. WriteLine("¡No puede tener menos de cero años!"); else if (age > 100) Console. WriteLine("¡Eso es viejo!"); else Console. WriteLine("Tienes {0} años.", edad); } }
Ejemplo de Haskell
Otra vez lo mismo, pero en Haskell:
import Text.Read main = do putStrLn "¿Cuál es su edad?" input <- fmap readMaybe getLine putStrLn $ case input of Just age | age < 0 -> "¡No puede tener menos de cero años!" | edad > 100 -> "¡Eso es viejo!" | de lo contrario -> "Tienes " ++ mostrar edad ++ " años". Nada -> "¡Eso no es un número!"
Páginas relacionadas
- Algoritmo
- Lista de lenguajes de programación
- Programador
- Compilador
- Programación informática
- Paradigma de programación
- Pseudocódigo
Preguntas y respuestas
P: ¿Qué es un lenguaje de programación?
R: Un lenguaje de programación es un tipo de lenguaje escrito que indica a los ordenadores lo que deben hacer. Es como un conjunto de instrucciones que el ordenador sigue para hacer algo, y suele utilizar palabras reales para algunos de los comandos para que sea más fácil de entender para los humanos.
P: ¿Cuáles son los ejemplos de lenguajes de programación?
R: Algunos ejemplos de lenguajes de programación son Python, Ruby, Java, JavaScript, C, C++ y C#.
P: ¿Cómo se escriben los programas en un lenguaje de programación?
R: Los programas se escriben escribiendo texto en el código fuente de un lenguaje de programación. Normalmente también se utilizan signos de puntuación.
P: ¿Qué ocurre después de escribir los programas en un lenguaje de programación?
R: Después de que los programas se escriben en un lenguaje de programación deben ser compilados, lo que significa que el ordenador cambia o traduce el código fuente a otro lenguaje (como el ensamblador o el máquina) que puede ser leído por los ordenadores pero que es mucho más difícil de leer para las personas.
P: ¿Qué puede ocurrir si se cometen errores al escribir los programas?
R: Si se cometen errores al escribir los programas o si el programa intenta hacer algo para lo que no ha sido diseñado, entonces puede dejar de funcionar, lo que se denomina "crash". Cuando esto ocurre por la forma en que se escribió el código se llama "error". Incluso los pequeños errores pueden causar grandes problemas.
P: ¿Por qué los programas de ordenador deben estar cuidadosamente escritos?
R: Los programas informáticos deben estar cuidadosamente escritos porque incluso los pequeños errores pueden causar grandes problemas y provocar bloqueos o bugs.