Autore Topic: Python Vs. Ruby  (Letto 10403 volte)

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Python Vs. Ruby
« Risposta #15 il: 17 Aprile 2009, 15:59:28 »
Ma nessuno (dico proprio nessuno) ha mai pensato di puntare a linguaggi di un certo tipo come ad esempio C o C++?

  • Visitatore
Re: Python Vs. Ruby
« Risposta #16 il: 17 Aprile 2009, 16:39:16 »
Citazione
Una curiosità, che librerie grafiche hai usato per il tuo progetto? E con cosa hai disegnato l'interfaccia?


Utilizzo le librerie GTK (col binding pyGTK) e disegno le interfacce con Glade.

Citazione
Ma nessuno (dico proprio nessuno) ha mai pensato di puntare a linguaggi di un certo tipo come ad esempio C o C++?


A dire il vero l'anno scorso ho comprato un libro su C# (giusto per iniziare) ma ho subito abbandonato vista la complessità del linguaggio.
Python ha l'indubbio vantaggio che possiede una ventina di comandi o poco più, facili da ricordare. Il C o C++ qualche centinaia credo....

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Python Vs. Ruby
« Risposta #17 il: 17 Aprile 2009, 18:05:10 »
Bè, riguardo ai "pochi" comandi, non è del tutto vero...

Il problema reale è che per imparare a programmare bene con il C/C++ è necessario formarsi un bel pò di esperienza...
Questo, però, è valido con tutti i linguaggi, almeno per quanto riguarda la parola "bene"...
Anche Python è un linguaggio abbastanza articolato e, a parte la particolare sintassi, ha una serie di approcci molto vantaggiosi e simpatici, già di base...

Un paragone tra i due linguaggi è abbastanza difficile da fare, tenendo conto che partono da due presupposti completamente diversi tra loro: codice binario e codice interpretato.

Il concetto di simpatia per uno piuttosto che l'altro, è sempre dipendente dall'esperienza che vi si acquisisce; in seconda viene lo scopo per cui uno sceglie il linguaggio, sulla base del tipo di progetti che andrà a creare.

Io ho lavorato svariati anni con il C/C++, in particolare su applicazioni in real-time, e per cui la scelta è stata quasi obbligatoria, oltre al fatto che c'erano ben poche alternative all'epoca. Allo stesso tempo usavo il Clipper per i gestionali, perchè più veloce e facile da implementare. La simpatia è venuta dopo, con l'esperienza, e quindi mano mano con la facilità con cui riuscivo a tradurre le mie idee.
Insomma, questo per dire che la scelta dipende dallo scopo finale.

Riguardo a Python, per la parte grafica, pare vadano molto le librerie wxPython, che ti permettono anche di portare il progetto su qualsiasi sistema (unix, windox, mac, ecc...).

  • Visitatore
Re: Python Vs. Ruby
« Risposta #18 il: 17 Aprile 2009, 18:21:38 »
Citazione
Riguardo a Python, per la parte grafica, pare vadano molto le librerie wxPython, che ti permettono anche di portare il progetto su qualsiasi sistema (unix, windox, mac, ecc...).


vero, le wx sono le librerire più gettonate. Per quanto riguarda la portabilità anche le altre non sono da meno: GTK (quelle nate da Gimp) e Qt della Trolltech.

googlando si trovano tutorial (ottimi) sull'uso di queste librerie:

http://www.zetcode.com/

per le wxpython e le pygtk.
E' una questione di gusti (anche se le GTK, forse sono meno avanzate delle altre.....).

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Python Vs. Ruby
« Risposta #19 il: 17 Aprile 2009, 19:17:10 »
Citazione

Ma nessuno (dico proprio nessuno) ha mai pensato di puntare a linguaggi di un certo tipo come ad esempio C o C++?


Prima di risponderti ho dato una rapida occhiata alla mia piccola libreria informatica: lì, sullo scaffale, c'era il tomo sul C++ di Stroustrup (per chi non lo sapesse, è l'inventore del C++) che mi guardava in cagnesco... Però voglio lo stesso dire la mia: oggigiorno la tendenza è di lasciare linguaggi come il C o il C++ e di orientarsi verso quelli a più alto livello, dinamici ed interpretati come il Python, il Ruby e compagnia bella.

Questo per diversi motivi:

1) praticità nella scrittura del codice: ti basta un editor di testo e salvi i tuoi programmi. Poi, hai sì 20 comandi 20 ma ricchissime librerie standard con cui fai tutto già "di serie", mentre con il C/C++ ti devi scrivere tanto codice da solo anche per molte cose banali. Il C++, poi, ha una struttura che è molto complessa: molti pensano di scrivere in C++ quando in realtà scrivono programmi in C con giusto l'aggiunta dell'uso delle classi e/o oggetti.

2) Immediatezza nell'esecuzione dello stesso: 20 anni fa il problema della velocità di esecuzione era uno dei fattori principali per cui si sceglieva un linguaggio compilato ma oggi, a meno di applicazioni estreme dove devi comandare hardware o roba simile, la potenza elaborativa degli attuali computer permette tranquillamente l'uso di un linguaggio interpretato senza soffrire l'interpretazione del codice. D'altronde, Gambas è un linguaggio interpretato ma quasi nessuno si lamenta di ciò, a meno che non siano richieste velocità iperboliche.

3) Portabilità: avere un interprete che esegue i programmi permette di scrivere codice slegato dall'hardware sottostante per lasciare a lui il compito di interfacciarsi con il sistema operativo. In questa maniera non devo scrivere 10 versioni diverse del mio programma se lo devo portare su 10 piattaforme: lo scrivo una volta e lo eseguo dove voglio. Se poi ho bisogno di usare una GUI scelgo una libreria grafica multipiattaforma e sono a posto.

Sì, il C ed il C++ sono linguaggi che ancora oggi vanno per la maggiore ma il fatto che diversi applicativi normalmente presenti nel parco software di tante distro sono scritti in linguaggi dinamici ed interpretati deve far riflettere. Se non ricordo male (Luigi correggimi) anche Anaconda, l'installer di Fedora, è scritto in Python. E Ruby assolve a diverse funzioni nei sistemi Mac essendo usato come linguaggio di scripting (mi pare sempre di ricordare).

P.S. per Alessandro:
il C# non c'entra molto con il C. E' un mix fra C++ e Java inventato da Microsoft perché a Redmond devono fare sempre la propria versione di ogni cosa che esiste al mondo altrimenti non sono contenti (vedi Moonlight per Flash) ed usare il C++ si vede che non gli bastava...
Visita il mio sito personale: http://www.leonardomiliani.com

Offline d199631

  • Gamberetto
  • *
  • Post: 13
    • Mostra profilo
    • http://
Re: Python Vs. Ruby
« Risposta #20 il: 17 Aprile 2009, 19:21:07 »
Io conosco c++ e php.
Ho appena scoperto Gambas, ma nel frattempo stò anche approfondendo Python con le PyGtk e c++ con le Gtk+...

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Python Vs. Ruby
« Risposta #21 il: 17 Aprile 2009, 19:31:24 »
Non per essere di parte ma io continuo a suggerire di provare anche Ruby. Dopo aver provato il Python, passare al Ruby è stato come rinascere: un linguaggio molto naturale e veramente orientato agli oggetti. Il Python, poi, è troppo rigido: a me pare che i veri programmatori Python (non quelli come me che scribacchiano 2 righe così per fare) passino più tempo a cercare la soluzione perfetta piuttosto che a portare avanti il loro progetto. Nel senso che ho visto dei perfezionismi sintattici che rasentavano l'illeggibilità (per un conoscente del linguaggio come me), cosa che dovrebbe andare poi contro lo stesso "zen" del Python, che afferma di tenere sempre il codice semplice e di preferire la leggibilità alla complessità.

Chi è interessato al Ruby, faccia un salto qui:
http://tryruby.hobix.com/
potrà provare il linguaggio direttamente nel proprio browser senza installare nulla.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Python Vs. Ruby
« Risposta #22 il: 17 Aprile 2009, 22:26:41 »
@ yeo72

Secondo me i progettisti di ruby ti pagano per fare pubblicità....:-D :-D

  • Visitatore
Re: Python Vs. Ruby
« Risposta #23 il: 18 Aprile 2009, 10:38:22 »
Per leo72: Ricevuto capo!! :-)

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Python Vs. Ruby
« Risposta #24 il: 18 Aprile 2009, 10:46:25 »
L'hai provato? ;-)
A me piace di più. Te l'ho detto, non amo tutta questa ricerca della perfezione a discapito della produttività. Ho assistito su it.comp.programmazione.python a mere gare sintattiche per la trasformazione di un codice di 2 o 3 righe con, diciamo, 7/8 istruzioni in un codice monoriga con 2 o 3 istruzioni dalla sintassi talmente ingarbugliata da non capirci nulla.

Ma io devo scrivere un programma mica partecipare alla gara del codice più corto ed ingarbugliato. Se volevo scrivere criptico imparavo il Malborge:
Codice: [Seleziona]

(aBA@?>=<;:9876543210/.-,JH)('&%$#"!~}|{zy\J6utsrq
ponmlkjihgJ%dcba`_^]\[ZYXWVUTSRQPONMLKJIHGF('C%$$^
K~<;4987654321a/.-,\*)
j
!~%|{zya}|{zyxwvutsrqSonmlO
jLhg`edcba`_^]\[ZYXWV8TSRQ4
ONM/KJIBGFE>CBA@?>=<;{9876w
43210/.-m+*)('&%$#"!~}|{zy\
wvunslqponmlkjihgfedcEa`_^A
\>ZYXWPUTSRQPONMLKJIH*FEDC&
A@?>=<;:9876543210/.-m+*)(i
&%$#"!~}|{zyxwvutsrqpRnmlkN
ihgfedcba`_^]\[ZYXWVU7SRQP3
NMLKJIHGFEDCBA@?>=<;:z8765v
3210/.-,+*)('&%$#"!~}_{zyx[
vutsrqjonmlejihgfedcba`_^]@
[ZYXWVUTSRo


Anche questa storia dello Zen del Python.... Ma è una filosofia o un linguaggio? E poi lo Zen afferma che esiste uno ed un solo modo per fare una cosa ma anche che devo scegliere la semplicità alla complessità. Se son complesso non si legge, se si legge non ho scelto l'unico modo...
Visita il mio sito personale: http://www.leonardomiliani.com

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Python Vs. Ruby
« Risposta #25 il: 18 Aprile 2009, 14:35:33 »
Ma a me questo tipo di gente da un fastidio incredibile...oppure perchè non menzionare quelli che vogliono scrivere codici senza IF? Che senso ha? e se io volgio usare trentamila If che problema c'è? alla fine il programma deve svolgere il suo lavoro...come l'ho scritto saranno affari miei...

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Python Vs. Ruby
« Risposta #26 il: 18 Aprile 2009, 15:43:02 »
Esatto, è questo il punto che non tollero.
Alla fine il codice deve fare quello che voglio io, non sono io che devo adattarmi a lui.

Se a me piace usare un SELECT CASE invece di una cascata di IF/THEN/ELSE oppure cose simili, non vedo il problema.

I pythonisti convinti, invece, pare che lo vedano perché capisco sfruttare al max. le potenzialità del linguaggio ma se io voglio arrivare al risultato attraverso un altro metodo non vedo dove sta il problema.
Il bello del Basic, alla fine, è che non esiste un solo modo per fare una cosa ma ne esistono diverse.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Python Vs. Ruby
« Risposta #27 il: 20 Aprile 2009, 19:40:04 »
Come in tutte le cose, ci sono quelli che vogliono raggiungere uno scopo a prescindere da cosa venga usato, e quelli che danno molta importanza a come viene fatto.

Questo, credo, è un concetto che è nato con l'essere umano, e come per altre cose, è una di quelle cose che ci rendono diversi uno dall'altro...

Comunque, da parte mia, posso dire che lavorativamente parlando, lo scopo ultimo è quello di produrre un software che funzioni, a prescindere da come viene scritto, o che sistemi si usino per ottimizzarlo.
A livello teorico, o semplicemente per diletto, la ricerca di un linguaggio il più possibile semplice e leggibile, mi pare sacrosanta, e permette di evolvere l'informatica in genere.

Nelle mie esperienze, ho usato svariati linguaggi, e ognuno aveva delle particolarità che lo contraddistinguevano, ma non ho ancora trovato il linguaggio perfetto.
A suo tempo, il Basic era nato per permettere a chiunque di scrivere due righe e considerarsi un programmatore; poi il linguaggio si è evoluto ed è stato portato ad uno stadio molto simile a linguaggi più importanti (vedi C).
Il Cobol, nonostante il suo schema molto rigido (molto più di Python), aveva un suo perchè, e ancora oggi detta legge su grandi sistemi.
Il "C" è stato il sostituto (in grandi linee) dell'Assembler, permettendo di scrivere codice molto potente e veloce, e di rendere più leggibili i programmi (diversamente dal linguaggio macchina puro e semplice; il C++ è stata un'evoluzione, obbligata dal nuovo concetto degli oggetti.
Una volta che l'hardware ha raggiunto uno stato di potenza molto alto, lo scopo di scrivere programmi veloci, utilizzando linguaggi a basso livello, è passato in secondo piano, per cui sono nati linguaggi come Java, Python ecc.
Ora vanno di moda questi ultimi, ma la diversità di pensiero tra purista e non è rimasta la stessa.

Io, comunque, attendo che qualcuno tiri fuori il linguaggio "perfetto"... :-)

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Python Vs. Ruby
« Risposta #28 il: 21 Aprile 2009, 00:02:47 »
Dato che l'uomo non è perfetto, i linguaggi di programmazione, in quanto creati dall'uomo, non potranno mai essere perfetti ;-)

A parte le battute, molti programmatori studiano più linguaggi e scelgono in base al compito che devono svolgere il linguaggio più adatto al loro scopo. Io invece preferisco scegliermi un lingaggio di quelli che si definiscono "general-purpose", vale a dire buoni per ogni tempo, e con quello farci (o cercare di farci) tutto quello di cui ho bisogno.
Gambas risponde a questi requisiti: ho la possibilità di scrivere del buon codice, che anche a distanza di mesi riesco a comprendere; ho un disegnatore di interfacce semplice ed usabile; ho un editor di codice funzionale. E poi riesco a farci un po' di tutto, che è l'importante per me.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Python Vs. Ruby
« Risposta #29 il: 23 Aprile 2009, 19:50:23 »
:good: