Quote:
Originariamente inviato da mad_hhatter
esempio stupidissimo, scambio di due valori:
abc = 1;
def = 2;
tmp = abc;
abbc = def; // errore di battitura
def = tmp;
perché il sintax checker dovrebbe incazzarsi? il codice è perfettamente lecito... eppure contiene un errore rispetto alle intenzioni del programmatore.
|
Codice:
int abc, def, tmp;
abc = 1;
def = 2;
tmp = abc;
abc = def;
def = abc;
Anche questo è lecito e il compilatore non s'incazza, ma non funziona.
Gli errori di semantica esistono per tutti i linguaggi: li chiamano bug.
Quote:
|
si va beh, io parlo di situazioni reali, non di esempi così
|
Anch'io.
Quote:
|
java prima che un linguaggio è una piattaforma... non esiste senza la libreria standard, che quindi è a tutti gli effetti nativa in ogni ambiente java... poi se vogliamo fare di queste sottigliezze...
|
Non mi sembrano siano soltanto sottigliezze. Quando abbiamo parlato di C, C++, Pascal, Basic, ecc., nessuno ha tirato in ballo le loro librerie standard mi pare.
Stavamo confrontando il linguaggio, ed è innegabile che Python sia particolarmente ricco.
Poi anche Python ha una buona libreria, ma non è questo il punto.
Quote:
|
per chi legge potrebbe esserlo...
|
Potrebbe... ma dipende sempre da chi ha scritto il codice: il cattivo codice lo ritrovi a prescindere dal linguaggio di programmazione.
Quote:
|
e comunque il fatto che il tipo non sia esplicitamente dichiarato rende più difficile la comprensione del ruolo di una variabile
|
Per questo esistono i nomi autoesplicativi per le variabili.