Quote:
Originariamente inviato da cdimauro
Nella tua versione c'è soltanto il corpo del codice, però: manca tutto il contorno.
A parte questo, in Python è più leggibile perché:
- non devi dichiarare il tipo delle variabili (è implicito);
- hai meno simboli da usare per racchiudere espressioni & codice (e il terminatore è il fine riga, non il ";");
- per stampare, come hai notato, c'è già l'istruzione print, che in ogni caso ha una sintassi più semplice.
Python è più vicino al concetto di pseudocodice. 
|
Anche in C# puoi non dichiarare le variabili. Io lo faccio comunque per scelta, per migliorare la leggibilita' successiva. Chiaro esempio di come talvolta preferisco scrivere di piu' per ottenere qualcosa successivamente.
Spero comunque che non si vada a preferire il Phyton al C# a causa del punto e virgola oppure del fatto che in applicazioni Console puoi scrivere Print al posto di Console.WriteLine.
Finora quello che ho capito e' che lascerei il Phyon per Console Application, e non sono neppure convinto che sia una scelta cosi' vantaggiosa rispetto al C#. Il 10x non lo vedo ancora.
Ma al lavoro io non devo fare console application. Non ne ho mai fatte in 10 anni.
Oggi devo fare
- WebService.
- Applicazioni Client Server con Gui complesse, che chiacchierno con i WebService
- WebService che chiacchierano con i database
- Pagine Web che chiacchierano con i WebService
- Installer e Updater olnline di applicazioni.
- Applicazioni MultiThread
- Applicazioni Server, quindi MultiProcess, non solo Multithread, che chiacchierano con la rete.
- Applicazioni che abbracciano strettamente il Sistema Operativo per gestire oggetti di basso livello (l'anno scorso ho dovuto usare una named Pipe di Windows, per risolvere un problema in modo semplice).
- Applicazioni che vanno a chiacchierare a basso livello con i device. Ultimo che mi e' capitato sempre l'anno scorso, interazione con un device di fingerprint e un device di retinal scan.
Sono quasi sicuro di aver migliorato di parecchio la velocita' di scrittura, di aver minimizzato gli errori e di aver migliorato anche la leggibilita' e la manutenibilita', rispetto al C++.
Ma non so se il Python mi puo' aiutare a migliorare ancora. Non sono neppure certo che Python possa risolvere questi problemi in modo altrettanto efficace.
Un esempio che sto usando proprio ora.
Usando tecnologie come AJAX.net e LINQ, sto preparando lo scheletro di un'applicazione che permettera' agli sviluppatori di creare pagine Web che interagiscono con i Database, in un ambiente 3 livelli, tutto da una singola classe di codice. Senza una riga di Javascript e senza una riga di SQL.
Tutto fortemente tipizzato e controllato a Compile-time.
fortemente tipizzato significa semplicemente che un oggetto nasce di un determinato tipo, e il tipo non cambiera' fino alla sua morte.
Ma davvero in Python capita cosi' spesso dia vere l'esigenza di cambiare il tipo di un oggetto?
Si puo' fare anche in javascript, ma ho imparato a starci lontano proprio per evitare problemi. Quali sarebbero i vantaggi di questo approccio?
Poi sono anche dell'idea che un linguaggio da solo non serve a nulla.
La parte piu' importante e' il contorno, le librerie.
E il C# ha a disposizione un'immensa libreria standard usabile nativamente da tutti, subito pronta all'uso. Il FrameWork.
Ma anche solo per un'applicazione come quella da cui e' partito questo thread, ma sei davvero sicuro che farla da zero in Python sia la cosa migliore?
In C#, nell'assembly diagnostic (gia' nativamente a disposizione per tutti) posso leggere tantissime cose del sistema operativo, e non escludo che si possano trovare anche valori come temperature e frequenze.
Non riesco a capire come faccia Python ad essere stato portato sotto .net, quando uno dei requisiti del .net e' proprio l'estremo strong-typing di tutti gli oggetti, la cui mancanza invece e' uno dei punti di forza del Python espressi nel documento che mi hai passato prima.