La matematica è necessaria per lo sviluppo di app per cellulari?
La maggior parte dei lavori di sviluppo di software per computer richiedono lauree in informatica o ingegneria del software. Questi programmi hanno significativi requisiti matematici che includono una sequenza di calcolo, equazioni differenziali e algebra lineare. È richiesta anche una sequenza di fisica.
Penso che dipenda dal tipo di programmazione che vuoi fare. Per quanto riguarda l'essere un programmatore nel mondo degli affari, direi che la risposta è no. Si può diventare un grande programmatore senza conoscere la matematica avanzata. Quando si finisce per avere a che fare con la matematica, le formule sono di solito definite nei requisiti di business così diventa solo una questione di implementazione nel codice.
Sul rovescio della medaglia, se si vuole diventare un programmatore di basso livello o creare motori grafici 3D, la matematica giocherà un ruolo enorme.
Io vado controcorrente e dico sì, è necessaria una mentalità matematica. La maggior parte delle persone pensa alla matematica come fare aritmetica o memorizzare formule arcane. Questo è come chiedere se hai bisogno di un'ortografia perfetta o di un vocabolario straordinario per essere un buon scrittore.
Scrivere riguarda la comunicazione, e la matematica/programmazione riguarda il processo di pensiero chiaro e logico (in un modo in cui non puoi fare errori; l'equazione non si bilancia, o il programma non si compila). In particolare, il pensiero logico si manifesta in:
- Capacità di stimare/capire le differenze tra i numeri: O(n^2) vs O(lg(n)), senso intuitivo di KB vs MB vs GB, quanto è lento il disco rispetto alla RAM. Se non vi rendete conto di quanto sia piccolo un KB rispetto a un GB, perderete tempo a ottimizzare cose che non contano.
- Funzioni / programmazione funzionale (è una coincidenza che l'equazione f(x) = x^2 sia così simile a come si scrive quel metodo? Le parole "algoritmo" e "funzione" esistevano nel mondo della matematica molto prima che nascesse il primo computer :-))
- Algebra di base per creare e riordinare le proprie equazioni, fare le medie, statistiche di base
Quindi, direi che avete bisogno di una mentalità matematica, essendo in grado di costruire e manipolare modelli mentali di ciò che il vostro programma sta facendo, piuttosto che una collezione di fatti e teoremi. Alcuni campi come la grafica o i database avranno anche alcuni fatti di cui avrete bisogno, ma per me questo non è l'essenza dell'essere "bravi in matematica".