You are on page 1of 10

Revista Digital Universitaria

10 de agosto 2004 Volumen 5 Nmero 7 ISSN: 1067-6079

JAVA o PHP
L.I. Anabell Comas Becaria de la Coordinacin de Publicaciones Digitales anabell@alethia.dgsca.unam.mx

Coordinacin de Publicaciones Digitales. DGSCA-UNAM Se autoriza la reproduccin total o parcial de este artculo, siempre y cuando se cite la fuente completa y su direccin electrnica.

Java o PHP
http://www.revista.unam.mx/vol.7/num12/art104/art104.htm

JAVA o PHP
Hoy en da, la mayora de las pginas en Internet son dinmicas; es decir, que el usuario interacta con ellas; a esto se le conoce como arquitectura Cliente-Servidor, en donde el cliente hace una peticin a travs de una pagina y espera una respuesta del servidor o simplemente manda informacin al servidor. Para que esto sea posible los desarrolladores deben elegir las herramientas necesarias para cumplir sus objetivos al disear los sitios. En este artculo se hace un anlisis de dos lenguajes de programacin para la creacin de contenido para sitios Web o creacin de contenido dinmico para sitios Web: JAVA 1.4 y PHP 4.x, ambos son lenguajes de programacin. Java es totalmente orientados a objetos, PHP 4.x que tiene ms enfoque a programacin de scripts y la implementacin de POO no es completa. Las versiones de PHP 5.x son mejores en este aspecto.

P l a t a f o r ma Java
Hill Venners en su libro Inside the Virtual Machina afirma que Java est formado por cuatro piezas diferentes: una especificacin de un lenguaje de programacin; una especificacin de un formato binario, los bytecodes; una especificacin de una mquina virtual, encargada de interpretar los bytecodes; y un conjunto de libreras estndar. Sin duda estos cuatro elementos definen el lenguaje de programacin Java. Sin embargo, si Java ha alcanzado tanto xito y difusin no es slo gracias al lenguaje, sino tambin al resto de la plataforma, que integra mltiples tecnologas en su seno: tecnologa s para el desarrollo de aplicaciones Web (Servlets, JSP, portlets, etc.), aplicaciones empresariales (EJB, JTA, JCA, JMS, etc.), aplicaciones para telefona mvil (CLCD, CDC, OpenGL ES, etc.), tarjetas inteligentes (JavaCard), y un inmenso sinfn de tecnologa s que hicieron a Java nico hasta hace tan slo un par de aos, cuando apareci .NET. La plataforma Java est compuesta por un conjunto de especificaciones, que definen todas y cada una de las partes de la plataforma, y una serie de implementaciones de estas especificaciones. Sin duda, por ser la base sobre la cual se edifica el resto de la plataforma, las especificaciones del lenguaje, bytecode, mquina virtual, y de las libreras estndar juegan un papel protagonista, pero no son las nicas.

R e c u r s o s que ofrece para el desarrollo


JAVA El JRE (Java Runtime Environment, o Entorno en Tiempo de Ejecucin de Java) es el software necesario para ejecutar cualquier aplicacin desarrollada para la plataforma Java. El usuario final usa el JRE como parte de paquetes software o plugins (o conectores) en un navegador Web. Sun ofrece tambin el SDK de Java 2, o JDK (Java Development Kit) en cuyo seno reside el JRE. Sun define tres plataformas en un intento por cubrir distintos entornos de aplicacin. As, ha distribuido muchas de sus APIs (Application Program Interface) de forma que pertenezcan a cada una de las plataformas:  -10
Coordinacin de Publicaciones Digitales. DGSCA-UNAM Se autoriza la reproduccin total o parcial de este artculo, siempre y cuando se cite la fuente completa y su direccin electrnica.

Revista Digital Universitaria


10 de diciembre 2006 Volumen 7 Nmero 12 ISSN: 1067-6079 Java ME (Java Platform, Micro Edition) o J 2ME orientada a entornos de limitados recursos, como telfonos mviles, PDAs, etc. Java SE (Java Platform, Standard Edition) o J2SE para entornos de gama media y es taciones de trabajo. Aqu se sita al usuario medio en un PC de escritorio. Java EE (Java Platform, Enterprise Edition) o J 2EE orientada a entornos distribuidos empresariales o de Internet.

IDEs Un IDE (Entorno de Desarrollo Integrado) es un programa compuesto por un conjunto de herramientas para un programador. Y existen disponibles varios de estos tanto comerciales y gratuitos, por mencionar algunos: NetBeans IDE y plataforma base para aplicaciones ricas de escritorio (Rich Apps) gratuito de cdigo abierto desarrollado por NetBeans.org. Eclipse libre y de cdigo abierto, Eclipse es desarrollado por la Fundacin Eclipse. JBuilder software comercial (existe una versin gratuita). JBuilder es desarrollado por Borlan d. JCreator software comercial (existe una versin gratuita) desarrollado por Xinox.

P l a t a f o r ma PHP
PHP es un lenguaje de programacin usado generalmente para la creacin de contenido para sitios Web. Se trata de un lenguaje interpretado usado para la creacin de aplicaciones para servidores. Permite la conexin a diferentes tipos de servidores de bases de datos tales como MySQL, Postgres, Oracle, DB2, Microsoft SQL Server, entre otros; lo cual permite la creacin de Aplicaciones Web muy robustas. PHP tambin tiene la capacidad de ser ejecutado en la mayora de los sistemas operativos tales como UNIX (y de ese tipo, como Linux), Windows y Mac OS X, y puede interactuar con los servidores de Web ms populares ya que existe en versin CGI, mdulo para Apache. Aunque su creacin y desarrollo se da en el mbito de los sistemas libres, bajo la licencia GNU, existe adems un IDE comercial llamado Zend Optimizer. La siguiente tabla muestra una comparativa de las caractersticas de estos lenguajes: http://www.tek271.com/articles/JavaOrPhp.html

Coordinacin de Publicaciones Digitales. DGSCA-UNAM Se autoriza la reproduccin total o parcial de este artculo, siempre y cuando se cite la fuente completa y su direccin electrnica.

-10

Java o PHP
http://www.revista.unam.mx/vol.7/num12/art104/art104.htm

#
1 Caracterstica PHP

Caractersticas Comparadas Tipos de datos boolean, integer, float, string, array, object. boolean, char, byte, short, int, long, float, double, String, array, Object. Java.

Java

Ganador

Caracterstica PHP

Nombres de las variables Las variables son representadas por una muestra del dlar seguida por el nombre de la variable. El nombre variable es casosensible. No hay carcter especial para comenzar el nombre variable. El nombre variable es casesensitive. Java.

Java

Ganador

Caracterstica
PHP

Declaracin variable
Se declara la variable cuando se crea. Su tipo se implica del valor asignado. Una variable puede cambiar su tipo si se asigna un nuevo valor. Las variables se deben declarar con un tipo de datos especfico antes del uso. Java. Es conveniente que un programa pequeo no requiera declaraciones variables, pero para el software grande, esto es daoso. Las variables que cambian sus tipos basados en su valor son muy peligrosas en programas grandes.

Java

Ganador

 -10

Coordinacin de Publicaciones Digitales. DGSCA-UNAM Se autoriza la reproduccin total o parcial de este artculo, siempre y cuando se cite la fuente completa y su direccin electrnica.

Revista Digital Universitaria


10 de diciembre 2006 Volumen 7 Nmero 12 ISSN: 1067-6079 4

Caracterstica
PHP

Variables globales
PHP tiene una gran cantidad de variables predefinidas. Java no tiene variables globales. Java. Las variables globales introducen insectos posibles en software grande.

Java Ganador

Caracterstica

Una variable que contiene el nombre de otra variable.


Apoyado. No apoyado. PHP.

PHP Java Ganador 6

Caracterstica
PHP

Declaracin constante
Las constantes se definen con una funcin: define (MYCONST, hola mundo) Define una constante nombrada MYCONST. Las constantes se declaran como variables con un modificador final del static: secuencia final static MYCONST = hola mundo Java. Introducir una funcin especial para definir constantes contador-intuitivo.

Java

Ganador

Coordinacin de Publicaciones Digitales. DGSCA-UNAM Se autoriza la reproduccin total o parcial de este artculo, siempre y cuando se cite la fuente completa y su direccin electrnica.

-10

Java o PHP
http://www.revista.unam.mx/vol.7/num12/art104/art104.htm 7

Caracterstica
PHP Java

Usar bibliotecas
PHP incluye bibliotecas. Bibliotecas de la importacin de Java. Java. Incluyendo bibliotecas puede introducir ediciones variables del alcance. Los paquetes se estructuran mejor que bibliotecas incluidas.

Ganador

Caracterstica
PHP Java Ganador

El sobrecargar del mtodo


No apoyado. Apoyado. Java.

Caracterstica

Pasar parmetros mtodo

del

PHP

Pasado por el valor y por la referencia. Por valor solamente. PHP.

Java Ganador 10

Caracterstica
PHP Java

Nmero de parmetros de mtodos


Apoyado. No apoyado, pero puede ser hecho con sobrecargar del mtodo. PHP.

Ganador

Caracterstica
11

Funcin de variables: Un nombre de una variable contiene el nombre de una funcin para llamarla
Apoyado.

PHP Java Apoyado con la reflexin. Ganador PHP.  -10

Coordinacin de Publicaciones Digitales. DGSCA-UNAM Se autoriza la reproduccin total o parcial de este artculo, siempre y cuando se cite la fuente completa y su direccin electrnica.

Revista Digital Universitaria


10 de diciembre 2006 Volumen 7 Nmero 12 ISSN: 1067-6079 12 PHP Java Ganador 13 Caracterstica PHP Java Ganador Caracterstica 14 PHP Java Ganador 15 ClassName::method() ClassName.method() Ambas. objeto->member() object.member() Ambas.

Caracterstica

nvocacin de miembros de la clase I

Herencia mltiple
No apoyado. No apoyado. Ambas.

Mtodos estticos

Caracterstica
PHP

Serializacin del objeto


Apoyado. corriente. Serializa a una

Java

Apoyado. Serializa a una corriente o a XML. Java.

Ganador 16

Caracterstica
PHP Java Ganador

Interfaces
No apoyado. Apoyado. Java. Alcance de los miembros de la clase Solamente alcance del pblico del defecto. pblico, privado, protegido, y defecto (paquete). Java. -10

17

Caracterstica

PHP

Java

Ganador

Coordinacin de Publicaciones Digitales. DGSCA-UNAM Se autoriza la reproduccin total o parcial de este artculo, siempre y cuando se cite la fuente completa y su direccin electrnica.

Java o PHP
http://www.revista.unam.mx/vol.7/num12/art104/art104.htm 18 Caracterstica PHP Polimorfismo No apoyado. Los mtodos no pueden ser eliminados. Apoyado. Java. Clases y mtodos abstractos No apoyado. Apoyado. Java. Manejo de excepciones Los errores ignorados. pueden ser

Java Ganador 19 Caracterstica PHP Java Ganador 20 Caracterstica PHP

Java

Direccin estructurada con la construccin de try/catch/finally. Java. Proceso de los hilos de rosca del mltiplo No apoyado. (control de proceso del estilo de Unix de las ayudas con una biblioteca adicionada que trabaja en Unix solamente). Apoyado. Java. Componentes No apoyado. Apoyado. Java.

Ganador 21 PHP

Caracterstica

Java Ganador 22 Caracterstica PHP Java Ganador

 -10

Coordinacin de Publicaciones Digitales. DGSCA-UNAM Se autoriza la reproduccin total o parcial de este artculo, siempre y cuando se cite la fuente completa y su direccin electrnica.

Revista Digital Universitaria


10 de diciembre 2006 Volumen 7 Nmero 12 ISSN: 1067-6079 Caracterstica 23 PHP Java Ganador Java. Seguridad Ayuda limitada. Ayuda detallada para los applet, los servlets, EJBs.

Conclusin
Nmero de caractersticas Ganadas por PHP Ganadas por Java Ambas 23 4 16 3

De lo que he llegado a ver, Java a diferencia de PHP: Es un lenguaje completamente orientado a objetos, a diferencia de PHP 4.x que tiene ms enfoque a programacin de scripts y la implementacin de POO no es completa. Las versiones de PHP 5.x son mejores en este aspecto. Tiene soporte para documentacin incluido (JavaDoc). Java es un lenguaje ms estricto en la cuestin de la seguridad que PHP. Permite el polimorfismo y la herencia. Por otro lado, PHP a diferencia de Java: Es realmente OpenSource. No depende tanto de libreras y/o aplicaciones de terceros, como en el caso de J2EE. Es posible desarrollar ms rpido y es ms fcil de depurar en proyectos pequeos. Una implementacin de PHP en servidor es ms barata que una de Java (descontando TomCat y JBoss). Finalmente la implementacin de uno o de otro depender de la implementacin que se vaya a realizar, la plataforma disponible y muchos otros criterios que salen del anlisis preliminar del proyecto. La siguiente pgina muestra un ranking de posiciones de los diversos lenguajes de programacin: http://www.tiobe.com/tpci.htm

Coordinacin de Publicaciones Digitales. DGSCA-UNAM Se autoriza la reproduccin total o parcial de este artculo, siempre y cuando se cite la fuente completa y su direccin electrnica.

-10

Java o PHP
http://www.revista.unam.mx/vol.7/num12/art104/art104.htm

Bibliografa
VENNERS, Bill. Inside the virtual Java Machine.Mcgraw Hill Media Group, 2000. Pginas recomendadas para conocer ms sobre Java y PHP: http://www.tiobe.com/tpci.htm http://www.netbeans.org/ http://www.eclipse.org/ http://www.borland.com/us/products/jbuiler/index/html http://www.jcreator.com/ http://www.tek271.com/articles/JavaOrPhp.html

10 -10

Coordinacin de Publicaciones Digitales. DGSCA-UNAM Se autoriza la reproduccin total o parcial de este artculo, siempre y cuando se cite la fuente completa y su direccin electrnica.

You might also like