Messaggioda vl4d » 15/04/2007, 07:25

Ti faccio presente che pero' in quelle aree che dici tu, ci lavorano spesso matematici e non "informatici che di fatto sono matematici"...


E io ti faccio presente che ti sbagli. Per fare qualche nome illustre Luca Trevisan (Berkeley), Luca Aceto (BRICS), Silvio Micali (MIT)
non hanno avuto un'educazione matematica e sono tra i migliori informatici teorici italiani.

Purtroppo l'informatica non e' solo multidisciplinare, ma e' completamente spaccata in troppi rami che derivano rispettivamente dall'ingegneria, dalla fisica&biologia e dalla matematica pura. Sono mentalita' molto diverse, ci sono motivazioni opposte e secondo me questi diversi rami non potranno mai unirsi (e io dico per fortuna).

Che si dia agli informatici del "pigia-tasti" che "sanno solo programmare" questo non lo accettero' MAI.

L'ignoranza di chi afferma cose del genere non merita di essere commentata (la critica non e' direttamente rivolta a nessuno, e' un discorso generale), come purtroppo non meritano di essere commentati gli orientamenti di chi gestisce certi CdL di informatica che trasformano una disciplina con una dignita' pari a quella della matematica pura in un'inutile corso atto a sfornare pigia tasti ignoranti.

Sul perche' l'informatica sia un ramo della matematica posso farti notare:
Complessita' Computazionale Algoritmica <-> Combinatoria
Teoria dei Codici, T.d. Informazione, Crittografia <-> Algebra, Geometria Algebrica, Probabilita'
Teoria della Calcolabilita' <-> Logica Matematica
Complessita' Computazionale Implicita <-> Logica lineare, teoria delle Categorie
Complessita' Algebrica <-> Combinatoria, Algebra
Semantica <-> Topologia Algebrica, Teoria delle Categorie, Logica Matematica
Process Algebra <-> Logica Matematica
Go to the roots, of these calculations! Group the operations.
Classify them according to their complexities rather than their appearances!
This, I believe, is the mission of future mathematicians. This is the road on which I am embarking in this work.
Evariste Galois
Avatar utente
vl4d
Average Member
Average Member
 
Messaggio: 341 di 515
Iscritto il: 05/05/2006, 14:49

Messaggioda fields » 15/04/2007, 11:42

daniele-gnudi, se fra gli esperti di informatica comprendi uno che sta per laurearsi, eccomi qua. Inoltre dal momento che ho un'ottima preparazione nella matematica pura, particolarmente in algebra e logica, so certamente di cosa parlo.

daniele-gnudi ha scritto:a parte il sarcasmo veramente povero e totalmente fuoriluogo (visto che si parlava del metodo di studio "matematico" o meno e non di quanta matematica c'e' nell'informatica), dove hai trovato questa definizione di informatica?
io, sul DeMauro leggo:

Informatica: disciplina che si occupa della raccolta e del trattamento delle informazioni o, più specificamente, dell’elaborazione di dati per mezzo di calcolatori elettronici.

oppure, Wikipedia:

L'informatica è una scienza interdisciplinare che riguarda tutti gli aspetti del trattamento dell'informazione mediante elaboratori elettronici.

...

A dire il vero non ho detto cose fuori luogo. Mi sembra che dire che l'informatica è matematica, abbia pertinenza in relazione al problema: "Chi studia informatica acquisisce un metodo matematico?" O no? :-D

Per quanto riguarda le definizione di informatica dei dizionari, io le butterei. Come uno non impara il concetto di continuità di una funzione fra spazi topologici guardando sul dizionario la parola "continuità", o non capisce certo il concetto di "accelerazione" in fisica leggendo un dizionario, così non capisce cos'è un algoritmo o cos'è l'informatica con una definizione da dizionario. Il "De Mauro" del resto non è che può spiegare, ad esempio, il concetto di algoritmo definendo le macchine di Turing!



daniele-gnudi ha scritto:La "programmazione" si DEVE definire in modo astratto e matematico diciamo (anche se questo non c'entra nulla con il discorso della mentalita' di un informatico, di un medico, di un muratore, di un matematico, ecc...), ma non il linguaggio di programmazione!
Che senso ha definire in maniera astratta il C? semmai definiamo "matematicamente" il concetto di lista, di struttura, ecc...
ma e' una definizione teorica che si applica ad un linguaggio che di fatto e' assolutamente pratico e strattamente legato al calcolatore...
un po' quasi come la distinzione tra algoritmo (quindi valido a prescindere dal linguaggio di programmazione) e il codice in un linguaggio vero e proprio.
cmq era solo un esempio, certamente l'informatica non e' solo programmazione.



Ti spiego che senso ha definire matematicamente un linguaggio, e perché tale definizione è senza dubbio un assioma dell'informatica.

1) Un linguaggio non può esistere se non è definito formalmente. Nessuna macchina sarebbe in grado di eseguirlo se così non fosse. Ecco perché si usano dei sistemi formali matematici (le grammatiche) per definire la sintassi. Ecco perché si definiscono delle regole formali per la semantica operazionale del linguaggio e il concetto matematico astratto di "stato" (tale definizione serve per definire ciò che calcola il linguaggio). Un esempio di definizione non rigorosa è la spiegazione che si dà di un linguaggio nei testi tipo "C subito!", "Impara C presto e bene", e in generale i manuali letti da chi vuole imparare a programmare e in cui i concetti vengono spiegati in maniera discorsiva. Tale spiegazione va bene (spesso) per un essere umano, ma non certo per una macchina, o comunque per un operatore non intelligente che deve eseguire il calcolo.

2) Definire un linguaggio matematicamente è garanzia di precisione. E' chiaro che nessuno desidera usare un linguaggio senza che i suoi costrutti e il suo significato siano stato definiti in maniera formale, astratta e rigorosa. Le spiegazione non rigorose di C, lasciano dei dubbi e delle domande e delle ambiguità cui molti non sanno dare risposta. Una definizione matematica di un linguaggio è così precisa che l'esecuzione di un qualsiasi programma diventa una prova di un teorema e un programma qualsiasi può essere eseguito con carta e penna da un essere umano. Cioè, l'esistenza o meno di una scatola piena di silicio diventa poco interessante.

3) Solo attraverso una definizione matematica del linguaggio si possono provare poi teoremi sul linguaggio, e quindi indagare matematicamente il linguaggio stesso. Questo è un punto davvero fondamentale. Perché dovrebbe essere così importante provare teoremi sul linguaggio? Una delle tante risposte a questa domanda è ad esempio: "l'esigenza di correttezza". Per molti questo è uno dei problemi più urgenti dell'informatica. Definendo formalmente un linguaggio si possono poi formulare e dimostrare teoremi del tipo: "tale programma calcola in modo corretto la funzione f". Programmi liberi da errori!

4) I linguaggi funzionali, tipo il lambda calcolo, vengono addirittura definiti utilizzando spazi di funzioni continue da reticoli completi in reticoli completi. Quando vedi simili definizioni topologiche, e chiaro che capisci che effettivamente stai facendo matematica. Tali definizioni danno una giustificazione matematica al concetto di "ricorsione", essenziale per un informatico.

Inoltre vorrei aggiungere che non c'è distinzione fra algoritmo e codice in un linguaggio. Ti spiego perché. La definizione matematica di algoritmo universalmente accettata è: un algoritmo è un programma scritto per una macchina di Turing. Inoltre i linguaggi che si usano per la programmazione, equivalgono alle macchine di Turing, nel senso che una funzione è calcolabile tramite un programma di un qualsiasi linguaggio "potente" se e solo se è calcolabile anche da una macchina di Turing. Ne segue che si definisce equivalentemente il concetto di algoritmo come un programma scritto in C, Java, ecc.


daniele-gnudi ha scritto:io personalmente non ritengo l'informatica piu' facile della matematica.



Io sì, avendo esperienza con tutte e due. Ad ogni modo ho solo espresso un opinione personale, non volevo rispondere a tue affermazioni. Ma ho spiegato che tale facilità media si riferisce ad una contingenza storica. Ci sono aree dell'informatica sofisticate e difficili, quali ad esempio "la complessità computazionale", alla quale appartiene uno dei sette problemi matematici del millennio: P vs NP.


daniele-gnudi ha scritto:Ti faccio presente che pero' in quelle aree che dici tu, ci lavorano spesso matematici e non "informatici che di fatto sono matematici"...



E questo conferma in pieno l'indistinguibilità dell'informatica dalla matematica. Un matematico lavora in certe aree del'informatica come lavorerebbe in teoria dei numeri o topologia. Di fatto sono proprio i matematici che hanno inventato e sviluppato l'informatica. Turing, Godel, von Neumann, Church, e poi Scott e così via..

Io considero la matematica come una scienza indipendente dalla realtà fisica (anche se spesso si ispira ad essa), e che procede con definizioni formali, teoremi, dimostrazioni logiche. Così procede anche l'informatica, che è dunque matematica. Del resto perché considerare la geometria o la teoria di Galois "matematica", e non l'informatica? Tutte queste procedono in maniera astratta e formale.

Ciò che non è un ramo della matematica, ma una scienza a sè stante, e invece l'applicazione dell'informatica alla vita reale. Io credo che tu ti riferisca a tale applicazione. Naturalmente l'informatica per poter essere applicata alla vita di tutti i giorni, necessita di sporcarsi le mani con la realtà. Quindi se un vuole un programma funzionante deve conoscere perfettamente l'architettura di un calcolatore, i registri, e diavolerie varie, deve interfacciarsi con l'elettronica e la fisica, altrimenti l'informatica resterebbe una teoria matematica senza applicazione. Questi però sono problemi da ingegneri informatici, e non da informatici, e per questo l'informatica rimane un ramo della matematica. Ti assicuro che io dei Pc non so una mazza, e a momenti non so nemmeno accendere quelli del laboratorio.

Paradigmatico di questo è la seguente celeberrima storia. Il calcolatore come lo conosciamo oggi è nato come un'idea matematica astratta di Turing, e solo successivamente Turing stesso e von Neumann, affrontando problemi di ingegneria, e utilizzando i concetti di Turing, hanno costruito i primi calcolatori reali.

Spero che sia chiaro il mio discorso. In ogni caso, il fatto che l'informatica sia matematica uno non può saperlo se non la studia completamente e decentemente. Se per informatica uno intende la sua applicazione pratica, questa è un'altra storia, e i questo caso c'è senza dubbio un'intersezione con l'ingegneria e la fisica.
[i]La Realtà non si capisce, alla Realtà ci si abitua[/i]
fields
Senior Member
Senior Member
 
Messaggio: 583 di 1717
Iscritto il: 20/07/2006, 15:32
Località: Wien

Messaggioda daniele-gnudi » 15/04/2007, 12:59

fields ha scritto:Spero che sia chiaro il mio discorso. In ogni caso, il fatto che l'informatica sia matematica uno non può saperlo se non la studia completamente e decentemente. Se per informatica uno intende la sua applicazione pratica, questa è un'altra storia, e i questo caso c'è senza dubbio un'intersezione con l'ingegneria e la fisica.

Il tuo discorso e' molto chiaro e ora che hai spiegato meglio cosa intendevi, condivido il tuo discorso.
Probabilmente la mia visione poco chiara dell'informatica come ramo della matematica deriva proprio dalla mancanza di chiarezza che routa attorno al mondo dell'informatica e dalle tante applicazioni pratiche di cui la stessa e' protagonista, che porta a farsi un'idea dell'informatica che non e' del tutto corretta.
Ora che hai definito la differenza tra "informatica teorica" e quella applicata, mi e' piu' chiara la questione.

grazie ancora del tuo chiarimento

ciao!
Avatar utente
daniele-gnudi
New Member
New Member
 
Messaggio: 35 di 68
Iscritto il: 08/01/2007, 21:45
Località: Bologna

Messaggioda fields » 15/04/2007, 14:31

daniele-gnudi ha scritto:grazie ancora del tuo chiarimento


Di nulla.

In ogni caso a contribuire alla tua visione dell'informatica può anche essere stata la tua esperienza personale, purtroppo ancora oggi troppo ricorrente. A questo proposito quoto vl4d

vl4d ha scritto:come purtroppo non meritano di essere commentati gli orientamenti di chi gestisce certi CdL di informatica che trasformano una disciplina con una dignita' pari a quella della matematica pura in un'inutile corso atto a sfornare pigia tasti ignoranti.


Per concludere

daniele-gnudi ha scritto:io ho voluto cambiare corso perche' mi sono reso conto che e' stata una scelta sbagliata dar retta proprio a persone che sostengono come il cdl in informatica abbia cmq sufficiente matematica da essere una scelta valida anche per chi vorrebbe fare matematica ma ama anche l'informatica.


Su questo credo tu abbia ragione: anche per me uno che ama la matematica non ne troverà una quantità sufficiente ad informatica. Io infatti mi sono fatto un bel mazzo a studiare per conto mio matematica più avanzata rispetto a quella che si trova normalmente ad informatica. E questo in effetti mi è servito per sviluppare capacità che molti miei colleghi non hanno, non avendo sufficiente esperienza con della matematica sofisticata. E non dubito che tale esperienza mi permetterà di dare dei buoni contributi all'informatica. Proprio come la teoria dei numeri ha ottenuto grandi risultati grazie al dialogo con altri rami della matematica, ad esempio algebra astratta, analisi e geometria, allo stesso modo sono convinto che ciò avvenga anche con l'informatica.
[i]La Realtà non si capisce, alla Realtà ci si abitua[/i]
fields
Senior Member
Senior Member
 
Messaggio: 584 di 1717
Iscritto il: 20/07/2006, 15:32
Località: Wien

Messaggioda daniele-gnudi » 15/04/2007, 14:41

fields ha scritto:In ogni caso a contribuire alla tua visione dell'informatica può anche essere stata la tua esperienza personale, purtroppo ancora oggi troppo ricorrente. A questo proposito quoto vl4d

vl4d ha scritto:come purtroppo non meritano di essere commentati gli orientamenti di chi gestisce certi CdL di informatica che trasformano una disciplina con una dignita' pari a quella della matematica pura in un'inutile corso atto a sfornare pigia tasti ignoranti.


non e' stata la mia esperienza negativa a farmi trarre certe conclusioni, ed il motivo e' semplice: io non mi sono trovato bene, ma non e' detto che gli altri abbiano colto cosi' poco come me.
La mia esperienza non e' un'indicatore universale, e infatti mi sono reso conto che oltretutto l'informatica vera nemmeno mi piace realmente. E' ovvio che uno come me si sia trovato male...
Questo non e' per fare l'avvocato del diavolo, assolutamente.
Semplicemente non voglio farmi portavoce di critiche e calunnie ad un dipartimento di un'universita' dello stato, visto che mi mancano esperienza e competenze necessarie.

ciao
Avatar utente
daniele-gnudi
New Member
New Member
 
Messaggio: 36 di 68
Iscritto il: 08/01/2007, 21:45
Località: Bologna

Messaggioda lore » 28/04/2007, 18:35

Su questo credo tu abbia ragione: anche per me uno che ama la matematica non ne troverà una quantità sufficiente ad informatica. Io infatti mi sono fatto un bel mazzo a studiare per conto mio matematica più avanzata rispetto a quella che si trova normalmente ad informatica. E questo in effetti mi è servito per sviluppare capacità che molti miei colleghi non hanno, non avendo sufficiente esperienza con della matematica sofisticata. E non dubito che tale esperienza mi permetterà di dare dei buoni contributi all'informatica. Proprio come la teoria dei numeri ha ottenuto grandi risultati grazie al dialogo con altri rami della matematica, ad esempio algebra astratta, analisi e geometria, allo stesso modo sono convinto che ciò avvenga anche con l'informatica.


In effetti, il corso di informatica include, nelle lauree specialistiche, la possibilità di scelta di diversi ampliamenti matematici.

Il fatto che l'informatica sia, in un certo senso, un ramo della matematica sostanzialmente è vero, ma mentre il matematico passerà il tempo a ragionare su entità astratte e su modelli, l'informatico avrà la sua bella dose di "smanettamento" per le applicazioni dei modelli stessi. Questa è una parte, a mio avviso, molto divertente, e che fa la differenza tra appassionati di informatica e non. A meno che l'informatico non studi a livello squisitamente teorico.

Per il fatto che l'informatica sia meno sofisticata della matematica, non mi sento in grado di dire nulla di definitivo al momento. Per quanto riguarda grammatiche e affini è fuor di dubbio, ma d'altro canto c'è la parte di Calcolo Numerico e quella riguardante la sicurezza e le reti distribuite che sembra arrivare a un certo livello di complessità. Poi ripeto, paragoni non ne posso fare e probabilmente ha ragione fields.

Insomma, un buon criterio per la scelta è chiedersi: sono abbastanza smanettone :-) ?
There exists... an entire world which is the totality of mathematical truths... just as a world of physical reality exists, the one like the other independent of ourselves, both of divine creation. (C. Hermite)

Chiunque smetta di imparare è vecchio, che abbia 20 o 80 anni. (H. Ford)
lore
Senior Member
Senior Member
 
Messaggio: 870 di 1118
Iscritto il: 15/03/2006, 19:28

Precedente

Torna a Orientamento Universitario

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite