Vorrei spezzare un lancia a favore dei colleghi che insegnano nei corsi di laurea in informatica o ingegneria informatica (formalmente diversi ma spesso abbastanza simili nell'impostazione e nei contenuti). In genere tutti i colleghi sono ben consapevoli dell'importanza di una preparazione anche su aspetti progettuali/pratici. Sono lontani i tempi in cui ci si poteva laureare su una base solo teorica. Però, non dimentichiamo mai che l'università prepara NON a sviluppare software con l'ambiente di oggi ma a farlo con qualunque ambiente, anche quello che useremo fra trent'anni. [Cosa usavamo nel 1990 per sviluppare software?] Quindi non diamo addosso a neolaureati che non conoscono l'ambiente che si sta usando in quel momento in azienda, perché non è quello il problema. Chiarito questo, la tensione tra commerciale e tecnico in azienda è qualcosa che esiste in tutti i settori, ma che nell'informatica è esasperata dalla incorporeità della materia di cui sono fatti i sistemi informatici. Non possiamo farci molto, se non rendere i nostri laureati più sensibili agli aspetti cosiddetti "non funzionali" che alle volte possono essere più rilevanti per il successo di un sistema di quelli funzionali. Infine, una battuta: i falegnami, quelli veri, non vanno da ikea. Gli informatici, quelli veri, non tirano giù una libreria da diecimila linee di codice per fare qualcosa che si può fare con cento. D'altro canto, e chiudo, ignorare l'esistenza delle librerie e iniziare ogni volta aprendo un editor di testo e scrivendo class MyClass { public static void main(String args[]) ... sarebbe altrettanto deleterio. Ed è vero che i framework servono anche a poter usare personale meno preparato ma, d'altro canto, se usati bene rendono il processo di sviluppo più efficiente. Una proposta che ripeto ormai da una decina d'anni è che dovremmo formare gli informatici (a scienze e ad ingegneria) come i medici. Dopo tre anni, iniziare l'attività in corsia a veder curare (prima) e curare (poi) i malati veri, mentre in paralleo si continua ad approfondire lo studio tecnico-specialistico. Ciao, Enrico Il 28/04/2021 21:07, TEV S.r.L. ha scritto:
I programmatori di oggi, ma anche gli analisti e su su, sono come i falegnami odierni: sanno solo assemblare ed adattare. Io la chiamo infatti informatica-ikea. Idem per i siti web, ormai la maggioranza sono fatti con wordpress. Col beneplacito degli imprenditori che risparmiano (così credono) ma al committente non lo dicono. Anche se spesso, rifare il codice da zero sarebbe meglio, non occorrerebbe studiare software altrui, spesso mal documentato, che magari è inutilmente pesante per il progetto ... e non parliamo se occorre trovarvi dei bug. Peccato che pochi ne siano capaci.
Ci sono i pochi veri informatici che preparano le librerie di base, i framework, le classi, i plugin, e gli altri campano di rendita. Danni del software gratuito (cosiddetto libero).
Io faccio tutto, dall'informatico (nel senso di Antonio) giù giù fino al riparatore di tastiere. Utilizzo praticamente tutti i linguaggi presenti a passati, mi sono creato mie piattaforme e librerie e sono indipendente. Quando però partecipavo a progetti di gruppo, rabbirividivo nel vedere dei capi-progetto, laureati in informatica, che tiravano fuori idea balzane, tutto perchè non conoscevano il linguaggio che si era deciso di adottare (e spesso sbagliavano a sceglierlo) e non ne sapevao i limiti e i pregi. Infatti, adesso, o faccio io il capo-progetto (e mi delego parte del codice più il disegno del db) o ne sto fuori. Perciò concordo con Antonio che anche il mega-informatico deve saper programmare, magari non specializzatissimo, ma questo è la base di tutto. Quasi tutti gli allenatori di calcio erano prima dei bravi calciatori.
Tralascio poi i rapporti con i "manager" e con i commerciali che sarebbe lunghissimo ... Accenno solo che i vari "framework" spesso sono una palla al piede. Servono per utilizzare manodopera meno skill ed utilizzarla tipo catena-di-montaggio. Poi si lamentano che il server dell'Inps crasha ad ogni nuovo decreto e che confonde gli utenti.
Vincenzo.
Il 28.04.2021 16:34, Enrico Nardelli ha scritto:
Grazie Antonio
solo per chiarire che dal mio punto di vista essere un informatico vuol dire saper programmare. Chi non si è "sporcato le mani" col codice non è un informatico. Punto.
Per dirlo con le parole di Donald Knuth «the best computer scientists are thoroughly grounded in basic concepts of how computer actually work; and indeed the essence of computer science is an ability to understand many levels of abstraction simultaneously.» [Keynote Address at the 8th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE-03)]
Ciao, Enrico
Il 28/04/2021 10:19, Antonio Iacono ha scritto:
Esiste infine, come per l'ingegneria tradizionale, tra la scuola e l'università, la funzione intermedia del quadro tecnico. Un esempio, preso dall'ingegneria civile, è quello del geometra, ruolo indispensabile, perché non tutti hanno bisogno di costruire grattacieli, mentre molti devono realizzare "modeste costruzioni civili". Moltissime micro e piccole imprese italiane non hanno necessità di un laureato per le loro esigenze informatiche, gli basterebbe un diplomato, anche qui che sia preparato come un "informatico" in grado di definire un progetto in relazione alle esigenze dell'utente e non semplicemente come un "programmatore" che genera codice.
L'analogia con l'ingegneria civile mi piace tantissimo :) Il programmatore è il muratore o il carpentiere. L'informatico è l'ingegnere, l'architetto o, per piccoli progetti, il geometra.
L'ingegnere non deve "impastare il cemento" ma se qualche volta, nella vita, l'ha fatto, gli tornerà sicuramente utile. L'informatico non deve programmare ma se a volte "si sporca le mani" con il codice, male non fa.
Un ipermercato ormai lo si costruisce in un paio di settimane, prefabbricati e via. Ma a nessun ingegnere/geometra/muratore verrebbe in mente di usare i prefabbricati per una "costruzione civile". Nell'informatica attuale (per niente "buona"), purtroppo sì.
Antonio _______________________________________________ nexa mailing list nexa@server-nexa.polito.it https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa
-- EN
===================================================================== Prof. Enrico Nardelli Dipartimento di Matematica - Universita' di Roma "Tor Vergata" Via della Ricerca Scientifica snc - 00133 Roma tel: +39 06 7259.4204 fax: +39 06 7259.4699 mobile: +39 335 590.2331 e-mail: nardelli@mat.uniroma2.it home page: http://www.mat.uniroma2.it/~nardelli blog: http://www.ilfattoquotidiano.it/blog/enardelli/ http://link-and-think.blogspot.it/ =====================================================================
_______________________________________________ nexa mailing list nexa@server-nexa.polito.it https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa
-- EN ===================================================================== Prof. Enrico Nardelli Dipartimento di Matematica - Universita' di Roma "Tor Vergata" Via della Ricerca Scientifica snc - 00133 Roma tel: +39 06 7259.4204 fax: +39 06 7259.4699 mobile: +39 335 590.2331 e-mail: nardelli@mat.uniroma2.it home page: http://www.mat.uniroma2.it/~nardelli blog: http://www.ilfattoquotidiano.it/blog/enardelli/ http://link-and-think.blogspot.it/ ===================================================================== --