Newsgroup: it.scienza.informatica
Titolo: Dilemma

Ciao!
Ho letto le vostre risposte, ma tuttavia non mi hanno convinto
poi più di tanto...a quanto pare tanta teoria pare serva pertanto
solo per incrementare il proprio bagaglio culturale.
In effetti, devo dire che in altre materie come elettronica oppure
automatica, il legame teoria-pratica è abbastanza evidente....ma
la stessa cosa non la vedo con l'informatica.
Recentemente, mi è capitato il problema di dover resettare via
software il computer. Ora, nonostante tutte le teorie matematiche,
ho faticato non poco a trovare tutte quelle informazioni che mi
servivano. Ora sono arrivato a determinare ben 3 diversi modi per
resettare via software, di cui uno proprio di bassissimo livello
e credo che sia addirittura dipendente proprio dal tipo di scheda
madre (anche perchè funziona con il mio minitower, ma non funziona 
con il mio  portatile ).
Vedo quindi che serve proprio una certa dose di pratica più che di
teoria per arrivare a far girare "certi" programmi, come scrivere
un driver che ad esempio gestisce il mouse oppure un programma per
la gestione dello scrolling in parallasse oppure per la gestione
delle animazioni in 3D.
Inoltre, devo dire che mai mi si è presentato nel momento in cui
scrivevo un programma di dover determinare se fosse N-P completo,
oppure fosse O(n^2) ecc... 
Per carità, sicuramente più uno ne sa di cose meglio è, però se
oltre a queste cose si facesse anche un pò di pratica, direi che
non sarebbe male, no?
Ripeto: a me in informatica, pare proprio che ci sia una certa
lontananza tra teoria e pratica...anche se ho visto che però così
non è per altre materie come elettronica, dove appunto uno studia
direttamente sui circuiti elettrici...e non si studiano su altre
cose...ed è chiaro che passare dallo schema elettrico al corrispon-
dente circuito elettronico realizzato fisicamente c'è ben poca
differenza...ma tra imparare la teoria dei sistemi operativi e
progettare realmente un sistema operativo...mah...mi pare che
ci sia un "leggero" abisso...Voi non trovate?
Con simpatia,
Paolo
p.pa...@agonet.it
 
--
Posted from 
ro...@mago.agonet.it
 [195.32.124.10]
via Mailgate.ORG Server - 
http://www.mailgate.org


Ciao (e buon 1999)
Giorgio.



Devo dire che le risposte sono state piu' che esaurienti e mi meraviglio
del fatto che tu non ne sia convinto... il messaggio e' chiaro, se certe
cose non le sai certe altre non le fati (vi prego, concedetemi la rima
!!!).

Insomma:

- se vuoi progettare un SO NON PUOI IGNORARE problematiche relative
allo scheduling alla gestione ottimale di risorse e altre cose del genere,
scusa la domanda, ma conosci forse qualche persona che realizza SO che
puoi affermare con tanta sicurezza che tra progettare SOs e studiarne la
teoria c'e' un abisso?

- se vuoi scrivere un programma 3D  allora ti serve un sacco di
matematica e ti assicuro che sapere se l'algoritmo e' O(n^2) o O(log n)
diventa essenziale (pensa un po alla differenza che passa fra aspettare
una manciata di secondi per un rendering e aspettare una manciata di minuti!)

-se vuoi progettare una base di dati (piu' grande di quella che serve
al panettiere sotto casa) DEVI sapere come gli ottimizzatori del tuo server
trattano le interrogazioni SQL e dietro c'e' una cosa che si chiama algebra
relazionale

- se vuoi ottimizzare le prestazioni di un sistema parallelo DEVI avere
ottime conoscenze teoriche, non solo informatiche, ma anche statistiche
e matematiche ins enso lato

- giusto per informazione, alla Intel stanno cercando esperti di metodi
formali (una delle materia piu' teoriche dell'informatica) per progettare
processori... ti sembra poco?

potrei continuare per paginate intere, il punto pero' e' che troppo
spesso si confonde l'informatica con la scrittura (nota, ne progettazione,
ne implementazione, perche' sono tre cose diverse) di un programma gestionale
in Delphi, oppure con la configurazione di un server Proxy, oppure ancora
con la capacita' di sfruttare le caratteristiche di una scheda madre per
resettare un PC via modem... ma sapere guidare una macchina significa essere
esperti di meccanica, elettronica, ergonomica, chimica, e chi piu' ne ha
piu' ne metta? A me sembra che basti provare e riprovare fino a che anche
la partenze in salita non risultano facili.

 

Insomma, spero di averti aiutato a fugare qualche dubbio.

Ricambio la tua simpatia :)

--

Simone Semprini
University of Pisa
Computer Sciences Dept.

 


...
    Devo dire che le risposte sono state piu' che esaurienti e mi meraviglio
del fatto che tu non ne sia convinto... il messaggio e' chiaro, se certe
cose non le sai certe altre non le fati (vi prego, concedetemi la rima !!!).
    Insomma:
    -- se vuoi scrivere un programma 3D  allora ti serve un sacco di
matematica e ti assicuro che sapere se l'algoritmo e' O(n^2) o O(log n)
diventa essenziale (pensa un po alla differenza che passa fra aspettare una
manciata di secondi per un rendering e aspettare una manciata di minuti!)
    Solo che questa a casa mia si chiama OTTIMIZZAZIONE non certo conoscenza
avanzata della matematica! ; )
    - se vuoi ottimizzare le prestazioni di un sistema parallelo DEVI avere
ottime conoscenze teoriche, non solo informatiche, ma anche statistiche e
matematiche ins enso lato
    Statistiche? E per cosa? Per sapere percentualmente di quanto vai più
veloce? ;) Io di statistica non ne so granchè eppure ti assicuro che di
ottimizzazioni ne riesco a fare a bizzeffe! Il fatto è ragazzi(e ragazze
anche se non sicuro qua nun ce ne sono!) che è giusta la teoria ma se
considerata come insegnamento PARALLELO(e non precedente o posteriore) ad
una pratica estenuante e continua
    - giusto per informazione, alla Intel stanno cercando esperti di metodi
formali (una delle materia piu' teoriche dell'informatica) per progettare
processori... ti sembra poco?
    Vero!Ed infatti la Intel in fatto di processori si sta prendendo una
cantonata dietro l'altra! ;)
    Impariamo a non considerare sempre giuste le scelte di case blasonate ma
ad avere una nostra precisa opinione, giutificandola "solo" con i nostri
mezzi!
    potrei continuare per paginate intere, il punto pero' e' che troppo
spesso si confonde l'informatica con la scrittura (nota, ne progettazione,
ne implementazione, perche' sono tre cose diverse) di un programma
gestionale in Delphi, oppure con la configurazione di un server Proxy,
oppure ancora con la capacita' di sfruttare le caratteristiche di una scheda
madre per resettare un PC via modem... ma sapere guidare una macchina
significa essere esperti di meccanica, elettronica, ergonomica, chimica, e
chi piu' ne ha piu' ne metta? A me sembra che basti provare e riprovare fino
a che anche la partenze in salita non risultano facili.
    Giusto!!!!
    Salutissimi,
    Riccardo
    3d graphics coder

ci sia un "leggero" abisso...Voi non trovate?
Scusa ma non trovo.
Beh, per la cronaca, proprio in base alle conoscenze teoriche si puo`
affermare che con i circuiti logici puoi risolvere una classe di problemi
piu` piccola rispetto alla classe di problemi risolvibile con un linguaggio
ricorsivo (scusate l'affermazione un po' approssimativa).
Max