Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Debates (https://www.clubdelphi.com/foros/forumdisplay.php?f=29)
-   -   Primer lenguaje de programación ¿ Object Pascal o JAva ? (https://www.clubdelphi.com/foros/showthread.php?t=86361)

rretamar 25-07-2014 17:59:45

Primer lenguaje de programación ¿ Object Pascal o JAva ?
 
En un grupo de Facebook donde participo (sobre software libre) alguien pregunta por dónde empezar para aprender a programar (obviamente con lenguajes / herramientas que sean software libre). Primera pregunta por mi parte: ¿ qué tipo de aplicaciones prefieres desarrollar ?. Respuesta: aplicaciones de escritorio y que utilicen bases de datos.

La mayoría (98 % o casi) le recomendó JAVA, unos pocos Python....y un loco tuvo la osada ocurrencia de sugerir Object Pascal (Free Pascal / Lazarus). :D

Snif....me siento solo, casi nadie conoce Delphi, Free Pascal o Lazarus. :( Ojo, conozco bien los alcances de FP / Laz, sus puntos fuertes, sus limitaciones, pero aún así a veces me da la sensación de que voy contracorriente.

Bueno, simplemente quería compartir la anécdota y hacer un poco de catarsis (?).

Salute !

mamcx 25-07-2014 19:07:59

Actualmente python se esta imponiendo como primer lenguaje de programación en muchas universidades, y Java esta perdiendo el favor. Ahora bien, hay otros lenguajes que tambien estan (re)surgiendo para el mismo proposito (lisp, forth, haskell, etc).

El caso del pascal es jodidamente triste. El mas popular es comercial, y esta muy mal manejado. La opcion open source (freepascal) es tambien muy mal manejado. Luego están los derivados (Ada y familia) que tambien estaban amarrados a intereses complejos (para proyectos militares en USA, con runtimes inaccesibles). Ahora que estoy estudiando sobre muchos lenguajes, me asombra lo bien hechos que estaban los de la familia pascal.

No ayudo para nada que C/C++ aplasto todo lo demás que era mucho mejor, y que durante mucho tiempo cualquier lenguaje que no apoyara MS/IBM no tuvo opción. Y cuando salió la web, pascal/delphi estaba pésimamente posicionado. Y ahora que se abrio los mobiles? Esta igual de pésimo.

Ahora mismo, parece que nimrod (http://nimrod-lang.org) es el unico que aparece en el radar (sale con alguna frecuencia en hacker news, por ejemplo. Y le tienen en buena estima).

Con todo, uno de mis sueños es hacer un lenguaje, y semi-pascal es la idea (de hecho, nimrod no esta tan lejos). Pero la triste realidad es que para que un lenguaje pegue debe tener un musculo grande detras, o aplicar como la opcion superior en un nicho significativo y ademas, tener buen manejo comercial, de marketing y promocion. Y por lo que veo? En la comunidad pascal no hay nadie que tenga el empuje pa eso (o nadie que yo conozca).

Casimiro Notevi 25-07-2014 19:52:02

Cita:

Empezado por rretamar (Mensaje 479379)
Snif....me siento solo

Yo estoy casi siempre solo, a todo se acostumbra uno :rolleyes:

rretamar 25-07-2014 19:58:48

Cada vez que alguien recomienda Python para desarrollar aplicaciones de escritorio, Belcebú mata un gatito. :o

egostar 25-07-2014 21:26:50

Cita:

Empezado por Casimiro Notevi (Mensaje 479382)
Yo estoy casi siempre solo, a todo se acostumbra uno :rolleyes:

A mi la verdad no me importa las tendencias, mientras a mi me sirva lo que uso y siga en mi zona de confort, lo demás es lo de menos. Si, en efecto, está un poco devaluado el lenguaje, pero aún tiene mucho gas como para que me permita seguir unos años más para retirarme y disfrutar de mi pensión.

Yo estoy seguro que Delphi tiene muchos años más de vida, aún es un lenguaje excelente. No lo dejemos morir.

Saludos

Al González 26-07-2014 00:52:06

Hola rretamar. :)

Comprendo y comparto tu parecer. La vida es un vasto campo donde cada acto intencionado es precedido por un pensamiento. El pensamiento puede ser primitivo y resultar en acciones que no te garanticen nada, como afiliarte a un partido político o programar en el lenguaje que miles de fulanos usan; o bien el pensamiento puede ser elaborado con algo más de razonamiento, desencadenando acciones inteligentes que te conduzcan de mejor forma hacia tus metas.

Es posible que no llegues a verse cumplir todos tus ideales, como el que muchos aquí compartimos contigo, de ver un mundo donde el software privativo sea una rara excepción. Pero persistir en alcanzarlos sí que tiene mucho mérito, ya que los grandes ideales, cuando se consiguen, son generalmente la cosecha de lo que muchos impulsores fueron dejando de sí en el camino.

Hoy disfrutas de una libertad de expresión que tus abuelos no tenían. Mañana, gracias a personas como tú, nuevas generaciones disfrutarán de un software mucho más accesible y perfeccionable. Quizá cuando todo sea un poco más social y un poco menos bancario.

Muchas felicidades por tus primeros mil mensajotes, amigo.
||-||

rretamar 26-07-2014 01:33:16

Para colmo cada tanto surge la misma pregunta y las respuestas son las mismas: JAVA o Python. Entonces ni se molestan en ver si existen otras alternativas...es casi un círculo vicioso sin fin. Y más en el mundo de Linux, donde todo es C/C++ y sus derivados (Java, Php, etc.), casi que hablar de Object Pascal ahí es como si hubieran visto un extraterrestre, casi nadie lo conoce, incluso más de uno (de esos pocos que saben que es una alternativa) comentó que "Pascal es bueno para aprender a programar, pero no mas que para eso, luego hay que pasar a C++, Python o Java... :(

Medio en broma, pero maldigo el día en que tuvieron la idea de inventar eso llamado "C".

Por mi parte seguiré intentando aportar mi granito de arena, mostrar que existen otras alternativas y que son muy buenas.

MAXIUM 26-07-2014 01:57:40

Algo que olvidan siempre y es que Pascal fue creado con la intención de APRENDER A PROGRAMAR. La mayor prueba de ello es su semejanza con el pseudocódigo, algo que poco se enseña y es el pilar de cualquier buen programador.

Para aprender a programar, Object Pascal siempre. Con eso puedes aprender cualquier otro lenguaje con facilidad. Sobre todo, lo que es programar.

De ahí a que lenguaje debería usar después, depende. Puede usar el lenguaje de mayor uso y asegurar su futuro laboral o aprender un lenguaje de muy poco uso, menos popular pero escencial en algunas ramas donde pueda asegurar su futuro.

Casimiro Notevi 26-07-2014 08:51:27

Cita:

Empezado por rretamar (Mensaje 479383)
Cada vez que alguien recomienda Python para desarrollar aplicaciones de escritorio, Belcebú mata un gatito. :o

^\||/^\||/^\||/

Casimiro Notevi 26-07-2014 08:57:20

Cita:

Empezado por MAXIUM (Mensaje 479390)
Puede usar el lenguaje de mayor uso y asegurar su futuro laboral o aprender un lenguaje de muy poco uso, menos popular pero escencial en algunas ramas donde pueda asegurar su futuro.

Precisamente en nuestro mundillo eso de "asegurarse el futuro" es imposible porque las "modas" cambian muy rápido. En estos años atrás, hasta ahora, ha estado de moda para "asegurarse el futuro" el VB, el PHP, el Java, etc. pero son precisamente los que no te aseguran el futuro, porque el futuro (las modas) cambian.
Y es precisamente con lenguajes como pascal (ya sea usando delphi y object pascal, lazarus, etc.) con los que realmente tienes más posibilidades de futuro, porque aunque no estén de moda, siempre cumplen para todo, es como unos buenos vaqueros (jeans) que pega con todo y en todas las épocas :D

mamcx 26-07-2014 15:32:00

Cita:

Empezado por rretamar (Mensaje 479383)
Cada vez que alguien recomienda Python para desarrollar aplicaciones de escritorio, Belcebú mata un gatito. :o

Ni que fuera tan malo. La cosa es que aparte de delphi no es que haya algo mas superior. Para hacer aps OSX python es tremendo, con Win32 es viable pero con linux es complicado. Basicamente, es un subproducto de lo maduro y poderoso del API de fondo para hacer las apps.

mamcx 26-07-2014 16:13:15

Cita:

Empezado por Casimiro Notevi (Mensaje 479394)
Precisamente en nuestro mundillo eso de "asegurarse el futuro" es imposible porque las "modas" cambian muy rápido.

El asunto es que siendo Delphi/Pascal un buen lenguaje, no solo están a la moda sino que huelen a "viejo". Si se mira en https://en.wikipedia.org/wiki/Pascal...mming_language) & http://pascaland.org/pascall.htm casi todos los compiladores y sus pagina tienen ese aire de ser proyectos amateur o viejos. Contraste con sitios como http://racket-lang.org/, http://www.scala-lang.org/, https://www.python.org/.


------

Supongamos que la idea es "como hacer Pascal, nuevo otra vez".

Es mi opinión, que es una causa perdida pensar que Delphi y/o FreePascal son el camino. Se perdió la ventana de oportunidad hace tiempo para re-ajustarlos y mantener el vigor de cuando alcanzo su punto de mayor éxito, hace ya rato.

No solo porque cargan un "equipaje" de como era hace tiempo (y una comunidad que parece anclada en esa forma de trabajar), sino que no están a la altura de los avances recientes en materia de lenguajes, APIs, compiladores, plataformas recientes y todo eso.

PERO, es posible resucitarlo. La cosa, es que hay que darle un nuevo nombre, darle una identidad, ajustarlo a la tendencias que se perfilan a futuro.


Un ejemplo es con Lisp. Durante décadas, era expresado en un nicho pequeño de gente pero muy escandaloso que lisp es lo máximo, pero nunca alcanzo ninguna popularidad de forma importante. Al igual que pascal, lisp es esa cosa de viejos que algunos tenían que sufrir en la U, una estupidez pa' "aprender a programar" pero que luego olvidabas con gusto para por fin usar algo "serio".

Sin embargo, de un momento a otro surgió un lisp (http://clojure.org/) y de pronto, ya es popular entre las startups y básicamente es el lisp mas exitoso a la fecha. Racket (http://racket-lang.org/) es el scheme moderno, otro lenguaje muy interesante, que igualmente nunca "despegaba". Elixir (http://elixir-lang.org/) revigorizo a Erlang y lo volvió atractivo para un montón de gente que quería entrarle a eso, pero que lo espantaba lo arcano de Erlang.

Y un ejemplo reciente es Swift (https://developer.apple.com/swift/) que no lleva mas de 3 meses y ya se perfila como el sucesor de Objective-C para hacer apps en iOS/OSX.

Osea, si es posible resucitar/revigorizar un lenguaje. Como se habla en https://news.ycombinator.com/item?id=8082728 (sobre un articulo de 1998 que mencionaba porque los lenguajes funcionales no despegaban) las circunstancias cambian y eso abre oportunidades si se aprovechan bien.

Y lo curioso, es que cuando se mira cualquier indicador de popularidad (como TIOBE) estos lenguajes están MUY por debajo de pascal/delphi en numeros. Osea, es mas fácil ahora alcanzar la relevancia que antes (ser "Apple-popular" con menos números, donde tener una tajada saludable es suficiente, no ser "Windows-popular" donde es mas importante obtener mayoría numérica).

Asi que pienso que para alcanzar ese objetivo, hay que obligatoriamente crear un nuevo lenguaje, con el espíritu de pascal, aunque ajustado a lo que ahora se necesita y lo que se viene. Que resuelva de forma magistral un nicho, así como hizo Delphi con el hacer apps de Win32. Obviamente, que sea open source (ahí es donde veo que RemObjects con http://www.remobjects.com/elements/oxygene/ se equivoco.)

Mientras el asunto del codigo legado es importante, es mas critico atraer gente nueva (que aun no tiene una carga detras). Y la gente nueva surge todo el tiempo. La gente que tenga experiencia en Delphi/pascal se movera si el lenguaje es atractivo, o no.

Como ocurre con http://golang.org/, los creadores intentaron hacer un lenguaje que reemplaza a C/C++ (ese era el ángulo original), pero no hay gente mas hardcore/obtusa que los programadores de C/C++: Esa gente es como los metaleros, les importa un bledo lo nuevo, ellos quieren siempre lo mismo una y otra vez (pues en cuanto a rock, 100% de acuerdo!).

Lo que surgió fue que los que usan python fueron los que están adoptando el lenguaje.

rretamar 26-07-2014 16:35:32

Cita:

Empezado por mamcx (Mensaje 479400)
Ni que fuera tan malo. La cosa es que aparte de delphi no es que haya algo mas superior. Para hacer aps OSX python es tremendo, con Win32 es viable pero con linux es complicado. Basicamente, es un subproducto de lo maduro y poderoso del API de fondo para hacer las apps.

Poder se puede, pero la productividad es muy baja. La funcionalidad es limitada, para aplicaciones de escritorio Lazarus y Delphi le dan mil vueltas.

No es que python sea malo: Es que no está hecho para eso.

Casimiro Notevi 26-07-2014 19:41:42

Cita:

Empezado por rretamar (Mensaje 479403)
Poder se puede, pero la productividad es muy baja. La funcionalidad es limitada, para aplicaciones de escritorio Lazarus y Delphi le dan mil vueltas.
No es que python sea malo: Es que no está hecho para eso.

^\||/^\||/^\||/

nlsgarcia 28-07-2014 03:51:22

rretamar,

Cita:

Empezado por rretamar
...me siento solo, casi nadie conoce Delphi, Free Pascal o Lazarus...me da la sensación de que voy contracorriente...

Creo que eso es valido para muchos lenguajes en general, pero lo importante es ¿Puedes trabajar en tu área con Object Pascal?, si la respuesta es Si, entonces no es muy relevante si es muy conocido o no, si la respuesta es No, entonces pasa a convertirse en un problema económico más que de tecnología.

En el año 2002 Delphi era muy conocido, se puede decir que estaba en su apogeo y sin embargo conocí a personas en el área de computación que no tenían la menor idea de las ventajas del lenguaje y que preferían Visual Basic por ser más popular, al final un factor decisivo no es que tan conocido sea un lenguaje, sino las oportunidades del mismo en tu entorno de trabajo, eso es lo que hace la diferencia desde un punto de vista económico :rolleyes:

Embarcadero ha hecho grandes esfuerzos en modernizar a Delphi, por lo cual creo que es cuestión de tiempo en que sea más reconocido y utilizado, sin embargo no creo que sea en el futuro el lenguaje más usado a nivel general :cool:

Cita:

Empezado por rretamar
...por dónde empezar para aprender a programar...

Una vez alguien me pregunto cual debía ser su primer lenguaje para aprender a programar y yo le dije C#, ¿Por que esta recomendación?:

1- C# es un lenguaje moderno, orientado a objetos, flexible, fuertemente tipeado, con miles de clases para hacer casi cualquier tarea, se puede usar en todas las plataformas (Con Xamarin Studio y MonoDevelop), su inventor fue Anders Hejlsberg (El Creador de Turbo Pascal y Delphi) y tiene la ventaja del apoyo de Microsoft, lo cual es algo que no se debe subestimar.

2- Si sabes C#, te sera fácil Delphi, Java, Python, PHP y cualquier derivado de C++

3- C# se perfila en ser un lenguaje que se usara durante muchos años, desde sus inicios en el año 2002 ha tenido ya 5 versiones y es el lenguaje base de desarrollo en la plataforma .Net la cual se perfila como la base del nuevo SO sucesor de Windows : Midori, del cual se estima que algunas de sus características estarán presentes en Windows 9.

4- Existe en internet gran cantidad de información sobre C#, la cual es accesible por medio de Tutorials, eBooks, Artículos y Ejemplos.

5- Se puede empezar a estudiar por medio de Visual C# Express o si lo prefieres por medio del Proyecto Mono, ambos Freeware.

En mi opinión personal, un programador no debe limitarse a un solo lenguaje, debe en la medida de lo posible ser poliglota, lo cual le permitirá mayor libertad de movimiento y una profunda compresión de los lenguajes de programación en general.

Para finalizar si se es programador de Delphi, C# sera una transición bastante natural, lo cual lo convierte en una opción viable para un siguiente lenguaje que permita ampliar el conjunto de herramientas de programación disponibles para diversos proyectos.

Espero sea útil :)

Nelson.

Ñuño Martínez 28-07-2014 12:40:49

Cita:

Empezado por rretamar (Mensaje 479383)
Cada vez que alguien recomienda Python para desarrollar aplicaciones de escritorio, Belcebú mata un gatito. :o

Toda la razón del mundo.

Yo también recomiendo (Object) Pascal siempre que alguien me pregunta cómo empezar.

Y, por cierto, no estamos tan solos como parece. Existe el proyecto Pascal Programming for Schools el cual incluye muchísimos recursos (en inglés, claro) para aprender y también enseñar a programar usando Pascal. Alguna vez he pensado en hacer algo parecido en castellano, o traducir y tal, pero con el poco tiempo que suelo disponer... :(

roman 28-07-2014 19:00:44

Cita:

Empezado por rretamar (Mensaje 479379)
En un grupo de Facebook donde participo (sobre software libre) alguien pregunta por dónde empezar para aprender a programar (obviamente con lenguajes / herramientas que sean software libre). Primera pregunta por mi parte: ¿ qué tipo de aplicaciones prefieres desarrollar ?. Respuesta: aplicaciones de escritorio y que utilicen bases de datos.

Sin ánimo de ofender, el problema que veo aquí es que, de entrada, tu pregunta es incorrecta. Cuando yo aprendí a programar hace ya algunos años, no me preguntaba qué tipo de aplicaciones iba a hacer porque no estaba aprendiendo un lenguaje, estaba aprendiendo a programar.

Python me parece igual de adecuado que Pascal para aprender a programar. La objeción de que Python no es para aplicaciones de escritorio, realmente está fuera de lugar porque se trata de aprender a programar, no de aprender a hacer aplicaciones de escritorio. Y si éso es lo que quiere hacer esa persona desde un principio, entonces habrá que decirle que aprenda a caminar antes de correr.

Aquí defienden Pascal como una buena opción para hacer aplicaciones y estoy de acuerdo con eso. Pero cuando yo aprendí a programar, lo hice en Pascal, en una época en la que nadie hacía aplicaciones en Pascal.

----

Por otro lado, me parece curioso que mucha gente habla de cerrazón para los que no conocen o no usan Pascal, pero muestran la misma cerrazón respecto de C, tan sólo porque no les gusta su sintaxis o no lo conocen.

// Saludos

Ñuño Martínez 04-08-2014 21:52:50

Ojo, que a mi C me encanta, ¿eh? Pero no lo recomiendo para aprender a programar.

Recomendaría QuickBASIC si todavía se usara. Sé que existe FreeBasic por ahí, y que dicen que es a QuickBASIC lo que FreePascal es a Turbo Pascal, pero no lo he probado así que no sé qué tal irá.


La franja horaria es GMT +2. Ahora son las 20:59:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi