¿Interesa a día de hoy aprender Pascal?

Avatar de Usuario
Jinks
Mensajes: 1349
Registrado: 09 Oct 2013 16:47
Agradecido : 64 veces
Agradecimiento recibido: 127 veces
Contactar:

Re: ¿Interesa a día de hoy aprender Pascal?

Mensajepor Jinks » 01 Nov 2014 18:03

Último mensaje de la página anterior:

mcleod_ideafix escribió:Si mal no recuerdo, la demo de Second Reality, está hecha en una mezcla de Turbo Pascal, Turbo C y ensamblador. Ahí es ná... :)
https://github.com/mtuomi/SecondReality


Esa demo hizo historia. Buenísima como todo lo de Future Crew, pero tenía algo más. Todavía no soy capaz de sacarme la música de la cabeza cada vez que me acuerdo. Ohhh, ya empezamos... -fisch

grxt123
Mensajes: 230
Registrado: 08 Nov 2012 10:14
Agradecimiento recibido: 11 veces

Re: ¿Interesa a día de hoy aprender Pascal?

Mensajepor grxt123 » 01 Nov 2014 21:39

La verdad es que de los lenguajes que he usado el que más me gusta es el Pascal. Es cierto que el C++ por ejemplo, tiene mucho más "recorrido" hoy en día, pero el Pascal aun tiene al menos un compilador comercial multiplataforma, el Embarcadero Delphi (o como narices se llame ahora). También tienes el FreePascal con el IDE Lazarus.

Si quieres aprender un lenguaje para usarlo de manera "profesional", pues desgraciadamente hoy en día hay mejores alternativas que el Pascal, pero si es para uso esporádico, pues adelante.

Avatar de Usuario
wilco2009
Mensajes: 1819
Registrado: 07 Ene 2013 16:48
Ubicación: Valencia
Agradecido : 85 veces
Agradecimiento recibido: 153 veces

Re: ¿Interesa a día de hoy aprender Pascal?

Mensajepor wilco2009 » 01 Nov 2014 23:26

Rauli escribió:Sabiendo C yo no me metería a aprender Pascal, de no ser que el C se te quede grande.

Poco más potente que Basic no creo. Está entre Basic y C, pero yo lo veo más cercano a C que a Basic. Es compilado, como C. Tienes que saber "cómo funcionan las cosas por dentro", como en C (aunque no tanto). Es estructurado, como C. Y en velocidad de ejecución debería ser más parecido a un programa equivalente en C que a un programa equivalente en Basic.

Por cierto, HTML... ¿programación? -no

Yo soy un fanatico del Pascal, y me gustaria hacerte una puntualización. Pascal es estructurado, C no lo es.
C no permite anidar funciones, sin embargo en Pascal no hay límite de anidamiento.

Pascal te incita a programar bien, C te deja libertad para que lo hagas tan mal como desees.
Esta anticuado sí, pero por causas ajenas a su calidad.

Alguien ha dicho por ahi que el C es el origen de casi todo, pero nada mas lejos de la realidad. La programación estructurada alcanzó su cima en el Pascal, y el C la copio de una manera descafeinada.

Mas libertad si que da el C, pero eso acaba casi siempre convirtiendose en una desventaja.

En resumen, con Pascal se podia hacer todo lo que se hacia con C, y con el compilador adecuado, de una manera practicamente igual de eficiente.
"Nada viaja a mayor velocidad que luz con la posible excepción de las malas noticias las cuales obedecen a sus propias leyes."

Douglas Adams. Guía de autoestopista galáctico.

mcleod_ideafix
Mensajes: 925
Registrado: 13 Ene 2012 09:45

Re: ¿Interesa a día de hoy aprender Pascal?

Mensajepor mcleod_ideafix » 02 Nov 2014 08:41

wilco2009 escribió:En resumen, con Pascal se podia hacer todo lo que se hacia con C...

¿Segurooooooo? ¿Qué hay de las funciones con número variable de argumentos? ;)
Cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista.

javu61
Mensajes: 325
Registrado: 26 Mar 2011 15:58
Agradecimiento recibido: 1 vez

Re: ¿Interesa a día de hoy aprender Pascal?

Mensajepor javu61 » 02 Nov 2014 10:56

En Pascal se pueden anidar funciones, en C no (realmente nunca he tenido necesidad de hacerlo ni entiendo su utilidad real, pero está en el lenguaje). Pero un lenguaje estructurado lo es por admitir un tipo de estructuras, que el C si admite, por tanto es igual de estructurado uno que otro.

Yo he visto miles de programas de otros, y te aseguro que un buen programa es el que es fácil de entender, eso no depende del lenguaje sino del programador, he visto cosas ilegibles en todos los lenguajes, y maravillas escritas en Basic clásico, lo importante no es el lenguaje sino el programador.

White era profesor universitario, desarrolló mucho la teoría, y ha echo muchas cosas interesantes, pero definió un lenguaje para enseñar a programar. Ritchie era programador, un muy buen teórico, desarrolló muchas cosas de sistemas operativos y compiladores, pero lo suyo era mas la parte práctica, por eso desarrolló un lenguaje para programadores. Esa es la principal diferencia entre ambos lenguajes, y te lo digo desde la experiencia del programador.

Es cierto que cuando escribes: a = i++ en lugar de i := i + 1 se entiende mas facil que cuando escribes:

a = ++i en lugar de a := i; i := i + 1;
if ((a=b+c)==7) { ... } en lugar de a := b + c; IF (a = 7) then begin ... end;

pero el C hace que se escriba menos, lo que es un gran tractivo para los programadores.

Avatar de Usuario
wilco2009
Mensajes: 1819
Registrado: 07 Ene 2013 16:48
Ubicación: Valencia
Agradecido : 85 veces
Agradecimiento recibido: 153 veces

Re: ¿Interesa a día de hoy aprender Pascal?

Mensajepor wilco2009 » 02 Nov 2014 11:06

mcleod_ideafix escribió:
wilco2009 escribió:En resumen, con Pascal se podia hacer todo lo que se hacia con C...

¿Segurooooooo? ¿Qué hay de las funciones con número variable de argumentos? ;)

Eso es cierto, y creo que era lo unico que echaba de menos en Pascal que tuviera una utilidad real.
Habia cosas como los tipos procedurales que tampoco estaban en el Pascal estándar, pero que se incorporaron al Turbo Pascal posteriormente.

Otras cosas como los operadores ternarios o incrementales, o la falta de comprobación de tipos tampoco estaban, pero en mi opinion eran innecesarios y del todo incovenientes.

javu61 escribió:En Pascal se pueden anidar funciones, en C no (realmente nunca he tenido necesidad de hacerlo ni entiendo su utilidad real, pero está en el lenguaje). Pero un lenguaje estructurado lo es por admitir un tipo de estructuras, que el C si admite, por tanto es igual de estructurado uno que otro.

Yo he visto miles de programas de otros, y te aseguro que un buen programa es el que es fácil de entender, eso no depende del lenguaje sino del programador, he visto cosas ilegibles en todos los lenguajes, y maravillas escritas en Basic clásico, lo importante no es el lenguaje sino el programador.

White era profesor universitario, desarrolló mucho la teoría, y ha echo muchas cosas interesantes, pero definió un lenguaje para enseñar a programar. Ritchie era programador, un muy buen teórico, desarrolló muchas cosas de sistemas operativos y compiladores, pero lo suyo era mas la parte práctica, por eso desarrolló un lenguaje para programadores. Esa es la principal diferencia entre ambos lenguajes, y te lo digo desde la experiencia del programador.

Es cierto que cuando escribes: a = i++ en lugar de i := i + 1 se entiende mas facil que cuando escribes:

a = ++i en lugar de a := i; i := i + 1;
if ((a=b+c)==7) { ... } en lugar de a := b + c; IF (a = 7) then begin ... end;

pero el C hace que se escriba menos, lo que es un gran tractivo para los programadores.


Si se escribe menos a cambio de que se entienda peor, no lo veo una ventaja. Creo que si se entiende mejor acabarás ahorrando tiempo.

Yo si he utilizado anidamiento, y es imprescincible si quieres llevar al máximo la abstración y la legibilidad del código.
Es como si no se pudiera anidar en la programacion orientada a objetos, ¿a que no permitiria utilizar la abstracción adecuadamente?, pues en mi opinion esto es lo mismo.

Yo tambien he visto muchos programas, y aunque he visto muchos bien hechos en C, tambien he visto verdaderas barbaridades muchisimo mas abundantes que en Pascal, por el simple hecho de que la falta de flexibikidad en algunas cosas te crea la costumbre de hacer las cosas bien.
"Nada viaja a mayor velocidad que luz con la posible excepción de las malas noticias las cuales obedecen a sus propias leyes."

Douglas Adams. Guía de autoestopista galáctico.

Avatar de Usuario
Jinks
Mensajes: 1349
Registrado: 09 Oct 2013 16:47
Agradecido : 64 veces
Agradecimiento recibido: 127 veces
Contactar:

Re: ¿Interesa a día de hoy aprender Pascal?

Mensajepor Jinks » 02 Nov 2014 12:55

En cuanto a que Pascal no soporta funciones con número variable de argumentos, no creo que eso impida hacer nada. Siempre hay alguna manera de agrupar los parámetros aunque sea en un array. No es igual de cómodo, pero no creo que suponga un gran obstáculo.

wilco2009 escribió:Yo soy un fanatico del Pascal, y me gustaria hacerte una puntualización. Pascal es estructurado, C no lo es.
C no permite anidar funciones, sin embargo en Pascal no hay límite de anidamiento.


No sabía que el anidamiento de funciones fuera un requisito para considerarse estructurado. Creo que no lo he usado nunca en ningún lenguaje, salvo que las inner class de Java sean algo parecido.

javu61
Mensajes: 325
Registrado: 26 Mar 2011 15:58
Agradecimiento recibido: 1 vez

Re: ¿Interesa a día de hoy aprender Pascal?

Mensajepor javu61 » 02 Nov 2014 19:13

Anidar funciones es una forma de programar, pero yo no lo he echado en falta nunca ya que es muy sencillo de simular (además de que una función dentro de otra recuerda demasiado a un objeto, que se compone de funciones, y no es el mismo concepto ni parecido):

Función A
...
...
...Funcion B
......
......
...end;
...
end;

yo nunca me lo he planteado así (de echo nunca me acuerdo que se puede hacer así en Pascal y nunca lo he echo), yo siempre lo he echo así:

Función A
...
...
...Ejecutar función B
...
end;

Función B
...
,...
end;


Es un mecanismo sencillo y directo. Escribir programas es una estructura mental, si lees a = --i; ya sabes que primero se decremente i y luego se asigna su valor a la variable, es sencillo y directo de entender, no entiendo que sea mas complicado que ponerlo en dos líneas.

Y un lenguaje es estructurado si permite escribir un programa sin usar nunca la instrucción GOTO, por tanto Pascal, C, Visual Basic o Java son lenguajes estructurados, ya que tienen estructuras que permiten no usar nunca el GOTO, como el REPEAT o el WHILE. Como anecdota, habiendo programado siempre en BASIC y sus dialectos, cunado lei el manual del C y vi que aunque existe no se usa el GOTO, pensé que como era posible hacer algo sin el GOTO, pero nunca lo he tenido que usar. Los puristas permiten el uso del GOTO para salir de una serie de bucles anidados directamente, evitando escribir muchas líneas para salir individualmente de cada uno de los bucles, por lo que el programa será mas rápido, pero yo solo he usaro el GOTO en los Basic clásicos, y nunca en Java, C o Visual Basic que lo permiten. No recuerdo si Pascal también lo permite o no, pero como son cosas que no usas no te preocupas de mirarlo.

dancresp
Mensajes: 5281
Registrado: 13 Nov 2010 02:08
Agradecido : 102 veces
Agradecimiento recibido: 207 veces

Re: ¿Interesa a día de hoy aprender Pascal?

Mensajepor dancresp » 02 Nov 2014 21:45

La cuestión es: ¿"a quien le interesa"?

Profesionalmente no lo he usado nunca, pero a nivel personal usé el Turno Pascal de MS-DOS y el Delphi en Windows.
Incluso hace unos meses use el Turbo Pascal en CP/M-86 para hacer una versión en modo texto del "Nuclear Invaders"...

Así que, profesionalmente no es el mejor lenguaje a aprender, ya que es mejor centrarse en cualquier lenguaje .NET o Java, pero a título personal la decisión es tuya.

Ahora mismo estoy aprendiendo un lenguaje de programación para un Mainframe de IBM de 1959.
¿Interesente? profesionalmente seguro que no, pero a nivel personal estoy disfrutando un huevo...

Avatar de Usuario
zx81
Mensajes: 134
Registrado: 23 Feb 2013 21:31

Re: ¿Interesa a día de hoy aprender Pascal?

Mensajepor zx81 » 02 Nov 2014 23:04

Dancresp++
Today's robots are very primitive, capable of understanding only a few simple instructions such as 'go left', 'go right' and 'build car'.
John Sladek

Empieza a jugar sin tener que compilar: Emulador JSpeccy

Avatar de Usuario
wilco2009
Mensajes: 1819
Registrado: 07 Ene 2013 16:48
Ubicación: Valencia
Agradecido : 85 veces
Agradecimiento recibido: 153 veces

Re: ¿Interesa a día de hoy aprender Pascal?

Mensajepor wilco2009 » 02 Nov 2014 23:41

javu61 escribió:Anidar funciones es una forma de programar, pero yo no lo he echado en falta nunca ya que es muy sencillo de simular (además de que una función dentro de otra recuerda demasiado a un objeto, que se compone de funciones, y no es el mismo concepto ni parecido):

Función A
...
...
...Funcion B
......
......
...end;
...
end;

yo nunca me lo he planteado así (de echo nunca me acuerdo que se puede hacer así en Pascal y nunca lo he echo), yo siempre lo he echo así:

Función A
...
...
...Ejecutar función B
...
end;

Función B
...
,...
end;


No estoy de acuerdo que esas dos cosas sean lo mismo. Si la función B está fuera de la función A, es visible para otras funciones y tiene caracter global, sin embargo si está dentro de A sólo tiene sentido y visibilidad dentro de la función A.

Tienes razón en que recuerda mucho a la programación orientada a objetos, y aun no siendo lo mismo tiene una cosa en común. Facilita la abstracción.

Yo puedo perfectamente tener dos funciones/procedimientos que tengan un mismo procedimiento local y que se llame de la misma manera, y solo tendrá visibilidad dentro de esa funcion.

javu61 escribió:
Es un mecanismo sencillo y directo. Escribir programas es una estructura mental, si lees a = --i; ya sabes que primero se decremente i y luego se asigna su valor a la variable, es sencillo y directo de entender, no entiendo que sea mas complicado que ponerlo en dos líneas.


Empiezas por ahí y terminas escribiendo cosas como a= --j==5?45:23, cosa que salta a la vista que es muy legible, aunque eso sí ahorra bytes en el fuente, ya que es claramente más corto que....

Código: Seleccionar todo

j = j-1
if (j==5)
  a=45;
else
  a=23;

Aunque claro, yo me quedo con lo segundo.

javu61 escribió:Y un lenguaje es estructurado si permite escribir un programa sin usar nunca la instrucción GOTO, por tanto Pascal, C, Visual Basic o Java son lenguajes estructurados, ya que tienen estructuras que permiten no usar nunca el GOTO, como el REPEAT o el WHILE. Como anecdota, habiendo programado siempre en BASIC y sus dialectos, cunado lei el manual del C y vi que aunque existe no se usa el GOTO, pensé que como era posible hacer algo sin el GOTO, pero nunca lo he tenido que usar. Los puristas permiten el uso del GOTO para salir de una serie de bucles anidados directamente, evitando escribir muchas líneas para salir individualmente de cada uno de los bucles, por lo que el programa será mas rápido, pero yo solo he usaro el GOTO en los Basic clásicos, y nunca en Java, C o Visual Basic que lo permiten. No recuerdo si Pascal también lo permite o no, pero como son cosas que no usas no te preocupas de mirarlo.


Tienes razón en que esa es la definición estricta, pero para mí C nunca será un lenguaje estructurado, ya que cultiva la ofuscación del código, permitiendo utilizar estructuras opacas, y no siendo nada estricto con la comprobación de tipos, lo que hace perder muchísimo más tiempo que el escribir algo más.

Y por último, entiendo que esto es una discusión sin fin y que no lleva a ninguna parte. Cada uno tiene sus gustos, y los míos no coinciden con la tendencia dominante. Qué le vamos a hacer.

En cuanto a la opinión de Dancresp, estoy totalmente de acuerdo con él. Profesionalmente no te llevará a ninguna parte aprender Pascal, es un simple cuestión de satisfacción personal.
"Nada viaja a mayor velocidad que luz con la posible excepción de las malas noticias las cuales obedecen a sus propias leyes."

Douglas Adams. Guía de autoestopista galáctico.

Avatar de Usuario
jrodriguezv
Mensajes: 740
Registrado: 05 Jul 2012 10:32
Agradecido : 9 veces
Agradecimiento recibido: 8 veces
Contactar:

Re: ¿Interesa a día de hoy aprender Pascal?

Mensajepor jrodriguezv » 03 Nov 2014 14:32

Mi progresión con los lenguajes de programación fue:
- Logo
- BASIC
- Pascal
- C
- C++
- Java
- Resto de los que conozco.

Creo que no es mala idea para empezar a aprender comenzar con programación estructurada, pero yo empezaría mejor con C que con Pascal, que aunque parece un poco menos legible, ya te familiarizas con la sintaxis que es más parecida a Java o C#.

Otra opción es comenzar directamente con programación orientada a objetos, para lo que empezaría por Java. Yo recomiendo empezar con estructurada para aprender "los trucos de programación" y posteriormente pasar a entender el paradigma de la orientación a objetos, es decir C y luego Java.

Avatar de Usuario
zx81
Mensajes: 134
Registrado: 23 Feb 2013 21:31

Re: ¿Interesa a día de hoy aprender Pascal?

Mensajepor zx81 » 03 Nov 2014 19:32

wilco2009 escribió:
Tienes razón en que esa es la definición estricta, pero para mí C nunca será un lenguaje estructurado, ya que cultiva la ofuscación del código, permitiendo utilizar estructuras opacas, y no siendo nada estricto con la comprobación de tipos, lo que hace perder muchísimo más tiempo que el escribir algo más.

Y por último, entiendo que esto es una discusión sin fin y que no lleva a ninguna parte. Cada uno tiene sus gustos, y los míos no coinciden con la tendencia dominante. Qué le vamos a hacer.

En cuanto a la opinión de Dancresp, estoy totalmente de acuerdo con él. Profesionalmente no te llevará a ninguna parte aprender Pascal, es un simple cuestión de satisfacción personal.


Dejando aparte los gustos de cada cual, que no son discutibles, y que a los efectos de esta conversación son irrelevantes porque no conozco mejor razón para aprender algo que porque me apetece, tampoco hay que pasarse. Con C puedes programar de una forma bastante clara, aunque expresar ciertas cosas puede parecer complejo cuando no tienes mucha práctica. Es un lenguaje completamente estructurado, con todo lo necesario para considerarlo así. Con C puedes hacer una maravilla de la programación como la XIntrinsics, que es programación en C orientada a objetos sin compilador de C++, o participar en el International Obfuscated C Code Contest, pero eso no es culpa del lenguaje, solo de cómo se utiliza.

Y tendrías que haber escuchado a mi recientemente fallecido ex-compañero de trabajo, que habiendo programado en C en la época del C de Kernighan & Ritchie, echaba pestes del C99 porque le parecía que era "demasiado limitante". Cualquier compilador moderno se pone insoportable si le dices que te avise de todos las cosas sospechosas que encuentre (-Wall en el GCC), y si lo pones en el modo en que cada warning lo convierte en un error (-Werror) te aseguro que te puede hacer la vida imposible. Los compiladores de C modernos son MUY estrictos con lo que escribes. Claro, que puedes ponerlos en modo "pasa de todo" y entonces más te vale que sepas lo que haces. :D
Today's robots are very primitive, capable of understanding only a few simple instructions such as 'go left', 'go right' and 'build car'.
John Sladek

Empieza a jugar sin tener que compilar: Emulador JSpeccy

Avatar de Usuario
ron
Mensajes: 18156
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1054 veces
Agradecimiento recibido: 1101 veces

Re: ¿Interesa a día de hoy aprender Pascal?

Mensajepor ron » 03 Nov 2014 20:11

Al final no os dije que donde más he disfrutado haciendo cosas en Pascal ha sido con el Macintosh. Es que al Finder de antaño le venía como anillo al dedo ya que todo lo podías hacer fácilmente con Pascal. Y así se mantuvo muchos años. Por un lado herencia del ][ ya que tanto este como el Lisa terminaron siendo base operativa pascal pura y dura. Para quien no lo sepa el System del Macintosh se escribió en Pascal excepto ciertas rutinas que están en Asm del 68K.

No solo un lenguaje se limitaba a programación pura y dura, muchos sistemas usaban los lenguajes para que el usuario interactuara con ellos, soy de la opinión que esta conversación en 1985/6 no iba a ser tan suculenta, lo cual nos dice todo lo que hemos ido aprendiendo y asimilando y a día de hoy lo que se busca es lo de siempre, optimización versus fuerza bruta.

Saber Pascal profesionalmente a día de hoy dudo mucho que tenga demasiada utilidad visto lo que hay, pero la satisfacción de conocerlo y haberlo estudiado en su día y haberlo usado ya es un punto, saber no ocupa lugar aunque puede que si algún suspenso.

José Luis que parece que te saltaste mi post ! xD

Avatar de Usuario
TREViZE
Mensajes: 132
Registrado: 03 Feb 2014 13:15
Agradecido : 15 veces
Agradecimiento recibido: 17 veces

Re: ¿Interesa a día de hoy aprender Pascal?

Mensajepor TREViZE » 03 Nov 2014 21:04

Hago acto de presencia para agredeceros nuevamente todas las opiniones, poco más puedo aportar. Patidifuso me estais dejando con este debate, vaya nivel -shock . Me alegra también escuchar una discusión sobre lenguajes de programación, uno la sigue con interés aunque no controle del tema. Qué diferencia con las discusiones sobre fútbol o similares, de las que procuro desconectar como sea. -boredom

Como he comentado, la intención no es para nada utilizar el lenguaje a nivel profesional, sino todo lo contrario. Lo mismo que cuando te ponías a aprender el BASIC de chaval, es casi como un reto, un pique, llámalo X. Incluso soy consciente de que de no practicarlo, no tardaré en perder los conocimientos adquiridos. Estoy sacando bastantes argumentos, eso sí, para defenderme cuando me encuentre con alguien que me diga que es una pérdida de tiempo. Que es algo que estoy seguro que sucederá, mi experiencia como estudiante del idioma persa lo atestigua -507 .

Utilizaré este hilo para ir posteando mi avance, avisar si lo he dejado o qué.

javu61
Mensajes: 325
Registrado: 26 Mar 2011 15:58
Agradecimiento recibido: 1 vez

Re: ¿Interesa a día de hoy aprender Pascal?

Mensajepor javu61 » 03 Nov 2014 22:02

Como he dicho, los lenguajes que mas me gustan con el Basic Clásico, el C, y el moderno Visual Basic con toda la potencia de un C++, pero ya he dicho que no solo existe Delphi, yo en lo que trabajo programamos en...... PASCAL ......

No se hacen programas grandes sino pequeñas rutinas para el manejo de la base de datos, no podemos hacer funciones dentro de funciones (por cierto la visibilidad de bloque se puede hacer en C a nivel de fichero y el resultado es el mismo), no definimos mas que variables simples y registros de la base de datos, pero el lenguaje es pascal, con su := su Begin-End, etc.


Volver a “Lenguajes de Programación y herramientas Dev”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado