[pyar] Por qué JAVA para ERPs y no Python? (o al revés)
Sebastian E. Ovide
sebastian.ovide en gmail.com
Dom Feb 26 11:23:13 ART 2012
Hola Alfonso,
no tengo experiencia en grandes sistemas desarrollados en Python por lo
cual no sabría bien de los limites del stack Python + frameworks.... Los
grandes sistemas en los cuales he trabajado hasta ahora son todos Java...
en mi experiencia personal puedo confirmar que por cada linea de código
Python necesitas de 3 a 5 lineas de código Python... la otra cara de la
moneda es que en sistemas en los cuales tenes que hacer bastante
refactoring, en Java es un "piece of cake" (muy fácil) ya que los varios
IDE (NetBeans por ejemplo) te ayudan muchisimo.... con Python no tuve vida
fácil haciendo refactoring ya que todo el refactoring era basado en tests
failing y text searchs.... quizás programadores expertos Python tengas otra
opinión (quizás = seguramente!)....
También es cierto que que si bien Java usa mas lineas de código, gran parte
de estas lineas se auto generan con tu IDE preferido... es cierto también
que Java tiene las desventajas de los lenguajes estáticos... pero también
tiene las ventajas de los lenguajes estáticos !. Por ejemplo en mi proyecto
actual, tenemos cientos de clases y 500 tests (y sigue creciendo
rápidamente)... en este escenario nos resulta MUY practico saltar de una
parte del código a otra simplemente presionando ctrl+click.... (con un
lenguaje dinámico no es tan así).... esto para decir, que sacando cuentas,
5 veces lineas de código Java no significa 5 veces mas de tiempo.... sobre
todo en proyectos muy grandes !... Repito, no tengo experiencia en grandes
proyectos como el tuyo en Python.... seguramente expertos en Python
opinaran exactamente el contrario....
Por otro lado, es también cierto que el tiempo de set up de un projecto en
Java te puede llevar una semana si queres hacerlo completamente
personalisado.... o 10 minutos si queres usa algún template (por ejemplo
algún maven archetype).
Otras dudas que me han surgido al momento de elegir Python para este tipo
de projecto las podes leer en
http://listas.python.org.ar/pipermail/pyar/2012-February/015949.html
"last but not least" creo habría que considerar también el mercado del
trabajo y elegir tecnologías que resultarán fácil de mantener. De nada
sirve el mejor lenguaje (stack de tecnologías) del mundo si después te
resulta difícil contratar gente para que lo mantenga. No se como sea el
mercado laboral en Argentina. Acá en Irlanda el mundo es Java y .Net . Solo
algunas empresas .com usan otras cosas como Erlg, RoR, PHP y una que otra
Python....
Personalmente encuentro Python el lenguaje mas lindo, fácil y sobre todo
agradable para trabajar para pequeños proyectos.... pero me parece que
elegir un stack de tecnologías suportado por una gran comunidad y por
grandes empresas sea mas seguro para proyectos grandes y de larga duración
como el tuyo
mis 2 cents
abrazo y si no te molesta, podrías mantenernos informado sobre la decisión
final ? Si eligen Python, seria un buen caso de ejemplo para agregar a
http://python.org/about/success/
2012/2/19 Alfonso de la Guarda <alfonsodg en gmail.com>
> Hola,
>
> En mis manos tengo una importante decisión que implica gestionar todo
> el sistema integral de salud estatal (tanto a nivel administrativo
> como asistencial) de 10 millones de ciudadanos, con más de 200 centros
> de salud.
>
> Ya hemos hecho un estudio, desarrollado un proyecto, definido todo en
> una cuasi-biblia.... pero cuando tenemos que aterrizar esto todo se
> resume a 2 opciones:
> JAVA (Adampiere, Compiere, OpenBravo, Xendra, etc.) vs Python
> (OpenERP, Tryton, etc.)
>
>
> Es preferible emplear soluciones maduras que desarrollarlas y es por
> eso que tenemos 2 escenarios aproximados (algunos integrados, otros
> interoperando mediante SOA):
> 1. Adampiere conectado a OpenMRS (y desarrollar todo lo que falta,
> desde obras de infraestructura, gestión de emergencias, hasta salud
> renal pasando por telemedicina...)
> 2. OpenERP conectado a OpenMRS, Medical forkeado (GNU/Health), Bika,
> Invesalius, etc. (y desarrollar lo que falta, aunque lo que falta
> sería menos)
>
> Todo esto empleando postgresql.
>
> Es importante decir que hay una variable adicional: tiempo máximo de
> 18 meses y además varios módulos deben salir en menos de 4 meses. En
> la práctica el dinero no es problema, pero el desarrollo debe ser
> interno, abierto y colaborativo con el ciudadano.
>
> Se que es complejo lo que les planteo porque pocas veces tenemos un
> escenario donde podemos manejar sistemas con 10 millones de usuarios,
> más de un millón de transacciones diarias en todo un país a través de
> conexiones de diversa índole, velocidad y confiablidad (eso supone
> pensar en replicación, queues (rabbitmq, etc.)), entonces las
> preguntas son:
>
> - Cuáles son las ventajas que pueden encontrar de Adampiere vs
> OpenERP, pensando en términos de escalabilidad, interoperatibilidad,
> etc.?
> - Con cuál serían más productivos (en términos de tiempos) con JAVA o
> Python?
> - Toda esa carga transaccional la puede soportar Python sin tener que
> hacer tweaks? (Considerando, además las limitaciones de
> multi-procesamiento del GIL)
> - La mayoría de aplicativos son Python (para el escenario 2), sin
> embargo, si escogieran Adampiere como core para la parte
> administrativa preferirían mantenerlos llevándolos a SOA o simplemente
> re-escribirlos en JAVA?
> - Qué hay con el rendimiento de los queues en Python vs JAVA?
> - Alguna idea, opinión, sugerencia?
>
> Agradeceré su participación porque las decisiones se deben tomar en 3
> días y me gustaría agregar sus ideas a la solución final, por supuesto
> que me gustaría que todo fuera Python pero sé que un gobierno no es
> Youtube o Google (los escenarios de ellos son ideales, pero no es el
> caso).
>
> Saludos,
>
> --------------------------------
> Alfonso de la Guarda
> Centro Open Source(COS)
> http://www.cos-la.net
> http://alfonsodg.net
> Twitter: @alfonsodg
> Redes sociales: alfonsodg
> Telef. 991935157
> 1024D/B23B24A4
> 5469 ED92 75A3 BBDB FD6B 58A5 54A1 851D B23B 24A4
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
--
Sebastian E. Ovide
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120226/784fbb2d/attachment.html>
More information about the pyar
mailing list