¿Estás empezando a utilizar Perl y qué te llevó a hacerlo?[cerrado]

StackOverflow https://stackoverflow.com/questions/392789

  •  23-08-2019
  •  | 
  •  

Pregunta

Entré en Perl hace años y siempre me pareció un lenguaje divertido y expresivo con el que trabajar.

Descubrí que programar en Perl me hace bastante productivo gracias a sus bajos gastos generales y a la excelente cantidad de soluciones listas para usar para problemas comunes en CPAN.

Si eres nuevo en Perl, ¿qué te llevó a hacerlo?

¿Fue útil?

Solución

Con Perl (y el poder expresivo detrás de TMTOWTDI), la programación se convierte en una tarea creativa.puedo escribir if($expr) { $statement; } si planeo tener muchas más declaraciones, o puedo escribir $statement if $expr; si eso tiene más sentido (por ejemplo, me gusta escribir:

sub doSomething {
    my($toObject, $argument) = @_;

    die "No object specified" unless defined($toObject);
    die "Object invalid: $toObject" unless $toObject->ISA('Example');

    # Do stuff
}

pero, por supuesto, esa no siempre es la forma más fácil y expresiva de hacerlo;¡así que se me ocurrió una mejor manera de realizar la tarea en cuestión!).La gente se queja porque Perl te permite escribir código que parece horrible;Me encanta Perl porque me permite escribir código que se ve bonito. a mi (y sí, puedo ver la desventaja de tener una docena de programadores diferentes escribiendo en sus propios estilos;Mantendré la idea de que los buenos escritores pueden ser bastante expresivos y comprensibles sin importar cuán diferente sea el tema).

Con otros lenguajes de programación, termino teniendo que pensar a través de capas de abstracción (¿cómo será esto? Map dame Collectiones cuyo IteratorPuedo usar para...etcétera).Con Perl, normalmente estoy sólo un nivel de abstracción por encima del Perl básico.Por ejemplo, DBI me dará resultados de la base de datos como escalares, listas y hashes de Perl comunes y corrientes, por lo que todo lo que sé sobre estas estructuras de datos simples y centrales se traslada a cada tarea que realizo. DBI a (¿Estructuras de datos complicadas?¡Para eso está PostgreSQL!).

Solo he estado usando Perl a tiempo completo durante aproximadamente un año, pero estas son las grandes victorias para mí y la razón por la que comencé a usar Perl a tiempo completo después de un año sufriendo a manos del modelo de Colecciones de Java 1.4 ( no preguntes).Otros lenguajes de programación me hacen sentir como si estuviera armando un rompecabezas, mientras alineas todos los módulos y paquetes. solo bien;Perl parece una caja llena de Legos, con algunos ladrillos "especiales" (como DBI, CGI.pm y Test::*) incluido por si acaso.Hay toneladas de formas diferentes de resolver cualquier problema, y ​​Perl te permite probar cualquiera de ellas que desees, de la forma que desees.

Otros consejos

Me cifrando PHP para ganarse la vida, y luego hablar de su cambio de :: a \ como un separador de espacio de nombres. Realmente no es broma o ser rencoroso, pero que es realmente lo que se llevó el balón rodando.

No ser elitista, pero de repente se dio cuenta de que la gente que tenía que colaboran con la que sabía PHP entiende muy poco en los conceptos de programación de manera que me frustrados cómo podían ser tan ciego, la gente en las salas de IRC para que se ya no es una fuente de ayuda para mis preguntas, y por lo general pasan más tiempo respondiendo a las preguntas y esperando a que alguien se suba a quien podría responder a la mía. Por lo general, terminé la solución yo mismo. La mayor parte del tiempo me di cuenta era la gente re-solución de los mismos problemas una y otra vez en cada vez más malas maneras.

he descubierto comportamientos problemáticos en PHP que desafiaba la lógica y el razonamiento (como la familia array_merge_recursive), y descubrí funciones que fueron indocumentados en la forma de utilizarlos, y cuando me informó de un error en las funciones, mi error se marca como "Bogus "y que se esperaba que ser psíquico.

Yo tenía un amigo que estaba constantemente proclamando la bondad de Perl, por lo que básicamente se dio un tiro y ahora estoy enganchado como un adicto.

Además, mi experiencia en otro orden superior de tipos dinámicos idiomas (JavaScript y Ruby, sí, JavaScript es un lenguaje más poderoso que PHP en términos de las características del lenguaje) me dejó un conocimiento con muchas formas de resolver los tipos de problemas con facilidad, pero está restringido de tal manera que no tenía manera de utilizar estas poderosas características. Perl satisface esta necesidad.

¿Por qué no Perl y Ruby? He jugado con Ruby un poco, pero mi experiencia me enseñó el apoyo y la documentación es escasa, el lenguaje es lento e inmaduro. Agradable que puede ser, pero su todavía en disminución en la capacidad de Perl en contra de lo que he visto. y que compartía los PHP gran defecto que tiene una enorme base de usuarios compuesta por el total de los novatos que hacen todas las cosas por el camino equivocado, y tenía muchas ganas de no tener que lidiar con ese tanto.

No es agradable ser elitista, pero una vez que han tratado de explicar lo mismo a 30 personas (y tomado una hora para conseguir un concepto simple en la cabeza cada vez) que llega a un punto de frustración. (No puedo hacer frente a la 'hay alguien en Internet que está mal' situación, si no puedo VER es, que no suceda)

empecé a hacer Perl durante mi tercer año en la informática como parte del curso 'Los lenguajes de script. Tengo un amigo que estudia la biotecnología y la ayudaba con algunos scripts de minería de datos para hacer frente a las bases de datos de proteínas (analizar archivos de texto, las expresiones regulares, simples comprobaciones de integridad). Todo fue muy natural hacerlo en Perl.

Entonces tuve mi primer trabajo a tiempo parcial y tuvo que usar de manera profesional. Yo era responsable del desarrollo conjunto de secuencias de comandos por lotes que manejan una parte de la lógica de negocio en la empresa. Y era la tarea en Perl reveló todo su potencial. La necesidad de obtener datos de DB? - no hay problema, sólo tiene que ir a CPAN. Necesidad de automatizar wiki - no hay problema, vaya al CPAN. La cantidad de módulos ya creados es abrumadora y se puede estar seguro de que siempre encontrará lo que necesita en CPAN.

Para resumir. Para mí, Perl es una navaja suiza de los lenguajes de script. Todo se puede hacer en él, y tiene gran número de módulos adicionales, incluso para tareas muy exóticos. Y, por cierto, no he mencionado las expresiones regulares?

Todavía no estoy tan largo tiempo en la comunidad Perl y lo que me trajo por primera vez en la era del humor y la sabiduría de Larry Wall. Es cierto, Perl tiene peculiaridades pero con el lenguaje proviene de una comprensión de las cosas que está muy cerca de la mía, así que soy mucho menos cómodo con Python y en menor grado Ruby.

No hago más interfaz gráfica de usuario de aplicación web con WxPerl y funciona muy bien. Estoy muy interesado en lenguas también en menor medida conocida como factor de pata, rebol y así sucesivamente, pero en general es Perl mi elección. y es porque una mezcla de sintaxis potente (puede ser muy funcional si te gusta), la comunidad, CPAN, por supuesto, y, como he dicho antes, debido a la sensación acogedora de estar en el lugar correcto.

Perl es su comunidad, que es la razón para usarlo tanto en el ámbito social y práctica. (Ver CPAN y Perlmonks, lo que probablemente inspiró SO.)

Hay mucha libertad al codificar en Perl; puede escribir algunos hacks ilegibles malvados-loco, pero no toma mucho tiempo una vez que se ha conseguido una idea de la lengua (y aprendido a utilizar :-) perltidy) antes de darse cuenta de que el código Perl bien escrito puede mirar francamente bonita.

Es interesante; Terminé como a tiempo completo Perl programador después de saber que por mi trabajo de tipo administrador de sistemas en la universidad; y ahora es mi fuerte habilidad. Voy a seguir con Perl por un tiempo ya que hasta ahora el idioma ha sido versátil para crecer conmigo. Escribo un montón de software de sistemas en Perl, y decidí recoger la programación web por diversión, y el catalizador estaba allí esperando por mí. ¿Quiero probar un nuevo paradigma de lenguaje? Perl, probablemente, va a apoyar. Por el contrario, cuando estaba de codificación en PHP de un tiempo, inmediatamente me sentí como si estuviera presionando contra un techo de cristal.

Yo trabajo como un solucionador de problemas tecnológicos para una gran organización en el sur de Ohio. Tenía que aprender Perl para mantener algunos sistemas de manipulación de texto de red automatizado en funcionamiento y, finalmente, se puso un poco emocionada por ello. Finalmente he pensado en mí como un desarrollador y escribí algunos programas que parsean algunos datos de bases de datos y hacían vida de algunas personas un poco más fácil. Pero después de leer algunas de las críticas en este sitio web y escuchar el podcast stackoverflow e incluso comenzar a leer el Código Libro completo de alguien que está sugerido lista de lectura ya no tengo ningún delirios que yo era un desarrollador de Perl o cualquier otro idioma para el caso . Sin embargo, tal vez algún día yo pudiera ser.

Había utilizado awk unos tiempo de manera scripts de shell, allá por los días. En un proyecto antiguo que necesitamos para implementar la conexión de protocolo TELNET, así que escribimos una versión rápida en Perl 4. funcionó muy bien, y yo empezamos a gusta mucho el idioma.

Más tarde, escribí una gran aplicación web comercial completa en Perl 5, completa con su propio marco y base de datos. Tuve cuidado de no usar muchas de las funciones más esotéricos de Perl, por lo que el código se parecía más a C que en Perl. Funcionó muy bien, el rendimiento era bueno y el código se extendió fácilmente.

Recientemente he estado trabajando en Java, pero a menudo me encuentro escribiendo falta suelta del Perl, y su capacidad para encapsular las cosas mucho mejor que Java. Mis características favoritas estaban siendo capaces de poner estructuras de datos de Perl (arrays y hashes) y el código directamente en los ficheros de configuración y ejecutarlos, y la capacidad de vincular el código a la sintaxis como matrices. Ambos conducen a un código muy resbaladiza.

Paul.

sintaxis simple, potentes capacidades de scripting para Win32 y sistemas UNIX, y totalmente poderosa expresión regular!

Me recogida Perl en mi primer trabajo en el que tenía que escribir un montón de escritura de automatización para los ingenieros eléctricos de registros de datos de minas y dar formato a Excel y, a veces lidiar con el servidor SQL también. Con Perl usualmente podía conseguir algo de trabajo con bastante rapidez, por lo que todo está bien en la tierra de fabricación. : P

Empecé a usar Perl como una mejora de nuestro proceso de construcción para el desarrollo integrado. Necesitábamos desarrollar diversas salidas en base a nuestra carga útil compilado cruz y Perl fue un gran ajuste.

Nuestros mejoras incluidas en coma flotante a la conversión hexadecimal, S-registro de post-procesamiento, y las modificaciones de suma de comprobación.

No es que este tipo de trabajo no se puede hacer con muchas otras herramientas, pero sin duda lo recomiendo Perl para el trabajo relacionado con la acumulación.

Lo que me llevó a Perl fue cuando vi la DBI y se dio cuenta que podría escribir los programas ESQL / C que estaba escrito en el momento de una quinta parte del tiempo.

Lo que me ha mantenido usando Perl es que las otras dos lenguas que podrían desbancar que son tanto de tipo firme. Es decir

print "10" + 5;

es un error de tipo en lugar de 15.

soy no tomarlo para arriba. Tenía que trabajar en un proyecto en Perl hace unos años, y me encontré que no les gusta realmente el idioma. Tiene una sintaxis a veces torpe y un montón de trampas locas que he encontrado difícil trabajar con él. Honestamente, creo que Rubí ha superado Perl en muchos aspectos: es bueno en más o menos las mismas cosas, pero tiene características mucho más agradable y es más fácil de usar

.

Perl CPAN todavía tiene, sin embargo, que incluso Ruby no puede coincidir (aunque Ruby tiene una gran cantidad de librerías útiles, también).

consideré aprender Perl año pasado.

Era las únicas tecnologías que decidí activamente, no para aprender. Esto no es nada directamente contra el lenguaje mismo, que sólo parecía que iba a venir a la fiesta de 10 años demasiado tarde. Es muy útil para las tareas de secuencias de comandos shell que fue diseñado para, pero para mí personalmente prefiero idiomas con una mayor coherencia.

Perl 6 parece que es el hiato indefinido e incluso cuando llega no creo que va a hacer que el lenguaje profundamente más convincente.

Además, Larry Wall me asusta.

Para mi situación Perl no era la elección correcta y es por eso.

Perl no es tan malo como pensaba.Solía ​​usarlo en un par de scripts de clientes hace aproximadamente un año, e incluso llegó a gustarme un poco.Por otra parte, nunca más me lo he perdido desde entonces.

¿La razón?Es principalmente un lenguaje de sólo escritura.Superar una solución de 100 líneas me hizo desconfiar de mi propio código, lo que definitivamente no es un buen resultado.Con otros idiomas, esa barra es considerablemente más alta (tal vez 1000 o 10000 líneas).

No veo ninguna razón para optar por Perl en nuevos proyectos, para nuevos usuarios, en -pronto- 2009.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top