Y la gente programa en lo que le apetece. No sigue criterios de mercado sino usa lo que quiere. Que se podrían usar otras herramientas y hacer todo más reusable... sólo tienes que convencer a los programadores de SL de que Java es lo suficientemente bueno y lo suficientemente libre...
«Pero nunca oigo que IBM, Bea, Sun, Macromedia, Oracle o Microsoft, tengan algún interés en proyectos basados en Perl, PHP o Python».
Estas empresas desarrollan y venden sus propios lenguajes de programación, es normal que no sientan interés por Perl, PHP o Python. Lo cual no quiere decir que internamente no lo usen para ciertas aplicaciones. Qué sería de Internet sin estos lenguajes: que se lo pregunten si no a Amazon, Yahoo, Slashdot, Barrapunto... y tantos y tantos webs que usan gestores de contenidos. ;)
Java es un lenguaje más complejo que PHP, Perl y Python. Que conste que creo que Java tiene su 'mercado' y me parece una plataforma realmente completa, pero no se puede esperar que sea la solución a todos los problemas.
Y me pregunto yo.... ¿y que más da eso? es decir, lo que se hable de uno u otro lenguaje de programación va en función de los intereses de cada uno, la comunidad del soft libre, habla libremente. No es necesario decir: "Ahora tenemos que hablar del pobre java por que es muy bueno" Son muy populares las comparaciones de java con cualquier lenguaje o plataforma de desarrollo y al final siempre quedan en riña entre unos y otros. Personalmente lo bueno del soft-libre, entre otras cosas, es la capacidad de lección, la gente opta por una u otra posibilidad y al final la que es elgida por más gente es la que alcanza las cotas de desarrollo más altas. Vamos que es la selección natural la que impera en el soft-libre. Que una gran parte de la comunidad opta por php para el web, pues este con el tiempo se convertirá en una de las mejores opciones(si no lo es ya ;-) por que tiene el empuje de muchos. Además, si te soy sincero yo a java le tengo un poco de reparo por qué está demasiado ligado a Sun... y bueno que se gaste ella los dineros para promocionarlo, si les interesa, vamos!!!
A mi modo de ver, aparte de las consideracíones sobre si JAVA es o no libre, el problema está en la inmediatez de desarrollo.
Desde luego que JAVA a mí me parece lo mejor de lo mejor en su campo (C# es muy bueno, pero no deja de ser un JAVA "moderno" y a lo Microsoft), pero cuando alguien comienza a programarse una web pues lo más inmediato y rápido es acudir a PHP... no tienes que instalar un servidor como Tomcat o JBoss y cumple su función.
Es como el BASIC y el C.... el BASIC es más "inmediato".
por
pobrecito hablador
el Jueves, 25 Septiembre de 2003, 13:31h
(#220441)
java podrá ser poderoso, pero seamos sinceros necesita buen recurso, es poco intuitivo y una aplicación en java siempre es pesada.
php será lo que sea pero es liviano y para hacer un sitio web de mediana complejidad trabajas más rápido necesitas menos recuros y al final es muy estable y la gente contenta.
para cosas complejas usa el java si quieres, pero tampoco es la panacea.
no me parece que deba hablar mal de php el autor, cada quien en su espacio.
Faltan algunas clases pero es GPL. En esta página [linux-mag.com] se habla de GCJ y de otros. Con las ventajas e inconvenientes que tiene. Como bien ha indicado el autor de la noticia, existen multitud de proyectos en Java que son libres. Al argumento de que el JDK oficial de Sun no es todo lo GPL que se desearía, tampoco .NET lo es pero aquí todo el mundo lo apoya (como net o como mono, aunque no mucho a dotGNU). ¿Será que GCJ u otros proyectos basados en Java no tienen una figura pública como Miguel de Icaza?
-- Avengers Assemble!!
1 respuesta por debajo de tu umbral de lectura actual.
por
pobrecito hablador
el Jueves, 25 Septiembre de 2003, 13:53h
(#220450)
Cuando se dice que Java no es libre no se a que se refieren. ¿Al SDK de Sun? ¿A la herramienta de desarrollo? ¿A la especificación del lenguaje?
La especificación del lenguaje es pública, y cualquiera puede desarrollar su propia versión de la plataforma siguiéndo dicha especificación. Puedes hacerla comercial o gratuita, abierta o cerrada, GPL o BSD, para la plataforma que quieras. ¿Más libre que eso? Existen plataformas libres de Java.
Si algún día la especificación deja de ser pública (dudo que legalmente se pueda hacer) y Sun se desmarca con una especificación cerrada, siempre quedarán todos esos productos comerciales y no comerciales, libres y cerrados, que actualmente están en el mercado.
El debate de si un lenguaje es mejor o peor que otro es estéril y además no es el propuesto aquí. Cada cual tiene sus gustos y necesidades.
El asunto es que cuando se habla de software libre parece que solo existen sota, caballo y rey.
De hace un par de años a la fecha muchos de los que usamos software libre no somos informáticos, somos contadores, biólogos, veterinarios y (como en mi caso) psicólogos. Lo que queremos es conectar nuestras bases de datos de clientes o investigaciones en línea y PHP está hecho para eso. Java es más robusto y completo pero para quien no ha programado en su vida posee una curva de aprendizaje de tres años y aún con experiencia es mucho más lento de desarrollar. Con PHP en dos meses ya estas en condiciones de hacer un desarrollo "de verdad". Tengo amigos "javeros" que dicen que PHP es el VisualBasic del web, pero ellos son programadores profesionales. Además, en general la tecnología java es más compleja que las otras, Apache+PHP se configura en diez minutos pero configurar Tomcat o Websphere no es tán fácil. Si lo que quiero es ponerle un recetario web a mi mamá no lo voy a hacer en java porque en PHP está en tres patadas. En fin, java tiene un nicho más estrecho que son sobre todos los bancos. Pero para quien no le guste la avasalladora mayoría de PHP,Perl,Python sobre JSP consuélese pensando que los programdores de java ganan más :).
Como muy bien dices, en el desktop no encontramos Java porque es muy pesado. Si es una aplicación "tocha", encontraremos C/C++, y si es algo más ligero, encontraremos Python, Tcl, Ruby, Perl o, ($DEITY me perdone) en máquinas Windows, Visual Basic.
> pero casi todo web profesional que se desarrolla
> hoy se tiende a hacer con tecnologías Java en la
> trastienda.
Creo que no hay que confundir el término 'web profesional' con 'aplicación web gigantesca'. Cada lenguaje/herramienta tiene su nicho. Las tecnologías web basadas en Java son muy potentes, no lo pongo en duda, pero tienen su rango de aplicación: aplicaciones "gordas", con mucha carga de usuarios y consultas, etc.
Yo no montaría nunca la página web o la intranet de una PYME sobre un servidor de aplicaciones basado en Java: es demasiado "grande" para este menester. Una aplicación web puede ser "pequeña" y profesional a la vez, no son términos excluyentes.
> Eché un vistazo al PHP como herramienta de
> desarrollo Web (combinando con componentes C++
> sería interesante), y lo siento, en aquel
> entonces me pareció un juguete hecho por
> principiantes: pobre en programación orientada a
> objetos, librerías pobres y ancladas en la
> filosofía del viejo C, nula abstracción,
> extensibilidad complicada
Con PHP (como con todos los lenguajes, incluído Java) se pueden hacer guarrerías y chapuzas, pero también tiene posibilidades muy interesantes para separar la presentación de la lógica (Smarty, patTemplate,...).
La orientación a objetos no es la panacea ni el único paradigma de programación válido. Es sólo una herramienta o una forma de pensar más.
Creo que se puede hacer una aplicación web perfectamente 'profesional', escalable, mantenible y eficiente sin declarar una sóla clase.
> Hay una infinidad de posibilidades de
> desarrollar software final profesional y de
> calidad basado en Java enteramente con
> herramientas de OpenSource, y sin embargo,
> insisto, todavía veo mucho mucho PHP, incluso en
> empresas de software libre.
Dile a tu cliente que para montar su intranet (con, por ejemplo, un máximo de 100 usuarios concurrentes) tiene que poner una máquina con al menos medio giga de RAM y que te vas a tirar tú y tu equipo de cinco personas un mes entero para desarrollarles la aplicación (con los costes que ello conlleva).
Ahora dile que con dos personas (el diseñador y el programador) y una máquina relativamente modesta, en un par de semanas puede tener su aplicación funcionando.
¿Qué crees que eligiría?.
Insisto en la idea, para cada cosa, lo suyo. Me gusta comparar Java con un camión de competición (de los que van al Paris-Dakar o corren en los circuitos) y a PHP con un utilitario. ¿Qué es mejor?. Pues según cuáles sean tus necesidades.
> y tampoco creo que se puedan hacer mucho
> software profesional base de PHP y perl
¿Quéeeee?. No doy crédito a lo que leo. Menos mal que no has dicho Python, porque si no, no se que hubiera hecho...;-)
Coñas aparte, y por no ir muy lejos: Barrapunto, ¿no lo consideras una aplicación "profesional"?.
Y CPAN, ¿tampoco?. ¿Y sourceforge?. No sigo, que me eternizo...
A ver si estamos confundiendo "aplicación web profesional" con "aplicación web corporativa diseñada para soportar alta carga de usuarios, alta disponibilidad, etc, y con soporte de las grandes empresas de consultoría".
Además, estamos hablando de "Open Source", ¿no?. Pues cada uno utilizará la herramienta/lenguaje que mejor le parezca según su criterio personal. Si luego se da el trastazo porque no ha sabido elegir la herramienta adecuada, es cosa suya (su aplicación pasará a la historia, o sus clientes se quejarán, etc).
No qiero empezar un flame, ni nada parecido, pero los comentarios que has hecho acerca de PHP me han parecido fruto de la ignorancia. Obviamente no puedes ser imparcial, ni yo tampoco. Pero al menos desarrollo aplicaciones en ambos lenguajes (además de ASP) y los conozco bastante bien, aunque no puedo hablar de Perl ya que no lo conozco.
Cada uno de los lenguajes sirve para lo qe sirve. Java es absolutamente inútil como lenguaje para la web por varios motivos, el más importante a mi juicio está compartido por javascript: se ejecuta en el cliente. Debes tener en cuenta un hecho que, aunqe a los barrapunteros no les guste (puesto que la mayoría de la gente de aquí usa Linux, o alguna variante de BSD), es determinante: la mayoría de los clientes utilizan Windows. Aproximadamente un 45% de los visitantes de las páginas que he desarrollado, desde hace algo más de un año, utilizan Windows XP. Que no trae de serie la máquina virtual Java. Y que, además (gracias a dios cada vez menos) utilizan RTB para conectarse a Inet, con lo cual pocos se animan a descargarse los más de 5MB que ocupa la máquina de M$ solo para ver las cuatro chorradas Java qe la gente mete en sus páginas --> el mal uso de los lenguajes, siempre persiguiendo.
Es un hecho probado que tanto PHP como ASP tienen un rendimiento mucho mayor que Java en aplicaciones para la Web, provocado en parte por el poco rendimiento de las distintas máquinas virtuales. El origen de esto es obvio: ambos lenguajes (aunque pueden usarse de otras maneras) están diseñados casi específicamente para aplicaciones web.
Ahora bien, para aplicaciones de red generalmente utilizo Java, ya que trae gran cantidad de facilidades en estas tareas que me hacen la vida menos complicada. También podría utilizar C, desde luego, pero las aplicaciones de este tipo que suelo desarrollar han de ejecutarse en varios tipos de plataformas, como Mac, Linux, Solaris o Windows (tampoco habría diferencias, si en ese aspecto yo fuera un poco menos perrazo).
--
NabLa
No te dije que sería fácil. Te dije que sería la verdad.
Re:PHP pobre?
de ceinsero
(Puntos:1)
Jueves, 25 Septiembre de 2003, 14:33h
Re:PHP pobre?
de NabLa
(Puntos:1)
Jueves, 25 Septiembre de 2003, 15:10h
Re:PHP pobre?
de ceinsero
(Puntos:1)
Jueves, 25 Septiembre de 2003, 17:32h
Re:PHP pobre?
de keyrn
(Puntos:1)
Jueves, 25 Septiembre de 2003, 15:55h
4 respuestas por debajo de tu umbral de lectura actual.
4 respuestas por debajo de tu umbral de lectura actual.
1- Cuando pienso en Java no puedo evitar que me venga el nombre de una empresa a la mente y no precisamente el concepto de código abierto. Muchas empresas estan interesadas en Java, no deja de ser sospechoso...
2- Es sorprendente que siendo PHP un lenguage principalmente de entorno web, casi tenga tantos proyectos en SourceForgue.net como Java que teóricamente es de próposito general y multiplataforma.
4- Pensar que PHP no es una herramienta profesional es como pensar que un PC no es un ordenador profesional porque un macintosh es más robusto.
5 - El hecho que el Ministerio de Ciencia y Tecnología sea una auténtica vergüenza poco tiene que ver con la profesionalidad de PHP.
6- Hago webs a nivel profesional y jamás usaria Java para nada y me parece que PHP no tiene rival en este entorno.
Pues a mi me parece que el que JDK fuera libre, y si puede ser también la tecnología J2EE también sería tan interesante e importante como disponer de un sistema operativo libre.
He trabajado con varios lenguajes, PHP, ASP, tecnología J2EE (jsp, java, servlets, ejb, etc) y según cada caso, y las necesidades del cliente usas unos u otros, o combinaciones de ambos (muchas veces PHP + J2EE), e incluso a veces, hasta HTML puro si es necesario.
Es cierto que hay muchos proyectos de software abierto basados en java, pero no hay un interprete/compilador como GCC. No olvidemos que gracias a GCC se ha podido desarrollar cantidad de software libre, que sabemos que siempre podremos compilar ya que el GCC también es software libre. Esto no lo tenemos todavía con Java, además de que las especifaciones, aunque sean públicas, no conozco hasta que punto y quien puede influir en el camino que va a seguir java.
Se que existe un proyecto (CLASSPATH) que está implementando las clases (primer paso) pero queda por hacer.
En esto de los lenguajes, lo bueno es disponer de diferentes sabores, y ver cuando aplica uno o cuando aplica otro. Alguien apuntaba por detras, que según que caso aplica una cosa u otra. Puede ser que una aplicáción sea más dificil de configurar, puede ser, pero es como todo, una vez se sabe, ya está. Tal vez si se dispusiera de compiladores/interpretes libres se potenciaría todavía mas si cabe el desarrollo de software libre con java, y llegaría a ser tan popular y duradero en el tiempo como está siendo C.
En fin, tiempo al tiempo, pero de momento estoy aprendiendo Python, que tiene una curva de aprendizaje muy corta, y se puede utilizar tanto para hacer pequeños scripts de administración, aplicaciones más elaboradas, aplicaciones visuales, aplicaciones webs, e incluso con servidores de aplicaciones, del cual Zope es un ejemplo.
En mi opinión, Java es aún excesivamente pesado para el escritorio. Esto probablemente en unos años sea de menor importancia, pero al fin y al cabo no deja de ser un problema añadido.
Otro problema que le veo es que su propio diseño limita de cierta forma al programador, de manera que en ciertas ocasiones tiene que hacer virguerías totalmente ineficientes para cosas que debieran ser más simples (y no, no pienso poner ejemplos, solo tienes que ponerte a programar un poco).
Y por último no me gusta mucho la API, a pesar de que la encuentro consistente, quizás debido a esa necesidad de hacer ciertas cosas de manera más enrevesada de la que debería, unas por limitaciones del lenguaje y otras específicas de la API por decisiones de diseño.
Sin embargo, me gusta Java como lenguaje de introducción a la POO por ser sencillo y fácil de aprender, y me gustan las facilidades que provee para olvidarte de los detalles de la máquina y centrarte en la lógica del programa.
Yo usaría Java para aquellos proyectos que pueden permitirse no estar optimizados y correr con cierta sobrecarga (como aplicaciones de gestión), pero para la web me decanto por PHP sin ninguna duda.
No acabo de entender muy bien por qué es un problema para todo el mundo que la JDK de Sun no sea GPL (la de IBM, que para algunas cosas es mejor tampoco lo es).
¿Establece alguna limitación para los proyectos OpenSource este hecho? Por la misma regla de tres no deberíamos desarrollar software GPL para Windows (eMule y asociados), porque bastantes controles son de Microsoft.
La discusión entre PHP y Java no debería existir. Como muy bien indican algunos compañeros del metal son dos mundos distintos. Algunos pueden decir que PHP es mas "ñapero", porque no te obliga a programar bien, mientras que enfrentarse a un proyecto Java, aunque sea pequeñito, te obliga a recuperar el papel y el boli y como mínimo darle una vuelta a lo que estás haciendo.
Personalmente considero a Java un lenguaje muy repelente de programar, pero con una versatilidad brutal (fuera de todos los PEARs, CLIs e historias variadas de PHP).
Creo (lo digo porque no lo he leido en profundidad) que PHP 5 pretende ampliar la funcionalidad, orientarse más a la gestión de clases de Java y permitir conectividad con objetos externos (un estilo de JavaBeans pero a su palo).
Para los genízaros que defienden a la muerte PHP, poniendo a Java a caer de un guindo, les hago una pregunta muy simple: cuanto de vuestro código podría ser reutilizado por otras personas (digo el vuestro, no el de phpBB, phpNuke, etc) Ahora pensad en la "mierda" de C/C++: cuantas librerías C utiliza el engine de PHP? Todas?
Si sumamos la polémica que suelen despertar las noticias que contienen la
palabra "Java" con el tono de provocación en el que está redactada la
reflexión creo que no hay que ser un adivino para saber lo que va a pasar, así
que no me sentiré culpable por hacer un comentario trollesco. Si alguien
quiere participar y llenarse de argumentos en cualquiera de los dos sentidos
no tiene más que visitar esta historia de slashdot [slashdot.org]
Para empezar ¿de qué clase de aplicaciones estamos hablando?. ¿Usas un único
lenguaje para todo? Conozco gente así, bien porque en sus empresas/grupos "se
usa Java"(o C++, C# o el lenguaje de moda del momento). Nada más tiene cabida.
Yo creía que los lenguajes eran herramientas y que como tales se usa el más
adecuado para cada ocasión, pero como es difícil para los jefes recordar más
de dos nombres de tecnologías a la vez se acaba usando sólo uno y que salga
mucho en los periódicos para que no se les olvide, pero estoy empezando a
divagar... El caso es que hay gente que acaba haciendo tareas simples
"diarias" (mantenimiento, etc..) sobre Bases de Datos en Java que les cuesta
diez veces lo que les costaría con Perl DBI, por ejemplo.
Supondré que te refiereres a las aplicaciones Web, ya que nombras a PHP. Pués
bien la mayoría de ellas son principalmente procesamiento de texto y acceso a
una base de datos creo sinceramente que usar un lenguaje tan poco adecuado
para esas dos tareas como Java, teniendo lenguajes como Perl o Python con
mucha más potencia expresiva es una estupidez. No es la herramienta adecuada,
simplemente.
Java tiene su sitio como lenguaje fuertemente tipado, con una comunidad grande
de desarrolladores, buenas herramientas, buenas APIS (programadas por grandes
empresas, etc...) pero por favor, no nos vendas la moto que para eso ya
tenemos las páginas salmón de los diarios que nos dicen puntualmente qué es
profesional y qué no. Pregúntate por qué esos lenguajes tan poco profesionales
como Perl, Python, PHP o Ruby tienen tales comunidades sin necesidad de
ninguna empresa que ponga muchísimo dinero y sin comisiones de expertos.
Todos escritos por gente muy poco profesional, como podrás ver.
Nota final: A pesar de la beligerancia que estoy mostrando hacia Java, no
es un lenguaje que me disguste en absoluto pero es que me pone malo la manera
de la que nos lo han instalado, con ese marketing basado en la falsa
superioridad. Ahí queda eso.
--
Programs should be written for people to read,
and only incidentally for machines to execute
Seguro que estaria muy bien y muy profesional que tu y yo mañana hablasemos en Esperanto pero, ¿tenemos el tiempo, la habilidad, la destreza y sobre todo los interlocutores para comunicarnos?
Cada lenguaje tiene su "mercado" y hay una buena parte de selección natural en todo esto, aunque a menudo los Tigres y los Leones pueden presionar las preferencias del resto por Java o C# u otros...
Y seguro que muchos se han equivocado al elegir Java para implementar un sistema web de recogida de firmas u otros se las vieron canutas para montar una tienda virtual con PHP... pero en general la gente elige bien lo que necesita en funcion de todos los parametros que se plantean... no solo de lo técnicamente mejor estructurado.
Y, de verdad, me parece algo prepotente afirmar que un proyecto en Java es profesional y en PHP o Python no. Sinceramente... lo que hace profesional a un proyecto es las manos y las neuronas de los que lo llevan a cabo, que deciden,diseñan e implementan la opción más eficiente segun el caso y los recursos disponibles.
Para Aplicaciones Web (aplicaciones, diferenciemos, no sitios dinamicos) definitivamente lo mejorcito es http://perl.apache.org/embperl/ .. lo uso hace a#os sin problema alguno. Es flexible, amplio y simple.
Ojo, tambien uso soluciones basadas en Java (normalmente JSP + J2EE) cuando, raramente, vienen aplicaciones distribuidas a mi escritorio.
Pero sino, me quedo en perl que me da libertad y cada dia me sorprende con cosas locas.
salu2.
un simple opinologo.
1 respuesta por debajo de tu umbral de lectura actual.
No hace mucho deje de usar o en pensar en Java por las siguientes razones:
- Es muy lento.
- Depende de una maquina virtual.
- No es libre.
- No corre en todas las plataformas (a excepcion de Linux, Windows, Solaris y buenos algunas veces Macintosh).
Si vemos relativamente pues los demas lenguajes de programacion son 100% multiplataforma (Exceptuando algunas cosas en las cuales Perl se diferencia en su version de Windows) y corren en diferentes arquitecturas, Hay demasiadas versiones de Java y pues mientras que uno no sabe de donde escoger. De igual manera hay muchas librerias que permiten construir interfaces graficas sin la necesidad de la utilizacion de Java y su ultrapesado SWING. Existen librerias como Wx, Qt y GTK que estan disponibles en c, c++, python, perl y bueno hasta en PHP. Es verdad que existen ofertas de trabajo para Java pero tambien he visto anuncios en la prensa donde se ofrecen puestos para trabajar con PHP, Python o Perl. Mientras que Sun es una empresa que ha sabido como mercadear a Java , pues los otros tres lenguajes de programacion (Perl, PHP y Python) son lenguajes que no tienen una empresa y tienen a un grupo de personas quienes desinteresadamente trabajan para darnos algo que nos sirva a todos sin restrictivas estupidas licencias o inclusive ridiculas patentes. Todos los lenguajes de programacion nombrados anteriormente tienen sus ventajas y desventajas pero lo mejor de todo es que son 100% libres y puedes hacer con ellas lo que quieras!.
Bueno, mi opinión al respecto es obvia, y creo que ya se han vertido ríos de bytes al respecto. Yo creo que al final lo que hace destacar a alguien por encima de los demás es su capacidad de saber elegir la solución más adecuada a su problemática concreta. No veo que haya radicalizar posturas, ni alabar/descalificar irracionalmente a uno u otro lenguaje.
En cualquier caso, en javaHispano [javahispano.org] hemos luchado siempre por promover el software libre. Esta y otras necesidades nos ha llevado a unirnos con el Grupo de Usuarios de Linux de la Universidad Carlos III de Madrid [uc3m.es] (sí, II y III Hispalinux, en Leganés :) para conjuntamente organizar el I Congreso javaHispano [javahispano.org], donde uno de los objetivos específicos es el fomento del software libre.
por
pobrecito hablador
el Jueves, 25 Septiembre de 2003, 22:30h
(#220677)
Además compara lo que pagan a una persona de Java por ahí con lo que pagan a uno de PHP en las empresas de desarrollo. Por lo general un 25% más al programador de Java.
1 respuesta por debajo de tu umbral de lectura actual.
He visto que ha habido un monton de comentarios geniales y por eso cada dia me gusta más barrapunto.
Bueno yo haciendo un poco de memoria me parece que Microsoft perdio un caso contra sun por utilizar la Palabra Java en varios de sus productos, y saltarse las especificaciones a la Torera . Pues principalmente significa que no es libre y que Java puede decidir quien puede utilizar un herramienta que no incluya el lenguaje como ellos quieren. Esto tb me recuerda :) a Netscape y internet explorer o a word perfect y word no se si me entendeis ?
Te lo dejo probar hago la vista gorda durante un tiempo y cuando ya el numero de desarolladores supera el 80 % del mercado que utilizan mi producto pues ale a meter restricciones por todas partes. Otra cosa es cual es mejor si PHP o JAVA yo personalmente creo que no se pueden comparar y que Java abarca muchas más cosas lo cual no quiere decir que sea mejor , si me dijeran de realizar un proyecto Web ahora mismo diria Apache mas php. Si el caso fuera que se quieren usar herramientas corporativas de las que no importa una mierda ( con perdon) que fallen continuamente y sean Hackeadas pues ASP IIS ," es triste pero es lo que pide la gente "(esta frase te la dira el 90 % consultores de software , partners ,Isps)
Ademas me parece que si alguien tiene que coger el relevo algun dia de Microsoft parece que SUN puja fuerte, con lo que tb me empiezan a caer gordos. De aqui poco podre probar un solaris con el sun one ( parecido a microsoft exchange) y eso que yo con el qmail me conformaba, pero eso ya es otra historia.
Creo que se está obviando una cosa por aquí, pues el Java está muy bien para unas cosas y el PHP para otras, pero si hablamos de desarrollos para Internet, y no tienen un servidor dedicado, ¿tienes realmente la opción de elegir Java?
La mayor parte de los proveedores de hospedaje web sólo ofrecen PHP y MySQL (ni siquiera ofrecen PostgreSQL) así que no hay mucho que discutir. Si a una empresa le ofrecen hostings muy económicos con PHP, y le prometen un desarrollo inicial económico y, por otro lado, una oferta de Java (dificilísima de encontrar) con unos gastos iniciales de programación más elevados y unos costes fijos (por el servicio de hosting) muy superiores, ¿qué eligiría el empresario? Seamos realistas, pero si externalizas los desarrollos web, el Java es difícilmente aceptable, aunque no es culpa del lenguaje, sino de la industria de hospedaje.
Hay que evitar caer en este "antipattern", la adopcion de una tecnologia unica puede tener sentido si se trabaja en proyectos pequeños, pero es absurdo utilizar la misma tecnica para atacar todos los problemas.
Dicho esto, y como a mi tambien me gusta fardar de lo listo que soy, yo prefiero un enfoque mas variado para atacar el problema:
- Generalmente hay un nucleo duro en las aplicaciones o grandes sistemas para el cual se necesita un lenguaje mas estricto que php. Este nucleo normalmente podria ser identificado con las entidades y logica de negocio de las empresas. Para esta parte un buen candidato es Java, por su expresividad y potencia para estos menesteres.
- Despues tenemos la parte de presentacion. Con mucho la parte de la aplicacion con un ciclo de vida mas corto. Esta parte de las aplicaciones para mi debe ser planteada como "de usar y tirar". Con estas premisas la utilizacion de tecnologias estilo PHP me parece totalmente adecuada por su bajo coste y velocidad de desarrollo.
- Hablando de procesos batch normalmente, por eficiencia, uno se salta a la torera la logica de negocio construida para la parte online/transaccional de la aplicacion, accediendo directamente a las bbdd. Para esta tareas me parece que un lenguaje estilo Python/Perl tiene una relacion coste/beneficio excelente.
Aunque mantener estos puntos de vista me han costado muchos disgustos a lo largo de mi vida profesional, al final se termina demostrando su utilidad y viabilidad; desde la empresa mas pequeña a la mas grande.
Un saludo de un Arquitecto de Software. Que cuando consiga saber lo que es me sentire bastante mas a gusto.
Leyendo los mensajes, veo que mucha gente todavía asocia Java a aplicaciones de escritorio o applets. Creo que Java ha demostrado y sigue demostrando que no es válido para este tipo de aplicaciones. Y lo digo yo que trabajo todo el día con Java. Cualquier aplicación de escritorio medianamente completa en Java canibaliza en pocos segundos la memoria del equipo, y abrir dos o tres de ellas en una maquina decentilla es echarse a nadar en el mar de la paginación (!)...
Pero en el lado del servidor es otra cosa. No conozco muy bien PHP pero mi sensación es que es un sistema que cumple muy bien con sus expectativas, aunque tiene un problema. Por hacer una analogía, las antiguas páginas ASP de Microsoft eran parte de una arquitectura denominada "Windows DNA", en la que únicamente jugaban el papel de capa de presentación, dejando las otras capas a merced de COM+ y otros lenguajes de desarrollo. El problema era que el 95% de los desarrolladores se metían a hacer spaguetti code como locos, en insufribles y chapuceros desarrollos. Y con PHP me parece que pasa un poco lo mismo, que hay una buena tecnología por detrás, pero que hay muchísima gente que sigue programando en un modelo funcional, en arquitecturas de una o dos capas como mucho, y jugando al clásico "ensayo -error" con sus páginas PHP.
Seguramente hay un 5% de programadores PHP que utilizan tres o mas capas, con sus pools de objetos, XML+XSLT, Web Services o cualquier otra tecnología, pero mi experiencia con empresas de desarrollo no me dice eso...
Con Java pasa lo mismo. Un desarrollador puede ponerse a tirar JSP a pelo y hacer páginas realmente desastrosas... Pero "estadísticamente" existe una cultura mucho mayor en lo que es desarrollar con modelos MVC, o con patrones de diseño que con PHP. Y no digo ya nada de los desarrolladores de J2EE que por definición deben de trabajar con una serie de clases en interfaces bien definidos, porque si no el servidor no "rula"...
En cuanto a tecnología, solo puedo hablar de Java, y puedo decir que el número de librerías y proyectos open-source es abrumante. Hay cientos de pools de conexiones, varios motores XML + XSLT, un montón de frameworks de presentación (entre los que brilla struts), un buen montón también de herramientas de desarrollo (IDE), y todo esto para el "sabor" preferido de java (servlets, jsp, templates, J2EE), etc.
Y luego maneja un equipo de desarrollo mediano... Como no definas interfaces y/o clases abstractas y una arquitectura medianamente "encorsetada", cada cual se pone a tirar código a su manera y al final todo es un pequeño revuelo de rutinas, librerías, cosas bajadas de Internet, etc. Ahí creo que la OOP de Java (y que nadie empiece el típico "flame" sobre si Java es realmente OOP, por favor de los porfavores...), ayuda mucho...
-- (c) 1982 Sinclair Research Ltd.
Re:Arrrghh
de cYbErDaRk
(Puntos:1)
Viernes, 26 Septiembre de 2003, 08:27h
¿Método?
de knocte
(Puntos:1)
Viernes, 26 Septiembre de 2003, 18:23h
Re:¿Método?
de cYbErDaRk
(Puntos:1)
Sábado, 27 Septiembre de 2003, 11:41h
Re:Arrrghh
de sir_clive_sinclair
(Puntos:1)
Lunes, 29 Septiembre de 2003, 10:59h
Soy desarrollar freelance de webs, que no de otra cosa, y uso ambos lenguajes indistintamente. Pero, cuando un cliente no tiene preferencia por un lenguaje, le sugiero siempre PHP. ¿Porqué?:
Es más fácil encontrar hosting en PHP y más barato. La razón no creo que sea el desconocimiento de las empresas de hosting respecto a "Java", sino que Java les suele dar problemas en hostings compartidos (los bucles infinitos y el consumo de memoria son algunos)
Hay más demanda de PHP que de Java
PHP me permite desarrollar y modificar el diseño de la aplicación más rápidamente. Es un lenguaje mucho más flexible que Java.
PHP es realmente rápido, aunque dicen (nunca lo he comprobado) que bajo cargas máximas de trabajo Java responde mejor. Mis experiencias se resumen en mi portal, que sirve entre 4 y 12 de la noche casi una página al segundo, con cientos de líneas en PHP en cada script... y va como un tiro (menos cuando a Apache se le acaban los hijos XD)
PHP es más "claro", no hay tantas librerías, proyectos, sistemas, etc como en Java, y si bien esto debería ser una ventaja para Java, no lo es. Prefiero la sencillez y ceñirme simplemente a lo que hay, en vez de estar investigando todo el santo día las cosas nuevas que se les ocurren a los de Sun para, en teoría, mejorar mi vida :), que lo único que consiguen es que cada fin de semana me tenga que leer un manual con su última idea
No nos confundamos, señores, ¡PHP es para hacer webs!, y para eso fue diseñado. Si quisiese hacer una app de escritorio no usaría PHPGTK.
Pero estas son las cosas que envidio de Java que no tiene PHP:
Un sistema STANDARD de taglibs (no me vale smarty, no)
Que se pueda compilar de una vez en bytecodes, incluído en le código "madre" de PHP (no me vale, Zend, no)
Que soporte contexto de aplicación (y tampoco me vale que compilándolo con tal o cual se pueda, lo quiero en la distri)
try { catch }, esto harto de programar estilo C XD (PHP 5 rulez)
Una API de envío de emails decente.
Son solo unas ideas, anyway.
Un saludo
PD: de momento no me he encontrado nunca con una web que no pudiese hacer en PHP...
De toda la sarta de afirmaciones debidas al desconocimiento, a mi la que mas me molesta es la de que con PHP no se pueden hacer webs profesionales.
Esa una afirmacion que oigo en determinados ambientes continuamente, especialemente entre universitarios e informaticos que ni conocen PHP ni han programado nunca una web profesional.
Llevo ya muchos años trabajando como programador profesional de webs, he participado y participo en proyectos de gran calado, y algunos de ellos estan totalmente programados en PHP.
Actualmente estamos realizando la web de una de las mayores multinacionales que hay en este nuestro planeta mundo, y toda la web, para los diferentes paises en que esta presente esta multinacional esta elaborada en PHP.
Aparte estamos creando una buena parte de la Intranet de la multinacional en PHP. Y todo que esta empresa tiene un departamento de software y programacion propio, en el que programan principalmente, por no decir exclusivamente, en JAVA, cada vez nos dan mas trabajo a nosotros pues conseguimos los mismos o mejores resultados finales en menos tiempo.
La profesionalidad no va implicita en el lenguaje que se utiliza, si no en la persona que programa.
Y la profesionalidad da web viene determinada por la conjuncion de distintos aspectos. Se puede programar una web en PHP, JSP, Perl... que teoricamente a nivel de teoria de la programacion sea muy buena, profesional, robusta y eficaz, pero que luego sea un desastre en cuanto a "usabilidad" o simplemente una porqueria en cuanto a estructuracion y planteamiento.
La creacion de webs profesionales demanda la presencia de personas (o equipos) con una preparacion multidisciplinar y un gran conocimiento de lo que es, o debe ser, una web.
Para mi uno de los grandes errores actuales, es que aun no se ha salido de la fase primeriza de creer los profesionales de Internet o son progamadores o son diseñadores, los profesionales encargados de crear paginas web deben tener una formacion muy completa, deberian ser los nuevos "humanistas".
Repito, basar la profesionalidad de una web en un determinado lenguaje de programacion, es como basar el valor de una obra arquitectonica en los ladrillos y argamasa que esta utiliza, o en el programa de software utilizado para diseñar o dibujar los planos.
¿Quién no ha oido hablar de JBoss, JOnAS, GCJ, Xerces, Xalan, Tomcat, Struts, Ant, Antlr, XDoclet, OpenEJB, OpenORB, AspectJ, HSQLDB, SquirrelSQL, NetBeans, Eclipse y muchos muchos más?
Espero que te refieras a si hemos oido hablar de "alguno" de ellos, porque si te refieres a todos, yo debería responder que no (vale, ya sé que es una pregunta retórica, pero hablo en el hipotético caso de que yo la respondiera).
En SourceForgue.net existen 9804 proyectos en Java, frente a 11790 proyectos en C y 11536 proyectos en C++, teniendo en cuenta que estos lenguajes son mucho más antiguos y muchos proyectos serán comunes (basados en ambos), 7418 proyectos PHP, 4922 proyectos en Perl, Python 2676 proyectos.
Para empezar, cuidado con la errata: es SourceForge.net.
Para continuar, habría que decir en favor de C que los proyectos de C y C++ suman entre los dos más de 23000, lo que es más del doble que los de Java. Y los meto en el mismo saco porque, quieras que no, C y C++ no es que sean lenguajes diferentes, sino que uno engloba al otro (C es C++, aunque C++ no es C).
Hasta tal punto que Microsoft se ha apuntado al carro con un clon del mundo Java (a la manera Microsoft): la plataforma .Net
Hombre, un clon, un clon... no es. Yo lo que creo es que Microsoft vio las posibilidades de Java, y sus inconvenientes. Y cogió el tipo de lenguaje que es C, le añadió la orientación a objetos de C++ al estilo de Java (es decir, sin punteros y demás), corrigió algunos defectos de Java (en mi opinión son defectos, a otro le podrían parecer "features" ;) y creó C. Luego se inventó esto de los servicios web, diseñó un RAD bien currado, y sacó el bombazo del paquete "la plataforma .NET". Por tanto, yo no lo llamaría clon de Java.
No estoy saliendo en defensa de Microsoft. Estoy saliendo en defensa de C# y la idea de interoperabilidad y multi-lenguaje que aporta la plataforma .NET. C# me gusta y también me gusta el SL, pero no son incompatibles (porque, como se ha dicho por ahí, es muy respetable ¿e inteligente? la decisión de Microsoft de convertir a C# en un estándar).
Yo me "crié" en el C++ (Visual C++) y me resistía al cambio del pujante Java de hace unos años. Eché un vistazo al PHP como...
Según lo que cuentas, todo parece indicar que no has probado en tus carnes el lenguaje C#. Me gustaría sinceramente que lo probaras, a ver si sigues teniendo esa opinión tan defensora de Java :-)
Bueno, espero no haberte ofendido en ningún sentido, ya que no es lo que pretendía. Además te recuerdo que esto es sólo mi opinión ;) la cual te brindo para que hagas un ejercicio de contrastes.
Por mucho que te empeñes, con GNU Classpath no puedes compilar una aplicación minimamente seria. En la actualidad sólo está implementado el 55% del API ( ver páginas del proyecto )
Especificamente, si usas swing, awt, rmi, ssl criptografia, logging o "tonterias" de ese estilo, no hay dios que haga que siquiera compile
¿Qué libertad tengo si no puedo usar la mitad de la especificación, porque simplemente, no existe?
En segundo lugar gjc es simplemente un compilador. La única vm realmente seria es jikes-rvm ( de IBM ), y aún así no tiene implementadas muchas de las funcionalidades (verificación de integridad del bytecode, por ejemplo )
Si programas aplicaciones cliente-servidor, que tengan consideraciones de seguridad, no puedes usar jikes....
Ademas: casi todas las vm's libres se apoyan en el gnu classpath, que no funciona....
Conclusión: no hay plataformas de desarrollo y ejecución java libres. Punto.
¿Cuanta gente se ha leido la Sun Research License?
Básicamente te permite hacer todo salvo llamarlo Java. Claro, que como RMS me ha dicho casi insultantemente en más de un mail, eso ya basta para considerarlo no libre.... ( tengo un mail en el que aplaude que la gente no quiera colaborar conmigo en un proyecto java )
Y si Stallman dice que no, pues no. Dios habló.
Saludos cabreados.
.
-- Quosque tandem abutere Catilina Patientia nostra?
Es curioso ver como hay gente que defiende una u otra tecnología en función de sus gustos. ¿Y por qué? A mi me parece que la gente simplemente defiende lo que sabe hacer; si uno aprende a hacer páginas dinámicas con PHP, pues ala, PHP al poder. Idem si te inclinas por JSP's. Ya puestos, defendamos los CGI's en C (eso sí que era programación de hombres).
No voy a discutir que haya gente que defiende lo que ha aprendido "a muerte", pero no todos el mundo es así.
Tengo un par de años de experiencia desarrollando webs dinámicas con PHP. Aunque muchos proyectos eran muy similares (aplicaciones tirando de PostgreSQL, altas, bajas, modificaciones, búsquedas, listados, ...), siempre traté de mejorar la arquitectura de las aplicaciones, algunas veces rehaciendo gran cantidad de trabajo. La verdad es que poco a poco la cosa iba mejorando, tanto en escalabilidad, independencia de las vistas del modelo, generación dinámica de thumbnails y muchas otras cosas.
Pero llegó un momento que las modificaciones de las clases principales eran complicadas. Y había varias razones: PHP no es un lenguaje tipado, la gestión de errores es pésima, la orientación a objetos es muy rudimentaria,...
Otra cosa que me disgustó mucho de PHP es la inmadurez de alguna de sus APIs.
La que me jodió bastante fue la de acceso a PostgreSQL. Al principio usábamos PHP3, más tarde apareció PHP4 y empezamos a trabajar con la nueva versión. Me tocó hacer la migración de algunas aplicaciones de PHP3 a PHP4 (un coñazo, vamos). Creo recordar que todo lo relacionado con PostgreSQL tuvo que ser retocado para que funcionara.
Pero es que, no hace mucho, instalé en casa PHP 4.x (la última en aquel momento)... ¡y otra vez habían hecho cambios en la API de PostgreSQL! Frustrante.
Supongo que en Java pasará de vez en cuando algo similar con algún constructor o algún método (los famosos métodos o constructores "deprecated"), aunque a mí no me ha pasado nada similar en el tiempo que llevo.
Estas razones, entre otras, me animaron a probar los servlets y las páginas JSP. Y la verdad es que me gusta mucho más que PHP. Toda la crítica anterior a PHP son ventajas en Java (orientación a objetos, excepciones, APIs maduras,...).
Un par de apuntes más:
- Por lo que he comentado se puede deducir mi opinión sobre si se puede trabajar con PHP en proyectos serios. Rotundamente sí, a mí me fue bien, aunque a mí personalemente se me quedaba un poco corto, pero ésto es como los culos, todo el mundo tiene uno.
- Alucino con el desprecio que siente mucho gente hacia Java y el software libre realizado en Java. Creo que las personas que desarrollan software libre, ya sea sobre Linux, Windows o Java se merecen, al menos, un respeto por regalarnos su tiempo. Por cierto, es posible trabajar con servlets usando sólo software libre (con el JDK de Blackdown + Apache Tomcat + PostgreSQL, por ejemplo).
Es software libre
(Puntos:2, Inspirado)( https://twitter.com/yapw | Última bitácora: Viernes, 13 Mayo de 2011, 21:21h )
Aquí había una firma
Java no es libre
(Puntos:1)( http://ww.google.es/ | Última bitácora: Martes, 01 Mayo de 2007, 16:43h )
Lo siento pero no me gusta Java, ni siquiera corriendo bajo un Solaris. Es lento como el solo.
__________________________________________________
La sabiduría se halla en el buscar... Google power!!!
Cada cosa en su sitio
(Puntos:5, Interesante)( http://rvr.linotipo.es/ | Última bitácora: Sábado, 21 Febrero de 2015, 01:40h )
Estas empresas desarrollan y venden sus propios lenguajes de programación, es normal que no sientan interés por Perl, PHP o Python. Lo cual no quiere decir que internamente no lo usen para ciertas aplicaciones. Qué sería de Internet sin estos lenguajes: que se lo pregunten si no a Amazon, Yahoo, Slashdot, Barrapunto... y tantos y tantos webs que usan gestores de contenidos. ;)
Java es un lenguaje más complejo que PHP, Perl y Python. Que conste que creo que Java tiene su 'mercado' y me parece una plataforma realmente completa, pero no se puede esperar que sea la solución a todos los problemas.
Víctor R. Ruiz
rvr en blogalia.com
Ideas libres en un mundo libre
(Puntos:3, Interesante)( http://www.crilandor.com/ )
Que una gran parte de la comunidad opta por php para el web, pues este con el tiempo se convertirá en una de las mejores opciones(si no lo es ya ;-) por que tiene el empuje de muchos. Además, si te soy sincero yo a java le tengo un poco de reparo por qué está demasiado ligado a Sun... y bueno que se gaste ella los dineros para promocionarlo, si les interesa, vamos!!!
Crilandor - La última frontera [crilador.com]
Servidor gratuito de Ultima Online
Mi punto de vista....
(Puntos:2)( http://web.iesrodeira.com | Última bitácora: Sábado, 25 Abril de 2009, 19:50h )
Es como el BASIC y el C.... el BASIC es más "inmediato".
Xavi.
cada uno en su espacio
(Puntos:2, Interesante)GCJ si es GPL
(Puntos:1)Avengers Assemble!!
¿Que no es libre de Java?
(Puntos:2, Inspirado)Java
(Puntos:3, Interesante)( http://www.mononeurona.org/ )
-----------------------------------
"El tenía la inhumana costumbre de ser racional".
Mis apreciaciones
(Puntos:5, Interesante)( Última bitácora: Domingo, 05 Diciembre de 2010, 22:01h )
Como muy bien dices, en el desktop no encontramos Java porque es muy pesado. Si es una aplicación "tocha", encontraremos C/C++, y si es algo más ligero, encontraremos Python, Tcl, Ruby, Perl o, ($DEITY me perdone) en máquinas Windows, Visual Basic.
> pero casi todo web profesional que se desarrolla
> hoy se tiende a hacer con tecnologías Java en la
> trastienda.
Creo que no hay que confundir el término 'web profesional' con 'aplicación web gigantesca'. Cada lenguaje/herramienta tiene su nicho. Las tecnologías web basadas en Java son muy potentes, no lo pongo en duda, pero tienen su rango de aplicación: aplicaciones "gordas", con mucha carga de usuarios y consultas, etc.
Yo no montaría nunca la página web o la intranet de una PYME sobre un servidor de aplicaciones basado en Java: es demasiado "grande" para este menester. Una aplicación web puede ser "pequeña" y profesional a la vez, no son términos excluyentes.
> Eché un vistazo al PHP como herramienta de
> desarrollo Web (combinando con componentes C++
> sería interesante), y lo siento, en aquel
> entonces me pareció un juguete hecho por
> principiantes: pobre en programación orientada a
> objetos, librerías pobres y ancladas en la
> filosofía del viejo C, nula abstracción,
> extensibilidad complicada
Con PHP (como con todos los lenguajes, incluído Java) se pueden hacer guarrerías y chapuzas, pero también tiene posibilidades muy interesantes para separar la presentación de la lógica (Smarty, patTemplate,
La orientación a objetos no es la panacea ni el único paradigma de programación válido. Es sólo una herramienta o una forma de pensar más.
Creo que se puede hacer una aplicación web perfectamente 'profesional', escalable, mantenible y eficiente sin declarar una sóla clase.
> Hay una infinidad de posibilidades de
> desarrollar software final profesional y de
> calidad basado en Java enteramente con
> herramientas de OpenSource, y sin embargo,
> insisto, todavía veo mucho mucho PHP, incluso en
> empresas de software libre.
Dile a tu cliente que para montar su intranet (con, por ejemplo, un máximo de 100 usuarios concurrentes) tiene que poner una máquina con al menos medio giga de RAM y que te vas a tirar tú y tu equipo de cinco personas un mes entero para desarrollarles la aplicación (con los costes que ello conlleva).
Ahora dile que con dos personas (el diseñador y el programador) y una máquina relativamente modesta, en un par de semanas puede tener su aplicación funcionando.
¿Qué crees que eligiría?.
Insisto en la idea, para cada cosa, lo suyo. Me gusta comparar Java con un camión de competición (de los que van al Paris-Dakar o corren en los circuitos) y a PHP con un utilitario. ¿Qué es mejor?. Pues según cuáles sean tus necesidades.
> y tampoco creo que se puedan hacer mucho
> software profesional base de PHP y perl
¿Quéeeee?. No doy crédito a lo que leo. Menos mal que no has dicho Python, porque si no, no se que hubiera hecho...
Coñas aparte, y por no ir muy lejos: Barrapunto, ¿no lo consideras una aplicación "profesional"?.
Y CPAN, ¿tampoco?. ¿Y sourceforge?. No sigo, que me eternizo...
A ver si estamos confundiendo "aplicación web profesional" con "aplicación web corporativa diseñada para soportar alta carga de usuarios, alta disponibilidad, etc, y con soporte de las grandes empresas de consultoría".
Además, estamos hablando de "Open Source", ¿no?. Pues cada uno utilizará la herramienta/lenguaje que mejor le parezca según su criterio personal. Si luego se da el trastazo porque no ha sabido elegir la herramienta adecuada, es cosa suya (su aplicación pasará a la historia, o sus clientes se quejarán, etc).
Un saludo.
--
David.
>>> print "Python rulez!"
>>> "Python r
PHP pobre?
(Puntos:1, Interesante)( http://barrapunto.com/ )
Cada uno de los lenguajes sirve para lo qe sirve. Java es absolutamente inútil como lenguaje para la web por varios motivos, el más importante a mi juicio está compartido por javascript: se ejecuta en el cliente.
Debes tener en cuenta un hecho que, aunqe a los barrapunteros no les guste (puesto que la mayoría de la gente de aquí usa Linux, o alguna variante de BSD), es determinante: la mayoría de los clientes utilizan Windows. Aproximadamente un 45% de los visitantes de las páginas que he desarrollado, desde hace algo más de un año, utilizan Windows XP. Que no trae de serie la máquina virtual Java. Y que, además (gracias a dios cada vez menos) utilizan RTB para conectarse a Inet, con lo cual pocos se animan a descargarse los más de 5MB que ocupa la máquina de M$ solo para ver las cuatro chorradas Java qe la gente mete en sus páginas --> el mal uso de los lenguajes, siempre persiguiendo.
Es un hecho probado que tanto PHP como ASP tienen un rendimiento mucho mayor que Java en aplicaciones para la Web, provocado en parte por el poco rendimiento de las distintas máquinas virtuales. El origen de esto es obvio: ambos lenguajes (aunque pueden usarse de otras maneras) están diseñados casi específicamente para aplicaciones web.
Ahora bien, para aplicaciones de red generalmente utilizo Java, ya que trae gran cantidad de facilidades en estas tareas que me hacen la vida menos complicada. También podría utilizar C, desde luego, pero las aplicaciones de este tipo que suelo desarrollar han de ejecutarse en varios tipos de plataformas, como Mac, Linux, Solaris o Windows (tampoco habría diferencias, si en ese aspecto yo fuera un poco menos perrazo).
NabLa
No te dije que sería fácil. Te dije que sería la verdad.Larga vida a los lenguages no tipados!
(Puntos:3, Interesante)2- Es sorprendente que siendo PHP un lenguage principalmente de entorno web, casi tenga tantos proyectos en SourceForgue.net como Java que teóricamente es de próposito general y multiplataforma.
4- Pensar que PHP no es una herramienta profesional es como pensar que un PC no es un ordenador profesional porque un macintosh es más robusto.
5 - El hecho que el Ministerio de Ciencia y Tecnología sea una auténtica vergüenza poco tiene que ver con la profesionalidad de PHP.
6- Hago webs a nivel profesional y jamás usaria Java para nada y me parece que PHP no tiene rival en este entorno.
Larga vida a los lenguages no tipados!
Ojala hubiera un JDK que fuera GPL
(Puntos:2, Interesante)( http://www.benaguasil.org )
He trabajado con varios lenguajes, PHP, ASP, tecnología J2EE (jsp, java, servlets, ejb, etc) y según cada caso, y las necesidades del cliente usas unos u otros, o combinaciones de ambos (muchas veces PHP + J2EE), e incluso a veces, hasta HTML puro si es necesario.
Es cierto que hay muchos proyectos de software abierto basados en java, pero no hay un interprete/compilador como GCC. No olvidemos que gracias a GCC se ha podido desarrollar cantidad de software libre, que sabemos que siempre podremos compilar ya que el GCC también es software libre. Esto no lo tenemos todavía con Java, además de que las especifaciones, aunque sean públicas, no conozco hasta que punto y quien puede influir en el camino que va a seguir java.
Se que existe un proyecto (CLASSPATH) que está implementando las clases (primer paso) pero queda por hacer.
En esto de los lenguajes, lo bueno es disponer de diferentes sabores, y ver cuando aplica uno o cuando aplica otro. Alguien apuntaba por detras, que según que caso aplica una cosa u otra. Puede ser que una aplicáción sea más dificil de configurar, puede ser, pero es como todo, una vez se sabe, ya está. Tal vez si se dispusiera de compiladores/interpretes libres se potenciaría todavía mas si cabe el desarrollo de software libre con java, y llegaría a ser tan popular y duradero en el tiempo como está siendo C.
En fin, tiempo al tiempo, pero de momento estoy aprendiendo Python, que tiene una curva de aprendizaje muy corta, y se puede utilizar tanto para hacer pequeños scripts de administración, aplicaciones más elaboradas, aplicaciones visuales, aplicaciones webs, e incluso con servidores de aplicaciones, del cual Zope es un ejemplo.
Saludos.
Java
(Puntos:1)( http://www.flawedcode.org/ )
Otro problema que le veo es que su propio diseño limita de cierta forma al programador, de manera que en ciertas ocasiones tiene que hacer virguerías totalmente ineficientes para cosas que debieran ser más simples (y no, no pienso poner ejemplos, solo tienes que ponerte a programar un poco).
Y por último no me gusta mucho la API, a pesar de que la encuentro consistente, quizás debido a esa necesidad de hacer ciertas cosas de manera más enrevesada de la que debería, unas por limitaciones del lenguaje y otras específicas de la API por decisiones de diseño.
Sin embargo, me gusta Java como lenguaje de introducción a la POO por ser sencillo y fácil de aprender, y me gustan las facilidades que provee para olvidarte de los detalles de la máquina y centrarte en la lógica del programa.
Yo usaría Java para aquellos proyectos que pueden permitirse no estar optimizados y correr con cierta sobrecarga (como aplicaciones de gestión), pero para la web me decanto por PHP sin ninguna duda.
--
My 2 cents
Unix have fun [barrapunto.com]
Cual es el problema en que no sea GPL?
(Puntos:1)( http://www.tigreton.com/ )
¿Establece alguna limitación para los proyectos OpenSource este hecho? Por la misma regla de tres no deberíamos desarrollar software GPL para Windows (eMule y asociados), porque bastantes controles son de Microsoft.
La discusión entre PHP y Java no debería existir. Como muy bien indican algunos compañeros del metal son dos mundos distintos. Algunos pueden decir que PHP es mas "ñapero", porque no te obliga a programar bien, mientras que enfrentarse a un proyecto Java, aunque sea pequeñito, te obliga a recuperar el papel y el boli y como mínimo darle una vuelta a lo que estás haciendo.
Personalmente considero a Java un lenguaje muy repelente de programar, pero con una versatilidad brutal (fuera de todos los PEARs, CLIs e historias variadas de PHP).
Creo (lo digo porque no lo he leido en profundidad) que PHP 5 pretende ampliar la funcionalidad, orientarse más a la gestión de clases de Java y permitir conectividad con objetos externos (un estilo de JavaBeans pero a su palo).
Para los genízaros que defienden a la muerte PHP, poniendo a Java a caer de un guindo, les hago una pregunta muy simple: cuanto de vuestro código podría ser reutilizado por otras personas (digo el vuestro, no el de phpBB, phpNuke, etc) Ahora pensad en la "mierda" de C/C++: cuantas librerías C utiliza el engine de PHP? Todas?
Flame. Flame, Flame (Puntos: -1 Troll)
(Puntos:5, Inspirado)( Última bitácora: Lunes, 22 Febrero de 2016, 07:16h )
Si sumamos la polémica que suelen despertar las noticias que contienen la palabra "Java" con el tono de provocación en el que está redactada la reflexión creo que no hay que ser un adivino para saber lo que va a pasar, así que no me sentiré culpable por hacer un comentario trollesco. Si alguien quiere participar y llenarse de argumentos en cualquiera de los dos sentidos no tiene más que visitar esta historia de slashdot [slashdot.org]
Para empezar ¿de qué clase de aplicaciones estamos hablando?. ¿Usas un único lenguaje para todo? Conozco gente así, bien porque en sus empresas/grupos "se usa Java"(o C++, C# o el lenguaje de moda del momento). Nada más tiene cabida. Yo creía que los lenguajes eran herramientas y que como tales se usa el más adecuado para cada ocasión, pero como es difícil para los jefes recordar más de dos nombres de tecnologías a la vez se acaba usando sólo uno y que salga mucho en los periódicos para que no se les olvide, pero estoy empezando a divagar... El caso es que hay gente que acaba haciendo tareas simples "diarias" (mantenimiento, etc..) sobre Bases de Datos en Java que les cuesta diez veces lo que les costaría con Perl DBI, por ejemplo.
Supondré que te refiereres a las aplicaciones Web, ya que nombras a PHP. Pués bien la mayoría de ellas son principalmente procesamiento de texto y acceso a una base de datos creo sinceramente que usar un lenguaje tan poco adecuado para esas dos tareas como Java, teniendo lenguajes como Perl o Python con mucha más potencia expresiva es una estupidez. No es la herramienta adecuada, simplemente.
Java tiene su sitio como lenguaje fuertemente tipado, con una comunidad grande de desarrolladores, buenas herramientas, buenas APIS (programadas por grandes empresas, etc...) pero por favor, no nos vendas la moto que para eso ya tenemos las páginas salmón de los diarios que nos dicen puntualmente qué es profesional y qué no. Pregúntate por qué esos lenguajes tan poco profesionales como Perl, Python, PHP o Ruby tienen tales comunidades sin necesidad de ninguna empresa que ponga muchísimo dinero y sin comisiones de expertos.
Y para terminar, unos cuantos enlaces:
- Beating the averages [paulgraham.com] y
Java's Cover [paulgraham.com] de Paul Graham
- Java is the SUV of Programming Tools [harvard.edu] de Philip
Greenspun
- Java as a New (S-l-o-w) Cobol [softpanorama.org] en SoftPanorama
Todos escritos por gente muy poco profesional, como podrás ver.Nota final: A pesar de la beligerancia que estoy mostrando hacia Java, no es un lenguaje que me disguste en absoluto pero es que me pone malo la manera de la que nos lo han instalado, con ese marketing basado en la falsa superioridad. Ahí queda eso.
Programs should be written for people to read, and only incidentally for machines to execute
Hay tantas imperfecciones en el mundo
(Puntos:2)( http://barrapunto.com/ | Última bitácora: Miércoles, 06 Diciembre de 2006, 13:55h )
Cada lenguaje tiene su "mercado" y hay una buena parte de selección natural en todo esto, aunque a menudo los Tigres y los Leones pueden presionar las preferencias del resto por Java o C# u otros...
Y seguro que muchos se han equivocado al elegir Java para implementar un sistema web de recogida de firmas u otros se las vieron canutas para montar una tienda virtual con PHP... pero en general la gente elige bien lo que necesita en funcion de todos los parametros que se plantean... no solo de lo técnicamente mejor estructurado.
Y, de verdad, me parece algo prepotente afirmar que un proyecto en Java es profesional y en PHP o Python no. Sinceramente... lo que hace profesional a un proyecto es las manos y las neuronas de los que lo llevan a cabo, que deciden,diseñan e implementan la opción más eficiente segun el caso y los recursos disponibles.
Perl es el ganador
(Puntos:1)Java no es libre mientras que los demas si.
(Puntos:2)( Última bitácora: Miércoles, 09 Junio de 2004, 02:32h )
- Es muy lento.
- Depende de una maquina virtual.
- No es libre.
- No corre en todas las plataformas (a excepcion de Linux, Windows, Solaris y buenos algunas veces Macintosh).
Si vemos relativamente pues los demas lenguajes de programacion son 100% multiplataforma (Exceptuando algunas cosas en las cuales Perl se diferencia en su version de Windows) y corren en diferentes arquitecturas, Hay demasiadas versiones de Java y pues mientras que uno no sabe de donde escoger. De igual manera hay muchas librerias que permiten construir interfaces graficas sin la necesidad de la utilizacion de Java y su ultrapesado SWING. Existen librerias como Wx, Qt y GTK que estan disponibles en c, c++, python, perl y bueno hasta en PHP. Es verdad que existen ofertas de trabajo para Java pero tambien he visto anuncios en la prensa donde se ofrecen puestos para trabajar con PHP, Python o Perl. Mientras que Sun es una empresa que ha sabido como mercadear a Java , pues los otros tres lenguajes de programacion (Perl, PHP y Python) son lenguajes que no tienen una empresa y tienen a un grupo de personas quienes desinteresadamente trabajan para darnos algo que nos sirva a todos sin restrictivas estupidas licencias o inclusive ridiculas patentes. Todos los lenguajes de programacion nombrados anteriormente tienen sus ventajas y desventajas pero lo mejor de todo es que son 100% libres y puedes hacer con ellas lo que quieras!.
Fomentando el software libre en Java (y en Linux)
(Puntos:2, Informativo)( http://blogs.salenda.es/alvaro_sanchez )
En cualquier caso, en javaHispano [javahispano.org] hemos luchado siempre por promover el software libre. Esta y otras necesidades nos ha llevado a unirnos con el Grupo de Usuarios de Linux de la Universidad Carlos III de Madrid [uc3m.es] (sí, II y III Hispalinux, en Leganés :) para conjuntamente organizar el I Congreso javaHispano [javahispano.org], donde uno de los objetivos específicos es el fomento del software libre.
A además se paga mejor
(Puntos:1, Informativo)Menudo Revuelo
(Puntos:1)( http://www.programacionjuegos.net/ | Última bitácora: Miércoles, 14 Febrero de 2007, 14:50h )
¿El precio y la disponibilidad?
(Puntos:2)( http://marcusfernandez.com )
El martillo de oro
(Puntos:1)( http://barrapunto.com/ )
Dicho esto, y como a mi tambien me gusta fardar de lo listo que soy, yo prefiero un enfoque mas variado para atacar el problema:
- Generalmente hay un nucleo duro en las aplicaciones o grandes sistemas para el cual se necesita un lenguaje mas estricto que php. Este nucleo normalmente podria ser identificado con las entidades y logica de negocio de las empresas. Para esta parte un buen candidato es Java, por su expresividad y potencia para estos menesteres.
- Despues tenemos la parte de presentacion. Con mucho la parte de la aplicacion con un ciclo de vida mas corto. Esta parte de las aplicaciones para mi debe ser planteada como "de usar y tirar". Con estas premisas la utilizacion de tecnologias estilo PHP me parece totalmente adecuada por su bajo coste y velocidad de desarrollo.
- Hablando de procesos batch normalmente, por eficiencia, uno se salta a la torera la logica de negocio construida para la parte online/transaccional de la aplicacion, accediendo directamente a las bbdd. Para esta tareas me parece que un lenguaje estilo Python/Perl tiene una relacion coste/beneficio excelente.
Aunque mantener estos puntos de vista me han costado muchos disgustos a lo largo de mi vida profesional, al final se termina demostrando su utilidad y viabilidad; desde la empresa mas pequeña a la mas grande.
Un saludo de un Arquitecto de Software. Que cuando consiga saber lo que es me sentire bastante mas a gusto.
Hay gente pa to!
Arrrghh
(Puntos:1)Leyendo los mensajes, veo que mucha gente todavía asocia Java a aplicaciones de escritorio o applets. Creo que Java ha demostrado y sigue demostrando que no es válido para este tipo de aplicaciones. Y lo digo yo que trabajo todo el día con Java. Cualquier aplicación de escritorio medianamente completa en Java canibaliza en pocos segundos la memoria del equipo, y abrir dos o tres de ellas en una maquina decentilla es echarse a nadar en el mar de la paginación (!)...
Pero en el lado del servidor es otra cosa. No conozco muy bien PHP pero mi sensación es que es un sistema que cumple muy bien con sus expectativas, aunque tiene un problema. Por hacer una analogía, las antiguas páginas ASP de Microsoft eran parte de una arquitectura denominada "Windows DNA", en la que únicamente jugaban el papel de capa de presentación, dejando las otras capas a merced de COM+ y otros lenguajes de desarrollo. El problema era que el 95% de los desarrolladores se metían a hacer spaguetti code como locos, en insufribles y chapuceros desarrollos. Y con PHP me parece que pasa un poco lo mismo, que hay una buena tecnología por detrás, pero que hay muchísima gente que sigue programando en un modelo funcional, en arquitecturas de una o dos capas como mucho, y jugando al clásico "ensayo -error" con sus páginas PHP.
Seguramente hay un 5% de programadores PHP que utilizan tres o mas capas, con sus pools de objetos, XML+XSLT, Web Services o cualquier otra tecnología, pero mi experiencia con empresas de desarrollo no me dice eso...
Con Java pasa lo mismo. Un desarrollador puede ponerse a tirar JSP a pelo y hacer páginas realmente desastrosas... Pero "estadísticamente" existe una cultura mucho mayor en lo que es desarrollar con modelos MVC, o con patrones de diseño que con PHP. Y no digo ya nada de los desarrolladores de J2EE que por definición deben de trabajar con una serie de clases en interfaces bien definidos, porque si no el servidor no "rula"...
En cuanto a tecnología, solo puedo hablar de Java, y puedo decir que el número de librerías y proyectos open-source es abrumante. Hay cientos de pools de conexiones, varios motores XML + XSLT, un montón de frameworks de presentación (entre los que brilla struts), un buen montón también de herramientas de desarrollo (IDE), y todo esto para el "sabor" preferido de java (servlets, jsp, templates, J2EE), etc.
Y luego maneja un equipo de desarrollo mediano... Como no definas interfaces y/o clases abstractas y una arquitectura medianamente "encorsetada", cada cual se pone a tirar código a su manera y al final todo es un pequeño revuelo de rutinas, librerías, cosas bajadas de Internet, etc. Ahí creo que la OOP de Java (y que nadie empiece el típico "flame" sobre si Java es realmente OOP, por favor de los porfavores...), ayuda mucho...
(c) 1982 Sinclair Research Ltd.
Ya sé que llego tarde...
(Puntos:2, Interesante)( http://www.cyberdark.net )
Soy desarrollar freelance de webs, que no de otra cosa, y uso ambos lenguajes indistintamente. Pero, cuando un cliente no tiene preferencia por un lenguaje, le sugiero siempre PHP. ¿Porqué?:
- Es más fácil encontrar hosting en PHP y más barato. La razón no creo que sea el desconocimiento de las empresas de hosting respecto a "Java", sino que Java les suele dar problemas en hostings compartidos (los bucles infinitos y el consumo de memoria son algunos)
- Hay más demanda de PHP que de Java
- PHP me permite desarrollar y modificar el diseño de la aplicación más rápidamente. Es un lenguaje mucho más flexible que Java.
- PHP es realmente rápido, aunque dicen (nunca lo he comprobado) que bajo cargas máximas de trabajo Java responde mejor. Mis experiencias se resumen en mi portal, que sirve entre 4 y 12 de la noche casi una página al segundo, con cientos de líneas en PHP en cada script... y va como un tiro (menos cuando a Apache se le acaban los hijos XD)
- PHP es más "claro", no hay tantas librerías, proyectos, sistemas, etc como en Java, y si bien esto debería ser una ventaja para Java, no lo es. Prefiero la sencillez y ceñirme simplemente a lo que hay, en vez de estar investigando todo el santo día las cosas nuevas que se les ocurren a los de Sun para, en teoría, mejorar mi vida :), que lo único que consiguen es que cada fin de semana me tenga que leer un manual con su última idea
- No nos confundamos, señores, ¡PHP es para hacer webs!, y para eso fue diseñado. Si quisiese hacer una app de escritorio no usaría PHPGTK.
Pero estas son las cosas que envidio de Java que no tiene PHP:- Un sistema STANDARD de taglibs (no me vale smarty, no)
- Que se pueda compilar de una vez en bytecodes, incluído en le código "madre" de PHP (no me vale, Zend, no)
- Que soporte contexto de aplicación (y tampoco me vale que compilándolo con tal o cual se pueda, lo quiero en la distri)
- try { catch }, esto harto de programar estilo C XD (PHP 5 rulez)
- Una API de envío de emails decente.
Son solo unas ideas, anyway.Un saludo
PD: de momento no me he encontrado nunca con una web que no pudiese hacer en PHP...
cYbErDaRk
Profesionalidad o no profesionalidad...
(Puntos:2)Esa una afirmacion que oigo en determinados ambientes continuamente, especialemente entre universitarios e informaticos que ni conocen PHP ni han programado nunca una web profesional.
Llevo ya muchos años trabajando como programador profesional de webs, he participado y participo en proyectos de gran calado, y algunos de ellos estan totalmente programados en PHP.
Actualmente estamos realizando la web de una de las mayores multinacionales que hay en este nuestro planeta mundo, y toda la web, para los diferentes paises en que esta presente esta multinacional esta elaborada en PHP.
Aparte estamos creando una buena parte de la Intranet de la multinacional en PHP. Y todo que esta empresa tiene un departamento de software y programacion propio, en el que programan principalmente, por no decir exclusivamente, en JAVA, cada vez nos dan mas trabajo a nosotros pues conseguimos los mismos o mejores resultados finales en menos tiempo.
La profesionalidad no va implicita en el lenguaje que se utiliza, si no en la persona que programa.
Y la profesionalidad da web viene determinada por la conjuncion de distintos aspectos. Se puede programar una web en PHP, JSP, Perl... que teoricamente a nivel de teoria de la programacion sea muy buena, profesional, robusta y eficaz, pero que luego sea un desastre en cuanto a "usabilidad" o simplemente una porqueria en cuanto a estructuracion y planteamiento.
La creacion de webs profesionales demanda la presencia de personas (o equipos) con una preparacion multidisciplinar y un gran conocimiento de lo que es, o debe ser, una web.
Para mi uno de los grandes errores actuales, es que aun no se ha salido de la fase primeriza de creer los profesionales de Internet o son progamadores o son diseñadores, los profesionales encargados de crear paginas web deben tener una formacion muy completa, deberian ser los nuevos "humanistas".
Repito, basar la profesionalidad de una web en un determinado lenguaje de programacion, es como basar el valor de una obra arquitectonica en los ladrillos y argamasa que esta utiliza, o en el programa de software utilizado para diseñar o dibujar los planos.
Lenguaje C#
(Puntos:1)( http://knocte.blogspot.com/ )
Espero que te refieras a si hemos oido hablar de "alguno" de ellos, porque si te refieres a todos, yo debería responder que no (vale, ya sé que es una pregunta retórica, pero hablo en el hipotético caso de que yo la respondiera).
En SourceForgue.net existen 9804 proyectos en Java, frente a 11790 proyectos en C y 11536 proyectos en C++, teniendo en cuenta que estos lenguajes son mucho más antiguos y muchos proyectos serán comunes (basados en ambos), 7418 proyectos PHP, 4922 proyectos en Perl, Python 2676 proyectos.
Para empezar, cuidado con la errata: es SourceForge.net.
Para continuar, habría que decir en favor de C que los proyectos de C y C++ suman entre los dos más de 23000, lo que es más del doble que los de Java. Y los meto en el mismo saco porque, quieras que no, C y C++ no es que sean lenguajes diferentes, sino que uno engloba al otro (C es C++, aunque C++ no es C).
Hasta tal punto que Microsoft se ha apuntado al carro con un clon del mundo Java (a la manera Microsoft): la plataforma .Net
Hombre, un clon, un clon... no es. Yo lo que creo es que Microsoft vio las posibilidades de Java, y sus inconvenientes. Y cogió el tipo de lenguaje que es C, le añadió la orientación a objetos de C++ al estilo de Java (es decir, sin punteros y demás), corrigió algunos defectos de Java (en mi opinión son defectos, a otro le podrían parecer "features" ;) y creó C. Luego se inventó esto de los servicios web, diseñó un RAD bien currado, y sacó el bombazo del paquete "la plataforma .NET". Por tanto, yo no lo llamaría clon de Java.
No estoy saliendo en defensa de Microsoft. Estoy saliendo en defensa de C# y la idea de interoperabilidad y multi-lenguaje que aporta la plataforma .NET. C# me gusta y también me gusta el SL, pero no son incompatibles (porque, como se ha dicho por ahí, es muy respetable ¿e inteligente? la decisión de Microsoft de convertir a C# en un estándar).
Yo me "crié" en el C++ (Visual C++) y me resistía al cambio del pujante Java de hace unos años. Eché un vistazo al PHP como...
Según lo que cuentas, todo parece indicar que no has probado en tus carnes el lenguaje C#. Me gustaría sinceramente que lo probaras, a ver si sigues teniendo esa opinión tan defensora de Java :-)
Bueno, espero no haberte ofendido en ningún sentido, ya que no es lo que pretendía. Además te recuerdo que esto es sólo mi opinión ;) la cual te brindo para que hagas un ejercicio de contrastes.
Puntualizaciones
(Puntos:3, Informativo)( http://barrapunto.com/ )
Por mucho que te empeñes, con GNU Classpath no puedes compilar una aplicación minimamente seria. En la actualidad sólo está implementado el 55% del API ( ver páginas del proyecto )
Especificamente, si usas swing, awt, rmi, ssl criptografia, logging o "tonterias" de ese estilo, no hay dios que haga que siquiera compile
¿Qué libertad tengo si no puedo usar la mitad de la especificación, porque simplemente, no existe?
En segundo lugar gjc es simplemente un compilador. La única vm realmente seria es jikes-rvm ( de IBM ), y aún así no tiene implementadas muchas de las funcionalidades (verificación de integridad del bytecode, por ejemplo )
Si programas aplicaciones cliente-servidor, que tengan consideraciones de seguridad, no puedes usar jikes....
Ademas: casi todas las vm's libres se apoyan en el gnu classpath, que no funciona....
Conclusión: no hay plataformas de desarrollo y ejecución java libres. Punto.
..............................................
¿o si?
¿Cuanta gente se ha leido la Sun Research License?
Básicamente te permite hacer todo salvo llamarlo Java. Claro, que como RMS me ha dicho casi insultantemente en más de un mail, eso ya basta para considerarlo no libre.... ( tengo un mail en el que aplaude que la gente no quiera colaborar conmigo en un proyecto java )
Y si Stallman dice que no, pues no. Dios habló.
Saludos cabreados.
.
Quosque tandem abutere Catilina Patientia nostra?
Re:Un lenguaje para cada momento.
(Puntos:1)No voy a discutir que haya gente que defiende lo que ha aprendido "a muerte", pero no todos el mundo es así.
Tengo un par de años de experiencia desarrollando webs dinámicas con PHP. Aunque muchos proyectos eran muy similares (aplicaciones tirando de PostgreSQL, altas, bajas, modificaciones, búsquedas, listados, ...), siempre traté de mejorar la arquitectura de las aplicaciones, algunas veces rehaciendo gran cantidad de trabajo. La verdad es que poco a poco la cosa iba mejorando, tanto en escalabilidad, independencia de las vistas del modelo, generación dinámica de thumbnails y muchas otras cosas.
Pero llegó un momento que las modificaciones de las clases principales eran complicadas. Y había varias razones: PHP no es un lenguaje tipado, la gestión de errores es pésima, la orientación a objetos es muy rudimentaria,...
Otra cosa que me disgustó mucho de PHP es la inmadurez de alguna de sus APIs.
La que me jodió bastante fue la de acceso a PostgreSQL. Al principio usábamos PHP3, más tarde apareció PHP4 y empezamos a trabajar con la nueva versión. Me tocó hacer la migración de algunas aplicaciones de PHP3 a PHP4 (un coñazo, vamos). Creo recordar que todo lo relacionado con PostgreSQL tuvo que ser retocado para que funcionara.
Pero es que, no hace mucho, instalé en casa PHP 4.x (la última en aquel momento)... ¡y otra vez habían hecho cambios en la API de PostgreSQL! Frustrante.
Supongo que en Java pasará de vez en cuando algo similar con algún constructor o algún método (los famosos métodos o constructores "deprecated"), aunque a mí no me ha pasado nada similar en el tiempo que llevo.
Estas razones, entre otras, me animaron a probar los servlets y las páginas JSP. Y la verdad es que me gusta mucho más que PHP. Toda la crítica anterior a PHP son ventajas en Java (orientación a objetos, excepciones, APIs maduras,...).
Un par de apuntes más:
- Por lo que he comentado se puede deducir mi opinión sobre si se puede trabajar con PHP en proyectos serios. Rotundamente sí, a mí me fue bien, aunque a mí personalemente se me quedaba un poco corto, pero ésto es como los culos, todo el mundo tiene uno.
- Alucino con el desprecio que siente mucho gente hacia Java y el software libre realizado en Java. Creo que las personas que desarrollan software libre, ya sea sobre Linux, Windows o Java se merecen, al menos, un respeto por regalarnos su tiempo. Por cierto, es posible trabajar con servlets usando sólo software libre (con el JDK de Blackdown + Apache Tomcat + PostgreSQL, por ejemplo).
Re:Lento, lento
(Puntos:1)( http://barrapunto.com/ )