|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Registered User
Iscritto dal: Oct 2006
Messaggi: 82
|
[python]I limiti del python
Spesso leggendo sui forum o discutendo con amici programmatori mi è capitato di
sentire che il python è inadatto a realizzare progetti particolarmente complessi a causa di alcune sue caratteristiche come la tipizzazione dinamica. Non conoscendo il python e avendo studiato seriamente solo il java chiedo a voi perchè la questione mi incuriosisce (sperando di non scatenare una rissa). E per quanto riguarda le prestazioni invece, il python soffrirebbe di problemi di performance anche realizzando un compilatore? Quali sono gli svantaggi di un linguaggio come il python rispetto al java? Quali i vantaggi? |
|
|
|
|
|
#2 |
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Su quanto un progetto debba essere complesso perché Python non sia adatto, lascio la parola a cdimauro.
Faccio però notare che Zope è realizzato in Python.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2007
Messaggi: 499
|
chiedi a fek che ha avuto felici esperienze su grossi progetti con python
__________________
|
|
|
|
|
|
#4 | |||||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Sulla tipizzazione dinamica, ha pregi e difetti ovviamente. Io trovo preponderanti i primi. Quote:
Passalo anche ai tuoi amici. Eckel non è un "tizio qualunque", e dovrebbe essere abbastanza noto a chi sviluppa in C++ e/o Java. Quote:
YouTube.com Quote:
Quote:
Ovviamente non mi sto riferendo a Fran, ma a chi ha realizzato i progetti che ha poi utilizzato.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||||
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Fra l'altro che fine ha fatto fek?
E' un po' che non si vede. Stanno consegnando Fable2?
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: May 2004
Città: Napoli
Messaggi: 773
|
Quote:
Poi considerando che Molyneux ha annunciato che il gioco è finito ed in arrivo, li starà mettendo sotto torchio
__________________
If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization. --Gerald Weinberg |
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Comunque l'ultima volta che ha scritto è stato in una discussione sulle news dove ha ricevuto una sospensione (non sto qui a disquisire sull'accaduto per non infrangere il regolamento): credo sia questo il motivo per cui, da allora, non si fa più vivo.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Sep 2000
Messaggi: 886
|
Da quel poco che ho visto e soprattutto letto relativamente Python, del quale, come avevo promesso in altro thread mi sto occupando da pochissimi giorni peraltro, pare che la comunità intorno a Python si lamenti un po' di un paio di cose:
la prima è la gestione dei blocchi e delle chiusure che sarebbe molto più primitiva di quella che si trova ad es in Ruby, che è il linguaggio di raffronto più usato. la seconda è che, nonostante ci siano alcune valide proposte in tal senso, ci sia una qualche resitenza ad inserire il design by contract in Python. A occhio mi sembrano obiezioni corrette anche se, soprattutto sulla prima, devo indagare un po'.
__________________
1986/2008 - 22 anni di rabbia cancellati in un giorno. Adesso passeranno altri 22 anni.. |
|
|
|
|
|
#9 | ||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
La gestione non è che sia più primitiva: la soluzione attuale di Python è perfettamente in linea e coerene con lo sviluppo del linguaggio. Anzi, a voler essere onesti, c'è gente che non vorrebbe nemmeno le funzioni lambda (funzioni anonime) nel linguaggio, perché asserisce che la classica definizione di funzione è sufficiente in merito e ha il vantaggio di essere più leggibile (dando un nome "concreto" a un pezzo di codice). Personalmente le lambda le uso tranquillamente, e non c'è intenzione di rimuoverle dal linguaggio perché in generale sono una comodità. Tornando al discorso, ti faccio notare che Ruby è abbastanza confusionario proprio sui blocchi di codice, in quanto espone meccanismi che sono sottilmente diversi e che possono generare non pochi problemi. Se ti leggi questo: http://pine.fm/LearnToProgram/?Chapter=10 (preso dal sito di Ruby) capisci il perché (mi riferisco alle differenze fra blocchi e proc). Quando leggo frasi come "If you get confused" per me c'è qualcosa che non va. Quote:
Sia chiaro: parli con uno che da anni sbava su Eiffel e sulla definizione dei "contratti" in funzioni e metodi, ma dopo che ho conosciuto la TDD ho rivalutato in maniera completamente diversa la situazione. In sintesi: ai contratti che devono inserire dei controlli nel codice preferisco nettamente le suite case esterne da eseguire una tantum, man mano che si sviluppa l'applicazione. Da questo punto di vista Python è messo molto bene perché ci sono un paio di librerie standard utilizzabili allo scopo.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7258
|
Quote:
è inadatto a progetti complessi solo perchè il codice è brutto esteticamente c'è anche il fatto che a volte risulta un pò criptico |
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Considerato che hai riporato l'esatto contrario della realtà, devo ringraziarti per la pubblicità che stai facendo.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Sep 2000
Messaggi: 886
|
Quote:
Sull'altro punto prima di parlare voglio capire bene cosa fa Python e cosa fa Ruby, tanto per avere un confronto...
__________________
1986/2008 - 22 anni di rabbia cancellati in un giorno. Adesso passeranno altri 22 anni.. |
|
|
|
|
|
|
#13 | |||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||
|
|
|
|
|
#14 | ||
|
Senior Member
Iscritto dal: Sep 2000
Messaggi: 886
|
Quote:
Quote:
Intanto visto che ci siamo: in Python posso "riaprire" una classe e modificarla?
__________________
1986/2008 - 22 anni di rabbia cancellati in un giorno. Adesso passeranno altri 22 anni.. |
||
|
|
|
|
|
#15 | |||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
I problemi sono nati perché si è passati a creare troppi test, tante volte inutili. Quote:
Sono soltanto più portato alla TDD per questioni pratiche. Quote:
Sia chiaro, però: Python non ha strumenti sintattici che semplificano questo lavoro, come invece fa Ruby. Né tanto meno è possibile andare a modificare le classi built-in. Comunque andare a riaprire una classe è una cosa che normalmente non faccio. In questo periodo sto sperimentando un po' di monkey patch (vedi sopra), ma più che altro per rendermi conto dei limiti di questa tecnica ed, eventualmente, dei possibili utilizzi (finora zero
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Sep 2000
Messaggi: 886
|
Quote:
__________________
1986/2008 - 22 anni di rabbia cancellati in un giorno. Adesso passeranno altri 22 anni.. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:11.




















