"también se pueden hacer programas en línea de comandos, cosa que no se puede con VB"
Falso: Con Visual Basic .net puedes crear aplicaciones que se ejecutan desde la linea de comandos (de Windows por supuesto, pero desde la linea de comandos y en modo texto)
Bueno, no son muchos argumentos, realmente VB es un lenguaje más maduro y elaborado, con muchísimas posibilidades, aunque te liga a una plataforma y un SO. Y eso, en una facultad de informática, es como mínimo "discutible".
Pues sí. Un amigo mío está con una beca Erasmus en Portugal y le han pedido que haga un programa en C... usando un compilador de Borland no gratuito y mucho menos libre, y por narices en Windows, claro. También tienen que usar la librería gráfica de dicho compilador (la BGI). Además de antiguo, porque creo que es la versión 3.1, que generaba ejecutables para DOS y Windows 3.1. Siempre está la excusa de que quizá en la Universidad tengan las licencias y los alumnos pueden desarrollar la aplicación allí, pero en la práctica están incitando a la piratería porque en la mayor parte de los casos la gente prefiere hacer las prácticas en casa.
Al menos, podrían usar uno de esos compiladores antiguos que Borland tiene para descargar gratuitamente en su "museo" [borland.com]), o el compilador actual que usa el C++ Builder [borland.com] (pero sin el IDE), que también creo que es gratuito (al menos te lo bajas y no es una "trial", pero no he leído la licencia), y que aunque no tiene una librería gráfica al estilo de la BGI siempre se podría usar qué se yo, una librería de terceros o la propia API de Windows mediante GDI o DirectDraw (lo que tienen que hacer es un juego en 2D).
Eso como mínimo, claro, porque lo suyo sería, en primer lugar, dar la posibilidad de hacerlo, al menos, en Linux (no hace falta que diga qué compilador, ¿verdad?). Y si se quiere, en Windows, pero usando un compilador libre, tipo DJGPP [delorie.com], MinGW [mingw.org] o LCC-Win32 [virginia.edu], y librerías "cross-platform" como Allegro [demon.co.uk] o SDL [libsdl.org] (me ha dado por poner enlaces hoy).
Por fortuna en mi uni en unos cuantos casos (por desgracia no en todos) te obligan a usar Linux para hacer algunos programas, usando gcc o FreePascal [freepascal.org] (y algún otro).
Además no es nada bueno para aprender a programar, porque los estudiantes acaban haciendo chapuzas con tal de que "funcione"
Esto, créeme, pasa con cualquier lenguaje, y es que cuando se te echa el tiempo encima haces lo que sea :) He visto unos cuantos "goto" en C que serían la pesadilla de cualquier profesor de programación estructurada. Pero claro, como en la mayor parte de los casos no van a leer el código (si acaso echarle un vistazo por encima). Si tienen 150 alumnos y reciben otros tantos programas de mil y pico líneas cada uno...
saludos
--
You laugh at me because I am different, I laugh at you because you are all the same
* Declaración automática de variables (esto creo que también lo tiene VB) PERO al tiempo fuertemente tipado (en VB si te descuidas. te mete la variable en un variant de esos).
* Dinamismo a tope: Si no puede hacerse, dinámicamente en Python, no puede hacerse. Que pruebe en Visual Basic a crear una clase, hacer una instancia y una vez hecha la instancia, y en tiempo de ejecución añadir un nuevo método a la clase y ver como también se añade a la instancia ya declarada (por ejemplo). Esto puede parecer una tontería pero cosas como PSP (el equivalente al ASP o JSP de Python, http://webware.sourceforge.net) lo usan bastante.
* Biblioteca multiplataforma y muy completa. Visual Basic tampoco tiene una mala biblioteca pero, GUI's aparte, creo que la de Python es más completa y está mejor estructurada.
* Posibilidad de elegir la forma de hacer la GUI: Al no estar integrado con ningún API gráfica puedes elegir la que mejor se adapte a tu proyecto: Gtk, WXWindows, Qt, TCL...
* Desarrollo web: Cosas como Zope, Webware, Chetaah templates o PSP (mi favorito) te permiten
seleccionar una forma entre varias filosofías de hacer aplicaciones web; Zope como servidor de aplicaciones fuertemente integrado, Webware al estilo Java/Servlets/EJB, PSP al estilo ASP, etc. Que yo sepa en VB no hay tantas opciones (ASP y para de contar).
Re:Ventajas de python
(Puntos:2)( Última bitácora: Lunes, 04 Junio de 2018, 10:55h )
Re:Ventajas de python
(Puntos:1)( http://barrapunto.com/ )
Pues sí. Un amigo mío está con una beca Erasmus en Portugal y le han pedido que haga un programa en C... usando un compilador de Borland no gratuito y mucho menos libre, y por narices en Windows, claro. También tienen que usar la librería gráfica de dicho compilador (la BGI). Además de antiguo, porque creo que es la versión 3.1, que generaba ejecutables para DOS y Windows 3.1. Siempre está la excusa de que quizá en la Universidad tengan las licencias y los alumnos pueden desarrollar la aplicación allí, pero en la práctica están incitando a la piratería porque en la mayor parte de los casos la gente prefiere hacer las prácticas en casa.
Al menos, podrían usar uno de esos compiladores antiguos que Borland tiene para descargar gratuitamente en su "museo" [borland.com]), o el compilador actual que usa el C++ Builder [borland.com] (pero sin el IDE), que también creo que es gratuito (al menos te lo bajas y no es una "trial", pero no he leído la licencia), y que aunque no tiene una librería gráfica al estilo de la BGI siempre se podría usar qué se yo, una librería de terceros o la propia API de Windows mediante GDI o DirectDraw (lo que tienen que hacer es un juego en 2D).
Eso como mínimo, claro, porque lo suyo sería, en primer lugar, dar la posibilidad de hacerlo, al menos, en Linux (no hace falta que diga qué compilador, ¿verdad?). Y si se quiere, en Windows, pero usando un compilador libre, tipo DJGPP [delorie.com], MinGW [mingw.org] o LCC-Win32 [virginia.edu], y librerías "cross-platform" como Allegro [demon.co.uk] o SDL [libsdl.org] (me ha dado por poner enlaces hoy).
Por fortuna en mi uni en unos cuantos casos (por desgracia no en todos) te obligan a usar Linux para hacer algunos programas, usando gcc o FreePascal [freepascal.org] (y algún otro).
Además no es nada bueno para aprender a programar, porque los estudiantes acaban haciendo chapuzas con tal de que "funcione"
Esto, créeme, pasa con cualquier lenguaje, y es que cuando se te echa el tiempo encima haces lo que sea :) He visto unos cuantos "goto" en C que serían la pesadilla de cualquier profesor de programación estructurada. Pero claro, como en la mayor parte de los casos no van a leer el código (si acaso echarle un vistazo por encima). Si tienen 150 alumnos y reciben otros tantos programas de mil y pico líneas cada uno...
saludos
You laugh at me because I am different, I laugh at you because you are all the same
Más ventajas aún
(Puntos:4, Interesante)( http://barrapunto.com/ )
* Una orientación a objetos "como dios manda".
* Declaración automática de variables (esto creo que también lo tiene VB) PERO al tiempo fuertemente tipado (en VB si te descuidas. te mete la variable en un variant de esos).
* Dinamismo a tope: Si no puede hacerse, dinámicamente en Python, no puede hacerse. Que pruebe en Visual Basic a crear una clase, hacer una instancia y una vez hecha la instancia, y en tiempo de ejecución añadir un nuevo método a la clase y ver como también se añade a la instancia ya declarada (por ejemplo). Esto puede parecer una tontería pero cosas como PSP (el equivalente al ASP o JSP de Python, http://webware.sourceforge.net) lo usan bastante.
* Biblioteca multiplataforma y muy completa. Visual Basic tampoco tiene una mala biblioteca pero, GUI's aparte, creo que la de Python es más completa y está mejor estructurada.
* Posibilidad de elegir la forma de hacer la GUI: Al no estar integrado con ningún API gráfica puedes elegir la que mejor se adapte a tu proyecto: Gtk, WXWindows, Qt, TCL...
* Desarrollo web: Cosas como Zope, Webware, Chetaah templates o PSP (mi favorito) te permiten
seleccionar una forma entre varias filosofías de hacer aplicaciones web; Zope como servidor de aplicaciones fuertemente integrado, Webware al estilo Java/Servlets/EJB, PSP al estilo ASP, etc. Que yo sepa en VB no hay tantas opciones (ASP y para de contar).