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
Muy bueno, aprendamos a aprender :D…
buen articulo 😉
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
mmmm…. los comments iban bien hasta que metiste a mbyte…
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
¬¬!
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! ^^
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
La regue, puse el pascal en medio nivel y es de alto nivel.
Ahi si lo pueden corregir en el post.
a la gente le encanta el circo….bien hecho dragon
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
pues entonces pon los logs de todos tus debates, porque parece que solo la traes con el mega ese… 🙂
por cierto, ya no funca tu desbloqueador de pdf y lo necesito…. 🙁
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
y que pues con lo que yo comento??? 🙁 🙁
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
Desbloqueador nuevamente jalando! Gracias Last!
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!
me refiero a acentos ni eñes en el nombre del archivo…
“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 ..
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.
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.
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.
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
Es mejor decir tipeado. Tipado, por otro lado está bien.
He..
que ondas, no viene al caso pero es interesante, el CVV del MEGACERDO,
solo estudio hasta el 3er semestre de ingenieria :p en la esco ipn….
http://www.tinyurl.com/27nxjb
http://rapidshare.com/files/58272279/resume.doc.html
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.
Yo creo que eMacs, phyton, y pear