Perl, Ruby, Python.
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
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.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
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.
- boh
- 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
Perl, Ruby, Python.
Oltre alla potentissima shell, vedo spesso questi tre linguaggi che ho citato nel titolo; volevo sapere come vostra opinione, quale può essere classficato come il più potente?
O semplicemente il più utile?
O sarebbe buona cosa conoscerli tutti e tre?
O semplicemente il più utile?
O sarebbe buona cosa conoscerli tutti e tre?
"Be yourself. Everyone else is already taken." ~ Oscar Wilde
- lamarozzo
- Linux 3.x

- Messaggi: 732
- Iscritto il: gio 14 lug 2005, 0:00
- Desktop: xfce
- Distribuzione: archlinux
- Località: Roma
Ciao,
premetto che dei tre linguaggi mastico un po' solo il Python.
Python è un linguaggio interpretato di tipo dinamico che sta avendo molto successo per diverse ragioni
* semplice da apprendere
* dispone di numerosissime librerie
* si integra bene con il C da cui eredita moltissimi moduli
* molto ben documentato
e si potrebbe andare avanti a lungo.
Il Perl è un po' come la Slackware dei linguaggi di scripting. Decisamente geek, molto potente ma anche più difficile di Python. Inoltre ultimamente, IMO, sta perdendo terreno. Le stesse cose possono essere fatte in milioni di modi e per un newbie è molto disorienteante. Uno dei punti di forza di Perl sono le espressioni regolari, che in Python sono imbarazzantemente astruse.
In compenso in Python costruisci un'interfaccia grafica in dieci righe, fai tu!
Ruby è il più giovane dei tre linguaggi e si sta affermando grazie all'eccellente (a quanto si dice) framework web, da cui Ruby on Rails. Dovrebbe avere molti punti in comune con Python, soprattutto la semplicità. Sicuramente è un'ottima scelta, anche se non è un linguaggio maturo e completo come Python.
Non si possono stilare classifiche, il linguaggio vincente è quello che uno
riesce a padroneggiare meglio. Non serve sapere tutti e tre i linguaggi, a meno che la cosa non ti appassioni ovviamente.
premetto che dei tre linguaggi mastico un po' solo il Python.
Python è un linguaggio interpretato di tipo dinamico che sta avendo molto successo per diverse ragioni
* semplice da apprendere
* dispone di numerosissime librerie
* si integra bene con il C da cui eredita moltissimi moduli
* molto ben documentato
e si potrebbe andare avanti a lungo.
Il Perl è un po' come la Slackware dei linguaggi di scripting. Decisamente geek, molto potente ma anche più difficile di Python. Inoltre ultimamente, IMO, sta perdendo terreno. Le stesse cose possono essere fatte in milioni di modi e per un newbie è molto disorienteante. Uno dei punti di forza di Perl sono le espressioni regolari, che in Python sono imbarazzantemente astruse.
In compenso in Python costruisci un'interfaccia grafica in dieci righe, fai tu!
Ruby è il più giovane dei tre linguaggi e si sta affermando grazie all'eccellente (a quanto si dice) framework web, da cui Ruby on Rails. Dovrebbe avere molti punti in comune con Python, soprattutto la semplicità. Sicuramente è un'ottima scelta, anche se non è un linguaggio maturo e completo come Python.
Non si possono stilare classifiche, il linguaggio vincente è quello che uno
riesce a padroneggiare meglio. Non serve sapere tutti e tre i linguaggi, a meno che la cosa non ti appassioni ovviamente.
Più potente? Perl
Più utile? Perl
Più obsoleto? Python
Più innovativo? Ruby
Più divertente? Ruby
Più 'Ancor più divertente' ma per il web 3.0? Ruby on Rails
pps: mi sono permesso di dare dell'obsoleto a python solo perchè amarok ha iniziato la conversione da un bel po', non per altro. Perl è senz'altro molto più vecchio e si utilizza ancora. Certo solo per fare determinate cose, però si utilizza.
Più utile? Perl
Più obsoleto? Python
Più innovativo? Ruby
Più divertente? Ruby
Più 'Ancor più divertente' ma per il web 3.0? Ruby on Rails
pps: mi sono permesso di dare dell'obsoleto a python solo perchè amarok ha iniziato la conversione da un bel po', non per altro. Perl è senz'altro molto più vecchio e si utilizza ancora. Certo solo per fare determinate cose, però si utilizza.
- cymon
- 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:
dapuzz ha scritto:Più potente? Perl
Più utile? Perl
Perl è senz'altro molto più vecchio e si utilizza ancora. Certo solo per fare determinate cose, però si utilizza.
Perl è un linguaggio bastardo. Sii un programmatore disortinato e Perl ti punirà, sii un programmatore che non conosce gli strumenti che sta usando e Perl ti punirà.
Ma, se al contrario, sei pronto a farti da solo tutte le cose organizzative e razionali che Perl da solo non imponte, allora ti accorgi di trovarti di fronte a un linguaggio onnipotente, di una grandissima maturità e scalabile per qualsiasi situazione.
AH, finissi il mio progetto di un motore MUD completamente in perl...
E poi, si dica quello che si dica, Wall owna la gran parte dei padri di linguaggi di programmazione di questo mondo ed è il più simpatico.
Ti consiglio perl SOLO in due casi
1) sei un programmatore disciplinatissimo e non hai la minima intenzione di usare gli INNUMEREVOLI trucchi che il linguaggio ti mette a disposizione
2) hai intenzione di scrivere solo one-liner ^^;
perl soffre della sindrome di linguaggio "write only", nel senso che se poi leggi un sorgente perl dopo un po' di tempo che lo hai scritto, o, peggio, scritto da qualcunaltro, non ci capirai una mazza.
ruby nasce come un incrocio tra perl (l'autore di ruby e' un fan sfegatato di Larry Wall) e java, nel senso che comunque mantiene alcuni costrutti, o almeno intenzioni, di quest'ultimo (ferraginoso e brutto da vedersi, IMHO) linguaggio.
L'interprete e' un po' lento (a memoria, ricordavo che, in media, un algoritmo sviluppato in ruby era lento il doppio di un equivalente algoritmo scritto in python, e circa 3/4 volte del perl (soprattutto quando si parla di string crunching)
Il suo successo è legato a doppio filo da RubyOnRails, framework per lo sviluppo web.
Chiariamo, ne ha anche altri, e anche gli altri due ne hanno, ma RoR è diventato "mainstream", diciamo cosi'.
Python è il mio preferito
La sua sintassi è minimalissima e coerente al massimo.
L'idea dell'autore era di generare un linguaggio il piu' simile possibile agli pseudocodici a volte utilizzati per spiegare "l'idea che sta dietro all'algoritmo".
I suoi punti caratteristici sono che è un linguaggio multiparadigmatico, tipizzato dinamicamente (il compilatore capisce da solo che una variabile è un intero o una stringa dal suo valore, non serve dirglielo), in cui tutto e un oggetto, e le funzioni sono "first class citizen" (e' possibile passare le funzioni al volo da una parte all'altra, o assegnarle a variabili o cose cosi').
Ha una marea di librerie, per tutti gli usi, ed è usato veramente un po' per tutto... da calcoli matriciali (con interfacciamento a librerie scritte in c o in fortran) a grafica 3d, a GUI (pyQt, pyGTK, pyQUELCHEVUOI
), a framework web (da Django a Twisted, un cosone enorme che da solo ti fa pure il caffè)
Se NON hai precedenti di programmazione (C? java? lisp?!?) IMHO ti troverai benissimo... se sei un programmatore java ci potranno essere due reazioni (almeno, queste ho visto, tra i tanti che ho convinto a passare a python)
1) Ti sembra di respirare
2) Ti senti privo di appoggi
nel senso che e' come se fino a quel momenti fossi vissuto in un cubicolo e solo ora ti si aprisse un mondo davanti
insomma, io la mia parte di "vota antonio" l'ho fatta
1) sei un programmatore disciplinatissimo e non hai la minima intenzione di usare gli INNUMEREVOLI trucchi che il linguaggio ti mette a disposizione
2) hai intenzione di scrivere solo one-liner ^^;
perl soffre della sindrome di linguaggio "write only", nel senso che se poi leggi un sorgente perl dopo un po' di tempo che lo hai scritto, o, peggio, scritto da qualcunaltro, non ci capirai una mazza.
ruby nasce come un incrocio tra perl (l'autore di ruby e' un fan sfegatato di Larry Wall) e java, nel senso che comunque mantiene alcuni costrutti, o almeno intenzioni, di quest'ultimo (ferraginoso e brutto da vedersi, IMHO) linguaggio.
L'interprete e' un po' lento (a memoria, ricordavo che, in media, un algoritmo sviluppato in ruby era lento il doppio di un equivalente algoritmo scritto in python, e circa 3/4 volte del perl (soprattutto quando si parla di string crunching)
Il suo successo è legato a doppio filo da RubyOnRails, framework per lo sviluppo web.
Chiariamo, ne ha anche altri, e anche gli altri due ne hanno, ma RoR è diventato "mainstream", diciamo cosi'.
Python è il mio preferito
La sua sintassi è minimalissima e coerente al massimo.
L'idea dell'autore era di generare un linguaggio il piu' simile possibile agli pseudocodici a volte utilizzati per spiegare "l'idea che sta dietro all'algoritmo".
I suoi punti caratteristici sono che è un linguaggio multiparadigmatico, tipizzato dinamicamente (il compilatore capisce da solo che una variabile è un intero o una stringa dal suo valore, non serve dirglielo), in cui tutto e un oggetto, e le funzioni sono "first class citizen" (e' possibile passare le funzioni al volo da una parte all'altra, o assegnarle a variabili o cose cosi').
Ha una marea di librerie, per tutti gli usi, ed è usato veramente un po' per tutto... da calcoli matriciali (con interfacciamento a librerie scritte in c o in fortran) a grafica 3d, a GUI (pyQt, pyGTK, pyQUELCHEVUOI
Se NON hai precedenti di programmazione (C? java? lisp?!?) IMHO ti troverai benissimo... se sei un programmatore java ci potranno essere due reazioni (almeno, queste ho visto, tra i tanti che ho convinto a passare a python)
1) Ti sembra di respirare
2) Ti senti privo di appoggi
nel senso che e' come se fino a quel momenti fossi vissuto in un cubicolo e solo ora ti si aprisse un mondo davanti
insomma, io la mia parte di "vota antonio" l'ho fatta
- cymon
- 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:
E' una pecca, ma è anche motivo di fascino, infatti trovi robette come questa:boh ha scritto:Ok, grazie!![]()
Per quanto riguarda Perl non credevo che avesse la pecca del "write only", chiamiamola così.
http://perlgolf.sourceforge.net/
E comunque tutti i linguaggi sono write-only se si scrive codice schifoso. Il problema del perl è che TIMTOWTDI di scrivere codice schifoso
-
Mario Vanoni
- 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)
Perl e compagni
Sempre linguaggi interpretati, con le macchine odierne nessun problema.
Nato nel 1941, sysadm dai tempi di AT&T UNIX SVR2,
continuo ad usare la shell (#!/bin/sh, non #!/bin/bash!) con
awk, bc, cut, expr, sed e cosi` via.
Seguo sempre la regola KISS di UNIX, keep it simple and small,
la versione Berkeley/BSD e` un po` piu` cattiva: keep it simple, stupid!
Le utilita` devono fare una cosa sola e bene!
Finche` il programma e` usato occasionalmente, oramai e` veloce,
un Intel Core2 con #GHz non e` come un WE32000/8MHz, 486DX50MHz ecc.
Se la velocita` e` importante, riscrivo il progamma in C (gcc ... -s -static ...).
Slackware 12.0, kernel 2.6.22.6, e tutto funziona perfettamente.
Mario Vanoni
Nato nel 1941, sysadm dai tempi di AT&T UNIX SVR2,
continuo ad usare la shell (#!/bin/sh, non #!/bin/bash!) con
awk, bc, cut, expr, sed e cosi` via.
Seguo sempre la regola KISS di UNIX, keep it simple and small,
la versione Berkeley/BSD e` un po` piu` cattiva: keep it simple, stupid!
Le utilita` devono fare una cosa sola e bene!
Finche` il programma e` usato occasionalmente, oramai e` veloce,
un Intel Core2 con #GHz non e` come un WE32000/8MHz, 486DX50MHz ecc.
Se la velocita` e` importante, riscrivo il progamma in C (gcc ... -s -static ...).
Slackware 12.0, kernel 2.6.22.6, e tutto funziona perfettamente.
Mario Vanoni
- DaD
- Linux 2.x

- Messaggi: 371
- Iscritto il: mer 7 feb 2007, 18:19
- Nome Cognome: Antonio Barra
- Slackware: 13
- Kernel: 3.0
- Desktop: KDE 4
- Distribuzione: Mac OS X
- Contatta:
Di questi tre linguaggi posso dire di usare solo ruby, mi trovo benissimo è un linguaggio funzionale, veloce e divertente da utilizzare, operazioni che in altri linguaggi richiederebbero ore di scervellamento in ruby si fanno con uno schiocco di dita e questo sinceramente io lo traduco in una potenza non indifferente 
RoR non lo mai toccato ma credo che alla fine proverò anche questo :P
Python è molto simile a ruby a quanto mi è sembrato di vedere (la sintassi è identica in certi punti ...), anche se devo dirla tutta non mi piace molto e non credo che lo approfondirò mai :S
Perl? Considero il suo creatore un genio (Guardate la mia firma .), però nn programmo in perl. Sempliciemente perchè lo trovo troppo disordinato per i miei gusti
:
Alla fine se vuoi iniziare con qualcosa ti consiglio ruby, anche perchè se hai un minimo di basi lo saprai utilizzare al meglio in poco più di una settiamana ;O;
RoR non lo mai toccato ma credo che alla fine proverò anche questo :P
Python è molto simile a ruby a quanto mi è sembrato di vedere (la sintassi è identica in certi punti ...), anche se devo dirla tutta non mi piace molto e non credo che lo approfondirò mai :S
Perl? Considero il suo creatore un genio (Guardate la mia firma .), però nn programmo in perl. Sempliciemente perchè lo trovo troppo disordinato per i miei gusti
Alla fine se vuoi iniziare con qualcosa ti consiglio ruby, anche perchè se hai un minimo di basi lo saprai utilizzare al meglio in poco più di una settiamana ;O;
Siamo in due a dirti che ruby è divertente... Chissà come mai ha attirato così tanta simpatia. Forse è proprio il fatto di non richiedere un vero e proprio studio, ma si riescono a vedere i risultati già dopo poco?!DaD ha scritto:Di questi tre linguaggi posso dire di usare solo ruby, mi trovo benissimo è un linguaggio funzionale, veloce e divertente da utilizzare,[---]
Alla fine se vuoi iniziare con qualcosa ti consiglio ruby, anche perchè se hai un minimo di basi lo saprai utilizzare al meglio in poco più di una settiamana
