Newsgroup: it.comp.lang
Titolo: [CONFRONTO][PERL] Linguaggi a bioinformatica

Parlando con una mia amica iscritta a un master di
bioinformatica, sono venuto a sapere che, come linguaggio
di programmazione usano PERL.
Questo č dovuto al fatto che il loro lavoro principale
consiste nell'elaborazione di stringhe e nelle espressioni
regolari.
Personalmente a PERL ho solo dato un occhio veloce,
ma vorrei capire quali vantaggi ha questo linguaggio
rispetto ad altri che non conosco, escludendo a priori
un confronto con C, C++, Java e Python.
Riguardo a quest'ultimo, in realtą mi interesserebbe
solo sapere quali vantaggi avrebbe PERL rispetto a
Python in questi campi e non il viceversa.
Mi piacerebbe inoltre sapere quali altri linguaggi
consigliereste per dei lavori che trattano essenzialmente
di elaborazione di sequenze di DNA
Grazie a tutti anticipatamente
--
Gerolamo

 di elaborazione di sequenze di DNA
A detta di tutti i "perlisti" Perl è il miglior linguaggio per
l'elaborazione di stringhe con espressioni regolari. Forse è per questo
motivo che a quel master è stato adottato.
Python credo abbia anch'egli un ottimo supporto ma (se non ricordo male,
magari dalle ultime versioni è cambiato qualcosa) non ai livelli di Perl.
ciao!
-- 
Rhymes
rhy...@NOSPAMmyself.com


Ecco.
Il python ce l'ho presente e mi sembra suffiuicientemente potente,
almeno per gli usi che mi vengono in mente.
Cosa rende il perl preferibile nell'elaborazione di stringhe con
espressioni regolari?
--
Gerolamo

 espressioni regolari?
AFAIK in Perl si usano le regexp, quindi assolutamente nulla...
Ma non conoscendo bene Perl non mi azzardo più di tanto :)
Ciao,
	Nicholas

 espressioni regolari?
Nulla, che io sappia.  Il modulo re di Python (sin dai tempi
della 1.5.2, mi pare) ha imitato molto strettamente le RE di
Perl (versioni piu` antiche di Python usavano RE piu` semplici
e meno potenti, ma parliamo di preistoria).
Alex

 e meno potenti, ma parliamo di preistoria).
Al limite si potrebbe considerare il fatto che le regexp sono molto
integrate "sintatticamente" in Perl mentre in altri linguaggi l'uso è
lievemente meno diretto (qualche carattere di escape in più, niente di
trascendentale comunque). Ma è anche vero che questa "integrazione
sintattica" è anche una delle cose che rende Perl decisamente più confuso.
See you,
		Silver Drake
 
«Ti sentivo ruttare e ho pensato che fossi già al lavoro»
(mia moglie, 20-01-2003)

<inviati & spediti>
Alex Martelli wrote:

Il modulo Python di RE usa la libreria PCRE di Philip Hazel (l'autore
di Exim MTA), che e' quasi 1:1 con il supporto regexp di Perl.
Per gli usi piů comuni Python fornisce un'interfaccia IMHO piu' corretta
ponendo le regexp come modulo e non come una feature del linguaggio stesso.
Questo rende il codice piů mantenibile. Avete mai provato a mantenere codice 
Perl?
-- 
You should be mine.

 espressioni regolari?
Velocità sui grossi volumi di dati.
La riporto come me l'hanno venduta su comp.lang.python.
Ciao,
 Emmanuele.
-- 
Emmanuele Bassi (Zefram)              [ 
http://digilander.iol.it/ebassi/
 ]
GnuPG Key fingerprint = 4DD0 C90D 4070 F071 5738  08BD 8ECC DB8F A432 0FF4

 La riporto come me l'hanno venduta su comp.lang.python.
Mi indichi il thread o il message ID?
Grazie
-- 
Gerolamo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Mi indichi il thread o il message ID?
La ricordavo male: era velocità sul text processing, dovuta
essenzialmente a due fattori
	* regular expression;
	* le stringhe, in Python, sono immutabili, quindi questo genera
	  overhead sulle operazioni di concatenazione et al.
I due thread che fanno un po' di comparazioni [prima di degenerare nelle
solite discussioni su LISP, Python e Perl] sono:
	Se80a.186428$
AA2.7...@news2.tin.it
 
c42e062e.02121...@posting.google.com
In particolare, nel secondo thread, questo articolo:
 
 
mailman.1039862659...@python.org
Punta ad un sito con dei benchmark.


...

Perl e' molto buono se vuoi scrivere uno script che usa espressioni regolari
che sta al di sotto delle 5 righe. Per tutti gli altri casi, ti conviene
usare Python ;-)
Piu' seriamente, le espressione regolari sono built-in in Perl, quindi
le piu' scrivere in maniera piu' compatta (e probabilmente, sono anche
un qualche percento piu' efficienti, Perl e' fatto apposta per loro). 
Se pero' devi scrivere un programma appena appena lunghetto, la
convenienza di Python si vede eccome (nel senso di leggibilita' del
codice e facilita' di modifica).
Ciao,
                                  Michele