migliorabile ha scritto:
@wrugg25: imparare un'altro linguaggio di programmazione (C++/C oppure assembler) e' utile ma NON COSI' UTILE.
Metti "inutile" per l'assembler, mentre invece pressochè indispensabile per C.
Un po' come l'inglese: devi averne comunque un'infarinatura (il parallelo è col C)
Questi sono alcuni argomenti FONDAMENTALE, la cui MANCATA CONOSCENZA e' evidente nella qualita' del codice scritto da una persona che non ha fatto l'universita':
mah... non sarei così perentorio...
- automi a stati finiti e grammatiche
Pressochè inutili
- teoria relazionale dei dati
Non c'entra un granchè con la programmazione, ma è un "jolly" ubiquo. Purtroppo normalment è insegnata malissimo
- programmazione parallela
Pressochè inutile in gran parte dei casi
- algorimi e strutture dati (ovviamente)
Pressochè inutile per linguaggi con strutture (o librerie standard) evolute
- teoria dei grafi
pressochè inutili
- design patterns, ed enterprise design patterns
pressochè inutili, perchè nel 99% dei casi spiegati male, ed applicate peggio
- algebra lineare
Pressochè inutile
- reti di calcolatori
Estremamente utili
- sistemi distribuiti
Pressochè inutili
- sistemi operativi
Vagamente utili (per il livello ridicolmente basso), poco utili per programmatore
- calcolo numerico
Infarinatura utile
- complessita' computazionale
Infarinatura utile
- ricerca operativa
Pressochè inutile
- crittografia
pressochè inutile per il programmatore junior, e normalmente insegnata poco e malissimo
- intelligenza artificiale
pressochè inutile
- programmazione ad oggetti
Utile almeno infarinatura
- programmazione funzionale
pressochè inutile per il livello normale
- programmazione logica
Pressochè inutile
- programmazione distribuita
- programmazione client/server
- programmazione di rete
Oggi hanno una loro utilità
- l'intero framework .NET, J2EE, Android, le architetture Web
Sono "mischioni diversi". Per qualcuno NET è fondamentale, per altri del tutto inutile
- centinaia e centinaia di librerie
per la maggior parte inutili
- protocolli di rete (HTTP, FTP, ... TCP/IP ...)
Questi invece oggi ci vogliono
- elaborazione di immagini
- elaborazione video
- grafica 3D
- animazione
dipende dall'ambito di lavoro, direi pressochè inutili per ambiti non grafici
- reti neurali
- algoritmi genetici
- pattern matching
pressochè inutili, sono troppo specialistici per l'infarinatura che viene data nell'università. Come insegnare a usare i numeri in colonna immaginando di essere diventati dei matematici.
Volevi il PASSO SUCCESSIVO?
Te lo dico io.
Andare nel mondo marketing, e trovarti un buon impiego lì.
Un markettaro bravo con un'infarinatura tennica (ribadisco tennica) vale tanto oro quanto pesa, 10 volte più di un programmatore.
Quasi quanto una brava segretaria direzionale, insomma