El mejor lenguaje del mundo, Pascal
By: Date: septiembre 21, 2007 Categories: Programación

Había una vez hace mucho tiempo, cuando un joven muchacho que quería dar el siguiente paso, quería aprender a programar, leyó el help del msdos y encontró Qbasic, pero poco tiempo después de leer libros, si libros normales, no era fácil conseguir PDFs en aquella época. Llego a la conclusión que Qbasic era para maricones y necesitaba a prender un lenguaje de hombres y que además tuviera compilador, Qbasic era interpretado. Ese joven muchacho hoy lo conocen como Last Dragon.

Les voy a contar del mejor lenguaje que ha existido, muchos querrán dar su opinión y será bienvenida, pero sin temor a equivocarme, también muchos de los que opinen seguramente no habían nacido para la época en la que estoy hablando.

El lenguaje más versátil de los lenguajes de alto nivel jamás hecho se llama Pascal y su sintaxis es tan elegante que todo el código escrito en el es bello, Erase una vez Pascal, el lenguaje que prohíbe los goto.

Pascal se escribió originalmente por Niklaus Wirth y es casi tan viejo como en lenguaje C con el que comparte una sintaxis muy básica pero más humana. Pascal fue el lenguaje de programación indiscutido en la PC x86 con DOS, sus binarios se ejecutaban más rápido que el código escrito en C por lo que gano mucha popularidad, Además Pascal podría considerarse el padre moral de Java con el concepto de pseudo código en una maquina virtual, sin embargo tanta belleza no era gratuita y era demasiado caro, dejándolo fuera del alcance de la mayoría de los programadores y es cuando lenguajes menos exitosos en la PC como el C llegaron al escritorio de los programadores. Ahora Pascal cuenta con compiladores libres que lo dejan al alcance de cualquiera aunque su popularidad se perdió, sin embargo aun sigue siendo un lenguaje excelente, aun sigue siendo teniendo un compilador rápido y código muy bien optimizado, en el proyecto de FreePascal no en vano su logo un felino corriendo en alta velocidad

La belleza de pascal está en que el código es totalmente estructurado y está fuertemente tipiado ni siquiera requiere notación húngara, la estructura pascal es como la siguiente

[cabecera]
Program nombre
[Declaraciones globales, procedimientos y funciones]
Uses librerías < - Librerias o unidades Var <- Declaracion de variables ** Procedimientos y funciones Begin Código del programa End. Pascal también tiene objetos y puede hacer aplicaciones tanto DOS como Windows, con mucha facilidad y elegancia Articulo relacionado https://www.lastdragon.net/?p=119 Algunos sistemas operativos están escritos en Pascal, aunque estos OS no son populares dejan claro que Pascal es tan potente como C y más. A continuación un ejemplo de un programa que solicita 2 números enteros, los suma y suma 1 DOS program suma; var r,a,b: integer; begin write ('Entero A: '); readln (a); write ('Entero B: '); readln (b); r:= a + b; Writeln ('La suma de A + B en R + 1: ',r + 1); Readln (); end. Windows program sumawin; {$mode objfpc}{$H+} uses {$IFDEF UNIX}{$IFDEF UseCThreads} cthreads, {$ENDIF}{$ENDIF} Interfaces, // this includes the LCL widgetset Forms { add your units here }, winsuma; begin Application.Initialize; Application.CreateForm(Tventana, ventana); Application.Run; end. unit winsuma; {$mode objfpc}{$H+} interface uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, Buttons; type { Tventana } Tventana = class(TForm) a: TEdit; b: TEdit; r: TButton; procedure rClick(Sender: TObject); private { private declarations } public { public declarations } end; var ventana: Tventana; implementation { Tventana } procedure Tventana.rClick(Sender: TObject); var resultado:Integer; begin resultado := StrToInt (a.Text) + StrToInt (b.Text) + 1; r.Caption := IntToStr (resultado); end; initialization {$I winsuma.lrs} end. Los ejemplos compilados con FreePascal SumaFreePascal.zip

27 thoughts on “El mejor lenguaje del mundo, Pascal

  1. Internet Explorer 7.0 Windows Vista

    Un personaje conocido por todos dice lo siguiente

    Megabyte discutiendo niveles de lenguajes.

    Bueno esta charla resumida de Megabyte, dice que Pascal es nivel Medio pero no pudo explicarme por que.

    El dice que QBasic es medio nivel, pero Visual Basic solo
    por ser Visual es alto nivel.

    ¿Alguien aqui sabe como se catalogan los lenguajes?, yo se pero si alguien quiere decirle responderle a Mbyte por que esta mal, bienvenido, al final explicare como esta lo de los niveles, para los que no lo sepan.

    (23:58:48) il est merde: claro yo si programo jajaj
    (23:58:51) il est merde: y no digo ke pascal
    (23:58:54) il est merde: es de alto nivel
    (23:58:55) il est merde: xDDDD

    (23:58:57) msg@lastdragon.net: ahhh
    (23:59:00) msg@lastdragon.net: explicame que es?
    (23:59:07) il est merde: medio si a caso
    (23:59:13) msg@lastdragon.net: no sabes ni los niveles

    (0:00:18) il est merde: jaja pascal nivel alto
    (0:00:20) il est merde: pobre pendejo
    (0:00:25) il est merde: ni sabes ke es eso
    (0:00:30) msg@lastdragon.net: explicame

    (0:01:57) il est merde: y visual basic es alto nivel
    (0:02:11) msg@lastdragon.net: por que visual basic es alto nivel?
    (0:02:14) il est merde: jaja tu pusiste ke pascal era alto xDDD

    (0:05:49) msg@lastdragon.net: explicame por que
    (0:05:55) msg@lastdragon.net: ya me dijsite que es medio, pero por que?
    (0:06:00) msg@lastdragon.net: ve a googlear y me lo explicas
    (0:06:03) msg@lastdragon.net: si tienes las bolas
    (0:06:05) il est merde: jajaja
    (0:06:07) msg@lastdragon.net: para retractarte

    (0:08:55) msg@lastdragon.net: explicame por que pascal es medio nivel
    (0:08:59) msg@lastdragon.net: segun tu
    (0:09:04) msg@lastdragon.net: no has podido darme una explicacion
    (0:09:11) msg@lastdragon.net: no puedes explicarme lo que ignoras

    (0:10:12) msg@lastdragon.net: ensamblador es nivel?
    (0:10:21) il est merde: bajo
    (0:10:24) msg@lastdragon.net: C es nivel?
    (0:10:26) il est merde: relee
    (0:10:29) il est merde: medio
    (0:10:32) msg@lastdragon.net: Pascal es nivel?
    (0:10:35) il est merde: medio
    (0:10:39) il est merde: visual es alto
    (0:10:39) msg@lastdragon.net: Qbasic es nivel?
    (0:10:41) il est merde: delphi es alto

    (0:13:07) msg@lastdragon.net: deja te explico algo y sacas conclusiones
    (0:13:13) msg@lastdragon.net: la sintaxis…. es la misma
    (0:13:21) msg@lastdragon.net: Delphi tiene la misma que Pascal
    (0:13:27) il est merde: pero no es visual
    (0:13:32) msg@lastdragon.net: Qbiasc es igual que Visual basic en sintaxis
    (0:13:47) msg@lastdragon.net: ahora bien… sabes por que es visual?
    (0:13:51) msg@lastdragon.net: por que lleva la palabra visual?
    (0:13:54) msg@lastdragon.net: Visual Basic?

    (0:15:28) msg@lastdragon.net: pero explicale por que es visual por que al pendejo que le puso nombre se le ocurrio ponerle visual
    (0:15:29) il est merde: no por eso
    (0:15:47) msg@lastdragon.net: estas confundiendo lo visual con el nivel

    (0:20:05) msg@lastdragon.net: delphi tiene la misma que pascal, y dices que pascal es medio
    (0:20:06) il est merde: de llegar a los niveles de hardware
    (0:20:07) msg@lastdragon.net: explicate mejor
    (0:20:13) il est merde: jaja
    (0:20:23) il est merde: aun no entiendes

    (0:22:57) il est merde: s hora de blokearte
    (0:23:03) msg@lastdragon.net: la verguenza
    (0:23:05) msg@lastdragon.net: JAJAJAJAJA
    (0:23:07) msg@lastdragon.net: JAJAJAJAJAJAJa

  2. Internet Explorer 7.0 Windows Vista

    Mas que meter a mbyte se trata de un debate, en el que ya estoy via msg participando con Murder aunque parece que tampoco estamos de acuerdo en las clasificaciones de los lenguajes

  3. Mozilla Firefox 2.0.0.7 Windows XP

    ¬¬!

    Yo soy programador experto, se programar en mirc script que es de bajo nivel.

    Ustedes solo programan chorradas como esas de las que hablan, aprendan mirc script que es lo duro de verdad.

    Saludos! ^^

  4. Mozilla Firefox 2.0.0.7 Windows XP

    Por que ahora todos les da por decir que son mas “hombres” por programar en tal y aquel lenguaje.

    Los niveles de los lenguajes se clasifican segun su abstraccion desde el lenguaje maquina y a partir de que tanto se acercar al lenguaje humano, ademas de facilitarle la vida al programador.

    Asi que lenguajes de muy alto nivel:
    Ruby,python,scheme

    Lenguajes de medio nivel:
    C#,vb, pascal, delphi, eiffel, etc.

    Lenguajes de bajo nivel:
    C,C++, ASM

    En si los niveles de los lenguajes se miden, segun que tanto te acercas o te alejas del nivel mas bajo (codigo maquina), logico si cualquiera de nosotros codifica en codigo de maquina (o ensamblador en su defecto) esta trabajando en un lenguaje de bajo nivel, nada que ver con que tan “macho” te sientes programando.

    Muchos sistemas no necesariamente tienen que estar hechos en C o ASM para ser complejos o muy buenos, una aplicacion como toad, esta hecha en pascal y por ejemplo el sistema operativo Plan 9 en un inicio fue escrito en un lenguaje conocido como Alef.

    Bueno a ultimas, a fin de cuentas todo se traduce a codigo maquina.

    Les recomiendo que chequen estos enlaces:
    http://en.wikipedia.org/wiki/Very_high-level_programming_language
    http://en.wikipedia.org/wiki/High-level_programming_language
    http://en.wikipedia.org/wiki/Low-level_programming_language

  5. Internet Explorer 6.0 Windows XP

    ademas mierdabyte se sinto acorralado, y no tenia argumentos para responder asi que como vil rata huye..

    notese: “s hora de blokearte”

    clasico de la gente que no tiene conque defenderse, o que desconoce las cosas que le preguntan

    Y LOS LOGS, QUE PUBLICAN AQUI SIRVEN DE MUCHO, PUES MIERDABYTE QUEDO NUEVAMENTE EXHIBIDO

  6. Internet Explorer 7.0 Windows Vista

    Como ya han comentado los lenguajes se miden por su nivel de abstracción, mientras mas compresible es para un ser humano gana puntos para considerarlo alto nivel.

    Hay que considerar también que los lenguajes pueden estar en 2 niveles al mismo tiempo, el caso mas común es C, clasificarlo como nivel medio es por el hecho de que comparte cosas de bajo nivel y de alto nivel. Basándonos en la lógica un lenguaje de medio nivel seria mejor que un alto nivel por que tiene lo de este y lo de más bajo nivel.

    Ahora algunas de las reglas mas básicas para catalogar a un lenguaje de alto nivel son

    Cosas que debe tener un lenguaje de alto nivel
    Tipos de datos, estructuras de control y manejo de cadenas

    Bajo nivel
    No tiene estructuras de control, ni tipo de datos

    Veamos el caso de C, porque se considera medio nivel ya con esas 2 reglas sacamos que el medio nivel es que C tiene cosas de ambos lados.

    C tiene estructuras de control, pero no es un lenguaje tipiado, alto nivel
    Es válido por ejemplo asignar un char como int sin necesidad de un “cast”, bajo nivel
    No posee manejo de cadenas de texto como parte del lenguaje, bajo nivel

    Para probar esta afirmación, voy a escribir una ABERRACION de código y a lo mucho el compilador me va dar unos warnings pero al final compilara y linkeara el programa y luego lo ejecutare.

    #include

    int main ()
    {
    int c = 10;
    float b = 1.5;
    char a;

    a = b + c;
    printf (“%f”,a);
    return 0;
    }

    [lastdragon@tilatino auten]# gcc sasl.c -o sasl
    sasl.c: En la función ‘main’:
    sasl.c:10: aviso: declaración implícita incompatible de la función interna ‘printf’

    [lastdragon@tilatino auten]# ./sasl
    -0.043277

    Y es por eso que C es medio nivel

    Otros lenguajes que podrían ser considerados medio nivel basándonos en este tipo de clasificación es PHP

    PHP tiene cosas de alto y bajo nivel
    Tiene estructuras de control y manejo de cadenas, Alto nivel
    No es tipeado, como C. Esto es de bajo nivel

    En PHP es válido asignar un string a un int cual aberración que mostré en C

    Pascal es un lenguaje fuertemente tipeado, tiene manejo de cadenas y estructuras de control, cumple con todo para ser alto nivel.

    Y así, hay lenguajes que tienen cosas de alto y bajo nivel por lo que pueden ser considerados medios niveles o que pertenecen a 2 clasificaciones

  7. Internet Explorer 7.0 Windows Vista

    dejame ver que le paso al liberador de pdf le estuve moviendo para que sea capas de desbloquear mas pdfs pero creo que algo no hice bien que lo deje sin funcionar

    5 min despues …. intenta y dime si ya jala

  8. Internet Explorer 7.0 Windows Vista

    solo una cosa last que creo que no se había comentado: para desbloquear el archivo, no se deben incluir acentos ni eñes, como que eso impide que jale bien el desbloqueo. saludos!

  9. Opera 9.23 Windows Vista

    “La belleza de pascal está en que el código es totalmente estructurado y está fuertemente tipiado”
    “C tiene estructuras de control, pero no es un lenguaje tipiado,”

    Puedes definir “tipiado”? 😐 te lo leo mucho, o es tipado? (de tipos, tipeado is wrong too)
    y no se, no pondria como mejor lenguaje a uno casi obsoleto, y ahora mas usado para el ambiente academico ..

  10. Mozilla Firefox 2.0.0.7 Windows XP

    Pascal, como puedes decir que es un buen lenguaje? es un buen lenguaje desde un punto teórico; porque en la práctica no lo es.

    Sus motivos de crearlo fueron para enseñar a programar, por ser más facil de los lenguajes del momento.
    Siempre tuvo fines didacticos, es por eso que hasta hace poco se enseñaba en la facultad (yo estudio cs. de la computacion y por suerte no me toco, pero amigos que estudian Ing. si les toco)

    Se que excedió todo eso un poco, pero eso fue solamente por la facilidad del lenguaje, ya qu es un lenguaje lento y bastante pobre en algunas cosas!

    punteros en pascal? es bien feo.

  11. Internet Explorer 7.0 Windows Vista

    Tipado o Tipiado son correctas dependiendo de la zona geografica donde lo dices y si se refiere a los tipos de datos.

    Un sujeto
    PHP inicio como un simple script para medir visitas de una pagina PERSONAL no para que extraños lo incorporaran en sus paginas… sin embargo PHP evoluciono.

    Java inicio como un lenguaje para sistemas empotrados y ahora se usa para aplicaciones

    Ya con esos 2 casos veo absurdo intentar quitarle meritos a pascal diciendo que inicio como un sistema de estudio, de hecho para mi eso no es un desmeritod es un feature, por que de ahi proviene la elegancia de su codigo, ahora que si explicas mejor lo de bastante pobre.

    Yo jamas he tenido problemas con direcciones de memoria, ni comp unteros, ni con embedirle codigo ensamblador, ni con llamadas al sistemas, practicamente con nada.

  12. Internet Explorer 7.0 Windows XP

    Vamos last, PHP va por la versión 5, Java no para de evolucionar.

    Pascal no se utiliza en la práctica para crear sistemas, para eso esta delphi….

    Que sistemas se programaron en pascal? y se utilizan hoy en día?
    Si conoces te pido que me enseñes, porque desconozco pero hasta donde yo se, no ocurre esto…

    Un saludo.

  13. Mozilla Firefox 1.5.0.9 Linux

    Bueno es que Delphi es Pascal orientado a objetos, si usas delphi estas usando pascal, de hecho el ejemplo de suma para windows no esta compilado con delphi, ese esta compilado con freepascal. hay un potente IDE para pascal que se llama lazarus, si no quieres comprar delphi y tampoco te agrada la pirateria como a mi, descarga lazarus, lazarus incluye compilador free pascal y un front end que es identico a delphi al de delphi.

    De hecho a mi forma de ver Delphi no es un lenguaje es una suite o un IDE/RAD por que Delphi no hace nada que un compiilador de pascal no hiciera, muchois programas que de windows los podria reescribir sin ningun problema con el borland pascal cross compiler target windows, desde el DOS sin ningun problema podria hacer aplicaciones windows como las de delphi pero… tomando en cuenta que ese compilador es viejo no serian win32 sino win16. freepascal genera win32

  14. Internet Explorer 7.0 Windows Vista

    Las leyendas eran ciertas

    Education Highschool
    1999-2002 Miguel Bernard Perales México, D.F.
     GED Certificate.
     Technical career (Computer Assisted Drawing). <- Soporte Tecnico College 2002-2004 ESCOM (IPN) México, D.F.  Computer Systems Engeenering (3rd Semester) <- Ing En sistemas, truncado en tercer semestre  CNM (T.V.I.) Current student of Computer Science <- aun esta estudiando ciencias de la computacion  CNM Master Degree e-commerce <- Master en E-Commerce?, no que fluidos, no es una maestria mmmmmm interesante.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *