Newsgroup: it.comp.lang.perl
Titolo: Perl o C??

Ciao a tutti,
mi chiamo Vincenzo,
vedo che  ng è pieno di esperti o appassionati dell'argomento e vorrei
proporvi qualche domande sul Perl o sul C.
Quali sono gli aspetti migliori del linguaggio C?quali quelli del Perl?
A chi si rivolge il C e a chi il Perl?
Alcuni buoni motivi per segliere uno o l'altro.
Vi ringrazio per vostre eventuali risposte.
V

 A chi si rivolge il C e a chi il Perl?
Ciao, ti consiglio un salto sull'ottimo sito 
http://pod2it.sf.net
 per
soddisfare in gran parte la sete di conoscenza riguardante il perl...
Per la tua domanda specifica ti consiglio la pagina:
http://pod2it.sourceforge.net/pods/perlfaq1.html
e cliccare la voce:
* Posso fare [questo lavoro] in Perl?
* Quando non dovrei programmare in Perl?
* Come posso convincere il mio amministratore di
sistema/supervisore/dipendenti ad usare la versione 5/5.6.1/Perl al posto
di qualche altro linguaggio?
Ciao,
    nathanvi
-- 
Per risposte private: 
vitto....@SPAMMAREtiscali.it
sito: 
http://nathanvi.it
FAQ OpenOffice: 
http://openoffice.nathanvi.it
Centro Studi Raffaello:
http://centrostudiraffaello.it/sito/
Inviato da 
www.mynewsgate.net

 V
Andrea

 complesse, forse il Perl non è il linguaggio adatto.
Questo mio reply non vuole essere una provocazione, chiedo solo per
capire! :-)
Faresti un qualche esempio di "struttura dati complessa" per la quale
sia meglio usare il C piuttosto che il Perl?
Sinceramente mi sono spesso trovato a gestire strutture complesse (sia
dal punto di vista della complessità di ogni "blocco" di dati sia dal
punto di vista della "grandezza" della sorgente dati), e devo dire che
con il Perl non ho mai avuto problemi nè a livello di "scomposizione"
logica delle strutture, nè di parsing nè di altro tipo!
Aggiungo che conosco il C molto ma molto poco, è per questo che nasce la
mia domanda!
Spero di non essere OT nè di essere considerato polemico o "partigiano"!
:-)
Ciao!
-- 
Questa frase è falsa.

 Ciao!
Ciao,
Andrea

 puntatori ed altre cose indispensabili per questo genere di gestione.
Certo che Perl ha i puntatori (o perlomeno qualcosa di sostanzialmente 
analogo): i reference (hard).
Considerando poi che Perl ha gli hash, che sono molto più semplici, 
potenti e flessibili delle struct del C, e che 
l'allocazione/deallocazione della memoria è gestita automaticamente, 
(mentre in C lo devi fare manualmente ed è la fonte principale di bug e 
vulnerabilità associate), direi che è *molto* più semplice gestire 
strutture di dati complesse in Perl piuttosto che in C(*).
Un esempio di implementazione di alberi binari mediante Perl "liscio", 
come dici tu, lo puoi trovare in PLEAC Perl:
http://pleac.sourceforge.net/pleac_perl.html
Esempi più estesi e complessi (liste collegate, heap, alberi n-ari e 
grafi) li trovi in "Mastering Algorithms with Perl," di cui qui puoi 
vedere il sommario:
http://www.oreilly.com/catalog/maperl/toc.html
Altrimenti usi le innumerevoli estensioni reperibili su CPAN (avere CPAN 
è un *merito* di Perl, non una colpa ;-)
(*)
L'unico caso che richiede qualche attenzione particolare è quello delle 
strutture circolari, nelle quali è necessario "indebolire" i reference 
per evitare i memory leak dovuti al mancato raggiungimento del valore 
zero del reference count, ma è un caso particolare e non è comunque 
difficile da gestire (mediante weaken(), che è una funzione standard 
dalla ver. 5.8.1)
Ciao,
Emanuele.

 è un *merito* di Perl, non una colpa ;-)
Io direi che il Perl ha ovviamente dei meriti (e dei punti deboli), ma CPAN 
è il miglior merito in assoluto del Perl :-)

 puntatori ed altre cose indispensabili per questo genere di gestione.
Non mi e` chiaro questo esempio. Emanuele ha gia` chiarito che
al Perl non mancano gli strumenti linguistici per manipolare 
strutture dati arbitrariamente complesse, tuttavia non mi e` 
chiaro a cosa stessi pensando tu parlando di I-node.
ciao,
S.
-- 
Stefano Rodighiero      |  
http://larsen.perlmonk.org
mailto:
lar...@perl.it
   |  
http://www.perl.it

 S.
Andrea