cosa è l'informatica

da agorà:




l'informatica studia il trattamento dell'informazione quindi la computazione.

per me è la definizione classica di informatica, che si insegnava 20 anni fa, oggi è cambiato tutto così velocemente ?
Quella descritta nel post ha tutta l'aria di essere ingegneria informatica, non computer science. Sebbene oggigiorno l'orientamento sia quello di tirare fuori curriculum ibridi che mettano insieme il peggio dei due, le due realtà sono e dovrebbero rimanere differenti.

Queste materie per esempio:
- Informatica Forense
- Programmazione Web
- Ingegneria Informatica
a computer science dovrebbero essere corsi facoltativi, perché non riguardano la teoria della computabilità o della complessità.
0. sono andato in crash sull'atto di programmare, inteso nel senso vostro strettissimo e gergale di prendere l'algoritmo scritto in un linguaggio informale e tradurlo in un linguaggio formale.

1. sto analizzando dell'informazione ( il testo originario ) e la sto traducendo.
questo vale pure se traduco un testo da una qualsiasi lingua all'altra. es. il latino->italiano

2. non c'è nessun problema durante l'atto della traduzione, il problema è già stato risolto dal mio cervello quando colui ( cioè me stesso ) ha studiato le regole del latino. dopo il confronto delle parole del testo e il vocabolario devo solo far girare la manovella e infilare le parole nell'albero sintattico, già definito, dentro il mio cervello per poter dare anche senso al nuovo testo ).

quindi io sto facendo informatica quando studio una nuova lingua e non quando traduco.
e quindi secondo me vale pure per il punto 0. anche se ciò si scontra con quanto detto al punto 1. e sono crashato.

il problema lo risolvo, scrivo l'algoritmo, scelgo il linguaggio formale che ritengo più opportuno, chiamo un tizio con le palle quadre ( un programmatore, quindi un tecnico, che si interfaccia a me come il capocantiere con la quinta elementare all'ingegnere ) che mi implementi il tutto.
per come la vedo io, anche se è una opinione fumosa, si può essere programmatori senza essere informatici.
Hai appena definito il project manager donna sui 30 coi tacchi e bionda


web e forense lo erano

ing. inf. no

UML merda

corso completo (ordine a cazzo di cane):

Analisi
Fisica
Matematica Discreta + Logica
Reti 1
Reti 2 + Lab
Programmazione 1 + Lab (C)
Programmazione 2 + Lab (C)
Programmazione a Oggetti (Ruby e Java), solo Lab
Architetture degli Elaboratori 1 (Bobbio )
Architetture degli Elaboratori 2 + Lab (MIC culo)
Ingegneria Informatica + Lab
Fondamenti, Linguaggi e Traduttori 1
Fondamenti, Linguaggi e Traduttori 2 // di questi due meglio la morte
Sistemi Operativi 1
Sistemi Operativi 2 + Programmazione Concorrente
Probabilità e Statistica
Algoritmi e Strutture Dati 1 ( per gli amici)
Algoritmi e Strutture Dati 2
Basi di Dati + Lab
Inglese (ma non l'ho dato, grazie al CAE)
+ un esame che non mi ricordo nemmeno, ma fatto nella sede di giurisprudenza, subito cambiato per uno dei facoltativi.

corsi a scelta che ho dato per i 15 crediti (+ quello che sostituisce quello sopra):
Programmazione Web
Intelligenza Artificiale
Informatica Forense

altri facoltativi:
Sicurezza
+ altri che non ricordo

Informatica e basta, non Ingegneria


quello che non mi torna è perché il sistemista non rientrerebbe nella definizione di thx
Ma infatti per saper programmare basta l'ITIS. Quella non è computer science.

Il punto è che non esiste un algoritmo per risolvere un problema. Quando tu dici "prendo l'algoritmo e..." hai già saltato completamente il ruolo della CS.

Inventare (scoprire?) l'algoritmo per risolvere un problema è un atto intellettuale che richiede certe competenze e capacità. Trovare l'algoritmo efficiente richiede certe competenze avanzate. Anche solo sapere cosa significhi efficiente, saper calcolare i tempi asintotici, fare analisi della complessità, richiede competenze di CS che, in linea di principio, non c'entrano niente con i linguaggi di programmazione.

E non c'entra nemmeno coi computer in senso stretto. Ad esempio, la CS ci fornisce gli strumenti per provare che la computazione basata su annealing spontaneo di DNA è Turing-universale, ovvero, puoi farci qualunque cosa.


certo si può essere programmatori senza essere informatici.

poi arriva l'informatico di turno e si trova davanti una roba così (di mio c'è solo l'indentazione):


[snip]
if(1)
{
if(tool_type_1chr==1)
{
; // no-op - leave 1 chr
}
else // tool_type_2chr
{
char local_Tool_Type[32]; // ensure to have enough room to hold the data
char modif_Tool_Type[32];

// strcpy( destination, source);
strcpy(local_Tool_Type, pp_data.pp_030); // init values
strcpy(modif_Tool_Type, pp_data.pp_030);

// this code can be executed more then once
// the first will change the values...
// the second time the job will be alredy been done - without interfere!
//
// this code has been borrowed (and adapted) from the other handler export_process_data.c
// approx lines 3858-3900
if(strcmp(local_Tool_Type, "A")==0)
{
strcpy(modif_Tool_Type, "01");
}
[snip]


ed è ancora il meno, ho visto cose inenarrabili, tutte nello stesso sorgente (che ho dovuto reindentare a mano (circa 4000 righe) perché nemmeno Visual Studio capiva che cazzo c'era scritto).


a mio modo di vedere, il sistemista non dovrebbe ricadere in un corso di CS. Infatti, un sistemista non se ne farebbe una sega di praticamente tutti gli insegnamenti del corso di laurea (ad eccezione di architetture, reti e sistemi operativi) e beneficerebbe molto di altre competenze. Dovrebbe essere un corso di stampo non scientifico (quindi a ingegneria) orientato alla gestione di sistemi IT complessi.
Poi mi dimentico sempre di non leggere o intervenire in discussioni sull'informatica in cui partecipa aresio perchè per me è insta-depression.
nel giro di due post mi fa sempre capire che ho sprecato e continuerò a sprecare tempo perchè non so e non saprò mai un cazzo


beh ma non se ne fa niente nemmeno di 30 corsi di analisi e altrettanti di fisica che fanno ad ingegneria


ma non è vero



sì, credo che un sistemista non se ne farà mai nulla di buona parte della matematica avanzata che si studia a ingegneria.

Tuttavia, penso che elementi di analisi, matematica discreta, statistica e fisica (forse anche chimica?) possano tornare utili in quel lavoro. e non fanno nemmeno male come forma mentis.


ma si, ogni riferimento, link, argomento tecnico di cui parli per me è overkill e mi chiedo sempre che cazzo ho fatto in università

stai parlando con uno che prova varie combinazioni di ***&&&&*&*&**&* finché non becca quella giusta














vabbeh ma il C è bastardo

hai fatto anche la magistrale?


nope.
in unipmn la magistrale diventa l'inferno, con due prof marito e moglie (algo2 e reti nella triennale) che sono veramente il male dell'istruzione italiana.
aspetto che muoiano (per davvero, non sto scherzando) e poi valuto.

ho visto altre università (unito e unimi) ma sinceramente non c'ho cazzi di star dietro all'edisu, le iscrizioni, i bigliettini e tutto il resto.
già mi ero iscritto alla triennale pensando "finalmente faccio qualcosa che mi interessa", pensiero che è scemato nel giro di un anno, trasformato in "firmo tutto, basta che la finiamo il più in fretta possibile".
Risultato: 96 in tempo senza studiare mai tranne che per Reti 2 e Traduttori 2 (esami dati con 40 di febbre, ma la mannaia edisu incombeva)

non mi interessa studiare, mi interessa fare qualcosa e vedere che effettivamente sono capace di fare qualcosa
si ma aresio è un secchione di quello coi capelli lunghi e alto eh, quindi non c'entra


Io di informatica ci capisco quanto di sanscrito, ma secondo me quello che dici in questa frase non e' semplicemente possibile.
Anche fossi un genio ti servirebbe studiare, tanto e bene, per fare qualcosa di valido


Di queste tre affermazioni solo una è vera


infatti non so fare un cazzo
cmq la domanda sulla magistrale è legata al fatto che, purtroppo, la triennale in informatica si concentra sui pre-requisiti. per questa ragione tende a essere un po' demotivante.

tuttavia, se vuoi fare informatica teorica, o inventarti algoritmi/metodi innovativi o più avanzati, ti servono quei pre-requisiti.

Visto che siamo in un forum di videogiochi, è dura scrivere un motore grafico senza conoscere niente di algebra lineare. Fosse anche uno shader. Così come è veramente arduo realizzare un motore fisico senza aver fatto fisica, cui serve di nuovo algebra lineare e analisi in più variabili.

Se vuoi inoltrarti nella biologia computazionale (il mio ambito) a quel punto ti serve sapere come risolvere numericamente le equazioni differenziali (stocastiche, se il sistema lo richiede, o alle derivate parziali se il sistema non è omogeneo) nonché avere buone nozioni di probabilità, processi markoviani, ecc.
ah ok.

sinceramente non c'ho testa, quindi preferisco sempre la strada più facile

sono piuttosto greedy mi accontento