linguaggio perl

Area di discussione libera.

Moderatore: Staff

Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
moebius77
Linux 1.x
Linux 1.x
Messaggi: 149
Iscritto il: ven 2 giu 2006, 18:17

linguaggio perl

Messaggio da moebius77 »

Salve a tutti

Vorrei imparare a scrivere piccoli programmi e ho sentito parlare del perl come buon linguaggio non così difficile o impegnativo come il C ma comunque potente che presenta la funzionalità (o semplicità ) degli script di shell.
tuttavia non riesco a capire per quali scopi sia nato e quindi se va bene per me (che vorrei qualcosa tipo c o c++)
insomma spero che mi sappiate chiarire un po' le idee magari consigliandomi al meglio !

Grazie

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio da albatros »


Bart
Staff
Staff
Messaggi: 4249
Iscritto il: lun 9 ago 2004, 0:00
Località: Rimini

Messaggio da Bart »

Beh c'è una bella differenza tra Perl, C e C++. Rispettivamente il primo è interpretato, il secondo compilato e il terzo ad oggetti. Qui trovi un po' di informazioni:
http://it.wikipedia.org/wiki/Perl
http://it.wikipedia.org/wiki/C_(linguaggio)
http://it.wikipedia.org/wiki/C%2B%2B

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: linguaggio perl

Messaggio da Mario Vanoni »

moebius77 ha scritto:Salve a tutti

Vorrei imparare a scrivere piccoli programmi e ho sentito parlare del perl come buon linguaggio non così difficile o impegnativo come il C ma comunque potente che presenta la funzionalità (o semplicità ) degli script di shell.
tuttavia non riesco a capire per quali scopi sia nato e quindi se va bene per me (che vorrei qualcosa tipo c o c++)
insomma spero che mi sappiate chiarire un po' le idee magari consigliandomi al meglio !

Grazie
IMHO se cominci da zero, dimentica perl, pyton, ruby ecc.
Usa sh (Bourne shell) ma non la bash.
E` semplice, puoi fare tanto. Con le macchine di oggi, no time problem.
Poi mancheranno cose, le fanno le UNIX utilities come awk, bc, expr, ecc.
Ognuna ha una man page, fa _un_ lavoro e lo fa bene.
Cosi` impari a programmare passo per passo.
Programmare poi uno shell script in C e` abbastanza facile,
le regole/sintassi sono nate dalle stesse menti UNIX, quindi simili.

I linguaggi interpretati (perl & c.) vogliono fare _tutto_, e complicano la vita.

Mario Vanoni

Avatar utente
cymon
Linux 2.x
Linux 2.x
Messaggi: 430
Iscritto il: ven 5 gen 2007, 1:40
Slackware: 13.1
Kernel: 2.6.33.4-smp
Desktop: Fluxbox
Località: Milano
Contatta:

Re: linguaggio perl

Messaggio da cymon »

moebius77 ha scritto:Salve a tutti

Vorrei imparare a scrivere piccoli programmi e ho sentito parlare del perl come buon linguaggio non così difficile o impegnativo come il C ma comunque potente che presenta la funzionalità (o semplicità ) degli script di shell.
tuttavia non riesco a capire per quali scopi sia nato e quindi se va bene per me (che vorrei qualcosa tipo c o c++)
insomma spero che mi sappiate chiarire un po' le idee magari consigliandomi al meglio !

Grazie
Il perl è attualmente il mio linguaggio preferito e non posso certo dissuaderti, al massimo non so se sia una buona idea per una persona che vuole cominciare. Come insegnamento di programmazione base, qualsiasi linguaggio è buono visto che comunque bisogna entrare nella logica dei loop, degli if e di quelle strutture lì. Per cominciare a utilizzare le peculiarità proprie di ogni linguaggio bisogna comunque raggiungere lo step dopo.
Forse la cosa migliore è sempre e comunque partire col C (liscio), visto che in tal senso di aiuti a ogni livello è pieno il mondo. Una volta focalizzato su cos'è la programmazione potrai decidere cosa ti piace e cosa no.
E naturalmente passare a perl 8)

Avatar utente
boh
Linux 4.x
Linux 4.x
Messaggi: 1027
Iscritto il: ven 16 set 2005, 0:00
Slackware: 14.2 (x64)
Kernel: 4.4.111
Desktop: KDE 4.14.32
Località: Milano

Messaggio da boh »

Avevo aperto un topic simile, forse puoi trovare qualche informazione che ti interessa:

viewtopic.php?t=20673&highlight=
"Be yourself. Everyone else is already taken." ~ Oscar Wilde

Avatar utente
phobos3576
Staff
Staff
Messaggi: 2980
Iscritto il: dom 17 apr 2005, 0:00
Slackware: 13.1
Kernel: 2.6.37-smp
Desktop: KDE 4.5.3

Messaggio da phobos3576 »

Per farti un'idea del Perl senza andarti a leggere giganteschi libroni, ti consiglio di scaricare questa celebre guida in PDF:

http://www.ebb.org/PickingUpPerl/

Si tratta di una sessantina di pagine semplici semplici che ti permettono di capire se il Perl può fare al caso tuo o meno.

Io lo uso per creare gli script CGI da eseguire sui server e ti assicuro che per quel tipo di utilizzo è veramente micidiale; inoltre, la sintassi è, in parte, simile a quella del C.

P.S. Il C non è impegnativo; è un linguaggio adatto alle menti perverse e, infatti, io mi ci sono trovato benissimo :badgrin:

Io non riesco a divertirmi se non vedo cose del tipo:

Codice: Seleziona tutto

(*++argv)[0]
oppure:

Codice: Seleziona tutto

if ((*comp)(v[i], v[left]) < 0)

Avatar utente
ccts2002
Linux 1.x
Linux 1.x
Messaggi: 155
Iscritto il: gio 9 nov 2006, 23:20
Località: milano - trieste - catania
Contatta:

Messaggio da ccts2002 »

ciao a tutti!!!
forse sono un pò fuori topic, comunque vi volevo chiedere se qualcuno sa in che cosa è meglio usare il perl rispetto il php, nel manipolare, creare o gestire in generale siti web. io conosco il php e mi chiedevo se era il caso di conoscere anche il perl...

grazie delle risposte!!!

ciaoooo

Avatar utente
cymon
Linux 2.x
Linux 2.x
Messaggi: 430
Iscritto il: ven 5 gen 2007, 1:40
Slackware: 13.1
Kernel: 2.6.33.4-smp
Desktop: Fluxbox
Località: Milano
Contatta:

Messaggio da cymon »

ccts2002 ha scritto:ciao a tutti!!!
forse sono un pò fuori topic, comunque vi volevo chiedere se qualcuno sa in che cosa è meglio usare il perl rispetto il php, nel manipolare, creare o gestire in generale siti web. io conosco il php e mi chiedevo se era il caso di conoscere anche il perl...

grazie delle risposte!!!

ciaoooo
Ma, l'"anche" mi lascia sempre un po' perplesso.
Personalmente credo che, trovato un linguaggio che piace e imparatolo bene, sia piuttosto sterile imparare linguaggi che facciano sostanzialmente le stesse cose.
Intendiamoci, perl, php, ruby... sono linguaggi potenti e utili solo se li si sa VERAMENTE usare, se si ha solo una conoscenza superficiale di loro sono tutti uguali. Per cui penso sia sempre e comunque meglio, ad esempio nel tuo caso, imparare A FONDO php, piuttosto che imparare ANCHE perl.

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Messaggio da aschenaz »

cymon ha scritto:
ccts2002 ha scritto:ciao a tutti!!!
forse sono un pò fuori topic, comunque vi volevo chiedere se qualcuno sa in che cosa è meglio usare il perl rispetto il php, nel manipolare, creare o gestire in generale siti web. io conosco il php e mi chiedevo se era il caso di conoscere anche il perl...

grazie delle risposte!!!

ciaoooo
Ma, l'"anche" mi lascia sempre un po' perplesso.
Personalmente credo che, trovato un linguaggio che piace e imparatolo bene, sia piuttosto sterile imparare linguaggi che facciano sostanzialmente le stesse cose.
Intendiamoci, perl, php, ruby... sono linguaggi potenti e utili solo se li si sa VERAMENTE usare, se si ha solo una conoscenza superficiale di loro sono tutti uguali. Per cui penso sia sempre e comunque meglio, ad esempio nel tuo caso, imparare A FONDO php, piuttosto che imparare ANCHE perl.
Premesso che il Perl, di fatto, non lo conosco, sono d'accordo, in linea di principio, con cymon.

Se conosci bene il php, penso tu possa fare a meno del perl. Non sono molto sicuro del contrario, ma (ripeto), il perl lo conosco veramente poco...

Avatar utente
ZeD
Linux 1.x
Linux 1.x
Messaggi: 112
Iscritto il: ven 28 ott 2005, 12:30
Slackware: 12.1
Località: Terra

Messaggio da ZeD »

Bart ha scritto:Beh c'è una bella differenza tra Perl, C e C++. Rispettivamente il primo è interpretato, il secondo compilato e il terzo ad oggetti.
Perdonami, ma queste definizioni, oltre che "concettualmente errate", sono molto restrittive, per tutti e tre i linguaggi...

prima di tutto, interpretato/compilato/compilato just in time + virtual machine NON sono, e non possono essere, aggettivi di "linguaggio" ^^;

nel senso che il linguaggio C (per dirne uno) è solo un pezzo di carta dove c'e' scritto che le parole chiave sono queste e queste, la sintassi è questa e questa, la funzione principale è "main", i tipi di dati sono questi, ecc ecc...

Per un linguaggio di programmazione, è possibile implementare un interprete, un compilatore, e qualunque cosa ci sia in mezzo.
Ad esempio, GCC è (tra le altre cose) l'implementazione di un compilatore per il linguaggio C, ma ciò non vuol dire che C sia compilato: ad esempio esiste ch che è l'implementazione di un interprete del linguaggio C. Al massimo si può dire che l'implementazione più usata, per un linguaggio, è quella di un interprete o di un compilatore, ma questo è tutto un altro paio di maniche.

Al contraio, invece, è ammissibile l'aggettivo "ad oggetti" per un linguaggio, tuttavia non me la sentirei di limitare il C++ semplicemente come se fosse SOLO ad oggetti (penso a smalltalk, o, turandomi il naso, a java); C++ (come perl, d'altronde, ma non si capiva dalla tua risposta) è multiparadigmatico, in quanto è possibile sviluppare software sia con il paradigma della programmazione "orientata agli oggetti", che in modo "procedurale". Inoltre in C++ è possibile fare porcate assurde con i template, che, a loro modo, possono essere visti come un linguaggio (funzionale) nel linguaggio.

Perdonami se sono pedante su queste cose, ma mi sembra ingiusto liquidare ed etichettare un linguaggio in due parole come se fosse finito tutto lì

Bart
Staff
Staff
Messaggi: 4249
Iscritto il: lun 9 ago 2004, 0:00
Località: Rimini

Messaggio da Bart »

ZeD ha scritto:
Bart ha scritto:Beh c'è una bella differenza tra Perl, C e C++. Rispettivamente il primo è interpretato, il secondo compilato e il terzo ad oggetti.
Perdonami, ma queste definizioni, oltre che "concettualmente errate", sono molto restrittive, per tutti e tre i linguaggi...

prima di tutto, interpretato/compilato/compilato just in time + virtual machine NON sono, e non possono essere, aggettivi di "linguaggio" ^^;

nel senso che il linguaggio C (per dirne uno) è solo un pezzo di carta dove c'e' scritto che le parole chiave sono queste e queste, la sintassi è questa e questa, la funzione principale è "main", i tipi di dati sono questi, ecc ecc...

Per un linguaggio di programmazione, è possibile implementare un interprete, un compilatore, e qualunque cosa ci sia in mezzo.
Ad esempio, GCC è (tra le altre cose) l'implementazione di un compilatore per il linguaggio C, ma ciò non vuol dire che C sia compilato: ad esempio esiste ch che è l'implementazione di un interprete del linguaggio C. Al massimo si può dire che l'implementazione più usata, per un linguaggio, è quella di un interprete o di un compilatore, ma questo è tutto un altro paio di maniche.

Al contraio, invece, è ammissibile l'aggettivo "ad oggetti" per un linguaggio, tuttavia non me la sentirei di limitare il C++ semplicemente come se fosse SOLO ad oggetti (penso a smalltalk, o, turandomi il naso, a java); C++ (come perl, d'altronde, ma non si capiva dalla tua risposta) è multiparadigmatico, in quanto è possibile sviluppare software sia con il paradigma della programmazione "orientata agli oggetti", che in modo "procedurale". Inoltre in C++ è possibile fare porcate assurde con i template, che, a loro modo, possono essere visti come un linguaggio (funzionale) nel linguaggio.

Perdonami se sono pedante su queste cose, ma mi sembra ingiusto liquidare ed etichettare un linguaggio in due parole come se fosse finito tutto lì
Beh certo che sono restrittivi, sono solo 3 aggettivi per descrivere un intero linguaggio. Non sono invece concettualmente errati. Usare il C++ in modo procedurale è IMHO concettualmente errato.I link spiegano il resto nel dettaglio. ;)
Qui nessuno ha liquidato nulla, esistono 3 link riportati che spiegano tutto. Ad avere tempo ci si poteva scrivere un tema ma purtroppo il moderatore non lo faccio a tempo pieno. :roll:

bit123
Linux 2.x
Linux 2.x
Messaggi: 350
Iscritto il: dom 27 nov 2005, 16:26
Località: Catania
Contatta:

Messaggio da bit123 »

Tutti quelli che si avvicinano per la prima volta allo studio di un linguaggio di programmazione sono assaliti dal dubbio amletico: compilato o interpretato, ad oggetti o procedurale? Daltronte, anche io in passato ho avuto gli stessi problemi, ma grazie alle sedute di analisi con uno psicologo programmatore sono riuscito ad uscire dal tunnel :-) Qualsiasi linguaggio studiate, non è una perdita di tempo; ad esempio, il Python che noi conosciamo è il CPython, perchè l'interprete è scritto in c, quindi fa uso di molti moduli della libreria standard c; ciò vuol dire che una conoscenza di base del c ti aiuta a capire come funziona il Python. Poi ogni linguaggio, soprattutto quelli dell'ultima generazione, ha i suoi punti di forza in certi campi di applicazione. Secondo il mio modesto parere, un novizio non dovrebbe mai iniziare con il c o c++ perchè il rischio di perdersi è troppo alto. Piuttosto conviene iniziare col Python o il Perl, perchè ti permettono di sperimentare da subito una sintassi semplice e pulita che puoi imparare in una settimana o meno. Saluti!

Avatar utente
cymon
Linux 2.x
Linux 2.x
Messaggi: 430
Iscritto il: ven 5 gen 2007, 1:40
Slackware: 13.1
Kernel: 2.6.33.4-smp
Desktop: Fluxbox
Località: Milano
Contatta:

Messaggio da cymon »

bit123 ha scritto:Tutti quelli che si avvicinano per la prima volta allo studio di un linguaggio di programmazione sono assaliti dal dubbio amletico: compilato o interpretato, ad oggetti o procedurale?
Per quello che riguarda la dicotomia compilato/interpretato credo che ormai la scelta non si adeterminante, visto che i linguaggi interpretati più famosi hanno l'interprete implementato nella maggior parte dei sistemi operativi (soprattutto guardando al mondo Linux/Unix) e hanno raggiunto una notevole efficienza.
Sul discorso oggetti/procedurale la cosa è più delicata. Secondo me ormai l'OO è una moda per cui tutto si deve fare OO se no non è stylish. Sicuramente ormai la maggior parte dei linguaggi sono OO, in modo stretto (Java) o un po' più lasco (perl, C++). A mio parere avere un linguaggio che si possa trattare anche come procedurale è molto comodo, perchè a volte devi scrivere dieci righe di codice per fare una cosa e se hai qualcosa tipo Java devi aggiungergliene altre venti solo per impostare la struttura, comunque dedicarsi ad oggi a un linguaggio solo procedurale è infilarsi in un vicolo cieco.
bit123 ha scritto:il c o c++ perchè il rischio di perdersi è troppo alto. Piuttosto conviene iniziare col Python o il Perl, perchè ti permettono di sperimentare da subito una sintassi semplice e pulita che puoi imparare in una settimana o meno. Saluti!
Bhe, il problema è che perl ha una sintassi semplice e undici sintassi complesse. Se vai a a recuperare in giro codice perl puoi vedere una riga in cui sono contenuti diciotto comandi tutti assieme e ci vuole veramente una signora capacità per accorgersene. Il C, più ancora del C++, oltre ad essere comunque una base imprescindibile del mondo della programmazione, è più facile da trovare pulito e comunque avere a che fare con certe cose che ad oggi possono risultare "barocche" come l'allocazione della memoria e altre questioni di questo tipo è un modo sano di avvicinarsi alla programmazione, piuttosto di lasciare tutto fare a certi linguaggi vedendo le cose andare bene come per magia.

Avatar utente
ZeD
Linux 1.x
Linux 1.x
Messaggi: 112
Iscritto il: ven 28 ott 2005, 12:30
Slackware: 12.1
Località: Terra

Messaggio da ZeD »

bit123 ha scritto:ad oggetti o procedurale?
LOGICA E FUNZIONALE :D

Seriamente, se uno è niubbo, e di programmazione NON ne sa niente, io gli consiglierei da una parte il prolog e dall'altra l'haskell. I difetti maggiori di questi linguaggi è che, in genere, vengono studiati da programmatori che già hanno la testa "rovinata" dal C/C++/Java e dallo stile imperativo/OO.

Rispondi