Curso de Pascal. Tema 0:
Introducción.
Hay distintos lenguajes
que nos permiten dar instrucciones a un
ordenador (un programa
de ordenador es básicamente eso: un
conjunto de órdenes para un ordenador).
El lenguaje más
directo es el propio del ordenador, llamado "lenguaje
de máquina" o "código
máquina", formado por
secuencias de ceros y unos. Este lenguaje es muy poco intuitivo para
nosotros,
y difícil de usar. Por ello se recurre a otros lenguajes
más
avanzados, más cercanos al propio lenguaje humano (lenguajes
de alto nivel), y es entonces el
mismo ordenador el que se encarga
de convertirlo a algo que pueda manejar directamente.
Se puede distinguir
dos tipos
de lenguajes, según
se realice esta conversión:
-
En los intérpretes,
cada instrucción que contiene
el programa se va convirtiendo a código máquina
antes de
ejecutarla, lo que hace que sean más lentos (a cambio, los
intérpretes
suelen ser más fáciles de crear, lo que permite
que sean
baratos y que puedan funcionar en ordenadores con menor potencia).
-
En los compiladores,
se convierte todo el programa en bloque a código
máquina y después se ejecuta.
Así, hay que esperar
más que en un intérprete para comenzar a ver
trabajar el
programa, pero después éste funciona mucho
más rápido
(a cambio, los compiladores son más caros y suelen requerir
ordenadores
más potentes).
Hay lenguajes para los que sólo hay disponibles
intérpretes,
otros para los que sólo existen compiladores, y otros en los
que
se puede elegir entre ambos. La mayoría de los lenguajes actuales
son compilados, y el entorno de desarrollo suele incluir:
-
Un editor
para escribir o revisar los programas.
-
El compilador
propiamente dicho, que los convierte a código
máquina.
-
Otros
módulos auxiliares, como enlazadores (linkers) para
unir distintos subprogramas, y depuradores (debuggers) para ayudar a
descubrir
errores.
Es cada vez más frecuente que todos estos pasos se puedan
dar desde
un único "entorno integrado". Por
ejemplo, el entorno de Turbo Pascal
7 tiene la siguiente apariencia:

Algunos de los lenguajes
más difundidos son:
-
BASIC,
que durante mucho tiempo se ha considerado un buen lenguaje
para comenzar a aprender, por su sencillez, aunque se podía
tender
a crear programas poco legibles. A pesar de esta "sencillez"
hay
versiones muy potentes, incluso para programar en entornos
gráficos
como Windows.
-
COBOL,
que fue muy utilizado para negocios (para crear software
de gestión, que tuviese que manipular grandes cantidades de
datos),
aunque últimamente está bastante en desuso.
-
FORTRAN,
concebido para ingeniería, operaciones
matemáticas,
etc. También va quedando desplazado.
-
Ensamblador,
muy cercano al código máquina (es un
lenguaje de "bajo nivel"), pero sustituye las secuencias de ceros y
unos
(bits) por palabras más fáciles de recordar, como
MOV, ADD,
CALL o JMP.
-
C,
uno de los mejor considerados actualmente (junto con C++ y Java,
que mencionaremos a continuación), porque no es demasiado
difícil
de aprender y permite un grado de control del ordenador muy alto,
combinando
características de lenguajes de alto y bajo nivel.
Además,
es muy transportable: existe un estándar, el ANSI C, lo que
asegura
que se pueden convertir programas en C de un ordenador a otro o de un
sistema
operativo a otro con bastante menos esfuerzo que en otros lenguajes.
-
C++,
un lenguaje desarrollado a partir de C, que permite
Programación
Orientada a Objetos, por lo que resulta más adecuado para
proyectos
de una cierta envergadura.
-
Java,
desarrollado a su vez a partir de C++, que elimina algunos
de sus inconvenientes, y ha alcanzado una gran difusión
gracias
a su empleo en Internet.
-
PASCAL,
el lenguaje estructurado por excelencia (ya se irá
viendo qué es esto más adelante), y que en
algunas versiones
tiene una potencia comparable a la del lenguaje C, como es el caso de
Turbo
Pascal en programación para DOS y de Delphi en la
programación
para Windows. Frente al C tiene el inconveniente de que es
menos
portable, y la ventaja de que en el caso concreto de la
programación
para DOS, Turbo Pascal no tiene nada que envidiar la mayoría
de
versiones del lenguaje C en cuanto a potencia, y además
resulta
más fácil de aprender, es muy rápido,
crea ficheros
EXE más pequeños, etc., mientras que en la
programación
para Windows, Delphi es una muy buena herramienta para crear
aplicaciones
de calidad en un tiempo razonablemente breve.
Dos conceptos que se mencionan mucho al hablar de
programación son
"programación estructurada" y "programación
orientada a objetos".
La programación
estructurada consiste en dotar
al programa
de un cierto orden, dividiéndolo en bloques independientes
unos
de otros, que se encargan de cada una de las tareas
necesarias. Esto
hace un programa más fácil de leer y modificar.
La programación
orientada a objetos se
tratará
más adelante, cuando ya se tenga una buena base de
programación
"convencional". Como simple comentario, para que vayan
sonando las
cosas a conocidas, diré que "Objects
Pascal" es el nombre
que se suele dar a un lenguaje Pascal que permita
programación orientada
a objetos (como es el caso de Turbo Pascal), y que "C++"
es una
ampliación del lenguaje C, que también soporta
P.O.O.
En lo que sigue vamos a ver los
fundamentos
de la programación
en Pascal, primero intentando ceñirnos al Pascal
estándar,
y luego ampliando con las mejoras que incluye Turbo Pascal, la
versión
más difundida.
Los primeros programas, los
más sencillos, se podrán compilar
con cualquier versión del lenguaje Pascal (o casi), aunque
la mayoría
de los más avanzados (los que incluyan manejo de
gráficos,
por ejemplo) estarán creados pensando en el que posiblemente
sea
en estos momentos el compilador de Pascal más usado: Free Pascal, o bien en el clásico Turbo Pascal 7.0 para Dos.
[Curso de Pascal, por Nacho Cabanes. Ultima versión en www.nachocabanes.com]
|