Premetto che parlo da laureato in matematica (e scienze politiche) che ora lavora come sviluppatore software.
Dr. Akim ha scritto:[ ... ] Al di là di questo, lo scopo sostanziale del corso d'Informatica Pura non è quello di creare progammatori (ci sono molti miei colleghi che quando vengono chiamati da persone, estranee a questo mondo, "programmatori" si offendono), bensì quello di creare dei laureati in grado di elaborare i problemi, trovare il modo giusto di affrontarli, saper usare gli strumenti giusti per attaccarli, studiarne le soluzioni, e poi implementarle.
Ogni volta che sento questa frase mi viene da chiedermi: "
Cosa pensate che voglia dire essere un programmatore1?" Tra l'altro l'attività "
di elaborare i problemi, trovare il modo giusto di affrontarli, saper usare gli strumenti giusti per attaccarli, studiarne le soluzioni, e poi implementarle" è senz'altro un elemento comune a tutte le attività umane che necessitino un qualche ragionamento, dal personal trainer al programmatore, passando per il manager d'azienda. Insomma è uno
slogan così generico da essere pressoché privo di ogni significato pratico. Ciò che cambia tra le varie professioni è la tipologia dei problemi che vieni abituato ad affrontare e gli strumenti che una persona ha per risolverli. Come per molte altre lauree scientifiche, la laurea in informatica
abbozza una varietà relativamente ampia di problemi e ti mette a conoscenza dell'esistenza di un buon numero di strumenti. Ma, come per tutte le lauree scientifiche, saper davvero analizzare i problemi in questione e saper davvero utilizzare gli strumenti di cui sei a conoscenza, non è qualcosa che sai generalmente fare alla fine della magistrale (e forse neanche dopo un dottorato).
Se una laurea in informatica ti preparasse a diventare un programmatore di un certo tipo dovrebbe insegnarti a risolvere i problemi che si trova ad affrontare un programmatore di quel tipo, e sinceramente non ho dubbi che non esista alcuna tipologia di programmatore per cui questa affermazione sia vera.
Dr. Akim ha scritto: [...]
Quindi, ricapitolando, cosa si studia all'universita?
Matematica
Matematica
Matematica
ed un po' di Matematica, condita con una sana dose di Informatica
Quella a me sembra un dose molto piccola di matematica: è più o meno equivalente ad un anno di studio a matematica ed in molto atenei l'approfondimento è minore. Più o meno ogni facoltà scientifica fa quegli argomenti.
Di fatto, gli argomenti di informatica che fate sono molto più caratterizzanti di cosa voglia dire fare la facoltà di informatica e mi rattrista che in tre pagine nessuno si sia messo a spiegare che cosa si faccia in quei corsi (che era di fatto la domanda iniziale).
Dr. Akim ha scritto:Quindi non ti spaventare se all'inizio ti sembrerà di essere molto più svantaggiata rispetto quelle persone che già parlano di codice ed altro, perché
l'ingrediente principale per fare informatica sono la capacità di ragionamento e la capacità di astrazione, non scrivere codice. Vedila così: essere un bravo programmatore è come essere un bravo scriba. Puoi avere una bellissima calligrafia, ma se non sai cosa scrivere dentro le pagine, ti verrà fuori un pessimo libro!
Con tutto il rispetto, stai confondendo il buon programmatore (che nella tua analogia sarebbe l'equivalente di un buon scrittore) con un banale coder (senza l'aggettivo buono e tenendo conto che questa non è una vera e propria professione
2).
Un buon programmatore sa scrivere buon codice, che è una cosa ben diversa del saper scrivere un codice che sia esteticamente bello. Non si diventa dei buoni scrittori solo imparando la grammatica, per diventare dei buoni programmatori è indispensabile fare molta pratica (parallelamente alla parte teorica). Tra l'altro è spesso utile tenere conto che i professori che insegnano i corsi di programmazione sono raramente dei buoni programmatori.
Detto questo non ha importanza quando inizi ad imparare, l'importante che tu lo faccia con passione ed interesse. Quindi non c'è bisogno di preoccuparsi se non sai programmare.