Theviki20110 ha scritto:
...Ti spiego in questo periodo sto cercando di imparare quanti linguaggi possibili, insomma sto cercando di ampliare il mio bagaglio...
Sfatiamo un altro bel po' di miti.
I linguaggi sono la punta dell'iceberg, perchè avrai poi l'AMBIENTE in cui vorrai far "qualcosa", e QUESTO tipicamente non ti verrà insegnato in nessuna università (o quasi).
Esempio banale: supponiamo che tu conosca benissimo, alla perfezione, il linguaggio X.
Bene, ti pongo questo problema: sei in grado di convertire un documento poniamo DOC (in formato Word) in formato PDF, stamparlo e controllare che esso sia stato effettivamente stampato (cioè che la stampa sia terminata)
?
Penso di aver fatto un esempio assai comune, che viene dato (oggi) per "scontato", insomma non ho posto l'esempio di controllare uno Shuttle.
Ti accorgerai immediatamente che il 99% del codice è relativo a INTERAZIONE col "mondo", che può essere l'utente, il supporto di massa, il sistema operativo, le periferiche, internet, la fotocamera eccetera, e l'1% per l' "algoritmo".
Ecco pertanto che saper scrivere un perfettissimo"algoritmo" per fare qualcosa, usando superstrutture dati eccetera, ti lascerà con il 99% da fare.
Capita di scrivere programmi per usi superspecialistici, esempio per un singolo dispositivo hardware per controllare una macchina, e lì il 99% è l'algoritmo, e l'1% l'interazione.
Ma sono casi davvero di supernicchia.
---
Altra informazione "flash": non con "tutto" puoi fare "tutto".
Ad esempio con Java è praticamente impossibile "leggere", banalmente, uno scontrino fiscale.
Anche avendo una conoscenza perfetta del 100% di Java, non riuscirai a far "capire" alla tua applicazione cosa sta facendo il cassiere.
Con Javascript è praticamente impossibile (in realtà è proprio impossibile) sapere quando una stampa è terminata; con PHP o "qualsiasi cosa" è impossibile convertire un DOC in un PDF (nota: per "impossibile" intendo "convertire in modo affidabile al 100%, cioè perfetto) e così via