Newsgroup: it.comp.programmare
Titolo: ma per programmare

serve davvero conoscere l'algebra lineare?
le matrici servono davvero nella programmazione?

 le matrici servono davvero nella programmazione?
 
Sì. Davvero.
 
Puoi farne a meno se per programmazione intendi: contabilità di 
un'azienda, inventari di magazzino, portali web, giochini come la 
battaglia navale, ecc.
 
Se, però, volessi lavorare con grafica (2d o 3d fa poca differenza) o 
modelli matematici più o meno complessi, allora ti danno una mano non 
indifferente.
 
PSK
 

 le matrici servono davvero nella programmazione?
 
Riposta stupida:
Se programmi un clone di pacman magari no (anche se non ne sono sicuro), se
programmi un simulatore di particelle magari devi conoscere anche la meccanica
quantistica.
 
Risposta un po' più sensata:
L'algebra lineare è una delle basi matematiche indispensabili per affrontare
argomenti che in programmazione sono fondamentali, quindi ti direi che, anche
se il suo studio fine a se stesso potrebbe sembrare superfluo, chiunque scrive
software la conosce.
 
Ciao!

 le matrici servono davvero nella programmazione?
 
No.
Serve solamente se il problema che devi risolvere con il computer è un 
problema di algebra lineare, e questo succede molto raramente, cioè a 
pochi programmatori.
 
-- 
 
Carlo Milanesi
http://carlomilanesi.wordpress.com/
 


serve anche analisi matematica I e anche la II?e fisica?
secondo te posso imparare da solo o devo per forza fare l'uni?
 


Conoscere la matematica serve, a prescindere. Anche solo per sapere come 
progettare un algoritmo, invece che appoggiarsi semplicemente alla 
letteratura classica, o per poter avere un occhio critico su vari 
linguaggi/paradigmi e altro invece che andare sulle buzzword del momento.
 
Il bello, e il brutto, della matematica è che è astratta. Di suo non 
serve a nulla, ma può essere applicata a un'infinità di cose.
Anche solo per imparare una forma mentale per partire dal problema e 
ottenere la soluzione.
 
Io ho frequentato l'università e ne ho tratto vantaggio.
Imparare da solo è possibile (un bel po' duro).
 
L'algebra è un po' come la grammatica per il linguaggio.
Se non studi la grammatica puoi comunque leggere e scrivere, ma non puoi 
pretendere di scrivere i Promessi Sposi.
 
D'altra parte, se ti interessa scrivere solo la lista della spesa e non 
la Divina Commedia, sbagliare un apostrofo o mettere una doppia 
preposizione o fare anche qualche errore di ortografia non impedisce di 
comperare il latte o le uova.
 
Luca

 pochi programmatori.
 
Saper impostare un sistema algebrico aiuta anche se non devi risolvere un 
problema di algebra lineare.
Un qualsiasi programma di elaborazione dati implementa un'algebra.
Conoscere (non dico dominare, è sufficiente conoscere) i concetti 
dell'algebra permettono di impostare un sistema dove il risultato non 
viene ottenuto con una manciata di if/then aggiunti a caso e rimpinguati 
ogni volta che si trova un buco.
 
È importante sapere anche come progettare un algoritmo, invece che 
appoggiarsi solamente alla letteratura classica e combinare un po' di cose 
a caso. Si ottiene comunque il risultato, ma in un caso si arriva a 
qualcosa di snello, veloce, efficente, e manutenibile nell'altro qualcosa 
che raggiunge semplicemente il risultato e che va probabilmente buttato 
la prima volta che ci devi rimettere le mani.
 
Poi ovviamente, se il programma che si vuole scrivere deve far volare lo 
shuttle, allora diventa condizione necessaria.
Per fare un inserimento di dati in un db in maniera becera, allora se ne 
può fare a meno.
 
Luca

 
 
Ma scherziamo davvero?
Senza algebra lineare molto probabilmente non conosci gli algoritmi di base o
come si calcola la loro complessità, le basi della programmazione lineare, dei
linguaggi formali, del networking.. oddio qualsiasi cosa mi può venire in
mente la usa o usa matematica che suppone la sua conoscenza. Che diavolo sa
fare uno che l'ha studiata? Accendere il PC, forse. E' come non conoscere le
frazioni, dio mio.
Uno che, in queste condizioni, dice di essere un programmatore, è come uno che
guarda su internet come costruire una bacheca di compensato e dice di essere
un ingegnere civile.
 
Bah.
Ciao!

 secondo te posso imparare da solo o devo per forza fare l'uni?
 
Puoi imparare da solo, ma è molto più difficile. Se ne hai la possibilità, fai
l'università (fa pure rima).
Io personalmente, l'università non l'ho finita (per necessità ho iniziato a
lavorare prima ripromettendomi di finirla, cosa che alcuni riescono a fare,
io non ne sono stato capace) e ti posso garantire che la differenza di
apprendimento tra studiare da solo e seguire una lezione è immensa.
 
Ciao!

 un ingegnere civile.
 
Non scherzo affatto!
Non vedo la relazione tra l'algebra lineare e gli "algoritmi di base". 
Nei testi di introduzione alla programmazione non si parla mai di 
algebra lineare (e neanche di algebra in generale).
Il calcolo della complessita' di un algoritmo non richiede alcun tipo di 
algebra, a meno che l'algoritmo risolva un problema di algebra.
D'accordo la programmazione lineare e l'ottimizzazione matematica in 
generale richiedono conoscenze di algebra, ma sono convinto, per la mia 
esperienza, che la stragrande maggioranza dei programmatori non si 
occupi di algoritmi di ottimizzazione matematica. (Dico "ottimizzazione 
matematica" per distinguerla dall'ottimizzazione degli algoritmi).
Il formalismo dei linguaggi formali e' manipolato da pochissimi 
programmatori e comunque e' un settore diverso dell'algebra, sono i 
monoidi associativi, non gli spazi vettoriali.
Non conosco gli aspetti teorici del networking per dire se serva 
l'algebra lineare, ma posso dire che sono pochi i programmatori che 
studiano gli aspetti teorici del networking.
Penso che tu stia pensando ai ricercatori di informatica, mentre io sto 
pensando agli impiegati in Centri Elaborazione Dati aziendali e agli 
impiegati in aziende di servizi informatici.


 
 
Allora, no. Così è come la penso.
Io sto parlando di programmatori (io e i miei colleghi attuali, ad esempio,
non siamo ricercatori e magari non siamo neppure tanto bravi, molti non hanno
fatto/finito l'università, ma di sicuro tutti sappiamo, per dire due cose a
caso, lavorare su uno spazio vettoriale, se un problema è NP-completo oppure
dire se un linguaggio formale è di tipo 2 - e questo genere di cose le usiamo
quotidianamente).
Tu evidentemente stai parlando di persone che o 1- lavorano nel campo dell'
informatica, ma non scrivono codice o 2- poveri diavoli che si sono proclamati
programmatori per ottenere un lavoro e fanno del loro meglio col poco che
conoscono.
Il perché l'insieme di persone facenti parte di questa seconda categoria abbia
una cardinalità elevata è da ricercarsi in motivi che andrebbero troppo OT (ma
che tutti noi conosciamo) ma, sinceramente, così come non basta saper fare una
puntura per essere un chirurgo, allo stesso modo non basta saper scrivere una
applicazione per Android per essere un programmatore.
 
Ciao!

 applicazione per Android per essere un programmatore.
 
Questa e' bella! Chi scrive programmi per Android non sarebbe un 
programmatore! E allora come dovremmo chiamarlo?
Comunque le persone della categoria 1 ovviamente non sono programmatori, 
nel senso che non svolgono tale mansione,
e quelli della categoria 2 invece lo sono in quanto svolgono tale 
mansione, avendone i titoli o meno. Infatti, non � obbligatorio avere un 
titolo di studio per fare il programmatore in un'azienda privata o come 
lavoratore autonomo. E' necessario solo per essere assunto da un ente 
pubblico. Comunque la maggior parte dei programmatori ha un titolo di 
studio specifico, che solitamente � perito industriale informatico, o 
ragioniere programmatore, o laureato in informatica, o laureato in 
ingegneria informatica.


 
 
Ti dico solo che descrivi una realtà che chiamarla mediocre è riduttivo.
Potrei e vorrei obiettare su quello che scrivi, ma sarebbe inutile:
evidentemente abbiamo scelto due strade di cui una delle due non è rispettata
(mea culpa) dall'altro.
Semplicemente stai sicuro che, lavorativamente parlando, le nostre strade
probabilmente non si incontranno mai.
 
Ciao!
 
P.S. Easy, se le nostre strade invece si incontreranno spazio-temporalmente
parlando, sarò lieto di offrirti una birra mentre proseguiamo l'argomento! ;-)