View Full Version : Programmare da 0
Quali requisiti servono per diventare programmatore e iniziare a imparare linguaggi?
A che pro poi tutto questo?
Spero mi rispondiate, sono molto ansioso di saperlo :)
1) Quali requisiti servono per diventare programmatore e iniziare a imparare linguaggi?
2) A che pro poi tutto questo?
Spero mi rispondiate, sono molto ansioso di saperlo :)
1) Basi di aritmetica, algebra e logica principalmente (più matematica conosci e meglio è).
2) Consentire di scrivere programmi che siano in grado di risolvere problemi (che tu stesso o qualcun altro ha prima risolto) :p.
Conoscere un linguaggio di per se comunque non implica saper risolvere dei problemi o arrivare alla soluzione di un problema già noto, cosa per la quale servono anni di studio e di esperienza.
1) Basi di aritmetica, algebra e logica principalmente (più matematica conosci e meglio è).
2) Consentire di scrivere programmi che siano in grado di risolvere problemi (che tu stesso o qualcun altro ha prima risolto) :p.
Conoscere un linguaggio di per se comunque non implica saper risolvere dei problemi o arrivare alla soluzione di un problema già noto, cosa per la quale servono anni di studio e di esperienza.
E senza molte conoscenze in matematica è impossibile imparare?
E senza molte conoscenze in matematica è impossibile imparare?
Aritmetica, algebra e logica secondo me sono indispensabili, il resto è un di più che non fa certo male conoscere.
Aritmetica, algebra e logica secondo me sono indispensabili, il resto è un di più che non fa certo male conoscere.
Si ma dico, se uno va un po' male in aritmetica e algebra cosa deve fare? non può provarci?
Si ma dico, se uno va un po' male in aritmetica e algebra cosa deve fare? non può provarci?
Si può provare a fare tutto, ma un buon programmatore non può prescindere affatto dall'algebra e dalla logica (soprattutto quest'ultima), secondo me.
Ciò comunque non significa che non puoi iniziare ad imparare la programmazione, ma semplicemente che su alcune cose potresti trovarti maggiormente in difficoltà se non hai appreso alcune basi, ma di questo te ne renderai conto da solo nel momento in cui ti ci trovi :D.
Il pro è che programmare un pc è tra le cose più divertenti che si possano fare.
E per accedere al divertimento non ti serve più matematica o logica di quante ne occorra per fare la spesa al supermercato.
L'unico problema è che prima del sollazzo c'è una lunga fase di agonia perchè ci sono tanti meccanismi di cui occorre essere consapevoli, anche se non devi necessariamente conoscerne il funzionamento. Un po' come guidare: non devi essere in grado di costruirti la macchina ma devi essere consapevole che se l'auto non va può darsi che manchi la benzina.
Comunque bastano parecchia applicazione e abbondante perseveranza.
Quali requisiti servono per diventare programmatore e iniziare a imparare linguaggi?
A che pro poi tutto questo?
Spero mi rispondiate, sono molto ansioso di saperlo :)
Potrei rispondere un sacco di cose fighe, ma la dura verità è che l'unico requisito è un sacco di tempo da perdere :asd:
Tutto un'altro discorso è diventare un bravo programmatore.
Cioè uno che non fa i capricci?
Cioè uno che non fa i capricci?
No, uno che sa quello che sta facendo e non gli vengono le cose per caso :asd: .
Purtroppo all'università ne ho visti tanti di personaggi che al 3° anno di corso non sanno ancora leggere il codice (mi chiedo come ci siano arrivati) :(.
Per questo dico che il ragionamento logico dovrebbe stare alla base di tutto.
Uno che non riesce a ragionare con la propria testa non può fare il programmatore, figurarsi l'ingegnere.
L'algebra e la logica ti danno una forma-mentis molto rigorosa in tal senso, un modo di ragionare e affrontare i problemi con cognizione di causa.
Purtroppo si tende a sottovalutare la matematica e a pensare che serva solo per "calcolare il resto", ma il punto è che ti insegna un certo tipo di ragionamento, spesso utile nella risoluzione dei problemi.
Io penso che si possa iniziare tranquillamente senza alcuna base, a parte il minimo umanamente noto, perchè l'esigenza di conoscere alcune cose di logica e affini sorge da sè, quando si inizia ad osare un po' di più.
A quel punto hai il problema pratico e cerchi la soluzione logica, matematica, geometrica o filosofica che ti serve.
Credo che la programmazione sia talmente interdisciplinare che l'apprendimento di altre materie - tra cui quelle citate - venga da sè.
Io penso che si possa iniziare tranquillamente senza alcuna base, a parte il minimo umanamente noto, perchè l'esigenza di conoscere alcune cose di logica e affini sorge da sè, quando si inizia ad osare un po' di più.
A quel punto hai il problema pratico e cerchi la soluzione logica, matematica, geometrica o filosofica che ti serve.
Credo che la programmazione sia talmente interdisciplinare che l'apprendimento di altre materie - tra cui quelle citate - venga da sè.
Le basi sono tali per definizione, non è un caso che quantomeno l'aritmetica di base e l'algebra di base sono pre-requisiti dei corsi di informatica nelle università.
Parallelamente spesso il primo anno si fa un esame di algebra e logica.
E' chiaro che non devi essere Einstein per iniziare ad imparare a programmare, io ho cominciato da quand'ero piccolo scrivendo programmi in BASIC sullo Spectrum ZX... però è bene sapere quali siano i pre-requisiti e io gliel'ho detti.
Anche perché tutto ciò che si fa in fase di apprendimento sarà utile in futuro.
Per cui gli dico, puoi imparare a programmare, ma se hai una passione per l'informatica e vorresti magari farlo anche per mestiere, non sottovalutare la matematica, non credere che sia secondaria, tutto qui.
Mi potreste linkare cosa devo imparare da 0 cosi ci provo almeno, e soprattutto che cosa devo avere installato sul pc?
ingframin
12-05-2011, 07:34
http://www.python.it
Ti scarichi l'installer per windows/linux/mac o per quello che hai... :cool:
http://web.econ.unito.it/terna/infsimeco/howtothink_ita.pdf
Ti scarichi questo libro che e' free :read:
Buon divertimento :D
http://www.python.it
Ti scarichi l'installer per windows/linux/mac o per quello che hai... :cool:
http://web.econ.unito.it/terna/infsimeco/howtothink_ita.pdf
Ti scarichi questo libro che e' free :read:
Buon divertimento :D
Secondo te ci impiego poco, combinerò qualcosa e se si l'inizio cosa mi può fruttare a livello cognitivo?
Io credo che piuttosto che continuare a farti domande, dovresti provare :D.
Io credo che piuttosto che continuare a farti domande, dovresti provare :D.
Si scusa se insisto, ma vorrei capire cosa mi può dare all'inizio se capisco la base. :D
Devi imparare la logica formale, cioè la teoria delle proposizioni composte e dei predicati e dei connettivi logici che, a partire da proposizioni elementari, ti permette di costruirne di complessi.
Ogni linguaggio di programmazione imperativo descrive col proprio "dialetto" proposizioni e costrutti di questo tipo.
Il passo immediatamente successivo è quello di formarti la mentalità da modellatore/risolutore di problemi, facendo molti esercizi ad esempio in pseudocodice.
Infine, in base alla tua predisposizione o gusti o finalità, scegli un linguaggio e studiane la sintassi, facendo in contemporanea esercizi.
ingframin
12-05-2011, 09:44
Secondo te ci impiego poco, combinerò qualcosa e se si l'inizio cosa mi può fruttare a livello cognitivo?
Quanto impieghi dipende da te e da quanto tempo hai da spenderci su.
Combinerai qualcosa se ti impegnerai nella lettura e negli esercizi, altrimenti perderai tempo.
A livello cognitivo non saprei... diciamo che sfondi il muro che ti separa
dal dietro le quinte dell'informatica e ti avvantaggia per l'universita'.
Devi imparare la logica formale, cioè la teoria delle proposizioni composte e dei predicati e dei connettivi logici che, a partire da proposizioni elementari, ti permette di costruirne di complessi.
Ogni linguaggio di programmazione imperativo descrive col proprio "dialetto" proposizioni e costrutti di questo tipo.
Il passo immediatamente successivo è quello di formarti la mentalità da modellatore/risolutore di problemi, facendo molti esercizi ad esempio in pseudocodice.
Se avessi dovuto fare tutte queste cose prima di programmare ancora manco sarei arrivato ad accendere il pc...
Sono cose avanzate che si studiano all'universita', lascia che il pargolo giochi e provi il piacere di vedere i suoi programmi che girano.
Avra' molto tempo dopo per correggere eventuali vizi che potrebbe acquisire ora.
E poi parliamoci chiaro... nel mondo del lavoro importa che un programma funzioni, non che sia formalmente perfetto.
E' inutile ammorbarsi da subito con cose iper teoriche.
La programmazione e' una forma d'arte, dipende dall'estro e dalla fantasia del programmatore che modella la sua creazione in base al proprio gusto.
Col tuo approccio ad un apprendista musicista prima del solfeggio faresti studiare la teoria delle onde, l'armonia, la composizione senza che lui sappia effettivamente emettere una nota XD
Formalemente perfetto ma dal punto di vista didattico non funziona!
Se avessi dovuto fare tutte queste cose prima di programmare ancora manco sarei arrivato ad accendere il pc...
Sono cose avanzate che si studiano all'universita', lascia che il pargolo giochi e provi il piacere di vedere i suoi programmi che girano.
Avra' molto tempo dopo per correggere eventuali vizi che potrebbe acquisire ora.
E poi parliamoci chiaro... nel mondo del lavoro importa che un programma funzioni, non che sia formalmente perfetto.
E' inutile ammorbarsi da subito con cose iper teoriche.
La programmazione e' una forma d'arte, dipende dall'estro e dalla fantasia del programmatore che modella la sua creazione in base al proprio gusto.
Col tuo approccio ad un apprendista musicista prima del solfeggio faresti studiare la teoria delle onde, l'armonia, la composizione senza che lui sappia effettivamente emettere una nota XD
Formalemente perfetto ma dal punto di vista didattico non funziona!
D'accordissimo con te, ma siccome il pargolo INSISTE nel voler sapere cosa gli servirebbe invece di buttarsi e lasciare che sia l'esperienza sul campo a guidare la formazione (approccio bottom-up), allora gli ho fatto la lista della spesa, così magari ottiene ciò che vuole da questo post.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.