Diferencia entre revisiones de «Pascal (lenguaje de programación)»
m Revertidos los cambios de 189.156.82.171 (disc.) a la última edición de Matdrodes |
|||
Línea 20: | Línea 20: | ||
== Características únicas == |
== Características únicas == |
||
A diferencia de lenguajes de programación descendientes de [[Lenguaje de programación C|C]], Pascal utiliza el símbolo := para la asignación en vez de =. Si bien el segundo es más conciso, la práctica ha demostrado que muchos usuarios utilizan el símbolo de igualdad para comparar valores en lugar del comparador de C que es el símbolo |
A diferencia de lenguajes de programación descendientes de [[Lenguaje de programación C|C]], Pascal utiliza el símbolo := para la asignación en vez de =. Si bien el segundo es más conciso, la práctica ha demostrado que muchos usuarios utilizan el símbolo de igualdad para comparar valores en lugar del comparador de C que es el símbolo ==. Esta sintaxis conduce a muchos errores o ''bugs'' difíciles de rastrear en código C. Dado que Pascal no permite asignaciones dentro de expresiones y utiliza sintaxis distinta para asignaciones y comparaciones, no sufre estos errores. |
||
Además sus programas tienen definidas dos partes: declarativa y ejecutiva. En la primera debe aparecer todo lo que se usará en la segunda, de lo contrario se detecta como desconocido y evita ciertas incomprensiones como veremos más adelante. En la parte declarativa se enuncian Unit existentes, procedimientos, funciones, variables, constantes y nuevos tipos de datos estructurados. |
|||
Por que en el mundo de zelda pelea lugi y mario vs. bowser y picachu para la corona real del tacoo!!. |
|||
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. Esto también evita la necesidad de [[notación húngara]], esto es prefijos que se añaden a los nombres de las variables y que indican su tipo. |
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. Esto también evita la necesidad de [[notación húngara]], esto es prefijos que se añaden a los nombres de las variables y que indican su tipo. |
Revisión del 22:27 18 may 2009
Pascal | ||
---|---|---|
Niklaus Wirth | ||
Información general | ||
Extensiones comunes | pp, p y pas | |
Paradigma | imperativo (estructurado) | |
Apareció en | 1970 | |
Diseñado por | Niklaus Wirth | |
Implementaciones | Múltiples | |
Dialectos | UCSD, Borland, Turbo | |
Influido por | Algol | |
Ha influido a | Modula-2, Ada, Delphi, Lazarus, Chrome | |
Pascal es un lenguaje de programación desarrollado por el profesor suizo Niklaus Wirth a finales de los años 60. Su objetivo era crear un lenguaje que facilitara el aprendizaje de la programación a sus alumnos. 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 tipificado. Esto implica que:
- El código esta 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.
El nombre de Pascal fue escogido en honor al matemático Blaise Pascal.
Características únicas
A diferencia de lenguajes de programación descendientes de C, Pascal utiliza el símbolo := para la asignación en vez de =. Si bien el segundo es más conciso, la práctica ha demostrado que muchos usuarios utilizan el símbolo de igualdad para comparar valores en lugar del comparador de C que es el símbolo ==. Esta sintaxis conduce a muchos errores o bugs difíciles de rastrear en código C. Dado que Pascal no permite asignaciones dentro de expresiones y utiliza sintaxis distinta para asignaciones y comparaciones, no sufre estos errores.
Además sus programas tienen definidas dos partes: declarativa y ejecutiva. En la primera debe aparecer todo lo que se usará en la segunda, de lo contrario se detecta como desconocido y evita ciertas incomprensiones como veremos más adelante. En la parte declarativa se enuncian Unit existentes, procedimientos, funciones, variables, constantes y nuevos tipos de datos estructurados.
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. Esto también evita la necesidad de notación húngara, esto es prefijos que se añaden a los nombres de las variables y que indican su tipo.
Implementaciones
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 interprete tenía que ser reescrita hacia muchas arquitecturas.
En los años 1980, Anders Hejlsberg escribió el compilador Blue Label Pascal para la Nascom-2. Más tarde fue a trabajar para Borland y reescribió su compilador que se convirtió en Turbo Pascal para la IBM PC. Este nuevo compilador se vendió por $49, 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 utilizar 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, solo 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 corrieran.
Con Turbo Pascal versión 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 como base. Borland también lo llamó Object Pascal en las primeras versiones, pero cambio el nombre a lenguaje de programación Delphi en sus últimas versiones.
Ejemplo de código usando la estructura lineal:
program raiz(input, output);
(*
Obtener la raíz cuadrada de un número real x cualquiera.
*)
var x, y: real;
respuesta: string;
begin
writeln('** Calcular la raíz cuadrada de x **');
writeln('Entrar x (> 0): ');
readln(x);
y := sqrt(abs(x)); (* Raíz cuadrada del valor absoluto de x para evitar raíces imaginarias *)
writeln;
if (x<0) then (* Si x es negativo, el resultado se notifica como imaginario *)
writeln('La raíz cuadrada de ', x, ' es el número imaginario ', y,'i');
else
writeln('La raíz cuadrada de ', x, ' es ', y);
writeln;
writeln('** Fin **');
readln; (* Espera a que el usuario pulse enter para salir del programa *)
end.
Otro Ejemplo:
program suma; uses crt;
var x,s:integer;
begin
clrscr;
x:=1;
s:=0;
repeat
s:=s+x;
x:=x+1;
until x=50;
writeln('la suma es ',s);
readln;
end.
program multi;
{$APPTYPE CONSOLE}
uses
SysUtils;
var n,x:integer;
begin
x:=0;
writeln('Entra un numero de la serie');
readln(n);
while n<>0 do
if (n mod 3)=0 then
begin
x:=x+1;
writeln('Dame otro numero');
readln(n);
end
else
begin
writeln ('Dame otro numero');
readln(n);
end;
writeln ('El numero de multiples de 3 es',x);
readln;
end.
Compiladores disponibles públicamente
Varios compiladores de Pascal están disponibles para el uso del público en general:
- EpoX
- Compilador GNU Pascal (GPC), escrito en C, basado en GNU Compiler Collection (GCC). Se distribuye bajo licencia GPL.
- 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.
- Turbo Pascal fue el compilador Pascal dominante para PCs 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)
- Delphi es un producto tipo RAD (Rapid Application Development) de Borland. Utiliza el lenguaje de programación Delphi, descendiente de Pascal, para crear aplicaciones para la plataforma Windows. Las últimas versiones soportan compilación en la plataforma .NET.
- Kylix es la versión más nueva de Borland reiterando la rama de Pascal de sus productos. Es descendiente de Delphi, con soporte para el sistema operativo Linux y una librería de objetos mejorada (CLX). El compilador y el IDE están disponibles para uso no comercial. Actualmente este proyecto está descontinuado.
- Lazarus es un clon de Delphi, basado en Free Pascal es Software Libre.
Crítica
A pesar de ser muy extendido el uso de este lenguaje de programación, sobre todo en los años 1980 y principios de los 90, las primeras versiones de Pascal fueron muy criticadas por no producir código de características industriales. Brian Wilson Kernighan, co-creador del lenguaje de programación C, en 1981, en el documento "Why Pascal Is Not My Favorite Programming Language" [1] ("Por qué Pascal no es mi lenguaje de programación preferido") hace una crítica sobre el lenguaje Pascal.
Enlaces externos
- Wikiversidad alberga proyectos de aprendizaje sobre Pascal (lenguaje de programación).
- Desarrollo de Software en Pascal Comunidad virtual para el intercambio de información en castellano sobre desarrollo de software en Pascal para profesionales practicantes, docentes y estudiantes.
- Museo de Borland, permite la descarga gratuita de software antiguo
- Essential Pascal
- Turbo-Pascal.com
- Curso de Turbo Pascal de Carlos Pes
- Curso de Pascal enfocado a Free Pascal y Lazarus. Incluye Object Pascal, temas avanzados y foro con dudas.