Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Python
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-04-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Opiniones sobre Python, Ruby y Perl

Observando la lista de TIOBE, que si bien es cuestionable también no puede ser ignorada del todo, Delphi se encuentra en el lugar número 13 (marzo de 2011).

Para mí es tiempo de empezar a estudiar otros lenguajes (al tiempo de continuar apoyando el rescate de Delphi), sobre todo aquellos que facilitan la creación de aplicaciones Web. Observando esa lista, debo confesar que me simpatizan poco los Cées y sus parientes más cercanos.

De los lenguajes que se encuentran (según TIOBE) en posiciones superiores a Delphi, me llaman la atención para estudiarlos Python, Ruby y Perl, que según entiendo son como primos. Me inclino por el primero a raíz de los comentarios que he leído últimamente, pero quiero estar seguro de que habré hecho una buena elección una vez que conozca, grosso modo, las ventajas y desventajas que tienen entre sí esos tres lenguajes, y, por qué no, respecto a otros lenguajes también.

Mi intención con este mensaje es abrir una invitación a todos aquellos programadores que han tenido experiencia con alguno de esos tres lenguajes, para que opinen sobre lo que les ha parecido, cuáles son sus puntos fuertes, sus puntos débiles, en qué casos son más recomendables, sus ventajas sintácticas, sus bibliotecas nativas, alcances, empuje de su comunidad, etc.

Todo lo que permita contrastar a Python, Ruby y Perl, y tomar la mejor decisión a todos los que estamos interesados en aprender un nuevo lenguaje de programación.

Muchas gracias.

Al González.
Responder Con Cita
  #2  
Antiguo 01-04-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
esta bien esa lista?

situar a Visual Basic por encima de Delphi ?
sacrilegio !!!

y me ha hecho recordar viejos tiempos

Cobol
RPG y su clasico HFELICO
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 01-04-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Desde luego, no es de mi de quién esperas escuchar una opinión No por otra cosa sino porque mi experiencia en los tres lenguajes que mencionas en prácticamente nula.

Sin embargo, y ya me corregirán, yo descartaría Perl. Tengo entendido que es muy poderoso pero lo siento más para administradores de servidores. Es, según creo, algo rudimentario y no sé siquiera si sea orientado a objetos. Vamos, que no sé si sea lo más práctico para desarrollo a alto nivel.

De Python y Ruby, para desarrollo web, no he escuchado sino buenas opiniones.

// Saludos
Responder Con Cita
  #4  
Antiguo 01-04-2011
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Más que Python, para desarrollo web optaría por cosas como PHP. Como que Python es más "todoterreno", mientras que PHP es más especializado en eso.
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.
Responder Con Cita
  #5  
Antiguo 01-04-2011
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
Concuerdo con roman con lo de descartar perl, empezando porque indicas que no te gustan mucho los parientes de C. La verdad que perl no lo he usado, tan solo en una o dos ocasiones que he visto el código de algún script que he necesitado, pero de allí, nada mas.

De python y ruby si te puedo hablar un poco, los he usado ambos. El primero fué ruby, me gustó mucho, el lenguaje en sí es bastante simple (que no le quita funcionalidad) y muy potente, sin embargo, al utilizarlo con rails me costó mucho ya la parte de personalización del sitio web, donde necesitaba funciones "especiales" se me cerró todo.

Con python me ha ido diferente, igual de ágil que ruby, consume casi nada de recursos y es muy potente. Lo utilizo con django y va de maravilla.

Un problema que tube con ruby fué que no pude hacerlo funcionar bien sobre windows, entonces para mi le quita puntos en lo de "multiplataforma". El interprete si me funcionó, lo que no funcionó fueron las bibliotecas de acceso a bases de datos, sqlite, mysql y postgres.
Responder Con Cita
  #6  
Antiguo 01-04-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Se agradecen los comentarios, Román, D-MO, rretamar.

Eso de que «Python es más "todoterreno"» se escucha interesante.
Responder Con Cita
  #7  
Antiguo 02-04-2011
Avatar de Julián
Julián Julián is offline
Merodeador
 
Registrado: may 2003
Ubicación: en mi casa
Posts: 2.019
Poder: 10
Julián Va por buen camino
Cita:
Empezado por Al González Ver Mensaje
Para mí es tiempo de empezar a estudiar otros lenguajes (al tiempo de continuar apoyando el rescate de Delphi), sobre todo aquellos que facilitan la creación de aplicaciones Web. Observando esa lista, debo confesar que me simpatizan poco los Cées y sus parientes más cercanos.

Creo que deberías echar un vistazo a node.js, que es bastante nuevo y viejo a la vez: se trata de javascript ejecutado en el servidor, pero con unas caracteristicas impresionantes. Con node.js, cada petición al servidor se trata como un evento en lugar de crear un nuevo thread, lo cual significa que una aplicacion web basada en node.js necesita muchisima menos de ram y CPU en el server para poder atender muchisimas mas conexiones.

Entre otros puntos fuertes permite hacer aplicaciones comet sin necesidad de estar haciendo polling al servidor.

Y se integra muy bien con el servidor NGINX, el web server que esta llamado a sustituir al apache. De hecho, ya lo está haciendo.

Un saludo!
__________________
"la única iglesia que ilumina es la que arde"
Anonimo
Responder Con Cita
  #8  
Antiguo 02-04-2011
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Hola a todos.
yo me inclinaría por phyton.

Con Django como framework para desarrollos.

Tengo entendido que integra bien con delphi.

OpenERP está desarrollado con phyton. Al, a ti que esres un estudioso de los frameworks de desarrollo, meterte a conocer OpenERP creo que te puede abrir un mundo de posibilidades, ya que dispones de todo el código. Tienes código para su estudio a cascoporro , que por lo que te conozco, lo valoras.

Si tuviera tiempo, empezaría con él...

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #9  
Antiguo 02-04-2011
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Tengo mucha experiencia ya con python, y te cuento que se integra muy bien con delphi (es lo que he usado para BestSeller).

Concuerdo con ignorar a Perl. No porque no sea un lenguaje potente, lo es, sino porque es particularmente complejo... a un nivel que incluso es famoso por su concurso de codigo incomprensible:

http://en.wikipedia.org/wiki/Obfuscated_Perl_Contest
Cita:
Entrants to the competition aimed to write "devious, inhuman, disgusting, amusing, amazing, and bizarre Perl code"
PHP (Para Hacer Paginitas) es ... para hacer paginitas. Una ventaja que tienes con ruby o python es que puedes extenderte facilmente a otras cosas sin recurrir a otros lenguajes. A menos que te dediques a ser un webmaster, realmente es algo que apreciaras... y teniendo en cuenta que conoces Delphi y son el resto de apps diferentes a aplicaciones web lo que tienes de experiencia, me inclinaria mas por estos dos:

Entre ruby & python mas o menos la cosa es asi. Ruby es mas magico. Python es mas simple. No me refiero a simple o magico en los terminos usuales, sino a su diseño estructural.

Ruby es mas inclinado a lisp/smaltalk. Python es mas inclinado a lo simple (tanto asi que esta dentro de su filosofia ).

Actualmente, ruby es mas lento (en sitios web) que python. Es algo que están corrigiendo...
__________________
El malabarista.
Responder Con Cita
  #10  
Antiguo 02-04-2011
Avatar de Julián
Julián Julián is offline
Merodeador
 
Registrado: may 2003
Ubicación: en mi casa
Posts: 2.019
Poder: 10
Julián Va por buen camino
Cita:
Empezado por mamcx Ver Mensaje
PHP (Para Hacer Paginitas) es ... para hacer paginitas.
Hum, no me atreveré a decir que no llevas razón, pues ciertamente PHP sirve para para hacer paginitas. Yo lo uso en el trabajo, en donde hacemos aplicaciones web que se usan en nuestra intranet. Una intranet que está desplegada sobre una red que proporciona conectividad a cientos de centros de trabajo, algunos de ellos MUY grandes. Una intranet que en la rama Users de su arbol LDAP cuenta con mas de 20.000 usuarios. En esta gran intranet, a la que se unen otras muchas bastante heterogéneas, lo mismo hay bases de datos Oracle, Informix, DB, SQL Server, y mas, supongo. inlcuso a menudo hay varias o de varias versiones en un mismo centro de datos.
Y nuestras aplicaciones PHP lo mismo atacan a una u otra de esas bases de datos, normalmente despues de que el usuario se haya autentificado contrra el servidor LDAP a fín de obtener un conjunto de derechos de acceso.

Por "motivos políticos" deberiamos estar usando Java con Hibernate y no se qué mas. De hecho, en otros departamentos lo usan. Pero en el mio usamos PHP porque con PHP tardamos MENOS en hacer las aplicaciones, y porque hacemos más rápido las interfaces de usuario, y mas eficientes gracias tambien a las facilidades de cosas como jquery, ajax, y al buen uso del CSS. Y sobre todo porque hemos comprobado que con php conseguimos las respuestas mas rápidas y cargas mas bajas de los servidores.

Ahora vamos a evaluar, para ciertas cosas, node.js y sobre todo nginx, y tambien Python, claro.

No somos fans de ningún lenguaje, ni framework ni ide. Y si evaluamos alguna cosa y nos parece mas productiva que PHP le daremos la patada sin dudarlo. No sería la primera vez.

Por eso me parece un poco, bueno, no sólo un poco, asombrosa, tal vez desde mi ignorancia, una afirmación como esa: "para hacer paginitas". De ahí que te formule una pregunta: ¿En que te basas para efectuar tal juicio?

A lo mejor esto da para un buen debate

Un saludo!
__________________
"la única iglesia que ilumina es la que arde"
Anonimo

Última edición por Julián fecha: 02-04-2011 a las 21:44:08.
Responder Con Cita
  #11  
Antiguo 02-04-2011
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Julián Ver Mensaje
Por eso me parece un poco, bueno, no sólo un poco, asombrosa, tal vez desde mi ignorancia, una afirmación como esa: "para hacer paginitas". De ahí que te formule una pregunta: ¿En que te basas para efectuar tal juicio?
Ah pues un intento de decir algo ofensivo (ser tan políticamente correcto y decir que cada lenguaje tiene lo suyo y que cada uno escoja... bla.. es aburridor!). Es un lenguaje que me ofende desde mis adentros. Como el C++ (aunque en un golpe irónico trabajo ahora con Objective-C para la parte del iPhone de BestSeller, y como va la cosa, es algo para ratooooo).

Pero ya siendo mas serio lo que mencionas en cierta forma refuerza el punto. Una aplicacion de intranet no es que sea muy distinta a una web. Obvio, hay "paginitas" de paginitas, no es lo mismo hacer un facebook que la tipica web de quienes somos, los productos y venga aqui el contacto.

PHP es el lenguaje mas popular para hacer paginitas (abajo las palabras politicamente correctas!) y con todo, muchos de esos sitios son excepcionales.

Sin embargo, python (ruby) nacieron mucho antes de que la parte web fuera tan popular, así que se prestan de forma natural para otro tipo de software.


Como motores 3D de videojuegos (http://www.panda3d.org/), soporte en animacion de 3d (http://www.blender.org/), aplicaciones cientificas (http://www.scipy.org/), y todo un largo conjunto de aplicaciones, servicios y demas (Una lista aqui: http://en.wikipedia.org/wiki/List_of_Python_software).

No es que PHP como tal no pueda usarse en ámbitos fuera de la web, es que no es su propósito. Es mas natural usarlo para cosas web y por todos lados se nota, como su integracion en apache (modpython creo, es la razon #1 por la cual le gano la puja a perl y todo lo demas).

Python (y ruby) recorrieron el camino inverso. Solo fue cuando salio ruby on rails (http://rubyonrails.org/) y basado en su exito, django (http://www.djangoproject.com/) que tomaron "vuelo" en el mundo mas hip-hop y de cultura pop de la web.

PHP nació en la web, y no ha migrado, de forma significativa a otras tierras. Los demas lenguajes nacieron en otras tierras, y han migrado progresivamente a la web, con mayor o menor exito...

Para mi, tener la ventaja de hacer cosas <> paginas me empujo directamente a python . La magia de ruby y su lentitud me ahuyentaron, a pesar de que su sintaxis tiene puntos muy atrayentes, como se aprende en Why's (poignant) guide to ruby, quizas el tutorial de programacion mas entretenido que hay..


Un ultimo punto, y que fue determinante en mi caso en cuanto a aelegir a python (django) para la parte web, fue el hecho de que no se mezcla python con el html. Eso me causaba nauseas de las malas al ver codigo en PHP (hubo una epoca en la cual examine varios paquetes open source con el proposito de comercializarlos y reempaquetarlos) y al imaginar los dolores de cabeza que seria soportar codigo asi... bueno eso fue la estocada final.

Con django, por el contrario, el html esta muy alejado: http://docs.djangoproject.com/en/dev/ref/templates/api/. Es tan simple de modificar el codigo de python (y el html) sin corromper lo demas! Eso fue lo que me vendio al 100% la idea de nunca jamas de los jamases meterme en PHP. Porque aunque en PHP se *puede* hacer asi, al ir integrando codigo de terceros en los proyectos, unos serian un sancocho, otros mediocres y uno que otro bueno.

Con python, todos son mas o menos iguales. Es muy extraño, porque pareciera que python lo escribiera un solo programador. Casi como con pascal, pero con pascal si se notan muchos los diversos estilos de organizar el codigo...
__________________
El malabarista.

Última edición por mamcx fecha: 02-04-2011 a las 23:00:58. Razón: Enlace a software hecho en python
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Sus opiniones sobre la CLX Lord Delfos Varios 6 10-03-2010 15:21:15
Opiniones sobre la compra de Sun por Oracle D-MO Debates 3 05-01-2010 23:13:30
Tutorial de Python 'Python para todos' marcoszorrilla Noticias 11 15-02-2009 05:19:15
trabajo con perl alachaise Internet 0 23-11-2004 16:23:56
Opiniones sobre el Firebird 1.5RC3 para aplicaciones web victork_py Firebird e Interbase 2 04-07-2003 14:54:45


La franja horaria es GMT +2. Ahora son las 21:59:58.


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
Copyright 1996-2007 Club Delphi