{"id":170,"date":"2007-09-21T18:30:29","date_gmt":"2007-09-22T00:30:29","guid":{"rendered":"http:\/\/www.lastdragon.net\/?p=170"},"modified":"2007-09-21T18:41:01","modified_gmt":"2007-09-22T00:41:01","slug":"el-mejor-lenguaje-del-mundo-pascal","status":"publish","type":"post","link":"https:\/\/www.lastdragon.net\/?p=170","title":{"rendered":"El mejor lenguaje del mundo, Pascal"},"content":{"rendered":"<p>Hab\u00eda una vez hace mucho tiempo, cuando un joven muchacho  que quer\u00eda dar el siguiente paso, quer\u00eda aprender a programar, ley\u00f3 el help del msdos y encontr\u00f3 Qbasic, pero poco tiempo despu\u00e9s de leer libros, si libros normales, no era f\u00e1cil conseguir PDFs en aquella \u00e9poca. Llego a la conclusi\u00f3n que Qbasic era para maricones y necesitaba a prender un lenguaje de hombres y que adem\u00e1s tuviera compilador, Qbasic era interpretado. Ese joven muchacho hoy lo conocen como Last Dragon. <\/p>\n<p>Les voy a contar del mejor lenguaje que ha existido, muchos querr\u00e1n dar su opini\u00f3n y ser\u00e1 bienvenida, pero sin temor a  equivocarme, tambi\u00e9n muchos de los que opinen seguramente no hab\u00edan nacido para la \u00e9poca en la que estoy hablando.<\/p>\n<p>El lenguaje m\u00e1s vers\u00e1til de los lenguajes de alto nivel jam\u00e1s hecho se llama Pascal y su sintaxis es tan elegante que todo el c\u00f3digo escrito en el  es bello, Erase una vez Pascal, el lenguaje que proh\u00edbe los goto.<\/p>\n<p>Pascal se escribi\u00f3 originalmente por Niklaus Wirth y es casi tan viejo como en lenguaje C con el que comparte una sintaxis muy b\u00e1sica pero m\u00e1s humana. Pascal fue el lenguaje de programaci\u00f3n indiscutido en la PC x86 con DOS, sus binarios se ejecutaban m\u00e1s r\u00e1pido que el c\u00f3digo escrito en C por lo que gano mucha popularidad, Adem\u00e1s Pascal  podr\u00eda considerarse el padre moral de Java con el concepto de pseudo c\u00f3digo en una maquina virtual, sin embargo tanta belleza no era  gratuita y era demasiado caro, dej\u00e1ndolo fuera del alcance de la mayor\u00eda 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\u00f3, sin embargo aun sigue siendo un lenguaje excelente, aun sigue siendo teniendo un compilador r\u00e1pido y c\u00f3digo muy bien optimizado, en el proyecto de FreePascal no en vano su logo un felino corriendo en alta velocidad<\/p>\n<p>La belleza de pascal est\u00e1 en que el c\u00f3digo es totalmente estructurado y est\u00e1 fuertemente tipiado ni siquiera requiere notaci\u00f3n h\u00fangara, la estructura pascal es como la siguiente<\/p>\n<p>[cabecera]<br \/>\nProgram nombre<br \/>\n[Declaraciones globales, procedimientos y funciones]<br \/>\nUses librer\u00edas < - Librerias o unidades\nVar <- Declaracion de variables\n** Procedimientos y funciones\n\nBegin\n\nC\u00f3digo del programa\nEnd.\n\nPascal tambi\u00e9n tiene objetos y puede hacer aplicaciones tanto DOS como Windows, con mucha facilidad y elegancia \n\nArticulo relacionado \nhttps:\/\/www.lastdragon.net\/?p=119\n\nAlgunos sistemas operativos est\u00e1n escritos en Pascal, aunque estos OS no son populares dejan claro que Pascal es tan potente como C  y m\u00e1s.\n\nA continuaci\u00f3n un ejemplo de  un programa que solicita 2 n\u00fameros enteros, los suma y suma 1\n\nDOS\n\nprogram suma;\n\nvar\n\nr,a,b: integer;\n\nbegin\n\nwrite ('Entero A: ');\nreadln (a);\nwrite ('Entero B: ');\nreadln (b);\n\nr:= a + b;\n\nWriteln ('La suma de A + B en R + 1: ',r + 1);\n\nReadln ();\n\nend.\n\nWindows\n\nprogram sumawin;\n\n{$mode objfpc}{$H+}\n\nuses\n  {$IFDEF UNIX}{$IFDEF UseCThreads}\n  cthreads,\n  {$ENDIF}{$ENDIF}\n  Interfaces, \/\/ this includes the LCL widgetset\n  Forms\n  { add your units here }, winsuma;\n\nbegin\n  Application.Initialize;\n  Application.CreateForm(Tventana, ventana);\n  Application.Run;\nend.\n\n\nunit winsuma;\n\n{$mode objfpc}{$H+}\n\ninterface\n\nuses\n  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,\n  Buttons;\n\ntype\n\n  { Tventana }\n\n  Tventana = class(TForm)\n    a: TEdit;\n    b: TEdit;\n    r: TButton;\n    procedure rClick(Sender: TObject);\n  private\n    { private declarations }\n  public\n    { public declarations }\n  end; \n\nvar\n  ventana: Tventana;\n\nimplementation\n\n{ Tventana }\n\nprocedure Tventana.rClick(Sender: TObject);\nvar\nresultado:Integer;\nbegin\nresultado :=  StrToInt (a.Text) + StrToInt (b.Text) + 1;\n\nr.Caption := IntToStr (resultado);\nend;\n\ninitialization\n  {$I winsuma.lrs}\n\nend.\n\n\n\n\n\n\nLos ejemplos compilados con FreePascal\n\n<a href=\"https:\/\/www.lastdragon.net\/misarchivos\/sumafreepascal.zip\">SumaFreePascal.zip<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hab\u00eda una vez hace mucho tiempo, cuando un joven muchacho que quer\u00eda dar el siguiente paso, quer\u00eda aprender a programar, ley\u00f3 el help del msdos y encontr\u00f3 Qbasic, pero poco tiempo despu\u00e9s de leer libros, si libros normales, no era f\u00e1cil conseguir PDFs en aquella \u00e9poca. Llego a la conclusi\u00f3n que Qbasic era para maricones&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-170","post","type-post","status-publish","format-standard","hentry","category-programacion"],"_links":{"self":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/170","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=170"}],"version-history":[{"count":0,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/170\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=170"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=170"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}