• Publicidad

¿¿ Por qué usar Perl en vez de Java o PHP ??

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

¿¿ Por qué usar Perl en vez de Java o PHP ??

Notapor barretoju » 2005-07-22 10:05 @462

Estoy haciendo un análisis para determinar cuál herramienta de programación me brinda en general mayores ventajas y así poder implementarla en mi empresa. Agradezco a las personas que tengan amplia experiencia programando que me asesoren. Gracias.
barretoju
Perlero nuevo
Perlero nuevo
 
Mensajes: 1
Registrado: 2005-07-22 10:00 @458

Publicidad

Notapor Perl user » 2005-07-22 12:18 @554

Es una pregunta un tanto difícil y una pregunta muy debatible, que generalmente termina causando caos entre los puristas hacia un lenguaje en específico. Si bien, Perl para mi ya es más que una herramienta, te puedo decir que tú mismo acabas de mencionar la respuesta a tú pregunta:

Mencionas la palabra 'herramienta'. Así es, los lenguajes son también herramientas que ayudan a elaborar tareas y construir soluciones, entre más herramientas tengas en tu caja, bajo tu mano, más posibilidades y mejor panorama tienes para resolver un problema.

Yo lo único que te puedo decir es que PHP es un lenguaje pobremente implementado, cuyas ventajas son hacks baratos (al menos todo lo que he visto de PHP4), y que la gente ha tomado como moda, y esta moda ha traído a la luz MUCHAS aplicaciones poco mantenibles y a la vez programadores mediocres, que no tienen idea de lo que es un estilo de programación y lo que es hacer las cosas BIEN. OJO, no estoy diciendo que todos, pero la gran mayoría de gente que conozco que dice programar en PHP, en realidad no lo hace.

Hay una gran diferencia entre programar (escupir código) y desarrollar algo en verdad, desarrollar lleva un proceso más cuidadoso y más elaborado.

En fin, mi propuesta es que, dependiendo de tus finalidades podrías adoptar una tecnología u otra, basada en experiencias y proyectos existentes.

NOTA: Si alguien menciona que Perl es para el Web y Perl es para esto... no le creas, es una GRAN mentira. Si alguien te menciona que Java es solo para aplicaciones Enterprise, tampoco le creas :)

Regards,
Última edición por Perl user el 2005-07-22 12:58 @582, editado 1 vez en total
Marco A. Manzo
[email protected]
http://www.unixmonkeys.com/amnesiac/
Perl Programming Language
Perl user
Maestro honorario
Maestro honorario
 
Mensajes: 271
Registrado: 2004-11-03 21:11 @924

Notapor kidd » 2005-07-22 12:47 @574

Hola:

Estoy de acuerdo con Marco, y coincido totalmente con él acerca de lo que dice de PHP y Perl, pues a mi también me ha tocado ver eso en lo poco que he visto.

No creo que nadie pueda decir con pruebas sólidas, este lenguaje es mejor que aquel o ese otro mejor que el otro, porque en verdad cada lenguaje tiene su punto fuerte y su punto débil.

Es por ello que entre más herramientas tengas, en este caso, entre más lenguajes conozcas, más fácil vas a llegar a la solución de problemas. Pues podrás usar los puntos fuertes de los lenguajes, y después si los unes puedes crear herramientas realmente poderosas.

Claro, que cada uno de nosotros también tiene su punto fuerte y débil en programación, es decir, cada uno de nosotros selecciona un lenguaje madre, aquel en que se basa todo el desarrollo. Por ejemplo Marco dice que el suyo es Perl, el mio también es Perl (que espero llegar a usarlo tan bien como Marco) y así tu debes de llegar a aquel lenguaje en que encuentres más soluciones a tus problemas.


SALUDOS
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Re: ¿¿ Por qué usar Perl en vez de Java o PHP ??

Notapor explorer » 2005-07-24 18:31 @813

barretoju escribiste:Estoy haciendo un análisis para determinar cuál herramienta de programación me brinda en general mayores ventajas y así poder implementarla en mi empresa. Agradezco a las personas que tengan amplia experiencia programando que me asesoren. Gracias


Pues depende mucho qué tipo de soluciones necesita implementar.

En mi departamento, analizamos imágenes vía satélite en tiempo real. Después de pasar por más de veinte pasos distintos, los resultados se han de grabar en casi una decena de formatos distintos, incluyendo HTML, Excel o correo electrónico.

Utilizamos formatos estándar del mundo científico, algunos de ellos en común con la NASA.

Tenemos que lidiar con archivos que van desde un sencillo fichero de texto con el contenido separado en columnas, hasta ficheros de más de 1Gb en HDF, pasando por ficheros XML, BMP, o Geotiff.

Un ejemplo. El último programa que hemos realizado usa estas librerías:

Código: Seleccionar todo
use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
use Cache::FileCache;
use Config::IniFiles;
use DateTime;
use File::Basename;
use File::Spec::Functions;
use Geo::Shapelib ':all';
use MIME::Entity;
use PDL::Lite;
use PDL::Core qw(list float);
use PDL::IO::FastRaw 'writefraw';
use PDL::Slices;
use Judd::PDL::IO::HDF;
use PDL::Transforms::Cartography::Proj4;
use Sysadm::Install ':all';
use XML::Simple;


Después de escribir más de 16 000 líneas de Perl en estos 3 últimos años, hemos llegado a la conclusión de que su potencia, versatilidad, acceso al código, librerías (más de 8000), rapidez de respuesta por parte de la comunidad le hacen, no sólo idóneo, sino imprescindible, para nuestro trabajo.

Pueden ver algo sencillo en http://www.latuv.uva.es/modisql/.

De hecho el desarrollo es tan rápido y potente, que los otros programadores del departamento están recibiendo clases intensivas para pasar del C al Perl cuanto antes.

Pero no todo es bueno en Perl. Lo más difícil es la curva de aprendizaje, que es muy dura. Pero la solución es tan sencilla como en el resto de lenguajes: leer código y más código y ejemplos y tutoriales.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Por que usar Perl en vez de Java o PHP ??

Notapor danimera » 2005-07-29 13:52 @619

Una de las cosas que todos tienen razón es la que los lenguajes de programación son herramientas para las cuales yo he utilizado muchas de ellas y básicamente podría darte esta recomendación:

Proyectos web, con base de datos: PHP y MSQL (para trabajos medianos donde no se necesite mucha seguridad).

Java: Proyecto de componentes... para Palm OS, Celulares Java, Sistemas de gran potencia pero para tareas especificas, ej. chat).

Perl: Mi lenguaje favorito... realmente lo utilizo para elaborar aplicaciones reutilizables, módulos, gestores, aplicaciones de escritorios o de gran potencia... también para trabajo con ficheros xlm, xls, txt...

Estas soluciones que te planteo son las que uso y me dan un buen resultado... entonces como dicen por ahí no es que un lenguaje sea mejor que otro sino que hay que saber utilizar la herramienta... OK.
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Notapor eiial » 2005-08-03 16:42 @737

La verdad que lo que dice danimera es acertado aunque yo te aclararía que PHP está muy lejos de ser un lenguaje con baja seguridad. De hecho de los que nombraste es técnicamente (hablando de diagramación de estructura) el más seguro, ni Java ni Perl lo son como PHP. El dilema está en que generalmente son mal programados y ya que la idea subyacente era brindarle facilidad de programación y alto desempeño, es lo que lleva a cometer los errores, por ejemplo el usar register_globals activos, pero de hecho ha tratado de solucionar a través del lenguaje "problemas" de seguridad en los servidores, algo que hasta ellos admiten que no es apropiado pero es una solución ante nada, ejemplo de esto es la posibilidad de limitar el acceso de PHP en ciertas carpetas. También puede escapar caracteres "peligrosos" tanto en GET, POST y cookies. Es más: otra ventaja es la ejecución, como PHP se carga generalmente como módulo de apache, es muchísimo más veloz que Perl ejecutado como interprete, obviamente las cifras se aproximan y hasta las mejora Perl si es cargado como módulo con mod_perl.

En mi opinión, si manejas HTML, empezaría con PHP, porque tiene la característica de muchos lenguajes. De hecho, PHP, en sus comienzos era un script en Perl y unas librerías en C, lo que llevo a que sus funciones sean muy similares a estos, es más, utiliza funciones conocidas en Perl, C y Java, es una conjunción, aparte soporta array multidimensionales y otras cosas que hacen muy, pero muy sencilla su programación.

Siempre en este caso hablamos de programación web, aunque hay que tener en cuenta que lo que asegura... limita... ya que PHP, posee una estructura muy rígida y hay cosas que no se pueden hacer directamente, por ejemplo acceder a esas carpetas que fueron limitadas :-( (saltea este comentario, aclaro que en realidad ese bloqueo se puede quitar, siempre y cuando no hallan limitado el acceso a cambiar este límite), en este caso una forma de acceder es con Perl o Java :-).

Lo mejor en mi opinión es que aprendes un lenguaje que te permite aprender otros, tiene muy buena documentación en el idioma que se te ocurra.. va no en tantos :-)

Tal vez en lo que, ojo, en mi opinión no es de lo mejor es utilizar Perl para aplicaciones de escritorios, de hecho es mucho mejor utilizar Java para esto ya que te da una portabilidad única, aunque odio Java y prefiero C o Delphi para estas cuestiones... Paradójicamente sí he hecho y tengo funcionando aplicaciones de escritorio en Perl :-) , cosas de la vida... y lo que son las cosas también se pueden hacer en PHP.

Bueno, después de estas idas y venidas que la idea era darte un panorama de todo y explayando más en temas que tocaron muy brevemente, te aproximo mi opinión.

PHP es un lenguaje, fácil de aprender, que te inicia para otros, con una potencialidad marcada, pero muy estructurado.

Perl en contraposición no es estructurado (tomándolo como sinónimo de limitado...) en la versión 5+ sobretodo, te da la posibilidad de hacer un 95% de cosas, es ideal para hacer aquel programa rápido para administrar cosas o cuando necesitas expresiones regulares complejas que es el rey en eso, en realidad te vas a dar cuenta que lo necesitas cuando PHP te quede chico (que es sinónimo de miles de líneas que las podes hacer con una o dos en Perl).

Ojo con esto último, en principio para web "simples" las vas a desarrollar en PHP con muchos menos líneas.

Aparte de todo esto, súmale lo que dicen todo los mensajes anteriores en su beneficio.

Java... Java un lenguaje que odio, pero es inevitable recurrir a él cuando se necesitan conexiones persistentes, aunque Flash actualmente también las soporta Java ha sido y es líder en eso, por su parte la principal ventaja es que cualquier programa compilado de Java se puede usar en cualquier sistema operativo, su aprendizajes es más tedioso que Perl y C, es algo así como aprender Delphi, y es el principal lenguaje de los teléfonos actuales aunque hay que tener unas API específicas... ¡Ah! también es el mejor en manejos 3D así muy buenas API sobre eso.

Como verás y si llegaste hasta acá tienes que tener en cuenta que cada lenguaje es una herramienta y como para ser carpintero necesitas un serrucho y no un corta hierro, para programar necesitas el lenguaje según lo que quieras hacer.

Saludos espero que te ayude.
eiial
Perlero nuevo
Perlero nuevo
 
Mensajes: 19
Registrado: 2003-11-21 00:51 @077

Notapor Perl user » 2005-08-03 16:52 @744

Definitivamente... has dicho demasiadas barbaridades en tu comentario anterior. Qué bueno que son comentarios personales. Lo malo es que la persona que hizo el mensaje inicial lo leerá; solo espero no crea todo lo que escribiste. :)

Saludos,
Marco A. Manzo
[email protected]
http://www.unixmonkeys.com/amnesiac/
Perl Programming Language
Perl user
Maestro honorario
Maestro honorario
 
Mensajes: 271
Registrado: 2004-11-03 21:11 @924

Notapor eiial » 2005-08-03 17:01 @750

Hace muchos años una excelente profesora de matemáticas decía: no hables sin fundamento, y yo sostengo la opinión, solo he visto de vos críticas infundadas excusándote con una "sabiduría" infundada, tira luz de aclaración y demuéstranos que no escribís porque tienes manos :-) .

Demuéstranos con datos fehacientes y no buscando en la opinión de... sino de pruebas técnicas, que es lo incorrecto.

A las pruebas me remito

Saludos... resentido :-)
eiial
Perlero nuevo
Perlero nuevo
 
Mensajes: 19
Registrado: 2003-11-21 00:51 @077

Notapor Perl user » 2005-08-03 17:21 @764

Con mucho gusto te voy a demostrar lo que digo y hacer que te comas tus palabras.

1) Mencionas que ni Perl (ojo, es Perl, no PERL ni perl) ni Java son tan seguros que PHP.
Para tu información recuerda que Perl tiene 'taint mode' ), y hablando en el lingo del web, ya que PHP prácticamente fue creado por eso, taint mode es una inevaluable ayuda, además de que como mencionaste, si usas mod_perl tienes mucho más control sobre la API de Apache directamente, algo que en PHP no lo haces. ¿Java? Java tiene una API específica para seguridad, en cualquier contexto.

2) ¿Caracteres peligrosos? ¡He!, "asesinos". ¿¿¿Qué demonios es eso??? ¿Acceso a carpetas? ¿¿¿CARPETAS??? ¡Ugh...! ¡Ah!, y claro... mod_perl es mucho más rápido que mod_php, inclusive, puedes revisar varios benchmarks. Y por supuesto puedes limitar accesos... el hecho que normalmente se use Perl como CGI no significa que compita únicamente de esa manera con PHP. ¡Ah!, y también por Java, habrá que revisar JSP y algunas implementaciones de EJB.

3) ¿PHP tiene una estructura? NO TIENE ESTRUCTURA querrás decir... Rasmus Lerdorf estuvo en el GULEV 2002 en Veracruz, México, y desde entonces y antes de eso señaló que era necesario reescribir PHP4, ya que en realidad no tiene tanta estructura, sus bases del paradigma Orientado a Objetos es un feo hack, muy feo hack y sus internals son horribles, peor que los de Perl.

4) ¿No usar Perl para aplicaciones de escritorio? Sí, ya vi que dices que lo has utilizado, eso significa que tú mismo contradices tus comentarios, Perl no fue hecho con un carácter específico. ¿Java mejor para eso? ¡Ugh...! ¿Sabías tú que... Swing es mucho más lento que los bindings de Gtk2 y WxWidgets para Perl? Sí, SWT de IBM es más rápido que Swing porque son widgets nativos, Swing es una capa de abstracción para AWT. ¿Portabilidad única en Java? Vaya, entonces no conoces Perl nuevamente.

Para tu información quien está cobrando lugar en el mundo de las aplicaciones visuales es Python, increíble pero cierto, Gnome lo adoptó como lenguaje script predeterminado.

He escrito algunos documentos sobre Programación de interfaces gráficas con Perl y Gtk, podrías checarlo, Uriel publicó uno hace poco aquí en la página. Estoy preparando otro sobre "Desarrollo Rápido de Aplicaciones con Glade y Perl" para el Festival de Software Libre 2005, que de la misma manera, será público una vez impartido el taller, pero te puedo adelantar el código funcional de uno de los ejemplos con motivo de apoyar mi punto sobre el enfoque libre de Perl:
http://unixmonkeys.com/amnesiac/Mailer.html
http://unixmonkeys.com/amnesiac/Mailer.glade
http://unixmonkeys.com/amnesiac/Mailer.png

5) Claro PHP es un lenguaje fácil de aprender, porque te permite hacer cualquier tipo de porquerías de código, y que para la gente es sencillo de pasar por alto. ¿Potencialidad marcada? ¡Ugh...! Sobre todo porque tiene herencia de lenguajes funcionales, ¿verdad?
http://www.ukuug.org/events/linux2002/papers/html/php/

6) Claro que no es estructurado, pero no mencionas QUÉ ES REALMENTE: Perl es un lenguaje libre de paradigma, listo para usarse en cualquier contexto y para cualquier tarea.

7) ¿¿¿Conexiones persistentes??? ¿A qué demonios te refieres con eso? ¿Más tedioso que Perl y C? Es mucho más sencillo que Perl, déjame decirte. El problema con Java es que existen muchas (demasiadas) API. Pero para eso la contraparte es el CPAN de Perl, demasiadas contribuciones de la comunidad del Open Source, algo que PHP (intentó hacerlo con PEAR) y Java no tienen.

Y OJO: Java no es un lenguaje, es más que eso, Java es una especificación, Java es un conjunto de API, Java es una VM, no confundas simplemente.

Saludos,

PD. Nadie intenta demostrar 'sabiduría' infundada... y mucho menos yo.
Si sé que puedo demostrar lo que digo, normalmente pongo un mensaje, sino, me ahorro la vergüenza de quedar mal, y no por no saber, sino por decir que lo sé cuando la realidad es otra.
Marco A. Manzo
[email protected]
http://www.unixmonkeys.com/amnesiac/
Perl Programming Language
Perl user
Maestro honorario
Maestro honorario
 
Mensajes: 271
Registrado: 2004-11-03 21:11 @924

Notapor eiial » 2005-08-03 18:57 @831

Yo hablo de seguridad a nivel sistema operativo que es lo que trata de simular no a nivel script, y taint no lo tiene ningún webserver de los conocidos.

Caracteres "asesinos"... escapa las entradas de forma transparente, un muy buen detalle para un usuario básico, sino fíjate en ASP.

Por supuesto que mod_perl es mas rápido o sos ciego y no lo leíste, pero está muy difundido el uso como intérprete.

Yo hablo de estructura como función limitante, la cual está acotada y es precisa.

¡Ja,ja,ja,ja! Realmente no uso Gtk. En algún mensaje lo aclaré. Uso Wx, pero portabilidad, ¡ja,ja,ja,ja! Si hiciste algo de esto ni lo podrías discutir, en Java instalas el JRE y te funciona todo, instalas Perl y trata de correr alguno de esas aplicaciones, ¡ja,ja,ja! 250 000 módulos te van a faltar.

Y no es que me contradiga es que experimento :-) la única forma de saber, utilizando el método hipotético-deductivo, claro que si nos sentamos a utilizar el inductivo, siempre tendremos una mente plana.

Claro que es simple PHP por eso lo aclaré y claro que tiene herencias por eso también lo aclaré que te sirve para dar pasos con otros.

Aclare que como sinónimo de limitante, por supuesto, totalmente libre.

Que lo consideres más sencillo te felicito es tu criterio, cuando venís de lenguajes como C, Java es odioso, pero las bondades de Java son destacables como lo aclaré.

Conexiones persistentes, ¿conoces algún otro lenguaje práctico y aceptado para ejecutar en un cliente y mantener una conexión persistente, obviamente sin instalar tus 256544556545875235442 millones de modulitos adicionales :-) ?

En fin, la realidad del medio virtual no se contradice con la realidad de tu mente; tal vez todo el mundo está equivocado, probablemente :-D

Al fin de cuenta lo importante es que son herramientas y para cada cosa, hay una distinta.

Saludos
eiial
Perlero nuevo
Perlero nuevo
 
Mensajes: 19
Registrado: 2003-11-21 00:51 @077

Siguiente

Volver a Avanzado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados