Вы находитесь на странице: 1из 45

Lenguaje de computación

Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que


pueden ser llevados a cabo por máquinas como las computadoras.
Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una
máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.1
Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su
estructura y el significado de sus elementos y expresiones. Al proceso por el cual se
escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene el código
fuente de un programa informático se le llama programación.
También la palabra programación se define como el proceso de creación de
un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de
los siguientes pasos:

 El desarrollo lógico del programa para resolver un problema en particular.


 Escritura de la lógica del programa empleando un lenguaje de programación específico
(codificación del programa).
 Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
 Prueba y depuración del programa.
 Desarrollo de la documentación.
Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y
'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de programación y
a otros más, como por ejemplo HTML (lenguaje para el marcado de páginas web que no es
propiamente un lenguaje de programación, sino un conjunto de instrucciones que permiten
estructurar el contenido de los documentos).
Permite especificar de manera precisa sobre qué datos debe operar una computadora, cómo
deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de
circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al
lenguaje humano o natural. Una característica relevante de los lenguajes de programación es
precisamente que más de un programador pueda usar un conjunto común de instrucciones
que sean comprendidas entre ellos para realizar la construcción de un programa de forma
colaborativa.

Índice
[ocultar]

 1Historia
 2Elementos
o 2.1Variables y vectores
o 2.2Condicionales
o 2.3Bucles
o 2.4Funciones
o 2.5Sintaxis
o 2.6Semántica estática
o 2.7Sistema de tipos
 2.7.1Lenguajes tipados versus lenguajes no tipados
 2.7.2Tipos estáticos versus tipos dinámicos
 2.7.3Tipos débiles y tipos fuertes
 3Implementación
 4Técnica
o 4.1Paradigmas
 5Véase también
 6Referencias
 7Enlaces externos

Historia[editar]
Artículo principal: Historia de los lenguajes de programación

Código Fortran en una tarjeta perforada, mostrando el uso especializado de las columnas 1-5, 6 y 73-80.

Para que la computadora entienda nuestras instrucciones debe usarse un lenguaje específico
conocido como código máquina, el cual la máquina comprende fácilmente, pero que lo hace
excesivamente complicado para las personas. De hecho sólo consiste en cadenas extensas
de números 0 y 1.
Para facilitar el trabajo, los primeros operadores de computadoras decidieron hacer un
traductor para reemplazar los 0 y 1 por palabras o abstracción de palabras y letras
provenientes del inglés; éste se conoce como lenguaje ensamblador. Por ejemplo, para sumar
se usa la letra A de la palabra inglesa add (sumar). El lenguaje ensamblador sigue la misma
estructura del lenguaje máquina, pero las letras y palabras son más fáciles de recordar y
entender que los números.
La necesidad de recordar secuencias de programación para las acciones usuales llevó a
denominarlas con nombres fáciles de memorizar y
asociar: ADD (sumar), SUB (restar), MUL (multiplicar), CALL (ejecutar subrutina), etc. A esta
secuencia de posiciones se le denominó "instrucciones", y a este conjunto de instrucciones se
le llamó lenguaje ensamblador. Posteriormente aparecieron diferentes lenguajes de
programación, los cuales reciben su denominación porque tienen una
estructura sintáctica semejante a la de los lenguajes escritos por los humanos, denominados
también lenguajes de alto nivel.
El primer programador de computadora que se haya conocido fue una mujer: Ada Lovelace,
hija de Anabella Milbanke Byrony Lord Byron. Anabella inició en las matemáticas a Ada quien,
después de conocer a Charles Babbage, tradujo y amplió una descripción de su máquina
analítica. Incluso aunque Babbage nunca completó la construcción de cualquiera de sus
máquinas, el trabajo que Ada realizó con éstas le hizo ganarse el título de primera
programadora de computadoras del mundo. El nombre del lenguaje de programación Ada fue
escogido como homenaje a esta programadora.
A finales de 1953, John Backus sometió una propuesta a sus superiores en IBM para
desarrollar una alternativa más práctica al lenguaje ensamblador para programar
la computadora central IBM 704. El histórico equipo Fortran de Backus consistió en los
programadores Richard Goldberg, Sheldon F. Best, Harlan Herrick, Peter Sheridan, Roy
Nutt, Robert Nelson, Irving Ziller, Lois Haibt y David Sayre.2
El primer manual para el lenguaje Fortran apareció en octubre de 1956, con el
primer compilador Fortran entregado en abrilde 1957. Esto era un compilador optimizado,
porque los clientes eran reacios a usar un lenguaje de alto nivel a menos que su compilador
pudiera generar código cuyo desempeño fuera comparable al de un código hecho a mano en
lenguaje ensamblador.
En 1960, se creó COBOL, uno de los lenguajes usados aún en la actualidad, en informática de
gestión.
A medida que la complejidad de las tareas que realizaban las computadoras aumentaba, se
hizo necesario disponer de un método más eficiente para programarlas. Entonces, se crearon
los lenguajes de alto nivel, como lo fue BASIC en las versiones introducidas en los
microordenadores de la década de 1980. Mientras que una tarea tan sencilla como sumar dos
números puede necesitar varias instrucciones en lenguaje ensamblador, en un lenguaje de
alto nivel bastará una sola sentencia.

Elementos[editar]
Variables y vectores[editar]

Imagen tomada de Pauscal, lenguaje de programación en español creado en Argentina.

Las variables son títulos asignados a espacios en memoria para almacenar datos específicos.
Son contenedores de datos y por ello se diferencian según el tipo de dato que son capaces de
almacenar. En la mayoría de lenguajes de programación se requiere especificar un tipo de
variable concreto para guardar un dato específico. Por ejemplo, en Java, si deseamos guardar
una cadena de texto debemos especificar que la variable es del tipo String. Por otra parte, en
lenguajes como PHP este tipo de especificación de variables no es necesario. Además,
existen variables compuestas llamadas vectores. Un vector no es más que un conjunto de
bytes consecutivas en memoria y del mismo tipo guardadas dentro de una variable
contenedor. A continuación, un listado con los tipos de variables y vectores más comunes:

Tipo de
Breve descripción
dato

Estas variables contienen un único carácter, es decir, una letra, un signo o un


Char
número.
Int Contienen un número entero.

Float Contienen un número decimal.

Contienen cadenas de texto, o lo que es lo mismo, es un vector con varias


String
variables del tipo Char.

Boolean Solo pueden contener un cero o un uno.

En el caso de variables booleanas, el cero es considerado para muchos lenguajes como el


literal falso ("False"), mientras que el uno se considera verdadero ("True").

Condicionales[editar]
Las sentencias condicionales son estructuras de código que indican que, para que cierta parte
del programa se ejecute, deben cumplirse ciertas premisas; por ejemplo: que dos valores sean
iguales, que un valor exista, que un valor sea mayor que otro... Estos condicionantes por lo
general solo se ejecutan una vez a lo largo del programa. Los condicionantes más conocidos y
empleados en programación son:

 If: Indica una condición para que se ejecute una parte del programa.
 Else if: Siempre va precedido de un "If" e indica una condición para que se ejecute una
parte del programa siempre que no cumpla la condición del if previo y si se cumpla con la
que el "else if" especifique.
 Else: Siempre precedido de "If" y en ocasiones de "Else If". Indica que debe ejecutarse
cuando no se cumplan las condiciones previas.
Bucles[editar]
Los bucles son parientes cercanos de los condicionantes, pero ejecutan constantemente un
código mientras se cumpla una determinada condición. Los más frecuentes son:

 For: Ejecuta un código mientras una variable se encuentre entre 2 determinados


parámetros.
 While: Ejecuta un código mientras que se cumpla la condición que solicita.
Hay que decir que a pesar de que existan distintos tipos de bucles, todos son capaces de
realizar exactamente las mismas funciones. El empleo de uno u otro depende, por lo general,
del gusto del programador.

Funciones[editar]
Las funciones se crearon para evitar tener que repetir constantemente fragmentos de código.
Una función podría considerarse como una variable que encierra código dentro de si. Por lo
tanto cuando accedemos a dicha variable (la función) en realidad lo que estamos haciendo es
ordenar al programa que ejecute un determinado código predefinido anteriormente.
Todos los lenguajes de programación tienen algunos elementos de formación primitivos para
la descripción de los datos y de los procesos o transformaciones aplicadas a estos datos (tal
como la suma de dos números o la selección de un elemento que forma parte de una
colección). Estos elementos primitivos son definidos por reglas sintácticas y semánticas que
describen su estructura y significado respectivamente.

Sintaxis[editar]

Con frecuencia se resaltan los elementos de la sintaxis con colores diferentes para facilitar su lectura.
Este ejemplo está escrito en Python.

A la forma visible de un lenguaje de programación se le conoce como sintaxis. La mayoría de


los lenguajes de programación son puramente textuales, es decir, utilizan secuencias de texto
que incluyen palabras, números y puntuación, de manera similar a los lenguajes naturales
escritos. Por otra parte, hay algunos lenguajes de programación que son más gráficos en su
naturaleza, utilizando relaciones visuales entre símbolos para especificar un programa.
La sintaxis de un lenguaje de programación describe las combinaciones posibles de los
símbolos que forman un programa sintácticamente correcto. El significado que se le da a una
combinación de símbolos es manejado por su semántica (ya sea formal o como parte
del código durode la referencia de implementación). Dado que la mayoría de los lenguajes son
textuales, este artículo trata de la sintaxis textual.
La sintaxis de los lenguajes de programación es definida generalmente utilizando una
combinación de expresiones regulares (para la estructura léxica) y la Notación de Backus-
Naur (para la estructura gramática). Este es un ejemplo de una gramática simple, tomada
de Lisp:

expresión ::= átomo | lista


átomo ::= número | símbolo
número ::= [+-]? ['0'-'9']+
símbolo ::= ['A'-'Z'] ['a'-'z'].*
lista ::= '(' expresión* ')'

Con esta gramática se especifica lo siguiente:

 una expresión puede ser un átomo o una lista;


 un átomo puede ser un número o un símbolo;
Lenguaje de bajo Nivel
Los lenguajes de programación son fundamentales en el organigrama actual de la
tecnología, la cual sabemos que está en todas partes y que se ocupa de que puedan
funcionar todo tipo de máquinas. Entre los principales sistemas utilizados el lenguaje de
bajo nivel es uno de los que tiene una mayor relevancia, utilizándose en multitud de
contextos. Como veremos a continuación, uno de sus rasgos principales se encuentra
relacionado con la forma en la cual actúa de una manera directa en comunicación con el
hardware. Es un lenguaje muy utilizado para sistemas operativos, control de todo tipo de
máquinas o aplicaciones que usan sistemas en tiempo real.

Descarga nuestra guía gratuita: Formación en tecnología: Conoce las disciplinas que
seguirán demandando profesionales tras la cuarta revolución industrial
¿Qué es el lenguaje de bajo nivel?
Como decimos, la ciencia informática se basa en diferentes lenguajes de programación
para que todas las funciones se lleven a cabo de forma adecuada. Son muchos los tipos
de lenguaje con los que podemos trabajar, pero nosotros vamos a centrarnos en el de
bajo nivel. Aunque la palabra “bajo” pueda sonarte a algo de menor calidad, en esta
ocasión bajo no va a tener nada que ver con un aspecto negativo. Cuando hablamos de
lenguaje de este tipo nos vamos a referir a aquel cuyas pautas de actuación están muy
ligadas a las instrucciones del hardware y además suele depender de los ordenadores
que utilizan dicho lenguaje. Principalmente el aspecto que más va a incidir de la
computadora es el físico.

El lenguaje de bajo nivel apenas se separa del hardware al que acompaña, pero no por
ello va a ser menos potente, simplemente lo utilizaremos para otro tipo de tareas. En
cualquier caso hay que tener en cuenta que este lenguaje funciona en mayor medida
gracias a un proceso de instrucciones muy elaborado, por lo que es un tipo de lenguaje
que revisa hasta el más mínimo detalle.
Tipos de lenguaje de bajo nivel
Al hablar de lenguaje de bajo nivel no nos referimos a uno en concreto, de hecho este
término engloba a tres tipos diferentes de lenguaje de bajo nivel, aunque todos ellos
comparten características similares. El primero que nos encontramos es el famoso Código
Binario. Seguro que has oído hablar en más de una ocasión de él y es que es el lenguaje
más básico que forma parte de todos los sistemas informáticos. Es muy habitual por ser
bastante sencillo de utilizar. Tan solo se usan dos números para formar el código, el 1 que
representa al “todo” y el 0 que por el contrario es el “nada”.
En un segundo escalón se encuentra el lenguaje máquina. También bastante utilizado
puesto que, como su propio nombre indica, este va a ser el código por el que se va a
comunicar instrucciones a la máquina. Es indispensable el uso de este lenguaje, ya que
con él se envían de forma literal todas las tareas que hay que llevar a cabo. Por último
tenemos el lenguaje ensamblador, algo más complicado porque los códigos que utiliza no
los descifra directamente el ordenador, por lo que habrá que pasarlo a lenguaje de
máquina para que la computadora entienda la orden que estamos queriendo transmitirle.
Es un tipo de lenguaje muy ligado al hardware y además necesita herramientas
especiales para convertirlo a otro lenguaje.
Características a valorar
El lenguaje de bajo nivel suele presentar bastantes ventajas, puesto que utiliza un código
sencillo con instrucciones directas, de fácil conversión y es muy adaptable, además de
que trabaja a gran velocidad. En contraposición a estas características positivas podemos
encontrarnos algunas pequeñas desventajas, como es el caso de que este lenguaje está
demasiado ligado al hardware, lo que hace que sea complicado estructurar algunos
programas. De igual modo, también se necesita una especial atención en el momento de
usarlo para no cometer errores que puedan aumentar de forma sensible el trabajo y la
revisión que se haga del código.

A día de hoy, con lo bueno y con lo malo, el lenguaje de bajo nivel se ha establecido como
uno de los referentes para los profesionales de la industria tecnológica. Tiene una
importancia extrema y es conveniente dominarlo en todas sus vertientes para poder
desenvolvernos con eficacia bajo todo tipo de situaciones. Con él muchos grandes
proyectos tecnológicos se llevan a cabo con muy buenos resultados y aporta importantes
características que no tiene el lenguaje de alto nivel.
Lenguaje de alto nivel

Lenguaje de programación de alto nivel es un tipo de lenguaje de programación que permite al


programador escribir programas (algoritmos) que son más o menos independientes de un tipo
particular de computadora (del hardware). Estos lenguajes son considerados de alto nivel porque
son más parecidos al lenguaje natural humano y más lejanos al lenguaje de las máquinas. En otras
palabras, utilizan una fuerte abstracción de los detalles de la computadora.

En contraste, los lenguajes ensamblador (lenguajes de bajo nivel) son considerados lenguajes de
bajo nivel porque están muy cerca al lenguaje que manejan las máquinas.

La principal ventaja de los lenguajes de alto nivel sobre los de bajo nivel es que son más fáciles de
leer, escribir y mantener por humanos. Al final, los programas escritos en alto nivel deben ser
traducidos en un lenguaje máquina específico empleando un compilador o un intérprete. De esta
manera pueden ser ejecutados por una máquina específica.

El primer lenguaje de programación de alto nivel diseñado para computadoras fue Plankalkül
(1948), creado por Konrad Zuse (1910-1995). De todas maneras no fue implementado en su
momento.

En tanto el primer lenguaje de programación de alto nivel ampliamente distribuido fue Fortran, un
desarrollo de IBM que apareció por primera vez en 1957. En tanto el lenguaje Algol, definido en
1958 y 1960, introdujo nuevos conceptos como recursión, funciones anidadas, muchos conceptos
de programación estructurada, etc. En esa época Cobol también introdujo registros y Lisp
introdujo abstracción lambda.

En inglés: high-level programming language.

Ventajas y desventajas de los lenguajes de programación de alto nivel


Ventajas
- Resultan en un código fuente más fácil de leer, escribir y mantener por los humanos. En general,
permite emplear menos líneas de código en comparación con lenguaje máquina.

- Permiten escribir un código válido ejecutable en distintos tipos de máquinas y sistemas


operativos.
- Emplean paradigmas de programación.

Desventajas
- Son más lentos de ejecutar, siendo el código máquina más eficiente. De todas maneras esto
depende del diseño del compilador para lenguajes de alto nivel: un buen diseño produce más
eficiencia.

- En algunos casos el programa resultante requiere una determinada plataforma para ejecutarse.

Modos de ejecución de los lenguajes de programación de alto nivel


Existen tres modos de ejecución de estos lenguajes:

- Interpretado: cuando un código en un lenguaje es interpretado, su sintaxis es leída y luego


ejecutada directamente, sin fase de compilación. Un programa llamado intérprete lee cada
instrucción del programa, siguiendo el flujo de programa, y decide qué hacer y lo hace. Los
intérpretes son la forma más simple de implementación del comportamiento de un lenguaje,
comparado con las otras dos variantes listadas aquí.

- Compilado: cuando un código en un lenguaje es compilado, su sintaxis es primero transformada a


una forma ejecutable antes de correrlo. Existen dos tipos de compilación: generación de código
máquina (compilador que pasa del código fuente directamente al código máquina) y
representación intermedia (se compila una representación que puede ser optimizada o guardada
para ejecutar luego sin la necesidad de releer el código fuente. Cuando esta representación se
guardada puede ser en forma de bytecode).

- Traducción fuente a fuente (Source-to-Source Translated o Trans-compiling): el código escrito en


un lenguaje puede ser traducido a términos de un lenguajes de programación para los cuales los
compiladores de código nativo ya están ampliamente disponibles. Los lenguajes JavaScript y C son
usuales para estas traducciones. Por ejemplo, CoffeeScript, Chicken Scheme y Eiffel.

Ejemplos de lenguajes de programación de alto nivel


Los primeros lenguajes de programación de alto nivel fueron diseñados en los 50. Actualmente
existen cientos de lenguajes de este tipo como:

- Ada - C++ (algunos lo consideran de nivel medio)


- Algol - Delphi
- BASIC - FORTRAN
- COBOL - Java
- C (algunos lo consideran de nivel medio) - LISP
- Modula-2 - Prolog
- Pascal - Python
- Perl - Visual Basic .NET
- php

Los Lenguajes de alto nivel son normalmente fáciles de aprender


porque están formados por elementos de lenguajes naturales, suelen
utilizar términos del idioma inglés por ejemplo LIST, PRINT u OPEN, como
comandos que representan una secuencia de decenas o centenas de
instrucciones en lenguaje maquina. Los comandos se introducen desde el
teclado, desde un programa residente en la memoria o desde un dispositivo
de almacenamiento, y son interceptados por un programa que los traduce a
instrucciones en lenguaje maquina.
Por lo general se piensa que las computadoras son máquinas que realizan
tareas de cálculos o procesamientos de textos. Hay un alto nivel de
abstracción entre lo que se pide a la computadora y lo que realmente
comprende. Existe también una relacion compleja entre los lenguajes de
alto nivel y el código máquina.
En los lenguajes de alto nivel las instrucciones se escriben en el orden y
forma similar al lenguae natural, los comandos como "IF cantidad = 20
THEN STOP" pueden utilizarse para pedir a la computadora que pare si el
valor de CANTIDAD es igual a 20. A esto se le conoce como códogo
fuente1. Por desgracia para muchas personas esta forma de trabajas 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 (conocida como sintacis de programacion).

Caracteristicas Principales:
1. Son independientes de la arquitectura física de la computadora
2. Permiten usar los mismos programas en computadoras de diferentes
arquitecturas (portabilidad), y no es necesario conocer el
hardware específico de la máquina.
3. La ejecución de un programa en lenguaje de alto nivel, requiere de una
traducción del mismo al lenguaje de la computadora
donde va a ser ejecutado.
4. Una sentencia en un lenguaje de alto nivel da lugar, al ser traducida, a
varias instrucciones en lenguaje entendible por el
computador.
5. Utilizan notaciones cercanas a las usadas por las personas en un
determinado ámbito.
6. Se suelen incluir instruccionespotente potentes de uso frecuente que son
ofrecidas por el lenguaje de programación
PRINCIPALES LENGUAJES DE ALTO NIVEL:
Existen una gran cantidad de Lenguajes de programacion de alto nivel, pero
entr los mas utilizados y com mayor distribucion a nivel mundial estan los
siguientes:

FORTRAN

Abreviatura de Fórmula Translator (traductor de fórmulas), fue definido alrededor del año
1955 en los Estados Unidos por la compañía IBM. Es el más antiguo de los lenguajes de
alto nivel, pues antes de su aparición todos los programas se escribían en lenguaje
ensamblador o en lenguaje máquina.Es un lenguaje especializado en aplicaciones
técnicas y científicas, caracterizándose por su potencia en los cálculos matemáticos, pero
estando limitado en las aplicaciones de gestión, manejo de archivos, tratamiento de
cadenas de caracteres y edición de informes.A lo largo de su existencia han aparecido
diferentes versiones, entre las que destaca la realizada en 1966 por ANSI (American
National Standard Institute) en la que se definieron nuevas reglas del lenguaje y se
efectuó la independencia del mismo con respecto a la
máquina, es decir, comenzó la transportabilidad del
lenguaje. Esta versión se denominó FORTRAN IV o
FORTRAN 66. En 1977, apareció una nueva versión
más evolucionada que se llamó FORTRAN V o
FORTRAN 77, esta versión está reflejada en el
documento «ANSI X3.9-1978: Programming Language
FORTRAN» y define dos niveles del lenguaje
denominados FORTRAN 77 completo y FORTRAN 77
básico, siendo el segundo un subconjunto del primero.
Esta última versión incluye además instrucciones para
el manejo de cadenas de caracteres y de archivos, así
como otras para la utilización de técnicas de
programación estructurada. Estas características hacen
que el lenguaje también sea válido para determinadas
aplicaciones de gestión.

COBOL
Es el lenguaje más usado en las aplicaciones de
gestión, creado en 1960 por un comité denominado
CODASYL, patrocinado por el Departamento de
Defensa de los Estados Unidos, a fin de disponer de
un lenguaje universal para aplicaciones comerciales
como expresa su nombre (COmmon Business
Oriented Language).
Entre sus características se pueden citar su parecido
al lenguaje natural (inglés), es auto- documentado y
tiene gran capacidad en el manejo de archivos, así
como en la edición de informes escritos. Entre sus
inconvenientes están sus rígidas reglas de formatos
de escritura, la necesidad de describir todos los elementos al máximo detalle, la
extensión excesiva en sus sentencias e incluso duplicación en algunos casos, la
inexistencia de funciones matemáticas y, por último, su no adecuación a las
técnicas de programación estructurada. a

PL/1
Fue creado a comienzos de los años 60 por IBM
para ser usado en sus equipos del sistema 360.
El PL/I (Programming Language 1) se desarrolló
inspirándose en los lenguajes ALGOL, COBOL y
FORTRAN, tomando las mejores características
de los anteriores y añadiendo algunas nuevas,
con el objetivo de obtener un lenguaje lo más
general posible, útil para aplicaciones técnico-
científicas, comerciales, de proceso de textos,
de bases de datos y de programación de
sistemas.Entre sus novedades está su gran
libertad en el formato de escritura de los
programas, soportar la programación
estructurada y el diseño modular. No obstante,
no ha superado a sus progenitores en sus aplicaciones específicas debido en
parte a su amplitud y por ello, al tamaño de su compilador, que hasta ahora sólo
se podía instalar en grandes equipos.

BASIC
Fue diseñado por los profesores John G. Kemeny y
Thomas E. Kurtz del Dartmouth College en 1965
con el objetivo principal de conseguir un lenguaje
fácil de aprender para los principiantes, como se
indica en su nombre Benginner’s All-purpose
Symbolic Instruction Code (Código de instrucción
simbólico de propósito general para
principiantes).Entre sus principales novedades
están las de ser un lenguaje interpretado y de uso
conversacional, útil para aplicaciones técnicas y de
gestión. Estas características, unidas a la
popularización de las microcomputadoras y computadoras personales, ha hecho
que su utilización se haya extendido enormemente, a la vez que ha propiciado el
surgimiento de una gran diversidad de versiones que extienden y adaptan a
necesidades particulares el lenguaje original. Existen multitud de intérpretes y
compiladores del lenguaje.
PASCAL
Fue creado por el matemático suizo Niklaus Wirth en 1970, basándose en el
lenguaje AL-GOL, en cuyo diseño había participado en los años 60. Su nombre
proviene del filósofo y matemático francés del siglo xvii Blaise Pascal, que inventó
la primera máquina de tipo mecánico para sumar.Aunque en principio la idea del
diseñador era proporcionar un lenguaje adecuado para la enseñanza de los
conceptos y técnicas de programación, con el tiempo ha llegado a ser un lenguaje
ampliamente utilizado en todo tipo de aplicaciones, poseyendo grandes facilidades
para la programación de sistemas y diseño de gráficos.Aporta los conceptos de
tipo de datos, programación estructurada y diseño descendente, entre otros,
además de haberse convertido en predecesor de otros lenguajes más modernos,
como MODULA-2 y ADA.

LENGUAJE C
Fue creado en 1972 por Dennis Ritchie a partir del
trabajo elaborado por su colega de los
laboratorios Bell Telephone, Ken Thompson.
Estos habían diseñado con anterioridad el sistema
operativo UNIX, y su intención al desarrollar el
lenguaje C fue la de conseguir un lenguaje idóneo
para la programación de sistemas que fuese
independiente de la máquina con el cual escribir
su sistema UNIX.
Aunque fue diseñado inicialmente para la
programación de sistemas, posteriormente su uso
se ha extendido a aplicaciones técnico-científicas,
de bases de datos, de proceso de textos, etc.
La utilización óptima de este lenguaje se consigue dentro de su entorno natural,
que es el sistema operativo UNIX. Entre sus características destaca el uso de
programación estructurada para resolver tareas de bajo nivel, así como la amplia
librería de rutinas de que dispone.

ADA
Es el último intento de obtener un único lenguaje
para todo tipo de aplicaciones e incluye los últimos
avances en técnicas de programación. Su diseño
fue encargado por el Departamento de Defensa de
los Estados Unidos a la empresa Honeywell-Bull
después de una selección rigurosa entre varias
propuestas realizadas sobre una serie de
requerimientos del lenguaje y de haber evaluado
negativamente veintitrés lenguajes existentes.
Lenguaje C
Lenguaje de programación C. También conocido como “Lenguaje de
programación de sistemas” desarrollado en el año 1972 por Dennis
Ritchie para UNIX un sistema operativo multiplataforma. El lenguaje C es del tipo
lenguaje estructurado como son Pascal, Fortran, Basic. Sus instrucciones son muy
parecidas a otros lenguajes incluyendo sentencias como if, else, for, do y while... .
Aunque C es un lenguaje de alto nivel (puesto que es estructurado y posee
sentencias y funciones que simplifican su funcionamiento) tenemos la posibilidad
de programar a bajo nivel ( como en el Assembler tocando los registros, memoria
etc. ). Para simplificar el funcionamiento de el lenguaje C tiene incluidas librerías
de funciones que pueden ser incluidas haciendo referencia la librería que las
incluye, es decir que si queremos usar una función para borrar la pantalla
tendremos que incluir en nuestro programa la librería que tiene la función para
borrar la pantalla.

Ventaja del lenguaje


La programación en C tiene una gran facilidad para escribir código compacto y
sencillo a su misma vez. En el lenguaje C no tenemos procedimientos como en
otros lenguajes solamente tenemos funciones los procedimientos los simula y esta
terminante mente prohibido escribir funciones , procedimientos y los comandos en
mayúscula todo se escribe en minúsculas (a no ser las constantes J ) Los archivos
en la C se escriben en texto puro de ASCII del Dos si se escribe en WORD por
ejemplo el mismo incluye muchos códigos no entendidos por el compilador y
generara errores ;una vez escrito se debe pasar a compilar el archivo; los archivos
tienen 2 Extensiones archivo.C que es el archivo a compilar el que contiene todas
los procedimientos funciones y código de nuestro programa y archivo.h que es las
librerías que contienen las funciones de nuestro programa. (NOTA : El compilador
genera Archivos con extensión .EXE). Cada instrucción que pasemos a poner en
C va segida de un punto y coma para decirle al compilador que hasta ahí llega la
instrucción simula un Enter del teclado. Ejemplo: clrscr(); /* borra la pantalla */

Estructura de Programación en “C”


Ejemplo
Encabezados <ficheros.h> en el se almacenan las funciones que trae el lenguaje
propio o las funciones nuestras se les llaman Librerías. Las funciones de C dan
mucha potencia al programador en podemos realizar los programas con mucha
potencia y facilidad de código.
Constantes simbólicas en el se definen las constantes de nuestro programa es lo
único que se escribe en mayúsculas. ej.: #define ENERO 31
Nota: (las constantes son variables que conservan el mismo valor todo el
programa una vez que incluimos una constante en nuestro programa el compilador
va a sustituir el texto contenido en la constante por el texto del mismo.)
Cabecera de funciones es la llamadas a las funciones que se encuentran el mismo
programa y al final del.
Función principal MAIN() en el se desarrollara todo el código del programa las
llamadas a funciones procedimientos etc. (es una función que sé autoejecuta
cuando se compila el programa).

Comentarios , variables y constantes


Nota: Para incluir en nuestro programa comentarios muy necesario para que otros
programadores entiendan lo que quisimos hacer y nosotros mismos el con el
tiempo. /* Esto es un comentario */
En C++ los comentarios se pueden hacer en una linea con // (//en c++ esto es un
comentario)
Tipo de Variables en C
Definición: Para la definición de variables de debe poner primero el tipo de variable
a definir y luego el nombre de la variable ( si queremos inicializarla podemos a
continuación poniendo = valor) y si queremos definir mas de una variable del
mismo tipo podemos poniendo una coma a continuación. Ejemplo:

TRABAJANDO CON ESTRUCTURAS También se pueden definir tipo de variables


con varias variables dentro llamada estructuras de variables (muy precido a los
registros Grande DBASE ....) dentro de un registro nosotros podemos agrupar un
conjunto de variables bajo un mismo nombre por ejemplo tengo una ficha de
cliente donde tiene nombre , dirección ,teléfono ; en la misma ficha yo podría
preguntar por cliente.nombre o cliente.telefono etc.

Funciones
Una función es una parte del código independiente del programa que se llama
dentro de él, como dijimos anteriormente C no tiene procedimientos solamente
funciones los procedimientos los simula con funciones que no devuelven nada
(Void) la estructura de la funciones en C y es los elementos mas fuertes del
lenguaje. El desarrollo de una función es:
Tipo_de_valor_retorno nombreFunción( lista de argumentos ){
declaracion de variables locales a la función
codigo ejecutable
return ( exprecion ) // optativo
}
las variables de nuestras funciones son locales es decir que solamente viven
cuando se esta ejecutando la llamada a la función; el código ejecutable son las
sentencias que el programa utiliza para funcionar y el valor de retorno es el
resultado que va a devolver la misma función ( si se dice que una función retorna
un entero en el return se debe poner un entero como valor de devolución Ej: esta
función de ejemplo cuenta cuantos caracteres existen dentro de una variable que
se le pase como parámetro.

Sentencias de comparación y repeticiones


Instrucción IF La sentencia if permite comparar 2 valores entre si. Por medio de la
condición cuando se cumple (TRUE) entra a realizar la accion1 si no pasa a
cumplir la accion2

if ( condición_logica )
{ ....
acción 1
....
}
else
{ .....
acción 2
.....
}

Sentencia SWITCH La sentencia switch puede comparar una variable con mas de
un posible resultado Si ustedes tubieron el gusto de programar en clipper la
sentencia es muy parecida a Case.

Switch (variable)
{
case comparacion1 : .....
accion...
break
.....
case comparacion n : .....
accion...
break
default : ..... /* en caso de que no se cumpla ninguna...*/
accion...
break
}

Repeticiones
Es el mas usado en su sintaxis puesto que es muy parecido al de otros lenguajes
como clipper pascal visual basic....
While primero evalúa la condición y no se cumple entra en el ciclo While hasta que
la condición se cumpla.

While (condición)
{
....
sentencias
....
}

Sentencia for
La sentencia for o para permite ejecutar un conjunto de sentencias evaluando la
condición central del for.

For ( variable = valor inicial ; condición ; incremento)


{...
....
sentencias....
...
....
}

Punteros :
C permite el manejo de punteros a memoria de una forma fácil y ágil por medio de
punteros podremos desarrollar funciones que no devuelvan un solo valor sino que
devuelvan mas valores a su misma vez. solamente tenemos que tener en cuenta
un par de cosas y podemos acceder a posiciones de memoria de las variables
apuntado hacia ella, & dirección hacia donde apunta el objeto o variable
Manejo de archivos en C
Para el manejo de archivos en C tenemos que tomar en cuenta varias partes
primero la parte de apertura , el modo de trabajo y luego cerrar el archivo
(necesario para no perder datos o que el archivo quede en memoria corrupto).
Al abrir una archivo tenemos que tener en cuenta el modo de apertura del mismo
si es de lectura, escritura, creación, binario etc.
Primero tenemos que definir la variable que va a contener en el la información de
el comportamiento del archivo ( si existe, si se produjo un error al grabar al
recuperar etc.) Las variables de tipo archivo se definen como punteros ej.
Lenguaje c++
C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup.
La intención de su creación fue el extender al lenguaje de programación C mecanismos que
permiten la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes
orientados a objetos, el C++ es un lenguaje híbrido.

Posteriormente se añadieron facilidades de programación genérica, que se sumaron a los


paradigmas de programación estructurada y programación orientada a objetos. Por esto se suele
decir que el C++ es un lenguaje de programación multiparadigma.

Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los
fabricantes de compiladores más modernos. Existen también algunos intérpretes, tales como
ROOT.

Una particularidad del C++ es la posibilidad de redefinir los operadores, y de poder crear nuevos
tipos que se comporten como tipos fundamentales.

El nombre "C++" fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje fue utilizado
por primera vez fuera de un laboratorio científico. Antes se había usado el nombre "C con clases".
En C++, la expresión "C++" significa "incremento de C" y se refiere a que C++ es una extensión de
C.
A continuación se cita un programa de ejemplo Hola mundo escrito en C++:

/* Esta cabecera permite usar los objetos que encapsulan los descriptores
stdout
y stdin: cout(<<) y cin(>>)*/
#include <iostream>

using namespace std;

int main()
{
cout << "Hola mundo" << endl;
return 0;
}

Al usar la directiva #include se le dice al compilador que busque e interprete todos los
elementos definidos en el archivo que acompaña la directiva (en este caso, iostream ). Para
evitar sobrescribir los elementos ya definidos al ponerles igual nombre, se crearon los
espacios de nombres o namespace del singular en inglés. En este caso hay un espacio de
nombres llamado std , que es donde se incluyen las definiciones de todas las funciones y
clases que conforman la bibliotecaestándar de C++. Al incluir la sentencia using namespace
std le estamos diciendo al compilador que usaremos el espacio de nombres std por lo que
no tendremos que incluirlo cuando usemos elementos de este espacio de nombres, como
pueden ser los objetos cout y cin , que representan el flujo de salida estándar (típicamente
la pantalla o una ventana de texto) y el flujo de entrada estándar (típicamente el teclado).
La definición de funciones es igual que en C, salvo por la característica de que si main no va
a recoger argumentos, no tenemos por qué ponérselos, a diferencia de C, donde había que
ponerlos explícitamente, aunque no se fueran a usar. Queda solo comentar que el
símbolo << se conoce como operador de inserción, y grosso modo está enviando a cout lo
que queremos mostrar por pantalla para que lo pinte, en este caso la cadena "Hola mundo" .
El mismo operador << se puede usar varias veces en la misma sentencia, de forma que
gracias a esta característica podremos concatenar el objeto endl al final, cuyo resultado será
imprimir un retorno de línea.

Tipos de datos[editar]
C++ tiene los siguientes tipos fundamentales:

 Caracteres: char (también es un entero), wchar_t


 Enteros: short , int , long , long long
 Números en coma flotante: float , double , long double
 Booleanos: bool
 Vacío: void
El modificador unsigned se puede aplicar a enteros para obtener números sin signo (por
omisión los enteros contienen signo), con lo que se consigue un rango mayor de números
naturales.

Tamaños asociados[editar]
Según la máquina y el compilador que se Tamaños de tipos primitivos bajo i386 (GCC)
utilice los tipos primitivos pueden ocupar un Tipo Número de bits
determinado tamaño en memoria. La
siguiente lista ilustra el número de bits que char 8
ocupan los distintos tipos primitivos en la short 16
arquitectura x86.
int 32
Otras arquitecturas pueden requerir distintos
tamaños de tipos de datos primitivos. C++ float 32
no dice nada acerca de cuál es el número de
bits en un byte, ni del tamaño de estos tipos; double 64
más bien, ofrece solamente las siguientes
"garantías de tipos":

 De acuerdo al estándar C99, un tipo char debe ocupar exactamente un byte compuesto
de un mínimo de 8 bits independientemente de la arquitectura de la máquina.
 El tamaño reconocido de char es de 1. Es decir, sizeof(char) siempre devuelve 1.
 Un tipo short tiene al menos el mismo tamaño que un tipo char .
 Un tipo long tiene al menos el doble tamaño en bytes que un tipo short .
 Un tipo int tiene un tamaño entre el de short y el de long , ambos inclusive,
preferentemente el tamaño de un apuntador de memoria de la máquina. Su valor máximo
es 2147488281, usando 32 bits.
 Un tipo unsigned tiene el mismo tamaño que su versión signed .

Wchar_t[editar]
Para la versión del estándar que se publicó en 1998, se decidió añadir el tipo de
dato wchar_t , que permite el uso de caracteres UNICODE, a diferencia del tradicional char ,
que contempla simplemente al código de caracteres ASCII extendido. A su vez, se ha definido
para la mayoría de las funciones y clases, tanto de C como de C++, una versión para trabajar
con wchar_t , donde usualmente se prefija el carácter w al nombre de la función (en
ocasiones el carácter es un infijo). Por ejemplo:

 strcpy - wstrcpy
 std::string - std::wstring
 std::cout - std::wcout

Cabe resaltar que en C se define wchar_t como:

typedef unsigned short wchar_t;

Mientras que en C++ es en sí mismo un tipo de dato.

La palabra reservada "void"[editar]


La palabra reservada void define en C++ el concepto de no existencia o no atribución de un
tipo en una variable o declaración. Es decir, una función declarada como void no devolverá
ningún valor. Esta palabra reservada también puede usarse para indicar que una función no
recibe parámetros, como en la siguiente declaración:

int funcion (void);

Aunque la tendencia actual es la de no colocar la palabra "void".


Además se utiliza para determinar que una función no retorna un valor, como en:

void funcion (int parametro);

Cabe destacar que void no es un tipo. Una función como la declarada anteriormente no
puede retornar un valor por medio de return: la palabra clave va sola. No es posible una
declaración del tipo:

void t; //Está mal

En este sentido, void se comporta de forma ligeramente diferente a como lo hace en C,


especialmente en cuanto a su significado en declaraciones y prototipos de funciones.
Sin embargo, la forma especial void * indica que el tipo de datos es un puntero. Por ejemplo:

void *memoria;

Indica que memoria es un puntero a alguna parte, donde se guarda información de algún tipo.
El programador es responsable de definir estos "algún", eliminando toda ambigüedad. Una
ventaja de la declaración "void *" es que puede representar a la vez varios tipos de datos,
dependiendo de la operación de cast escogida. La memoria que hemos apuntado en alguna
parte, en el ejemplo anterior, bien podría almacenar un entero, un flotante, una cadena de
texto o un programa, o combinaciones de estos. Es responsabilidad del programador recordar
qué tipo de datos hay y garantizar el acceso adecuado.

La palabra "NULL"[editar]
Además de los valores que pueden tomar los tipos anteriormente mencionados, existe un
valor llamado NULL, sea el caso numérico para los enteros, carácter para el tipo char, cadena
de texto para el tipo string, etc. El valor NULL, expresa, por lo regular, la representación de
una Macro, asignada al valor "0".
Tenemos entonces que:

void* puntero = NULL;


int entero = NULL;
bool boleana = NULL;
char caracter = NULL;

El valor de las variables anteriores nos daría 0. A diferencia de la variable "caracter", que nos
daría el equivalente a NULL, '\0', para caracteres.

Principios[editar]
Todo programa en C++ debe tener la función principal main() (a no ser que se especifique
en tiempo de compilación otro punto de entrada, que en realidad es la función que tiene
el main() )

int main()
{}

La función principal del código fuente main debe tener uno de los siguientes prototipos:
int main()
int main(int argc, char** argv)
Aunque no es estándar algunas implementaciones permiten
int main(int argc, char** argv, char** env)
La primera es la forma por omisión de un programa que no recibe parámetros ni argumentos.
La segunda forma tiene dos parámetros: argc, un número que describe el número de
argumentos del programa (incluyendo el nombre del programa mismo), y argv, un puntero a
un array de punteros, de argc elementos, donde el elemento argv[i] representa el i-ésimo
argumento entregado al programa. En el tercer caso se añade la posibilidad de poder acceder
a las variables de entorno de ejecución de la misma forma que se accede a los argumentos
del programa, pero reflejados sobre la variable env.
El tipo de retorno de main es un valor entero int. Al finalizar la función main , debe incluirse el
valor de retorno (por ejemplo, return 0;, aunque el estándar prevé solamente dos posibles
valores de retorno: EXIT_SUCCESS y EXIT_FAILURE, definidas en el archivo cstdlib), o
salir por medio de la función exit. Alternativamente puede dejarse en blanco, en cuyo caso el
compilador es responsable de agregar la salida adecuada.

El concepto de clase[editar]
Véase también: Clase (informática)

Los objetos en C++ son abstraídos mediante una clase. Según el paradigma de la
programación orientada a objetos un objeto consta de:

1. Identidad, que lo diferencia de otros objetos (Nombre que llevará la clase a la que
pertenece dicho objeto).
2. Métodos o funciones miembro
3. Atributos o variables miembro

class Punto
{
//por omisión, los miembros son 'private' para que solo se puedan
modificar desde la propia clase.
private:
// Variable miembro privada
int id;
protected:
// Variables miembro protegidas
int x;
int y;
public:
// Constructor
Punto();
// Destructor
~Punto();
// Funciones miembro o métodos
int ObtenerX();
int ObtenerY();

Lenguaje Basic
BASIC es un lenguaje de programación de propósito general que ofrece
economía sintáctica, control de flujo, estructuras sencillas y un buen conjunto de
operadores. Es un lenguaje que no está especializado en ningún tipo de
aplicación. Esto lo hace un lenguaje versátil y potente, con un campo de
aplicación ilimitado y, sobre todo, se puede aprender rápidamente. En poco
tiempo, un programador puede utilizar la totalidad del lenguaje.

La palabra BASIC proviene de la expresión inglesa Beginner's All-


purpose Symbolic Instruction Code: código de instrucciones simbólicas de
propósito general para principiantes.

El BASIC fue el primer lenguaje de programación desarrollado. Lo fue a


mediados de la década de los sesenta por los profesores John G. Kemeny y
Thomas E. Kurtz en el Dartmouth College, en California. Su código se basa en el
vocabulario inglés y en las expresiones matemáticas. Consta de cientos de
instrucciones para utilización de gráficos, procesado de textos, uso de variables,
archivos, etc. EL BASIC utiliza un alfabeto formado por los caracteres
alfabéticos: A-Z, cifras 0-9, caracteres especiales como operadores aritméticos:
+, -, *, etc., y otros: (,),$, etc.

El lenguaje BASIC es, originalmente, un lenguaje interpretado. Existen dos tipos


de lenguaje: interpretados y compilados. Los interpretados son aquellos que
necesitan del código fuente para funcionar (por ejemplo, GW-BASIC y QBasic).
Los compilados, convierten el código fuente en un archivo objeto y éste en un
archivo ejecutable. Este es el caso del lenguaje C y de las versiones más
completas y recientes del BASIC.

Existen muchas versiones (implementaciones) del lenguaje BASIC. En el


esquema siguiente se puede observar la evolución del desarrollo de los diferentes
lenguajes de programación y, entre ellos, la de BASIC.

AÑO LENGUAJE INVENTOR DESCRIPCION


1900s BINARIO Bool primer lenguaje
1946 Plankalkul Konrad Zuse creado para jugar al ajedrez
1949 Short Code lenguaje traducido a mano
1950 ASM (ensamblador) lenguaje ensamblador

1951 A-0 Grace Hopper fue el primer compilador

1952 AUTOCODE Alick E. Glennie compilador muy rudimentario

sistema de TRAducción de
1956 FORTRAN IBM
FORmulas matemáticas
1956 COBOL Compilador
1958 ALGOL 58
Intérprete orientado a la Inteligencia
1960 LISP
Artificial
sistema de TRAducción de
1961 FORTRAN IV IBM
FORmulas matemáticas
1961 COBOL 61 Extendido
1960 ALGOL 60 Revisado
1964 PASCAL Niklaus Wirth programación estructurada
Universidad de
Beginners All Purpose Symbolic
1964 BASIC Dartmouth
Instruction Code
(california)
1965 SNOBOL
1965 APL sólo anotación
1965 COBOL 65
1966 PL/I
sistema de TRAducción de
1966 FORTRAN 66 IBM
FORmulas matemáticas
1967 SIMULA 67
1968 ALGOL 68
1968 SNOBOL4
1970s GW-BASIC antiguo y clásico BASIC
1970 APL/360
Centro de
1972 SMALLTALK Investigación de pequeño y rapido
Xerox en Palo Alto
1972 C Laboratorios Bell lenguaje con tipos
1974 COBOL 74
1975 PL /I Lenguaje sencillo
sistema de TRAducción de
1977 FORTRAN 77 IBM
FORmulas matemáticas
1980s SMALLTALK/V Digitalk pequeño y rapido
1980 C con clases Laboratorios Bell lenguaje con clases
Ministerio Japonés
de Comercio Lenguaje estandar para la
1981 PROLOG
Internacional e Inteligencia Artificial
Industria (MITI)
Ministerio de
1982 ADA Defensa de los lenguaje muy seguro
EE.UU
AT&T Bell
1984 C++ compilador
Laboratories (Bjarne
Stroustrup)

1985 CLIPPER compilador para bases de datos


1985 QuickBASIC 1.0 Microsoft® compilador de BASIC
1986 QuickBASIC 2.0 Microsoft® soporte de tarjeta gráfica EGA
1987 QuickBASIC 3.0 Microsoft® 43 lineas con la tarjeta EGA
1987 QuickBASIC 4.0 Microsoft® tarjetas Hercules, VGA
1987 CLIPPER SUMMER '87 compilador para bases de datos
1988 QuickBASIC 4.5 Microsoft® tarjeta SVGA
1989 QuickBASIC 7.1 Microsoft® ultima version de QuickBASIC
1989 ASIC v5.0 interprete tipo QBASIC shareware
1990s VISUAL C++
1990s VISUAL BASICScript Microsoft® lenguaje de script
1990 HTML Tim Berners-Lee para internet
para MS-DOS 5.0. Compatible 99.9%
1991 QBasic 1.0 Microsoft®
con QuickBasic
C. M. Sperberg-
1993 XML para internet
McQueen
1993 SGML Charles F. Goldfarb para internet
1993 QBasic 1.1 Microsoft® para MS-DOS 6.0
1990s WML para internet
1990s ASP Microsoft® para internet
1990s PHP para internet
1995 JAVA Sun Microsystems para internet y proposito general
1995 CLIPPER 5.01 compilador para bases de datos
Ministerio de
1995 GNAT ADA95 Defensa de los lenguaje muy seguro
EE.UU
sistema de TRAducción de
1995 FORTRAN 95 IBM
FORmulas matemáticas
1991 VISUAL BASIC 1.0 Microsoft®
1992 VISUAL BASIC 2.0 Microsoft®

1993 VISUAL BASIC 3.0 Microsoft®


1994 VISUAL BASIC 4.0 Microsoft®
1995 VISUAL BASIC 5.0 Microsoft®

1998 VISUAL BASIC 6.0 Microsoft®


1990s C#
2001 VISUAL BASIC .NET Microsoft® La evolución de Visual Basic
QuickBasic es un lenguaje de programación de alto nivel, que se puede utilizar
de forma compilada. Tiene varios predecesores. El primero fue BasicA,
desarrollado por Microsoft a principios de los 80. Sus características principales:

 tenía pocas instrucciones


 era un lenguaje interpretado
 se requería números identificativos de cada línea de código, haciendo la
programación tediosa y limitada
 los archivos fuente se guardaban en un formato propio

El siguiente predecesor de QuickBasic se denominaba GW-Basic, aparecido a


finales de los 80 con algunas mejoras:

 los archivos fuente se guardaban en un formato de texto regular, legibles


por otros programas
 la interfaz de programación era ligeramente más amigable

GW-Basic no era todavía demasiado adecuado para un uso masivo, de modo que
Microsoft en 1987 crea una actualización de Basic denominada QuickBasic, con
las siguientes ventajas:

 una interfaz de usuario bastante sencilla


 una extensa ayuda on-line que incluía índice, e ideas y ejemplos acerca de
cómo usar cada instrucción
 utilidades básicas de edición, como búsquedas y sustituciones, cortado y
pegado, etc., que aumentaban la productividad
 no era preciso incluir números de línea

Microsoft incluyó con el sistema operativo MS-DOS 5.0 una versión reducida de
QuickBasic denominada QBasic 1.0. Esta versión y su actualización posterior,
1.1, se utilizaban sólo de forma interpretada pero sus posibilidades eran todavía
bastante amplias. En lo que resta nos referiremos específicamente a la
implementación de BASIC denominada QBasic por su versatilidad y sencillez de
uso.

BASIC, siglas de Beginner's All-purpose Symbolic Instruction Code (Código simbólico de


instrucciones de propósito general para principiantes en español), es una familia de lenguajes de
programación de alto nivel. El BASIC original, el Dartmouth BASIC, fue diseñado en 1964 por John
George Kemeny y Thomas Eugene Kurtz en el Dartmouth College en Nuevo Hampshire, Estados
Unidos, como un medio para facilitar la programación en ordenadores a estudiantes (y profesores)
que no fueran de ciencias. De aquella, casi todo el uso de los ordenadores requería codificar
software hecho a medida, con lo cual quedaba restringida a personas con formación como
científicos y matemáticos. BASIC originalmente fue desarrollado como una herramienta de
enseñanza. El lenguaje y sus variantes llegaron a estar ampliamente disponibles en los
microcomputadores a finales de los años 1970 y en los años 1980. BASIC sigue siendo popular a
día de hoy en un puñado de dialectos altamente modificados, y en nuevos lenguajes, influenciados
por BASIC tales como Microsoft Visual Basic o Gambas en GNU/Linux. En el año 2006, el 59% de
los desarrolladores para la plataforma .NET usaban Visual Basic .NET como su único lenguaje.

Es importante aclarar que una de las grandes desventajas en comparación con lenguajes como
COBOL, RPG es que no maneja como parte integrada el acceso a archivos directos o RANDOM. Se
tenía que apoyar en una aplicación externa para poder acceder de manera directa un registro de
algún archivo.

Historia

Antecedentes

A principios de la década de 1960, las computadoras eran sumamente caras y se utilizaban


únicamente para propósitos especiales, ejecutando "una única tarea" a la vez. Sin embargo,
durante el transcurso de esa década, los precios bajaron al punto que incluso algunas pequeñas
empresas ya podían costearlas. La velocidad de proceso de las máquinas se incrementó al grado
que a menudo quedaban demasiado tiempo ociosas, porque no había suficientes tareas para ellas.
Todo ello fue debido a la rápida evolución del hardware. Los lenguajes de programación de
aquellos tiempos estaban diseñados para propósitos específicos, como las máquinas en las que
eran ejecutados; por ejemplo para desarrollar aplicaciones cálculo o procesamiento de fórmulas se
diseñó el lenguaje FORTRAN, en tanto que para la programación en administración o gestión de
información se desarrolló específicamente el COBOL.

A fin de incrementar el rendimiento y amortizar mejor los costos (por reducción del tiempo ocioso
de la procesador), y siendo que ya la velocidad de las máquinas comenzó a permitirlo, se propuso
la idea de ejecutar más de una tarea "simultáneamente", fue así que surgió el concepto de sistema
de tiempo compartido, que comenzó a ganar mucha popularidad. En sistemas de ese tipo, el
tiempo de procesamiento del procesador central se dividía, y a cada usuario se le otorgaba
secuencial y cíclicamente una pequeña porción o "cuota" de tiempo de proceso. Las máquinas
eran lo suficientemente rápidas como para provocar en los usuarios la ilusión de que disponían de
la funcionalidad de la máquina todo el tiempo para ellos ("seudo-simultaneidad" de procesos). Esa
distribución del tiempo de cómputo entre los usuarios redujo considerablemente el costo de la
computación, ya que una sola máquina podía ser compartida por numerosos usuarios.
Nacimiento y primeros años

El lenguaje BASIC fue inventado en 1964 por John George Kemeny (1926-1992) y Thomas Eugene
Kurtz (1928-) en el Dartmouth College. En años subsiguientes, mientras que otros dialectos de
BASIC aparecían, el BASIC original de Kemeny y Kurtz fue conocido como Dartmouth BASIC.

BASIC fue diseñado para permitir a los estudiantes escribir programas usando terminales de un
computador en tiempo compartido. Estaba pensado para reducir notablemente la complejidad de
los otros lenguajes del momento, con uno diseñado específicamente para la clase de usuarios que
los sistemas de tiempo compartido permitían: un usuario más sencillo, fuera del área de las
ciencias de la computación, a quien no le interesaba tanto la velocidad, sólo el hecho de ser capaz
de programar y usar la máquina sin demasiadas complicaciones. Los diseñadores del lenguaje
también querían que permaneciera en el dominio público, lo cual contribuyó a que se diseminara
rápidamente.

Los ocho principios que rigieron el diseño de BASIC fueron:

Ser fácil de usar para los principiantes.

Ser un lenguaje de propósito general (no orientado).

Permitir a los expertos añadir características avanzadas, conservando simple el lenguaje para los
principiantes.

Ser interactivo en todos los casos.

Proveer mensajes de errores claros y amigables.

Responder rápido en los programas pequeños en general.

No requerir un conocimiento del hardware de la computadora.

Proteger al usuario del sistema operativo.

El lenguaje fue en parte basado en FORTRAN II y otra parte en Algol 60, con adiciones para hacerlo
apropiado en sistemas de tiempo compartido y con elementos que facilitaran la operación
aritmética de matrices. BASIC fue implementado por primera vez para la mainframe GE-265,
máquina que soportaba múltiples terminales.
En 1968 Edsger Dijkstra publicó un carta con una famosa crítica en la que consideraba que los
lenguajes de programación que usaban sentencias GOTO para estructurar un programa eran
nocivos para la productividad del programador, y para la calidad del código resultante. En este
artículo no se menciona a ningún lenguaje de programación en particular; únicamente se indica
que el uso excesivo de GOTO en lenguajes de alto nivel es algo no recomendable, y proporciona
las razones técnicas por las que esto es así. Pero sí se observó, desde sus inicios, una marcada
tendencia de los programadores a utilizar excesivamente el GOTO en BASIC, máxime en los
noveles; hecho éste que fue decreciendo con la incorporación al lenguaje de otros recursos, tales
como subrutinas parametradas, y posteriormente con la aparición de técnicas de programación
estructurada.

Contrario a la creencia popular, BASIC inicialmente no era un lenguaje interpretado sino


compilado. Casi inmediatamente después de su lanzamiento, los profesionales de computación
comenzaron a alegar que BASIC era muy lento y simple. Tal argumento, hasta no hace mucho, fue
un tema recurrente en la industria de las computadoras.

Aun así, BASIC se extendió hacia muchas máquinas y plataformas, y se popularizó moderadamente
en las minicomputadoras como las de la serie DEC PDP y la Data General Nova. En estos casos, el
lenguaje era implementado como intérprete, en vez de un compilador, o alternativamente, en
ambas formas de funcionamiento.

Crecimiento explosivo

Sin embargo, fue con la introducción de la microcomputadora Altair 8800 en 1975 que BASIC se
extendió ampliamente. La mayoría de los lenguajes de programación eran demasiado grandes
para ser albergados por las pequeñas memorias de que disponían la mayor parte de las máquinas
en esa época; y con el lento almacenamiento que permitía la cinta de papel, y más tarde la cinta
de audiocasete (los discos magnéticos aún no existían), y la falta de editores de texto adecuados,
un lenguaje pequeño como BASIC resultaba una buena opción. Uno de los primeros en aparecer
fue Tiny BASIC, una implementación simple de BASIC escrita originalmente por el Dr. Li-Chen
Wang, y portada más tarde a la máquina Altair por Dennis Allison, a petición de Bob Albrecht
(quien después fundó Dr. Dobb's Journal (DDJ)). El diseño de Tiny BASIC y el código fuente
completo fue publicado en DDJ en 1976.

En 1975 Microsoft (entonces formado por dos personas: Bill Gates y Paul Allen) lanzó el Altair
BASIC. Luego comenzaron a aparecer bajo licencia versiones para otras plataformas, y millones de
copias y variantes pronto estarían en uso. BASIC se convirtió en uno de los lenguajes estándar en
el Apple II. En 1979 Microsoft estaba negociando con varios vendedores de microcomputadores,
incluyendo IBM, para licenciar un intérprete de BASIC para sus ordenadores. Se incluyó una
versión en las memorias ROM de los PC IBM para los equipos sin discos. Los equipos que disponían
de una unidad de disquete, el BASIC era iniciado automáticamente siempre que no se colocara
ningún disquete de arranque como sistema operativo.

Las nuevas compañías intentaban seguir los pasos del éxito de Altair: IMSAI, North Star, y Apple,
creando la revolución de la computadora casera. BASIC se convirtió en una característica estándar
para casi todas las computadoras hogareñas; la mayoría venía con un sistema operativo básico e
intérprete de BASIC, todo alojado en una ROM (algo hecho por primera vez en la Commodore PET
en 1977). Pronto habría muchos millones de computadores alrededor del mundo ejecutando
BASIC, un número mucho más grande que el de todos los usuarios de otros lenguajes juntos.
Muchos programas, especialmente los de la Apple II e IBM PC, dependían de la presencia del
intérprete de BASIC de Microsoft y no podían ejecutarse sin éste; por lo que Microsoft usó la
licencia de copyright en los intérpretes de BASIC para influir en las negociaciones con los
vendedores de computadores.

El BASIC fue también el lenguaje preinstalado en los computadores hogareños europeos de la


década de los 80 como el ZX Spectrum (Sinclair BASIC), Amstrad CPC (Locomotive BASIC), MSX
(MSX BASIC), el Commodore 64 y 128 (Basic 2.0, Basic 7.0, Simons' Basic), los Commodore Amiga
(AmigaBASIC) o la familia Atari de 8 bits (Atari BASIC) y en los computadores hogareños japoneses
NEC PC-8801 y NEC PC-9801 (N88-BASIC), haciendo muchas veces la función de intérprete y
sistema operativo primitivo, ya que venían implementados ambos en ROM. Texas Instruments
incorporó su propia versión en sus microcomputadoras, tal como la TI99/4A, y también con una
versión extendida en una ROM externa o cartuchos (TI-Basic y TI Extended Basic).

Madurez

En este período se crearon versiones de BASIC nuevas y más poderosas. Microsoft vendió varias
versiones de BASIC para MS-DOS/PC-DOS, incluyendo BASICA, GW-BASIC (una versión compatible
con BASICA que no necesitaba la ROM de IBM), y Quick BASIC. El fabricante de Turbo Pascal,
Borland, publicó Turbo BASIC 1.0 en 1985 (versiones sucesoras aún se venden bajo el nombre de
PowerBASIC por otra compañía). Aparecieron varias extensiones de BASIC para computadores
caseros, típicamente con capacidad para gráficos, sonido, y comandos DOS, así como facilidades
para Programación estructurada. Hubo lenguajes que usaron la sintaxis de BASIC como base para
otros sistemas totalmente diferentes, por ejemplo GRASS.

Sin embargo a finales de la década de 1980 las computadoras nuevas eran mucho más complejas,
e incluían características (como la Interfaz gráfica de usuario) que hacían a BASIC menos apropiado
para programarlas. Al mismo tiempo las computadoras progresaban de ser interés para
aficionados a herramientas usadas principalmente para ejecutar aplicaciones escritas por otros, y
la programación en sí se fue haciendo menos importante para una creciente mayoría de usuarios.
BASIC comenzó a desvanecerse, aunque numerosas versiones aún estaban disponibles.

Una de las más poderosas fue el denominado Locomotive BASIC 2 diseñado para el entorno
gráfico GEM. Esta nueva versión del lenguaje permitía crear aplicaciones con interfaces gráficas
dotadas de ventanas, menús y diferentes tipos de gráficos estadísticos.
La suerte de BASIC dio un giro nuevamente con la introducción de Visual Basic de Microsoft. Si
bien este lenguaje utiliza prácticamente todas las palabras clave (sentencias, estructuras de
control y funciones intrínsecas) y forma de manejo y tipo de datos que versiones BASIC anteriores
(DOS); VB es abismalmente más potente y evolucionado; y se ha convertido en uno de los
lenguajes más utilizados en la plataforma Windows; se estima que entre el 70 y el 80% del total de
aplicaciones comerciales son programadas en VB. A partir de 2002, y con la introducción de la
plataforma .NET Framework de Microsoft, Visual Basic comienza a utilizar el paradigma "orientado
a objetos", aumentando la potencia del lenguaje y haciéndolo multiplataforma. Visual Basic for
Applications (VBA) fue añadido a Microsoft Excel 5.0 en 1993 y al resto de la línea de productos de
Microsoft Office en 1997. Windows 98 incluyó un intérprete de VBScript. La versión más reciente
de Visual Basic es llamada VB.NET. Por otra parte, también existe la variante OpenOffice.org Basic
menos poderosa pero similar a VBA de Microsoft.

Lenguaje Pascal
Pascal es un lenguaje creado por el profesor suizo Niklaus Wirth entre los años 1968 y 1969 y
publicado en 1970. Su objetivo era crear un lenguaje que facilitara el aprendizaje de programación
a sus alumnos, utilizando la programación estructurada y estructuración de datos. Sin embargo
con el tiempo su utilización excedió el ámbito académico para convertirse en una herramienta
para la creación de aplicaciones de todo tipo.

Pascal se caracteriza por ser un lenguaje de programación estructurado fuertemente tipado. Esto
implica que:

El código está dividido en porciones fácilmente legibles llamadas funciones o procedimientos. De


esta forma Pascal facilita la utilización de la programación estructurada en oposición al antiguo
estilo de programación monolítica.

El tipo de dato de todas las variables debe ser declarado previamente para que su uso quede
habilitado.
Historia[editar]
Pascal, es llamado así en honor del matemático y filósofo francés Blaise Pascal, fue
desarrollado por Niklaus Wirth.
Antes de su trabajo en Pascal, Wirth había desarrollado Euler y ALGOL W y más tarde pasó a
desarrollar los lenguajes Modula-2 y Oberon, al estilo de Pascal.
Inicialmente, Pascal era en gran parte, pero no exclusivamente, destinado a enseñar a los
estudiantes la programación estructurada.1 Una generación de estudiantes usa Pascal como
lenguaje de introducción de cursos de graduación. Las variantes de Pascal también se han
usado para todo, desde proyectos de investigación a juegos de PC y sistemas embebidos.
Existen nuevos compiladores de Pascal que son ampliamente utilizados.2
Pascal fue el lenguaje primario de alto nivel utilizado para el desarrollo en el Apple Lisa, y en
los primeros años del Macintosh. Algunas partes del sistema operativo original del
Macintosh se traducen a mano al lenguaje ensamblador del Motorola 68000 de sus fuentes
Pascal.3 El sistema de composición tipográfica TeX de Donald E. Knuth fue escrito en WEB, el
sistema de programación literaria original, basado en DEC PDP-10 Pascal, mientras que
aplicaciones como Total Commander, Skype y Macromedia Captivate fueron escritos en
Delphi (Object Pascal).
Object Pascal (Embarcadero Delphi) todavía se utiliza para el desarrollo de aplicaciones
Windows, pero también tiene la capacidad de compilación cruzada del mismo código para
Mac, iOS y Android. Otra versión multiplataforma llamado Free Pascal, con el IDE Lazarus, es
popular entre los usuarios de Linux, ya que también ofrece desarrollo escribe una vez, compila
para todos (write once, compile anywhere). CodeTyphon es una distribución de Lazarus con
más paquetes preinstalados y compiladores cruzados.

Características únicas[editar]
Otra diferencia importante es que en Pascal, el tipo de una variable se fija en su definición; la
asignación a variables de valores de tipo incompatible no están autorizadas (en C, en cambio,
el compilador hace el mejor esfuerzo para dar una interpretación a casi todo tipo de
asignaciones). Esto previene errores comunes donde variables son usadas incorrectamente
porque el tipo es desconocido; y también evita la necesidad de notación húngara, que vienen
a ser prefijos que se añaden a los nombres de las variables y que indican su tipo.

Implementaciones[editar]
Las primeras versiones del compilador de Pascal, entre ellas la más distribuida fue UCSD
Pascal, traducían el lenguaje en código para una máquina virtual llamada máquina-P. La gran
ventaja de este enfoque es que para tener un compilador de Pascal en una nueva arquitectura
de máquina solo hacía falta reimplementar la máquina-P. Como consecuencia de esto, solo
una pequeña parte del intérprete tenía que ser reescrita hacia muchas arquitecturas.
En los años 1980, Anders Hejlsberg escribió el compilador Blue Label Pascal para el Nascom-
2. Más tarde fue a trabajar para Borland y reescribió su compilador que se convirtió en Turbo
Pascal para el IBM PC. Este nuevo compilador se vendió por 49 dólares, un precio orientado a
la distribución masiva.
El económico compilador de Borland tuvo una larga influencia en la comunidad de Pascal que
comenzó a utilizarlo principalmente en el IBM PC. En busca de un lenguaje estructurado
muchos aficionados al PC reemplazaron el BASIC por este producto. Dado que Turbo
Pascal sólo estaba disponible para una arquitectura, traducía directamente hacia el código
máquina del Intel 8088, logrando construir programas que se ejecutaban mucho más
rápidamente que los producidos en los esquemas interpretados.
Durante los años 1990, estuvo disponible la tecnología para construir compiladores que
pudieran producir código para diferentes arquitecturas de hardware. Esto permitió que los
compiladores de Pascal tradujeran directamente al código de la arquitectura en que corre.
Con Turbo Pascal versión 5.5, Borland agregó programación orientada a objetos a Pascal.
Sin embargo, Borland después decidió mejorar esa extensión del lenguaje introduciendo su
producto Delphi, diseñado a partir de estándar Object Pascal, propuesto por Apple Inc. como
base. Borland también lo llamó Object Pascal en las primeras versiones, pero cambió el
nombre a 'lenguaje de programación Delphi' en sus últimas versiones.

Ejemplos[editar]
Hola Mundo[editar]
Un sencillo ejemplo del programa Hola Mundo:

PROGRAM HolaMundo (OUTPUT);


BEGIN
WriteLn('¡Hola Mundo!')
{ como la siguiente instrucción no es ejecutable "end."
no se requiere ; aunque puede ponerse según las
preferencias del programador }
END.

Suma[editar]

PROGRAM Suma (INPUT, OUTPUT);

VAR
Sumando1, Sumando2,Suma:INTEGER;

BEGIN
Write('ingrese un numero: ');
ReadLn(Sumando1);
Write('ingrese otro numero: ');
ReadLn(Sumando2);
Suma:=Sumando1 + Sumando2;
WriteLn ('La suma es: ',Suma);
WriteLn ('Pulse [Intro] para finalizar...');
readln
END.
Raíz cuadrada[editar]

PROGRAM Raiz (INPUT, OUTPUT);


(* Obtener la raíz cuadrada de un número real x cualquiera.*)

VAR
Valor, Resultado: REAL;
BEGIN
WriteLn ('** Calcular la raíz cuadrada **');
Write ('Introduzca el valor: '); ReadLn (Valor);
(* Raíz cuadrada del valor absoluto de x para evitar raíces imaginarias
*)
Resultado := sqrt (abs (Valor));
IF Valor > 0 THEN (* Si es positivo, existe el resultado en los reales
*)
WriteLn ('La raíz cuadrada de ', Valor, ' es ',Resultado)
ELSE (* Si es negativo, el resultado es imaginario *)
WriteLn ('No existe la raíz cuadrada de ',Valor,' en los reales.');
Write ('Pulse [Intro] para finalizar...');
END.

Bucles[editar]
Un ejemplo de bucle:

PROGRAM MultiplosDe3 (INPUT, OUTPUT);

VAR
Numero, Cnt: INTEGER;

BEGIN
Cnt := 0;
Writeln ('Entra el primer número de la serie: '); ReadLn (Numero);
WHILE Numero <> 0 DO
BEGIN
IF (Numero MOD 3) = 0 THEN
INC (Cnt);
Write ('Dame otro numero (0 para terminar): '); ReadLn (Numero);
END;
WriteLn ('La cantidad de múltiplos de 3 ingresados es ', Cnt);
Write ('Pulse [Intro] para finalizar...')
END.

Un ejemplo de bucle:

program tabla;
uses crt;
var
i,n:integer;
begin
clrscr;
for i:=1 to 10 do
begin
write(´ingrese la tabla de mutliplicar que desea ver: ´);
readln(n);
writeln( i,´ x´,n,´ =´,i*n)
end;
readln
end.
PROGRAM CalcularFactorial (INPUT, OUTPUT);

(* Función que calcula el factorial de n (n!) de forma recursiva. *)


FUNCTION Factorial (CONST N: INTEGER): INTEGER;
BEGIN
IF N > 1 THEN
Factorial := N * (Factorial (N - 1))
ELSE
Factorial := N
END;

VAR
Base: INTEGER;
BEGIN
Write ('Valor de N: '); ReadLn (Base);
WriteLn ('N! = ', Factorial (Base));
Write ('Pulse [Intro] para finalizar...')
END.

Vectores[editar]

PROGRAM NotasDeAlumnos;
uses crt;
Type
vecalumnos = array [1..40] of string;
var
Nombre, Apellido: vecalumnos;
Nota: array [1..40] of real;
Begin
clrscr; /*Limpia pantalla*/
For i:= 1 to 40 do
begin
write(´Ingrese Nombre: ´);
readln(Nombre[i]);
write(´Ingrese Apellido: ´);
readln(Apellido[i]);
write(´Ingrese Nota: ´);
readln(Nota[i]);
end;
For i:= 1 to 40 do
begin
write(Nombre[i], ´ ´,Apellido[i]);
if (Nota[i] >=7) then
writeln(´ aprobó´)
else
writeln(´ no aprobó´);
end;
writeln(´´);
Write ('Pulse [Intro] para finalizar...');
Readln;
end.

Librerías[editar]
Las librerías contienen procedimientos y funciones. El objetivo es poner esas funciones a
disposición de ser usadas.
Cuando planeemos usar librerías, nos hemos de remitir a la sección USES de nuestro
programa.
Por ejemplo para usar el procedimiento clrscr, que se encarga de borrar la pantalla de la
terminal donde aparece la salida de nuestro programa en modo texto,y la función readkey, que
obliga al programa a detenerse y a no continuar hasta que el usuario presione una tecla se
debe usar la libreria CRT. program MiPrograma;
uses CRT;

var
nombre: string[10];

begin
clrscr;
nombre:= 'Manuel';
writeln(nombre);
readkey
end.

Compiladores[editar]
Varios compiladores de Pascal están disponibles para el uso del público en general:

 Delphi es un producto tipo RAD (Rapid Application Development) inicialmente desarrollado


por Borland y actualmente por Embarcadero. Utiliza el lenguaje de programación Delphi,
descendiente de Pascal, para crear aplicaciones para la plataforma Windows. Las últimas
versiones también generan ejecutables para MacOS X, Linux y .NET.
 Free Pascal está escrito en Pascal (el compilador está creado usando Free Pascal), es un
compilador estable y potente. También distribuido libremente bajo la licencia GPL. Este
sistema permite mezclar código Turbo Pascal con código Delphi, y soporta muchas
plataformas y sistemas operativos.
 Compilador GNU Pascal (GPC), escrito en C, basado en GNU Compiler Collection (GCC).
Se distribuye bajo licencia GPL.
 Turbo Pascal fue el compilador Pascal dominante para PC durante los años 1980 y hasta
principios de los años 1990, muy popular debido a sus magníficas extensiones y tiempos
de compilación sumamente cortos. Actualmente, versiones viejas de Turbo Pascal (hasta
la 7.0) están disponibles para descargarlo gratuito desde el sitio de Borland (es necesario
registrarse).
 Oxygene es un compilador de Object Pascal para las plataformas .NET y Mono. Creado
por RemObjects Software. Incluye características modernas en la sintaxis, con influencias
de C#, Eiffel, Java, F# y otros lengaujes.
 Modern Pascal es un intérprete y compilador a p-code, multiplataforma escrito en Free
Pascal. Esta pensado como una solución alternativa a PHP y node.js, usando el dialecto
de Pascal ISO o un dialecto híbrido con operadores de JavaScript/C.
 Kylix fue una versión de Delphi para el sistema operativo Linux promovida por la antigua
Borland reiterando la rama de Pascal de sus productos. Como descendiente de Delphi
cuenta con una librería de objetos mejorada llamada CLX, que es la versión para Linux de
la VCL. Sin embargo el proyecto ya se había descontinuado mucho antes de que Borland
vendiera todos sus productos de desarrollo a Embarcadero Technologies, actual dueño de
Delphi.
 MidletPascal para la plataforma J2ME.
 Turbo51 es un compilador Pascal libre para la familia de microcontroladores 8051 family,
que maneja la sintaxis de Turbo Pascal.
 PIC Micro Pascal, para microcontroladores PIC.
 PicPas, compilador multiplataforma y de código abierto, para microcontroladores PIC, de
gama media. Incluye una IDE y un simulador/depurador en la misma aplicación.
 Smart Mobile Studio traduce un programa en dialecto Object Pascal a JavaScript,
especialmente diseñado para ser utilizado en dispositivos móviles.
 TMT. Pascal.

IDE[editar]
 Delphi incluye una IDE moderna y bastante completa, además del compilador que se
incluye en como parte de su producto comercial.
 Lazarus es un clon de Delphi, basado en Free Pascal es software libre.
 Dev-Pascal es una IDE para desarrollar en Object Pascal que soporta a los compialdores
Free Pascal and GNU Pascal.
 MSEide es una IDE multiplataforma para desarrollar sobre Free Pascal. Incluye su propia
librería de clases.
 CodeTyphon es una IDE multiplataforma para desarrollar sobre Free Pascal, muy similar a
Lazarus, pero incluye una cantidad mucho mayor de componentes visuales.

Actualidad[editar]
Actualmente sigue utilizándose este lenguaje en el desarrollo de aplicaciones, gracias a la
aparición de herramientas de desarrollo para nuevas plataformas como Oxygene o Smart
Mobile Studio y la modernización de compiladores y entornos más antiguos como Delphi, Free
Pascal y Lazarus. Hoy en día se usa el compilador Free Pascal y similares para enseñar
programación en las escuelas.4 También se usan compiladores más antiguos como el Turbo
Pascal.5
El lenguaje de programación en Pascal, es un lenguaje de alto nivel, y de proposito general, lo cual
quiere decir que se puede utilizar para cualquier tipo de propósitos.El lenguaje de programación
en Pascal se considera un lenguaje estructurado, sencillo y practico para todos aquellos usuarios
que se inician en el mundo de la programación, ya que fue creado con fines de aprendizaje.

Al ser un Pascal lenguaje estructurado, sirve de base para cualquier otro lenguaje de alto nivel, por
estas caracteristicas es utilizado en las universidades e institutos de educacion para inicializar a los
futuros ingenieros en sistemas o informatica.

El lenguaje de programación Pascal, es idoneo en el estudio y definicion de las estrucuras de datos,


su facil definicion lo hace manejable para un programador novato.

Con la programación en Pascal, se pueden realizar desde programas formales, rutinas, utilitarios,
hasta cualquier clase de video juegos.

Programación en Pascal es un lenguaje de sintaxis sencilla, muy estructurado y que comprueba


exhaustivamente todo tipo de datos.

El mejor de los propósitos de programación en Pascal es que enseña buenas formas de


programación, con lo cual se utiliza mucho en la enseñanza, por todos los motivos nominados
anteriormente, por su sencillez, su estructuración y su facilidad de lectura y entendimiento.
Existen varios dialectos locales de programación en Pascal, entre ellas el Turbo Pascal, el cual
acepta intrucciones de Pascal.

Lenguaje Html

Las páginas que nos encontramos en Internet, las páginas web,


están construidas en un lenguaje de etiquetas denominado lenguaje
html.

Esto quiere ser un sencillo curso para que seas capaz, en


relativamente poco tiempo, de realizar tus primeras páginas web
escribiendo el código correspondiente, antes de pasar a ver algún
editor de código concreto (Dreamweaver por ejemplo) que
simplifican enormemente la tarea.

¿Por qué entonces no empezar directamente con el editor?

Porque es muy importante tener ciertos conocimientos del lenguaje


ante posibles problemas que, sin lugar a dudas, se nos van a
presentar al editar nuestras páginas.

La red está llena de cursos sobre el lenguaje HTML. ¿Qué aporta


éste que no tengan los demás? Probablemente no mucho. He
pretendido la sencillez y la claridad. Al principio quería ser de nivel
inicial y, conforme lo he ido ampliando, ya está en un nivel de
intermedio. No obstante, los primeros pasos están pensados para
personas con escasos conocimientos de informática en general, y
de páginas web en particular.

He recopilado aquí alguno de los otros cursos que sobre este tema
hay en la red.

El curso puede ser seguido de forma lineal o, a través de los


enlaces a cada uno de los apartados:

Nota: El curso está creciendo. He introducido unos apartados que los he


colocado bajo la etiqueta de "avanzado". No es necesariamente que lo
introducido allí sea especialmente difícil; a veces sí. Otras veces es,
simplemente, una ampliación a lo trabajado en el resto del curso. Se accede,
desde contenidos, o desde el icono desde cada una de las páginas.
1.- Antes de empezar.
Sitúate con el puntero del ratón sobre cualquier punto vacío de esta
página que estás leyendo en estos momentos. Pulsa el botón
derecho de tu ratón. Se abrirá el siguiente menú contextual:

Si, en vez del Explorer, estás leyendo esta página con el Firefox, el
menú contextual será algo distinto:

A continuación elige la opción señalada en cada uno de los casos.


Verás algo así:
En el caso de que estés con el Explorer. O algo así:
En el caso del Firefox.

Pues bien, en ambos casos, estás visualizando el código fuente que


da origen a la página que estás leyendo en estos momentos. Es
decir, es lo que hay que escribir para que la página se muestre tal
cual la estás viendo.

Probablemente tanto símbolo extraño y palabras algo raras te


sorprenderán y te llevarán a la idea de que "esto es muy difícil" y
"no es para mí". Tranquilo. Sin ser fácil, el lenguaje html está al
alcance de cualquier persona, y las cosas, paso a paso, se pueden
hacer algo más sencillas.

2.- Empezando.
El código fuente, se escribe en un procesador de texto. Nosotros lo
vamos a hacer con el Bloc de notas. Para abrir el Bloc de Notas, le
damos a Inicio > Todos los programas > Accesorios > Bloc de
notas. Se abrirá una ventana como ésta:
Dependiendo de cómo esté configurado tu ordenador, quizá no
encuentres el Bloc de notas en esta ruta.

A continuación debes saber que las dos etiquetas fundamentales


dentro de las cuales tiene que ir nuestro código fuente
son <html> como etiqueta de apertura y </html> como etiqueta de
cierre. Después, todo lo que será visible al visitar la página con el
navegador, debe de estar entre las etiquetas <body> cuerpo, en
inglés, como etiqueta de apertura y </body>como etiqueta de cierre.

Nota: Las etiquetas también se pueden escribir con letras


mayúsculas: <HTML> <BODY>...Nosotros vamos a optar por las minúsculas
por ser lo que se está imponiendo de acuerdo con las últimas normas.

Vamos a escribir algo en nuestra página. Por ejemplo Bienvenid@.


Lo escribiremos entre <body> y </body>. Nuestro código quedará
así:
Ahora tenemos que guardar nuestro documento en alguna parte del
ordenador y ¡muy importante! con un nombre y una extensión
especial. El nombre va a ser index (ya veremos porqué este nombre
más adelante) y su extensión .html

También se podría guardar con la extensión .htm (el resultado es


exactamente el mismo).

El sitio puede ser cualquier parte del ordenador. Para tenerlo


accesible, lo vamos a guardar en el Escritorio: Le damos
a Archivo > Guardar

Nos aparecerá la ventana de selección de directorio:


Elegimos Escritorio y le llamamos index.html

Observa que en Tipo no hemos cambiado nada. No es necesario al


haber incluído la extensión .html en el nombre del archivo.

Podemos visualizarlo para ver si la página funciona....