Programación en 3 capas ¿Qué me recomiendan... PERL o C? Please, ayudenme a encontrar el NORTE

Franco Catrin fcatrin en tuxpan.com
Mie Ago 24 13:38:28 CLT 2005


El mié, 24-08-2005 a las 11:38 -0400, Andrés Ruz Salinas escribió:
> Hola lista,
> 
> 	Estoy empezando a desarrollar aplicaciones en 3 capas bajo Linux y
> he visto algo de información sobre el tema. Estoy analizando si usar PERL o
> C como capa intermedia (o de proceso) pero estoy topando en que no he visto
> mucha información sobre su uso. 

Y sinceramente dificil la veras, ya que no es muy sano implementar
aplicaciones multicapa con C o perl.  Que tipo de aplicacion quieres
hacer?  se justifica el uso de C?  Si es una aplicacion administrativa,
revisa que es lo que hay implementado para hacer aplicaciones multicapa
(J2EE / .net)


> 	Lo que he probado es PERL dentro de PHP como una especie de
> componente o modulo de tal forma que le paso parámetros al archivo PERL y lo
> ejecuto dentro del mismo PHP con la función ''exec("línea de comando(s)",
> variable de salida)'' y en la "variable de salida" parseo el resultado que
> me entrega el modulo PERL y de esta forma termino mostrando los datos
> resultantes con el mismo PHP, lo que me deja intranquilo por que no se si
> estoy usando de buena forma las 3 capas.

Es una forma algo retorcida.  Debes considerar que cada vez que ejecutes
esa pagina, se tiene que levantar el interprete de perl!

> 	Necesito saber si este método es bueno o hay alguna otra forma de
> realizar esta tarea y que me entregue un buen rendimiento. 

Ejecutar paginas como una sola cosa no te va a servir de mucho.  O te va
a funcionar muy mal.  

> 	Por otro lado estoy viendo la posibilidad de usar C por que pienso
> que este lenguaje me debería dar mejores resultados ya que los archivos ya
> están compilados 

Te van a andar muy rapido solo si usas muchos ciclos en donde hay solo
procesamiento en CPU.  Si lo que estas haciendo es acceder a una base de
datos o a otro recurso, el lenguaje da practicamente lo mismo, la base
de datos sera tu cuello de botella.

Ademas que si no tienes experiencia en C, te esperan largas horas
tratando de encontrar bugs causados por deficiencias en la programacion.

> y sólo deberían ser ejecutado con lo que pienso que el
> rendimiento aumenta pero no sé si será mucha la diferencia pensando que las
> máquinas de hoy son muy rápidas y el "compilar en tiempo de ejecución para
> ejecutar"(PERL) o "ejecutar sin compilar"(C) se note demasiado al momento de
> usarlos.

Las maquinas son suficientemente rapidas como para poder trabajar
tranquilamente en cualquier lenguaje, siempre que lo utilices de forma
adecuada.  Considera que el rendimiento no solo depende de que el
lenguaje sea compilado o no, sino que tambien de los recursos
adicionales que necesitas (memoria, disco, red, etc)


> 	Ojala que me puedan aportar con este tema y si me pueden dar
> direcciones de donde pueda ver ejemplos y formas de uso o todo lo que se
> pueda relacionado con el tema, les estaré muy agradecidos.

http://java.sun.com/j2ee/1.4/docs/tutorial/doc/

Al menos los conceptos te van a servir

Saludos
-- 
Franco Catrin L.       TUXPAN
http://www.tuxpan.com/fcatrin



Más información sobre la lista de distribución Linux