Visita Encydia-Wikilingue.cómo

Lenguaje de programación

lenguaje de programación - Wikilingue - Encydia

Código fuente de un programa escrito en lenguaje BASIC.

Un lenguaje de programación es un lenguaje informático usado para controlar el comportamiento de una máquina, normalmente un ordenador. Cada lenguaje tiene una serie de reglas sintácticas y semánticas estrictas que hay que seguir para escribir un programa informático, y que describen la estructura y el significado respectivamente. Estas reglas permiten especificar tanto la clase de datos con que trabajará el programa como las acciones que realizará. Mientras que algunos lenguajes se definen por una especificación formal (un documento), otros son definidos oficiosamente por una implementación concreta (un compilador).

Actualmente existen miles de lenguajes de programación, y se crean de nuevos continuamente.[1] Algunos de los más extensos son ASM, C, C++, C# y Java .

Mesa de contenidos

Clasificación alto nivel-bajo nivel

Los lenguajes se suelen clasificar principalmente en lenguajes de bajo nivel, que sueño muy cercanos al código binario utilizado internamente por un tipo de ordenador determinado, y lenguajes de alto nivel, que sueño más cercanos al lenguaje humano y más independientes del tipo de ordenador.

La diferencia entre lenguajes de bajo y alto nivel se hace evidente comparando dos programas que escriben "Hola" en pantalla, el primero usando lenguaje ensamblador por máquinas x86 (bajo nivel),

MODELO SMALL
IDEAL
STACK 100H
DATASEG
HW DB 'Hola!$'
CODESEG
MOV AX, @data
MOV DS, AX
MOV DX, OFFSET HW
MOV AH, 09H
INT 21H
MOV AX, 4C00H
INT 21H
END

y el segundo utilizando un lenguaje de alto nivel (Python),

 print "Hola!"

Los lenguajes de alto nivel se pueden clasificar también según el tipo de modelo de programación que utilizan (procedimentales, funcionales, orientados a objetos, etc.). También hay lenguajes de marcaje, que no son lenguajes de programación, sino que se utilizan para estructurar o dar forma a un texto. Hoy en día existen gran cantidad de lenguajes, más o menos especializados en diferentes tareas.

Sistema de tipatge

El sistema de tipo define como un lenguaje de programación clasifica los valores y expresiones en tipos, como los manipula, y como interacciona. Generalmente esto incluye la descripción de las estructuras de datos que el lenguaje puede construir. El diseño y estudio matemático de estos sistemas es conocido como la Teoría de tipo (type theory).

Se tiene que recordar pero que los computadores digitales modernos almacenan internamente todas las estructuras simplemente como unos y ceros (binario)

Lenguajes tipats verso lenguajes no tipats

Un lenguaje es tipat si la especificación de cada operación define a qué tipos de datos una operación es aplicable, con la implicación que no es aplicable a los otros tipos.[2] Por ejemplo, "este texto entre comillas" es un string. En la mayoría de lenguajes de programación, dividir un número por un string no tiene sentido. En consecuencia la mayoría de los lenguajes de programación modernos rechazarán cualquier intento de llevar a cabo una operación como esta. En algunos lenguajes, la operación sin sentido se detectará en tiempo de compilación (comprobación de tipo "estática") y será rechazada por el compilador. Mientras que en otros, la operación sin sentido se detectará en tiempo de ejecución (comprobación de tipo "dinámica"), resultando en una excepción en tiempo de ejecución (runtime exception).

Un caso especial de lenguajes tipats son los lenguajes mono-tipats. Normalmente son lenguajes de script o de marcaje , como Rexx o SGML, y sólo tienen un tipo de datos - mayoritariamente, cadenas de caracteres que son usados tan por datos simbólicos como numéricas.

En contraste, un lenguaje no tipat, como la mayoría de lenguajes ensambladores, permite cualquier operación sobre cualquier tipo de datos, consideradas como secuencias de bits de medidas varias. Lenguajes de alto nivel no tipats incluyen BCPL y algunas variedades de Forth .

A la práctica, mientras que pocos lenguajes se consideran tipats desde el punto de vista de la Teoría de tipo (verificar o rechazar todas las operaciones), la mayoría del lenguajes modernos ofrecen un cierto grado de tipatge. Muchos lenguajes de producción ofrecen alguna manera de subvertir o hacer un bypass al sistema de tipo.

Tipos estáticos versus dinámicos

En los sistemas de tipatge estáticos todas las expresiones tienen sus tipos determinados antes de que el programa se ejecute los (normalmente al momento de compilar). Por ejemplo, 1 y (2+2) son expresiones de enteros; no se pueden pasar a una función que espera una cadena, o almacenarse en una variable definida para contener fechas.

Los lenguas estáticamente tipats pueden ser o bien tipats de forma manifestada o bien tipats de forma inferida. En el primer caso, el programador tiene que escribir explícitamente los tipos en ciertas posiciones textuales (por ejemplo, en las declaraciones de variables). En el segundo caso, el compilador infiere los tipos de las expresiones y las declaraciones basándose en el contexto.

El tipatge dinámico, también llamado tipat latente, determina el tipo de las operaciones en tiempos de ejecución; en otras palabras, los tipos están asociados con valores de tiempos de ejecución más que no a expresiones textuales.

Clasificación de los principales lenguajes de programación

Código fuente de un programa en el lenguaje de programación orientado a objetos Ruby.
Ved clasificación de los lenguajes de programación

Referencias

  1. «HOPL: an interactive Roster of Programming Languages». Australia: Murdoch University. [Consulta: 01-06-2009]. «Este web lista 8512 lenguajes.»
  2. Andrew Cooke. «An Introduction tono Programming Languages».

Bibliografía

Ved también

Enlaces externos

Your Ad Here