por
pobrecito hablador
el Miércoles, 17 Agosto de 2005, 09:16h
(#573154)
Siguiendo los enlaces he llegado a una página donde sale la encuesta de donde extraen esas presuntas conclusiones. El número de desarrolladores entrevistados ha sido de 400. Me parece que la desviación por error puede ser tan alta como para tirar el estudio directamente a la basura. Sólo falta que sean 400 empleados de Micro$oft.
1 respuesta por debajo de tu umbral de lectura actual.
opino como bastante gente de alli, la rigurosidad del estudio y lo en serio que se pueden tomar los resultados es, como minimo, dudosa
para empezar, el "estudio" esta hecho sobre 400 supuestos programadores en la region EMEA (Europa, Oriente poximo y Africa), lo cual es una porcion de la poblacion demasiado pequeña
por otro lado, al parecer es gente que ha respondido a encuestas por la posibilidad de ganar dinero (de 500 a 1000$), lo cual me hace dudar que de verdad todos sean desarrolladores... no es la primera vez que veo estudios donde ofrecen dinero por dar tu opinion sobre un producto (pagando) y se ofrece todo dios a hacerlo.
--
Dale fuego a un hombre y estara caliente un dia, prendele fuego y estara caliente el resto de su vida.
1 respuesta por debajo de tu umbral de lectura actual.
Lo primero es que en ningun sitio dan datos sobre otras tecnologias que hayan "aumentado" su cuota de mercado. Esto puede significar dos cosas:
1- Es un estudio parcial, por lo tanto no concluyente de nada. Si la gente deja de comer carne no quiere decir que haya mas vegetarianos, puede ser que haya menos vacas.
2- Ninguna tecnologia esta decayendo, simplemente el numero de proyectos esta en declive, y puedo usar el mismo ejemplo de la carne y las vacas.
Yo utilizo varias tecnologias a diario (entre ellas PHP y JAVA, las mencionadas en el articulo), y me parece un poco cansino el eterno debate de cual es mejor o peor. Es como en todo, quien puede decir si un martillo o un destornillador es lo mejor? Cada cosa es lo mejor para lo que mejor sirve, punto.
Aparte de los comentarios ya dichos sobre la fiabilidad del estudio, habría que estudiar esas herramientas por separado.
Nadie duda de que Apache tiene la mayor cuota de mercado en Internet en su terreno, y de que Linux va ganando terreno.
A lo mejor es que existen muchas más soluciones intermedias, entre J2EE puro con BBDD comerciales, y toda la aplicación desarrollada en plataforma LAMP.
No se esas estadísticas como estarán pero la realidad que me he encontrado en estos últimos 5 años es que al menos para la realización de aplicaciones grandes distribuidas y multiusuario se está trabajando con servidores de aplicación en su mayoría para el lenguaje Java, aunque puedes encontrar otras variantes como .Net (en mi caso Mono). Aún así, el número de "usuarios normales" (que supera con creces a las de las empresas que hacen aplicaciones grandes) utilizan soluciones LAMP así que no tengo muy claro si esos datos son muy veraces.
De todos modos y eso es sabido por todos, que es más sencillo encontrar programadores Java que de Phyton, Perl o incluso C++, así que en teoría para las empresas seguro que las soluciones LAMP no están tan extendidas para proyectos que no sean puramente webs creadas con los conocidísimos Nukes, Mambos, Drupales, etc.
Buenas. Desde la experiencia, os corroboro EMO que PHP deberíamos usarlo sólo en proyectos pequeños.
Yo lo primero que utilicé fue ASP a secas. En cuanto el proyecto crecía, era muy difícil su mantenibilidad, por problemas derivados de su rapidez y potencia del lenguaje (VB Script).
Más tarde, reescribí el proyecto ASP anterior en PHP [php.net], esperando que con software libre obtuviera resultados mejores. Y lo fueron: PHP, además de ser libre, era más potente, disponía de más herramientas para facilitar el trabajo, más funcionalidades, etc.
Sin embargo, a medida que se va profundizando en PHP y los proyectos PHP van creciendo, se empiezan a ver proyectos para PHP que permiten tener más estructuradas las cosas: sistemas de plantillas como Smarty [php.net], frameworks MVC (Modelo Vista Controlador), e incluso la propia actualización de PHP4 a PHP5. Hasta que te das cuenta de que PHP, y todo su plataforma de desarrollo conjunta formada por estas herramientas, tiende a parecerse a cosas más robustas y estructuradas como las que existen para el mundo Java.
También he tocado Java con aplicaciones web, un poquito de JSP's y demás, pero no demasiado. Porque la verdad, yo también soy un poco reticente a Java, por el hecho de que no es software libre (no quiero iniciar un flame please).
Por eso, como veía que mi tendencia era llegar a Java sin usar Java, eché un vistazo a.NET. La plataforma.NET sin duda ofrece mucha productividad y el lenguaje C# se puede codear perfectamente con Java (incluso es mejor en algunas cosas EMNTHO, pero esto ya es discutible). Sin embargo, lo que echaba de menos con.NET eran dos cosas:
a) Una plataforma de desarrollo multiplataforma.
b) La tendencia "inherente" a los proyectos y plataformas de desarrollo del mundo Java de estructurar completamente y de forma exquisita el código, obteniendo capas de abstracción de la más mínima cosa.
El punto (b) viene fundado, sobre todo, por la tecnología ASP.NET con la que irremediablamente he tenido que tratar a la ahora de utilizar la plataforma.NET. La versión 1.1 para empezar tiene importantes fallos concernientes a la arquitectura, como que resulta difícil hacer páginas web que validen con los estándares, y sobre todo, páginas web accesibles, en las que el JavaScript sea solamente una opción. Ofrece una capa de abstracción que hace que el programador se olvide de todo, y que incluso no necesite saber ni CSS ni JavaScript. Esto es en mi opinión un error. Además, desde el punto de vista del backend de una aplicación web, con ASP.NET es más difícil elaborar una estructura MVC (al parecer, Microsoft se enorgullece de hacer desaparecer, por arte de magia, la capa del Controlador).
Sin embargo, en el mundo Java, un ejemplo del punto (b) puede ser el proyecto Maverick [sourceforge.net], que ofrece un framework MVC para desarrollar aplicaciones web. Algo bastante elegante.
¿Qué decisión tomé entonces? Una intermedia: no usar Java (J2EE), pero tampoco ASP.NET, ni nada que tenga que ver con Microsoft. Actualmente estoy utilizando un framework MVC denominado "Maverick.NET" [sourceforge.net], el cual es un port de Maverick de Java a C#, y me está dando unos resultados muy buenos. Para desarrollar utilizo MonoDevelop [monodevelop.org], y para los deployments utilizo el runtime de Mono [mono-project.com], Apache 2.0 [apache.org] y el módulo mod_mono [mono-project.com] que permite reenviar las peticiones al servidor XSP [go-mono.com] de Mono.
Para la vista estoy utilizando serialización XML de las clases del controlador de manera que su resultado es transformado en XHTML mediante XSLT. Para la vista también utilizo CSS2/CSS3 (usando IE7/FixIE/IEpatch [edwards.name]) y
Como dice el asunto de este comentario: ¿y que hay de ColdFusion?. Desde que empecé a trabajar de forma profesional solamente me he dedicado a este lenguaje que, aunque propietario, me parece muy potente y flexible, ya que está soportado de fondo por JAVA. Considero que está a medio camino entre PHP y J2EE.
Y dicho esto, ¿Porqué solo se habla de cuotas de mercado de PHP,J2EE,ASP.NET y nunca sale a relucir este lenguage?. Aunque parezca en deshuso es ampliamente utilizado en EEUU,Francia,Holanda e Inglaterra (que yo tenga conocimiento), se que el servidor ColdFusion tiene un precio muy elevado, pero también es verdad que se gana mucho en tiempo de desarrollo.
Conclusión: Haber si abrimos un poquito más la mente y nos damos cuenta de que no todo es LAMP y Micro$oft.
3 respuestas por debajo de tu umbral de lectura actual.
Yo programo en Java, y he hecho algunas cosas con PHP, y sinceramente, aparte de pensar que el segundo es un lenguaje un poquito de juguete, no veo que es lo que me proporciona comparandolo con Java.
Si la aplicación es enorme, se puede montar una arquitectura con EJBs, servlets controladores y JSPs separando las capas de acceso a base de datos y presentación, y volviendo el código mucho más legible y mantenible.
Una aplicación grande con PHP es infumable. No hay nadie que le meta mano.
Si quiero hacer una aplicación pequeñita, de andar por casa (estilo las que se hacen con PHP), paso de los Servlets, de los EJBs y con unos cuantos JSPs tengo la aplicación hecha, exactamente igual que la hubiera hecho con PHP, y además, con control de excepciones y con un lenguaje fuertemente tipado, que siempre ahorra errores.
La verdad es que LAMP tiene el encanto de ser software libre y se mantiene en la lista de los lenguajes más usados por eso mismo, pero la verdad es que no le llega a Java ni a la suela de los zapatos. De hecho, sólo con que Java fuera libre (a ver que tal resulta el Harmony), PHP empezaría a bajar puestos con una velocidad pasmosa, hasta quedarse como mera anécdota.
Buenas. Desde la experiencia, os corroboro EMO que PHP deberíamos usarlo sólo en proyectos pequeños.
Yo lo primero que utilicé fue ASP a secas. En cuanto el proyecto crecía, era muy difícil su mantenibilidad, por problemas derivados de su rapidez y potencia del lenguaje (VB Script).
Más tarde, reescribí el proyecto ASP anterior en PHP [php.net], esperando que con software libre obtuviera resultados mejores. Y lo fueron: PHP, además de ser libre, era más potente, disponía de más herramientas para facilitar el trabajo, más funcionalidades, etc.
Sin embargo, a medida que se va profundizando en PHP y los proyectos PHP van creciendo, se empiezan a ver proyectos para PHP que permiten tener más estructuradas las cosas: sistemas de plantillas como Smarty [php.net], frameworks MVC (Modelo Vista Controlador), e incluso la propia actualización de PHP4 a PHP5. Hasta que te das cuenta de que PHP, y todo su plataforma de desarrollo conjunta formada por estas herramientas, tiende a parecerse a cosas más robustas y estructuradas como las que existen para el mundo Java.
También he tocado Java con aplicaciones web, un poquito de JSP's y demás, pero no demasiado. Porque la verdad, yo también soy un poco reticente a Java, por el hecho de que no es software libre (no quiero iniciar un flame please).
Por eso, como veía que mi tendencia era llegar a Java sin usar Java, eché un vistazo a.NET. La plataforma.NET sin duda ofrece mucha productividad y el lenguaje C# se puede codear perfectamente con Java (incluso es mejor en algunas cosas EMNTHO, pero esto ya es discutible). Sin embargo, lo que echaba de menos con.NET eran dos cosas:
a) Una plataforma de desarrollo multiplataforma.
b) La tendencia "inherente" a los proyectos y plataformas de desarrollo del mundo Java de estructurar completamente y de forma exquisita el código, obteniendo capas de abstracción de la más mínima cosa.
El punto (b) viene fundado, sobre todo, por la tecnología ASP.NET con la que irremediablamente he tenido que tratar a la ahora de utilizar la plataforma.NET. La versión 1.1 para empezar tiene importantes fallos concernientes a la arquitectura, como que resulta difícil hacer páginas web que validen con los estándares, y sobre todo, páginas web accesibles, en las que el JavaScript sea solamente una opción. Ofrece una capa de abstracción que hace que el programador se olvide de todo, y que incluso no necesite saber ni CSS ni JavaScript. Esto es en mi opinión un error. Además, desde el punto de vista del backend de una aplicación web, con ASP.NET es más difícil elaborar una estructura MVC (al parecer, Microsoft se enorgullece de hacer desaparecer, por arte de magia, la capa del Controlador).
Sin embargo, en el mundo Java, un ejemplo del punto (b) puede ser el proyecto Maverick [sourceforge.net], que ofrece un framework MVC para desarrollar aplicaciones web. Algo bastante elegante.
¿Qué decisión tomé entonces? Una intermedia: no usar Java (J2EE), pero tampoco ASP.NET, ni nada que tenga que ver con Microsoft. Actualmente estoy utilizando un framework MVC denominado "Maverick.NET" [sourceforge.net], el cual es un port de Maverick de Java a C#, y me está dando unos resultados muy buenos. Para desarrollar utilizo MonoDevelop [monodevelop.org], y para los deployments utilizo el runtime de Mono [mono-project.com], Apache 2.0 [apache.org] y el módulo mod_mono [mono-project.com] que permite reenviar las peticiones al servidor XSP [go-mono.com] de Mono.
Para la vista estoy utilizando serialización XML de las clases del controlador de manera que su resultado es transformado en XHTML mediante XSLT. Para la vista también utilizo CSS2/CSS3 (usando IE7/FixIE/IEpatch [edwards.name]) y
Como todas estas eternas discusiones Vi vs Emacs, KDE vs Gnome, PHP vs JSP no tienen sentido pero voy a hacer una puntualización.
No confundamos millones de hits con proyectos grandes. Cuando se habla de proyectos grandes se refiere a cosas que tengan mucha funcionalidad o que sea muy complejo de implementar que no tienen nada que ver con que lo visite más o menos gente.
Una inteante corporativa por ejemplo no tiene visitas porque es privada y puede ser un proyecto enorme.
No confundamos aplicación web con aplicación para el público en general.
1 respuesta por debajo de tu umbral de lectura actual.
El problema de aplicaciones web dinámicas con lenguajes tan "nuevos" como Python y Ruby es: "¿dónde alojo mi proyecto?". Casi todos los proveedores de alojamiento admiten PHP, y JEE, por supuesto ;-)
Por cierto que en este sentido Squeak promete mucho. Haces tu programa en Squeak, y tal como funciona en tu equipo, lo colocas en cualquier servidor y gracias a su máquina virtual, sólo necesitas un "plugin" para verlo funcionando de la misma manera en Internet.
Saludos :-)
Tiernes razon
de juatman
(Puntos:1)
Viernes, 19 Agosto de 2005, 08:22h
1 respuesta por debajo de tu umbral de lectura actual.
ejemplo 1 [www.sgae.es] ejemplo 2 [www.mde.es]
el ejemplo 1 está mal implementado, porque no se ha contemplado que el valor este vacio.
sin embargo en el ejemplo 2 (ministerio de defensa se ve que si han contemplado el caso.
Las 2 web estan hechas sobre java, no se cuales plataformas tipo CMS son exactamente.
Así que ¿de qué sirve que algo sea mejor o peor, si a veces no estamos preparados para utilizarlos, o nos venden soluciones incompletas?
Y otra cosa, comparar soluciones que cuestan un paston, con algo que es gratis (software, no mano de obra) me parece una comparación poco justa.
En mi humilde opinion, PHP carece de varias caracteristicas que van a frenar mucho su difusion en los proximos años salvo que se solucionen.
En primer lugar el nefasto soporte de multiples juegos de caracteres -especialmente UTF-8- lo que complica sobremanera la escritura de aplicaciones internacionalizadas y localizadas. Es un punto que hoy no puede permitirse una tecnologia ganadora.
En segundo lugar, aunque se ha mejorado notablemente, el soporte de objetos aun peca de algunas carencias.
El api de php contiene numerosas incoherencias que enlentecen su uso (str_replace , substr, strpos .. por favor un poco de coherencia) por citar algunas.
Php tiene grandes cosas a su favor, velocidad, sencillez, pero si quiere seguir siendo el nº1 los chicos de zend deben espabilarse.
vaya por delante que yo no tengo mas que un ligero conocimiento de php
por un lado en el estudio no se habla de J2EE, es muy posible que la gente se este pasando en masa a Ruby on Rails (por decir uno)
por otro, por lo que estoy viendo en PHP (la version 5) es que cada vez tiene mas similitudes con java, es orientado a objetos para empezar
.net no es mala tecnologia, harias bien en mirarla aunque sea por encima, tiene cosas mejorables (y curiosamente se estan basando mucho en java) y tiene otras cosas que por ejemplo java no tiene y parecen buenas ideas... en cualquier caso, te dara otra vision, que nunca es malo
en general, estoy de acuerdo contigo, uno sirve para unas cosas y el otro para otras...
--
Dale fuego a un hombre y estara caliente un dia, prendele fuego y estara caliente el resto de su vida.
lo de pequeños y grandes, depende de con que lo compares...
slashdot recibe muchas visitas, muchisimas, pero comparalo con el numero de visitas que recibe eBay y se queda en nada
walmart tiene su web hecha en java (de hecho lei hace un tiempo como habian migrado sus sistemas a java 5)
no quiero decir que php sea un lenguaje de juguete y que solo sirva para webs personales ni nada parecido, desde luego no es lo que creo, creo que php se puede usar para muchas cosas, pero tambien hay que tomarse las cosas con perspectiva...
--
Dale fuego a un hombre y estara caliente un dia, prendele fuego y estara caliente el resto de su vida.
Al código embebido dentro de HTML se conoce como código scriptlet. De ahí debe venir.
PHP ahora es una cosa muy compleja con la que se puede construir aplicaciones pero antes no lo era.
El nombre de PHP, según tengo entendido, viene de Personal Home Page.
Así que se les deben llamar "scripts" por motivos históricos.
La diferencia fundamental entre J2EE [wikipedia.org] y PHP es que J2EE no es un lenguaje de programación, sino una especificación de como debe ser una plataforma para desarrollar y desplegar aplicaciones empresariales programadas en Java.
por
pobrecito hablador
el Miércoles, 17 Agosto de 2005, 19:23h
(#573561)
Ese 50% al que aludes imagino será sólo referido al tiempo de codificación, el resto de fases del proyecto se mantienen igual o incluso en algunos casos se hacen más costosas. (fundamentalmente en la fase de pruebas salen a la luz muchos errores que en lenguajes más fuertemente tipados como java se detectan en tiempo de compilación).
Lo que yo venia a decir antes es que el tiempo de codificación no es el factor más determinante ni mucho menos en lo rápido que se desarrolle software (no es lo mismo programar que desarrollar software, programar es sólo una parte del desarrollo). Como minimo hay dos factores que creo mucho más determinantes que el tiempo de codificación para evaluar lo rápido que se desarrollo con una u otra plataforma:
1) que la plataforma tecnologica me de las herramientas necesarias, librerias de terceros, frameworks de desarrollo etc. En este creo que JEE ofrece bastante más que PHP, aunque PHP también tiene un gran soporte de librerías de terceros, y es el rey en cuanto a aplicaciones prefabricadas de tipo CMS. (phpnuke y demás)
2) Readaptación sobre la marcha de los proyectos a nuevos requisitos. No he participado en ningún proyecto en los que los requisitos no hayan cambiado sobre la marcha, incluso a veces los requisitos iniciales son sólo esbozos y con el tiempo se van refinando y añadiendo nuevos. Para poder estar preparados al cambio constante de requisitos es fundamental un buen diseño por un lado y por otro lado disponer de buenas herramientas de refactorización. Con PHP se pueden plasmar por supuesto cualquier diseño pero el soporte OO de java me parece superior, por otro lado PHP no cuenta (al menos que yo sepa) con herramientas tan potentes de refactorización como tienen algunos IDE's de Java (netbeans, eclipse y sobre todo en esta aspecto JIdea).
De todos modos ese 50% me parece un poco exagerado, he programado en C y C++, en java, en PHP, en ASP, en python, en smalltalk etc,etc y nunca he dicho "con este lenguaje programo el doble de rapido!!!", al mismo nivel de experiencia en los dos lenguajes (PHP y java) ¿realmente crees que con php se programa nada menos que el doble de rápido?.
Muchas veces estas opiniones de que con PHP (donde digo php puedo decir python o perl) se tiran lineas el doble de rápido que con otros lenguajes más tipados vienen de gente acostumbrada a PHP y que le cuesta mucho ponerse a programar con lenguajes más restrictivos. Pero en el fondo cuando programas con lenguajes como java eres consciente de todas esas restricciones y las vas evitando antes de compilar, realmente a un buen programador el compilador le sirve para solucionar pequeños despistes pero no creo que le suponga un grave freno en el tiempo de desarrollo.
Una pregunta (jamas programe en PHP), todo el codigo PHP se escribe en la misma pagina HTML?
Porque si es asi, por mas objetos que tenga, mantener una aplicacion grande donde todos son HTML con codigo PHP es un lio
Un programador con la "cualificación microsoft" vino a mi facultad a explicarnos las bondades del .NET y el nuevo Microsoft NosequéDesignerBla bla para .NET (todos sabreis que programa me refiero, para desarrollar en .NET , ahora no me acuerdo del nombre).
El caso es que nos enseño un blog hecho con .NET, 4 cosillas más, ejemplos de programación y la versatilidad del lenguaje.
Estuvo interrumpido en el turno de preguntas por un compañero que no paró de rebatirle cada ejemplo con un "Eso lo hace tal función del PHP", "eso con PHP se puede hacer". Para acabar con "Honestamente, de todo lo que nos has enseñado, no veo que ventajas tiene o que cosa hay que no se pueda hacer con PHP". El azorado programador lo unico que acerto a decir es que con PHP era posible pero con .NET se podia hacer mas sencillo, facil y rapidamente... (cada uno que inserte su opiniñon aquí)
buenas, el typo3 tiene muy buena pinta, no lo conocia (como comento por arriba, mi conocimiento de php es limitado en el mejor de los casos) y le echare un vistazo para unas cuantas webs que tengo que hacer (las hago en php porque es imposible encontrar un hosting de java decente a un precio decente)
tengo una duda, cuando dices que se utiliza java para acelerar algun menu contextual, no te estaras refiriendo a javascript? si es asi, es algo muy comun que la gente conozca javascript y juzgue a java con eso...
para que quede claro, javascript fue un lenguaje inventado por netscape al que llamo asi por su sintaxis parecida y para aprovecharse de la fama del otro, java es un lenguaje de programacion creado por sun.
si no es asi y te estas refiriendo a java, me pregunto como lo hace, con applets? me parece que hoy en dia hay mejores formas de hacer esas cosas (si me apuras, casi te diria que hasta flash, y mira que no me gusta)
--
Dale fuego a un hombre y estara caliente un dia, prendele fuego y estara caliente el resto de su vida.
Por lo pronto podemos hablar de rendimiento. Java es un lenguaje compilado y php interpretado.
Por otro lado, java es un estándar y php no. Es decir, detrás del j2ee existen muchas empresas (y muy gordas) que intentan estandarizar, tanto en implementación como en arquitectura, el diseño de aplicaciones (no sólo webs) empresariales.
Dentro de esta estandarización se tocan temas de todo tipo, como balanceo de cargas para aplicaciones con mucha carga, ejecución de transacciones, acceso de base de datos y persistencias, uso de pools, métodos de autorización y autentificación, formas de puesta en marcha de aplicaciones, especificaciones de servidores de aplicaciones, y un sin fin de etcs.
Para más información sobre el tema tienes muchos enlaces:
http://java.sun.com/reference/api/index.html
http://java.sun.com/
http://www.jcp.org/en/home/index
Debido a lo dicho anteriormente, de php sólo existe una implementación. Si te gusta la usas y si no programas en otra cosa.
En java, programas en java y usas la implementación de j2ee o sólo del jre que quieras, que más te guste, comercial o gratuita, que mejor rendimiento de en tu sistema, etc... Y odo sin cambiar una sola línea de código.
Mucha gente piensa que java es sun, y está muy confundida.
Aquí va una web en la que se listan implementaciones del jdk y cuenta la historia de java:
http://www.dwheeler.com/java-imp.html (Faltan algunas implementacines en su lista, como esta: http://www.blackdown.org/).
Existen más motivos por los que para amplicaciones en las que te juegues algo debas emplear java en vez de php (para un portal de jueguecitos hace falta). Busca en la web de java (http://java.sun.com/) para informarte, por ejemplo.
PD. Antes de que alguien salte, como en otra ocasión, que decían no se que chorradas de que un compilador era algo que cogía un fuente y generaba otra cosa, aunque no fuera un ejecutable binario:
http://es.wikipedia.org/wiki/Compilaci%C3%B3n y http://www.brujula.net/wiki/Compilaci%C3%B3n.html
Es decir, que php (aunque mucha gente en blogs y wikis digan otra cosa) no es un lenguaje compilado ya que no genera bytecode.
No merece consideración
(Puntos:1, Interesante)ya lo lei...
(Puntos:3, Interesante)( http://barrapunto.com/ | Última bitácora: Lunes, 24 Febrero de 2014, 10:03h )
opino como bastante gente de alli, la rigurosidad del estudio y lo en serio que se pueden tomar los resultados es, como minimo, dudosa
para empezar, el "estudio" esta hecho sobre 400 supuestos programadores en la region EMEA (Europa, Oriente poximo y Africa), lo cual es una porcion de la poblacion demasiado pequeña
por otro lado, al parecer es gente que ha respondido a encuestas por la posibilidad de ganar dinero (de 500 a 1000$), lo cual me hace dudar que de verdad todos sean desarrolladores... no es la primera vez que veo estudios donde ofrecen dinero por dar tu opinion sobre un producto (pagando) y se ofrece todo dios a hacerlo.
Dale fuego a un hombre y estara caliente un dia, prendele fuego y estara caliente el resto de su vida.
PHP contra otros o proyectos a secas?
(Puntos:4, Informativo)( http://barrapunto.com/ )
1- Es un estudio parcial, por lo tanto no concluyente de nada. Si la gente deja de comer carne no quiere decir que haya mas vegetarianos, puede ser que haya menos vacas.
2- Ninguna tecnologia esta decayendo, simplemente el numero de proyectos esta en declive, y puedo usar el mismo ejemplo de la carne y las vacas.
Yo utilizo varias tecnologias a diario (entre ellas PHP y JAVA, las mencionadas en el articulo), y me parece un poco cansino el eterno debate de cual es mejor o peor. Es como en todo, quien puede decir si un martillo o un destornillador es lo mejor? Cada cosa es lo mejor para lo que mejor sirve, punto.
por separado
(Puntos:2)( http://najaraba.blogspot.com/ | Última bitácora: Miércoles, 16 Marzo de 2005, 14:34h )
sí y no.
(Puntos:2)( http://www.tapiasbravo.com )
De todos modos y eso es sabido por todos, que es más sencillo encontrar programadores Java que de Phyton, Perl o incluso C++, así que en teoría para las empresas seguro que las soluciones LAMP no están tan extendidas para proyectos que no sean puramente webs creadas con los conocidísimos Nukes, Mambos, Drupales, etc.
Desde la experiencia
(Puntos:3, Informativo)( http://knocte.blogspot.com/ )
Yo lo primero que utilicé fue ASP a secas. En cuanto el proyecto crecía, era muy difícil su mantenibilidad, por problemas derivados de su rapidez y potencia del lenguaje (VB Script).
Más tarde, reescribí el proyecto ASP anterior en PHP [php.net], esperando que con software libre obtuviera resultados mejores. Y lo fueron: PHP, además de ser libre, era más potente, disponía de más herramientas para facilitar el trabajo, más funcionalidades, etc.
Sin embargo, a medida que se va profundizando en PHP y los proyectos PHP van creciendo, se empiezan a ver proyectos para PHP que permiten tener más estructuradas las cosas: sistemas de plantillas como Smarty [php.net], frameworks MVC (Modelo Vista Controlador), e incluso la propia actualización de PHP4 a PHP5. Hasta que te das cuenta de que PHP, y todo su plataforma de desarrollo conjunta formada por estas herramientas, tiende a parecerse a cosas más robustas y estructuradas como las que existen para el mundo Java.
También he tocado Java con aplicaciones web, un poquito de JSP's y demás, pero no demasiado. Porque la verdad, yo también soy un poco reticente a Java, por el hecho de que no es software libre (no quiero iniciar un flame please).
Por eso, como veía que mi tendencia era llegar a Java sin usar Java, eché un vistazo a
a) Una plataforma de desarrollo multiplataforma.
b) La tendencia "inherente" a los proyectos y plataformas de desarrollo del mundo Java de estructurar completamente y de forma exquisita el código, obteniendo capas de abstracción de la más mínima cosa.
El punto (b) viene fundado, sobre todo, por la tecnología ASP.NET con la que irremediablamente he tenido que tratar a la ahora de utilizar la plataforma
Sin embargo, en el mundo Java, un ejemplo del punto (b) puede ser el proyecto Maverick [sourceforge.net], que ofrece un framework MVC para desarrollar aplicaciones web. Algo bastante elegante.
¿Qué decisión tomé entonces? Una intermedia: no usar Java (J2EE), pero tampoco ASP.NET, ni nada que tenga que ver con Microsoft. Actualmente estoy utilizando un framework MVC denominado "Maverick.NET" [sourceforge.net], el cual es un port de Maverick de Java a C#, y me está dando unos resultados muy buenos. Para desarrollar utilizo MonoDevelop [monodevelop.org], y para los deployments utilizo el runtime de Mono [mono-project.com], Apache 2.0 [apache.org] y el módulo mod_mono [mono-project.com] que permite reenviar las peticiones al servidor XSP [go-mono.com] de Mono.
Para la vista estoy utilizando serialización XML de las clases del controlador de manera que su resultado es transformado en XHTML mediante XSLT. Para la vista también utilizo CSS2/CSS3 (usando IE7/FixIE/IEpatch [edwards.name]) y
Que hay de 'ColdFusión'?
(Puntos:1)Java puede hacerlo todo
(Puntos:2)( http://neuromancia.blogspot.com/ | Última bitácora: Jueves, 04 Agosto de 2005, 10:49h )
Si la aplicación es enorme, se puede montar una arquitectura con EJBs, servlets controladores y JSPs separando las capas de acceso a base de datos y presentación, y volviendo el código mucho más legible y mantenible.
Una aplicación grande con PHP es infumable. No hay nadie que le meta mano.
Si quiero hacer una aplicación pequeñita, de andar por casa (estilo las que se hacen con PHP), paso de los Servlets, de los EJBs y con unos cuantos JSPs tengo la aplicación hecha, exactamente igual que la hubiera hecho con PHP, y además, con control de excepciones y con un lenguaje fuertemente tipado, que siempre ahorra errores.
La verdad es que LAMP tiene el encanto de ser software libre y se mantiene en la lista de los lenguajes más usados por eso mismo, pero la verdad es que no le llega a Java ni a la suela de los zapatos. De hecho, sólo con que Java fuera libre (a ver que tal resulta el Harmony), PHP empezaría a bajar puestos con una velocidad pasmosa, hasta quedarse como mera anécdota.
Desde la experiencia
(Puntos:3, Interesante)( http://knocte.blogspot.com/ )
Yo lo primero que utilicé fue ASP a secas. En cuanto el proyecto crecía, era muy difícil su mantenibilidad, por problemas derivados de su rapidez y potencia del lenguaje (VB Script).
Más tarde, reescribí el proyecto ASP anterior en PHP [php.net], esperando que con software libre obtuviera resultados mejores. Y lo fueron: PHP, además de ser libre, era más potente, disponía de más herramientas para facilitar el trabajo, más funcionalidades, etc.
Sin embargo, a medida que se va profundizando en PHP y los proyectos PHP van creciendo, se empiezan a ver proyectos para PHP que permiten tener más estructuradas las cosas: sistemas de plantillas como Smarty [php.net], frameworks MVC (Modelo Vista Controlador), e incluso la propia actualización de PHP4 a PHP5. Hasta que te das cuenta de que PHP, y todo su plataforma de desarrollo conjunta formada por estas herramientas, tiende a parecerse a cosas más robustas y estructuradas como las que existen para el mundo Java.
También he tocado Java con aplicaciones web, un poquito de JSP's y demás, pero no demasiado. Porque la verdad, yo también soy un poco reticente a Java, por el hecho de que no es software libre (no quiero iniciar un flame please).
Por eso, como veía que mi tendencia era llegar a Java sin usar Java, eché un vistazo a
a) Una plataforma de desarrollo multiplataforma.
b) La tendencia "inherente" a los proyectos y plataformas de desarrollo del mundo Java de estructurar completamente y de forma exquisita el código, obteniendo capas de abstracción de la más mínima cosa.
El punto (b) viene fundado, sobre todo, por la tecnología ASP.NET con la que irremediablamente he tenido que tratar a la ahora de utilizar la plataforma
Sin embargo, en el mundo Java, un ejemplo del punto (b) puede ser el proyecto Maverick [sourceforge.net], que ofrece un framework MVC para desarrollar aplicaciones web. Algo bastante elegante.
¿Qué decisión tomé entonces? Una intermedia: no usar Java (J2EE), pero tampoco ASP.NET, ni nada que tenga que ver con Microsoft. Actualmente estoy utilizando un framework MVC denominado "Maverick.NET" [sourceforge.net], el cual es un port de Maverick de Java a C#, y me está dando unos resultados muy buenos. Para desarrollar utilizo MonoDevelop [monodevelop.org], y para los deployments utilizo el runtime de Mono [mono-project.com], Apache 2.0 [apache.org] y el módulo mod_mono [mono-project.com] que permite reenviar las peticiones al servidor XSP [go-mono.com] de Mono.
Para la vista estoy utilizando serialización XML de las clases del controlador de manera que su resultado es transformado en XHTML mediante XSLT. Para la vista también utilizo CSS2/CSS3 (usando IE7/FixIE/IEpatch [edwards.name]) y
Solo puntualizar
(Puntos:3, Interesante)( http://www.micubiculo.com/ )
No confundamos millones de hits con proyectos grandes. Cuando se habla de proyectos grandes se refiere a cosas que tengan mucha funcionalidad o que sea muy complejo de implementar que no tienen nada que ver con que lo visite más o menos gente.
Una inteante corporativa por ejemplo no tiene visitas porque es privada y puede ser un proyecto enorme.
No confundamos aplicación web con aplicación para el público en general.
Cuestion de Metodología
(Puntos:1)( http://alidhaey.blogspot.com/ )
Sin marrón, no hay diversión.
La Marca de un Pelusoide [blogspot.com]No dejare de usar LAMP
(Puntos:1)...---...
(Puntos:2)( http://www.thylacinus.net/ | Última bitácora: Sábado, 12 Noviembre de 2005, 10:13h )
Y sino empezad a hacer una lista de todos los CMS que conoceis y a vereis...
---
"Nunca perteneceré a un club que me admita como socio."
Julius H Marx.
Alojamiento
(Puntos:1)( Última bitácora: Martes, 16 Agosto de 2016, 10:59h )
Por cierto que en este sentido Squeak promete mucho. Haces tu programa en Squeak, y tal como funciona en tu equipo, lo colocas en cualquier servidor y gracias a su máquina virtual, sólo necesitas un "plugin" para verlo funcionando de la misma manera en Internet.
Saludos :-)
No es la raqueta, eres tu
(Puntos:2)ejemplo 2 [www.mde.es]
el ejemplo 1 está mal implementado, porque no se ha contemplado que el valor este vacio.
sin embargo en el ejemplo 2 (ministerio de defensa se ve que si han contemplado el caso.
Las 2 web estan hechas sobre java, no se cuales plataformas tipo CMS son exactamente.
Así que ¿de qué sirve que algo sea mejor o peor, si a veces no estamos preparados para utilizarlos, o nos venden soluciones incompletas?
Y otra cosa, comparar soluciones que cuestan un paston, con algo que es gratis (software, no mano de obra) me parece una comparación poco justa.
Razones por las q php puede estar perdiendo entero
(Puntos:1)( http://barrapunto.com/ )
En primer lugar el nefasto soporte de multiples juegos de caracteres -especialmente UTF-8- lo que complica sobremanera la escritura de aplicaciones internacionalizadas y localizadas. Es un punto que hoy no puede permitirse una tecnologia ganadora.
En segundo lugar, aunque se ha mejorado notablemente, el soporte de objetos aun peca de algunas carencias.
El api de php contiene numerosas incoherencias que enlentecen su uso (str_replace , substr, strpos .. por favor un poco de coherencia) por citar algunas.
Php tiene grandes cosas a su favor, velocidad, sencillez, pero si quiere seguir siendo el nº1 los chicos de zend deben espabilarse.
Re:No son comparables
(Puntos:2)( http://barrapunto.com/ | Última bitácora: Lunes, 24 Febrero de 2014, 10:03h )
por un lado en el estudio no se habla de J2EE, es muy posible que la gente se este pasando en masa a Ruby on Rails (por decir uno)
por otro, por lo que estoy viendo en PHP (la version 5) es que cada vez tiene mas similitudes con java, es orientado a objetos para empezar
.net no es mala tecnologia, harias bien en mirarla aunque sea por encima, tiene cosas mejorables (y curiosamente se estan basando mucho en java) y tiene otras cosas que por ejemplo java no tiene y parecen buenas ideas... en cualquier caso, te dara otra vision, que nunca es malo
en general, estoy de acuerdo contigo, uno sirve para unas cosas y el otro para otras...
Dale fuego a un hombre y estara caliente un dia, prendele fuego y estara caliente el resto de su vida.
Re:un pequeño offtopic
(Puntos:1)( http://barrapunto.com/ | Última bitácora: Miércoles, 13 Octubre de 2004, 16:46h )
¿Por qué todo ha de tener un porqué? (Joan Laurence)
Re:Ehem
(Puntos:2)( http://barrapunto.com/ | Última bitácora: Lunes, 24 Febrero de 2014, 10:03h )
slashdot recibe muchas visitas, muchisimas, pero comparalo con el numero de visitas que recibe eBay y se queda en nada
walmart tiene su web hecha en java (de hecho lei hace un tiempo como habian migrado sus sistemas a java 5)
no quiero decir que php sea un lenguaje de juguete y que solo sirva para webs personales ni nada parecido, desde luego no es lo que creo, creo que php se puede usar para muchas cosas, pero tambien hay que tomarse las cosas con perspectiva...
Dale fuego a un hombre y estara caliente un dia, prendele fuego y estara caliente el resto de su vida.
Re:Ehem
(Puntos:2)( http://www.manje.net/ | Última bitácora: Martes, 13 Diciembre de 2011, 19:35h )
Re:Un poquito de por favor
(Puntos:2)Re:Ehem
(Puntos:2, Interesante)( http://barrapunto.com/~payo_ranger | Última bitácora: Sábado, 25 Diciembre de 2010, 07:17h )
PHP ahora es una cosa muy compleja con la que se puede construir aplicaciones pero antes no lo era.
El nombre de PHP, según tengo entendido, viene de Personal Home Page.
Así que se les deben llamar "scripts" por motivos históricos.
La diferencia fundamental entre J2EE [wikipedia.org] y PHP es que J2EE no es un lenguaje de programación, sino una especificación de como debe ser una plataforma para desarrollar y desplegar aplicaciones empresariales programadas en Java.
Saludos
Re:otro pequeño offtopic
(Puntos:2, Divertido)( http://barrapunto.com/ )
Esta firma no tiene valor legal
Re:Payaso
(Puntos:1)Re:¿Se desarrolla más deprisa en PHP?
(Puntos:1, Inspirado)Lo que yo venia a decir antes es que el tiempo de codificación no es el factor más determinante ni mucho menos en lo rápido que se desarrolle software (no es lo mismo programar que desarrollar software, programar es sólo una parte del desarrollo). Como minimo hay dos factores que creo mucho más determinantes que el tiempo de codificación para evaluar lo rápido que se desarrollo con una u otra plataforma:
1) que la plataforma tecnologica me de las herramientas necesarias, librerias de terceros, frameworks de desarrollo etc. En este creo que JEE ofrece bastante más que PHP, aunque PHP también tiene un gran soporte de librerías de terceros, y es el rey en cuanto a aplicaciones prefabricadas de tipo CMS. (phpnuke y demás)
2) Readaptación sobre la marcha de los proyectos a nuevos requisitos. No he participado en ningún proyecto en los que los requisitos no hayan cambiado sobre la marcha, incluso a veces los requisitos iniciales son sólo esbozos y con el tiempo se van refinando y añadiendo nuevos. Para poder estar preparados al cambio constante de requisitos es fundamental un buen diseño por un lado y por otro lado disponer de buenas herramientas de refactorización. Con PHP se pueden plasmar por supuesto cualquier diseño pero el soporte OO de java me parece superior, por otro lado PHP no cuenta (al menos que yo sepa) con herramientas tan potentes de refactorización como tienen algunos IDE's de Java (netbeans, eclipse y sobre todo en esta aspecto JIdea).
De todos modos ese 50% me parece un poco exagerado, he programado en C y C++, en java, en PHP, en ASP, en python, en smalltalk etc,etc y nunca he dicho "con este lenguaje programo el doble de rapido!!!", al mismo nivel de experiencia en los dos lenguajes (PHP y java) ¿realmente crees que con php se programa nada menos que el doble de rápido?. Muchas veces estas opiniones de que con PHP (donde digo php puedo decir python o perl) se tiran lineas el doble de rápido que con otros lenguajes más tipados vienen de gente acostumbrada a PHP y que le cuesta mucho ponerse a programar con lenguajes más restrictivos. Pero en el fondo cuando programas con lenguajes como java eres consciente de todas esas restricciones y las vas evitando antes de compilar, realmente a un buen programador el compilador le sirve para solucionar pequeños despistes pero no creo que le suponga un grave freno en el tiempo de desarrollo.
Re:Un poquito de por favor
(Puntos:2)( http://grimpi.blogspot.com/ )
Porque si es asi, por mas objetos que tenga, mantener una aplicacion grande donde todos son HTML con codigo PHP es un lio
Una anécdota
(Puntos:1)( http://barrapunto.com/ )
El caso es que nos enseño un blog hecho con .NET, 4 cosillas más, ejemplos de programación y la versatilidad del lenguaje.
Estuvo interrumpido en el turno de preguntas por un compañero que no paró de rebatirle cada ejemplo con un "Eso lo hace tal función del PHP", "eso con PHP se puede hacer". Para acabar con "Honestamente, de todo lo que nos has enseñado, no veo que ventajas tiene o que cosa hay que no se pueda hacer con PHP". El azorado programador lo unico que acerto a decir es que con PHP era posible pero con .NET se podia hacer mas sencillo, facil y rapidamente... (cada uno que inserte su opiniñon aquí)
No estuvo mal la cosa no...
Re:Typo3 mejorará las espectativas
(Puntos:2)( http://barrapunto.com/ | Última bitácora: Lunes, 24 Febrero de 2014, 10:03h )
tengo una duda, cuando dices que se utiliza java para acelerar algun menu contextual, no te estaras refiriendo a javascript? si es asi, es algo muy comun que la gente conozca javascript y juzgue a java con eso...
para que quede claro, javascript fue un lenguaje inventado por netscape al que llamo asi por su sintaxis parecida y para aprovecharse de la fama del otro, java es un lenguaje de programacion creado por sun.
si no es asi y te estas refiriendo a java, me pregunto como lo hace, con applets? me parece que hoy en dia hay mejores formas de hacer esas cosas (si me apuras, casi te diria que hasta flash, y mira que no me gusta)
Dale fuego a un hombre y estara caliente un dia, prendele fuego y estara caliente el resto de su vida.
Re:otro pequeño offtopic
(Puntos:1)( Última bitácora: Jueves, 24 Febrero de 2011, 14:21h )
All my life, I have enjoyed the reputation of being someone who disrupted prevailing ideas.
(Benoit Mandelbrot)
Re:Typo3 mejorará las espectativas
(Puntos:1)Re:No me va la mula con un router efficient connec
(Puntos:2)( http://ktzar.com/ )
De todas maneras la mula va decente sin abrir puertos ni nada de eso.
kTzAR
Re:No son comparables
(Puntos:2, Informativo)( http://www.acervera.com/ | Última bitácora: Martes, 23 Agosto de 2005, 05:16h )
Por otro lado, java es un estándar y php no. Es decir, detrás del j2ee existen muchas empresas (y muy gordas) que intentan estandarizar, tanto en implementación como en arquitectura, el diseño de aplicaciones (no sólo webs) empresariales.
Dentro de esta estandarización se tocan temas de todo tipo, como balanceo de cargas para aplicaciones con mucha carga, ejecución de transacciones, acceso de base de datos y persistencias, uso de pools, métodos de autorización y autentificación, formas de puesta en marcha de aplicaciones, especificaciones de servidores de aplicaciones, y un sin fin de etcs.
Para más información sobre el tema tienes muchos enlaces:
http://java.sun.com/reference/api/index.html
http://java.sun.com/
http://www.jcp.org/en/home/index
Debido a lo dicho anteriormente, de php sólo existe una implementación. Si te gusta la usas y si no programas en otra cosa.
En java, programas en java y usas la implementación de j2ee o sólo del jre que quieras, que más te guste, comercial o gratuita, que mejor rendimiento de en tu sistema, etc... Y odo sin cambiar una sola línea de código.
Mucha gente piensa que java es sun, y está muy confundida.
Aquí va una web en la que se listan implementaciones del jdk y cuenta la historia de java:
http://www.dwheeler.com/java-imp.html (Faltan algunas implementacines en su lista, como esta: http://www.blackdown.org/).
Existen más motivos por los que para amplicaciones en las que te juegues algo debas emplear java en vez de php (para un portal de jueguecitos hace falta). Busca en la web de java (http://java.sun.com/) para informarte, por ejemplo. PD. Antes de que alguien salte, como en otra ocasión, que decían no se que chorradas de que un compilador era algo que cogía un fuente y generaba otra cosa, aunque no fuera un ejecutable binario:
http://es.wikipedia.org/wiki/Compilaci%C3%B3n y http://www.brujula.net/wiki/Compilaci%C3%B3n.html
Es decir, que php (aunque mucha gente en blogs y wikis digan otra cosa) no es un lenguaje compilado ya que no genera bytecode.