viernes, 30 de enero de 2015

[Lenguaje] - Pascal 01 - Historia e Introducción al lenguaje

Pascal  - Historia

Pascal a pesar de que se lo considere obsoleto, esta vivo, se utiliza de manera profesional, y por si fuera poco fue y es de influencia para muchos otros lenguajes.
Fue diseñado entre 1968 y 1969, y finalmente publicado en 1970 por Niklaus Wirth. La idea principal era crear un lenguaje simple y eficiente para fomentar las buenas practicas de programación (que a tantos les hacen falta) utilizando la programación estructurada.

Niklaus Wirth

Como su nombre lo sugiere, fue bautizado de esa manera en honor al gran Blaise Pascal.

Uno de los compiladores del lenguaje Pascal mas exitosos fue Turbo Pascal de Borland, rápido, eficiente y sobre todo económico. Con el paso del tiempo, en 1985 se desarrollo Object Pascal, la versión Orientada a Objetos del lenguaje Pascal e implementada en Turbo Pascal en su versión 5.5. Hoy en día uno de los compiladores mas populares es Freepascal y el IDE Dev-Pascal. Hoy en día Borland no comercializa mas las soluciones de desarrollo basadas en pascal, ya que vendió esa división de software a Embarcadero.

Logo de Borland.


Vamos a ir publicando distintos Artículos tanto sobre Pascal, como de Object Pascal, Delphi, Lazarus, etc...



Pascal  - Introducción

¿Que es Pascal?
Es un lenguaje de programación, que a grandes rasgos para hacer una analogía, podríamos decir que se ubica entre Qbasic, y C (mas o menos).
Es un lenguaje Fuertemente Tipado, el código se divide en secciones de Funciones (Siempre retornan un resultado) y Procedimientos (Pueden no retornar resultados). Ademas las variables SIEMPRE deben estar previamente declaradas con su tipo especifico antes de su uso.
Es un lenguaje con compiladores para distintos tipos de Sistemas Operativos y Arquitecturas.
Siempre que finalice una linea de comando, la misma debe terminar con ";", a diferencia de Basic y otros lenguajes que no hacen distinción entre finalizar o no las lineas de programación.

¿Que necesito saber previamente antes de seguir y perderme?
Recomendaría como mínimo conocer entender los conceptos básicos de Programación como ser lo que es un lenguaje, el compilado del mismo, etc... Este no es un tutorial para enseñar Pascal desde 0 y para terminar siendo un profesional, sino que esta mas bien orientado a alguien que esta buscando empaparse un poco en el lenguaje porque necesita conocerlo, o lo que sea.

¿Que herramientas necesito?
Todo el codigo que aqui se comparta va a estar previamente testeado en Freepascal, por lo que seria recomendable que prueben en ese compilador antes de comentar si algo no funciona. Freepascal es Multiplataforma, y puede descargarse desde: http://www.freepascal.org/download.var



1: Uso básico de Freepascal:

Este no es un lenguage, del estilo HTML, que solo era necesario renombrar un archivo de texto, para poder usar este lenguaje. Primero se deve compilar, y luego crear el ejecutable, una vez terminada la compilacion y la creacion obtendran un archivo de extencion .exe . Si sois curiosos, u obtinados, lo aprenderan a usar facilmente, solo hay que pensar un ratito, mirando los botones, y el uso es realmente muy sencillo.

2: Estructura de un programa en Pascal:

Pascal es un lenguaje del tipo estructurado, esto quiere decir que yo no puedo asignar variables en cualquier lado, ni llamar a funciones que no estén declaradas, ni colocar constantes al final del programa, etc... el programa debe seguir una estructura básica, que es:
(las // significan que es un comentario de una sola linea, esto lo que hace es que podamos poner guías o comentarios, para saber lo que estamos haciendo y el compilador no las tome en cuenta. Si quisiéramos poner comentarios largos, de varias lineas deberíamos encerrar dicho comentario entre {} .)
Un programa en Pascal, debe comenzar por declarar (o definir, por decir de alguna manera), el nombre del programa, originalmente este no podía tener mas de 8 caracteres ya que pascal era usado para hacer programas que corren bajo D.O.S. , hoy en día esto no es una limitación con los últimos compiladores de Free Pascal de 32 bits. Una vez declarado el nombre del programa, se termina la linea con un punto y coma (;). Todas las lineas de programación en Pascal, deben terminar con un ; cuando finaliza el comando de la misma.
Por ej:

Program Prueba;

o

program ProyectoDesarrolloYLinux;

Programando con el IDE Lazarus.

Como pueden notar, Pascal no es case sensitive, con lo cual es indistinto si se escribe una sentencia con minúscula o mayúscula. En lo personal recomiendo utilizar al menos una mayúscula al comienzo de cada palabra, ya sea reservada, o creada por nosotros, y como ideal, utilizar algo similar a la notación húngara.

Luego se declaran las constantes, que son aquellas variables que solo tienen permiso de lectura, en realidad, no son variables, pero de esta manera se entiende mejor si uno es principiante. Una constante no puede cambiar su contenido declarado.

Cons
Constante = 'Turbo Pascal 7';

Luego se declaran las variables, las cuales pueden ser de distinto tipo, valores y tamaños. Los tipos de variables mas comunes, son:

Las variables del tipo String (CAD:String;), que se usa para guardar una cadena de caracteres (CAD:='turbo';).
Las variables del tipo Integer (CAD2:Integer), que se usan para contener numeros del tipo enteros (CAD2:=7;).
Las variables del tipo Char (CH:Char;), que se usan para contener solo y un solo caracter (CH:='H';).
Las variables del tipo Real (RE:Real;), que se utilizan para contener números reales (se supone que sabes cuales son los números reales o también llamados de punto flotante).

Estas son las variables mas utilizadas, a lo largo de los post, vamos a ir viendo mas tipos de variables.

Ninguna variable, ni constante, ni ningún tipo de funciones, procedimientos, etc..., puede llevar los nombres de los comandos o palabras que se utilizan para programar en si, estas son llamadas palabras reservadas, como por ejemplo if, then, do, var, cons, etc...

Luego de la declaración de variables, se procede a cuerpo del programa en si, se coloca la etiqueta begin, y desde alli en adelante hasta la etiqueta end. , se coloca todo el cuerpo del programa. Siempre utilizando las variables y las constantes, que estén declaradas previamente, no se pueden usar variables que no hayan sido declaradas.


Program Primero;
{ Comienza el programa, y le indicamos su nombre}

{ Los punto y coma (;), se usan para decirle al compilador que termino una linea de programa, osea en este caso, le indica que ya esta declarado el nombre del programa }
USES sysutils;

CONST // Dependiendo del compilador, puede que se deba escribir CONS o CONST

{Esto sirve para declarar contantes, son como las variables, osea se las puede llamar en cualquier momento, pero solo tienen permiso de lectura, no se puede cambiar el contenido de una constante.}

CAD='Turbo'; //La constante CAD es igual a la palabra Turbo.

Var //Esto sirve para decir que ahora se van a declarar variables.

CAD1 : String[10]; //CAD1 es una variable string, de maximo 10 caracteres.
{Mas adelante, vamos a ver todos o los mas importantes tipos de variables que hay o se usan.}
CAD2 : Integer; //CAD2 es una variable del tipo integer
CAD3 : String; //CAD3 es un string

Begin //Comienzo del programa

CAD1:='Pascal'; //CAD1 contiene la cadena de caracteres 'Pascal'
CAD2:=7; //CAD2 contiene el numero 7
CAD3:= Concat(CAD,' ',CAD1,' ',IntToStr(CAD2)); //Concatena las variables, y los espacios en blanco

Writeln(CAD3); //Escribir en la pantalla CAD3
Readln(); //Para que el programa se detenga a la espera del ingreso de un dato y un enter.

End. //Fin del programa.

Este programa, lo que haría, es en modo consola mostrar en la pantalla "Turbo Pascal 7" y luego esperar por un enter. Irónicamente esta testeado en FreePascal ya que es Software Libre, Multiplataforma, super estable, y me gusta mucho.

Compilando usando el IDE de FreePascal en Windows.

Compilando desde linea de comando en Linux.



La ejecución del programa en Windows CMD.

La ejecución del programa en una consola de Linux.



Esto es todo por el momento, ¡los esperamos en el próximo Post sobre Pascal!

Saludos.
Jorge Abreu.

PD: Saludos a mi profesor de escuela secundaria, Victor Viegas Barros, quien me inicio en la Programación, y a quien le debo mucho de estar en este mundo de la informática.

Victor en la PC, en plena clase de Delphi, yo escribiendo en la pizarra.


Home Page de Lazarus: Aqui
Home Page de FReePascal: Aqui
Home Page de Dev-Pascal: Aqui
Home Page de Embarcadero Delphi: Aqui
Manual en proceso de desarrollo sobre Pascal en Wikilibros: Aqui




Escrito por

Espero que les haya gustado, ¡y no se olviden de comentar o sugerir futuros temas! Mi Twitter: @ar_jorge1987



3 comentarios :

  1. "Nunca es tarde para estudiar.
    No te rindas hasta tener un oficio, una profesión, o un título que te permita vivir sin depender de nadie. Porque esa habilidad irá contigo por siempre, dará sustento a tu familia, nunca te dejará, y como siempre soñaste... te será fiel hasta la muerte."

    No dejás de hacer que me ponga ancho por haber participado de tu educación, gracias!!!!

    ResponderBorrar
  2. Muy buena introducción de Pascal!
    Yo también estudié hice la secundaria en la misma escuela en los años 2000-2002 y tuve de profesor a Victor Viegas. Las clases de programación me costaban pero en el ultimo año me termino gustando la informática cuando hice el multimedial en en la materia de Viegas usando Delphi. Tal es así que después hice la carrera de ingeniería en informática la Universidad Nacional de La Matanza.

    ResponderBorrar