CITAZIONE
non e' che se studio python scordo il C
Beh, non c'è solo il problema di ricordarsi o scordarsi, ma anche di "caricarsi le configurazioni" quando passi da un linguaggio all'altro.
A me ad esempio capita di sviluppare in contemporanea il firmware lato controllore (usando l'assembler o, peggio, il C) e il software lato PC in Visual Basic.
Ho scritto "peggio" riferendomi al C anche se è più facile dell'assembler perchè quando mi "configuro" per usarlo è per alcuni aspetti simile al VB, quindi finisci per confondere le istruzioni del primo con quelle del secondo, anche perchè magari stai lavorando con le finestre dei 2 ambienti di sviluppo su 2 monitor diversi per fare prima. A quel punto ti sembra di essere lo spettatore di una partita di tennis
e tutto avresti voglia di fare tranne quello di dovere continuamente commutare il "data base di nozioni" legato ai 2 diversi linguaggi.
Ad esempio quando devi fare selezioni multiple in base al valore di una variabile in VB6 scrivi:
select case (variabile)
case is = valore1
.........bla,bla,bla
case is = valore2
.........bla,bla,bla
end select
In C invece:
switch (variabile)
{
case valore1:
.........bla,bla,bla
case valore2:
.........bla,bla,bla
}
In più, cosa ancora più insidiosa, il C ha bisogno del break; dopo ogni condizione per uscire dallo switch quando ha eseguito il case attuale, mentre il VB no (ce l'ha implicito/automatico).
Se mentalmente sei in modalità VB e vai a scrivere in C senza caricare la "configurazione da C" rischi di non mettere il break; col risultato che il programma analizza i case successivi, situazione che può portare a funzionamenti indesiderati.
Sai quante volte ho sacramentato con chi ha scritto i linguaggi pensando che almeno un minimo di sforzo avrebbero potuto farlo per standardizzare le istruzioni comuni ai vari linguaggi? Tantissime
Perchè lo switch del C in basic si deve chiamare select case? Non avrebbe potuto avere lo stesso nome (ad esempio Ugo, tanto per non fare torti a nessuno degli ideatori dei 2 linguaggi)?
E perchè il FOR NEXT del VB è così diverso dal FOR del C pur facendo le stesse funzioni?
Misteri dell'informatica.....
Magari un giorno mi verrà voglia di crearmi un linguaggio di programmazione chiamato, che so, Trottolino il cui listato va scritto dal basso veerso l'alto e da destra verso sinistra.....(tanto per creare disagi a chi lo usa) e che lavora solo con i numeri complessi invece che interi e a virgola mobile (quindi per usare quelli reali uno deve farsi continuamente le conversioni).