PDA

View Full Version : [generico] approccio ad un problema


d_traveler
18-06-2009, 14:42
è da poco più di un anno che studio programmazione, eppure riesco a scrivere solo cretinate, nulla di serio.non riesco a salire di livello, forse il mio problema è il ragionamento.avete qualche consiglio?
magari sbaglio approccio considerando che si sono ragazzini che fanno giochi, scrivono programmi ecc. forse non sono nell'ottica corretta, non so.

PGI-Bis
18-06-2009, 18:55
Se risolvi il problema del ragionamento umano ipotechi al volo un premio nobel.

Ciò premesso per capire perchè "non produci" bisogna vedere a che punto sei. Ad esempio se conosci un linguaggio di programmazione come la proverbiale ave maria, non ti sfugge un dettaglio, sei un super guru eccetera eccetera... non combini un cavolo.

Se alla conoscenza superba della lingua aggiungi un'encomiabile scienza delle principali librerie disponibili fai già un passo avanti e da non combinare nulla arrivi a combinare meno di niente.

La luce si intravede quando dopo aver appreso un linguaggio e le sue librerie inizi a studiare un particolare dominio di problemi. Studio che può essere condotto sia sulla materia in sè sia attraverso l'esame di applicazioni appartenenti a quel dominio.

Ad esempio se vuoi fare un gioco oltre a conoscere una qualche linguaggio e le sue librerie devi anche conoscere il funzionamento di un videogioco: grafica, animazione, suono, interazione.

Se vuoi scrivere un gestionale per un negozio che vende frutta e verdura devi sapere come funziona un fruttivendolo.

E via dicendo.

Il momento in cui uno si siede al PC e inizia a battere le dita sulla tastiera come un forsennato è solo l'ultimo di una serie di stadi che devono essere attraversati affinchè si possa scrivere un software, di qualsiasi genere esso sia.

Insomma, la programmazione non basta per fare software: ti serve anche qualcosa di extra-informatico. Prendi un'applicazione che ti piacerebbe fare e inizia a studiare il dominio dei problemi che quell'applicazione affronta e risolve. Vedrai che alla fine sarai in grado di fare un programma simile.

wisher
18-06-2009, 21:51
è da poco più di un anno che studio programmazione, eppure riesco a scrivere solo cretinate, nulla di serio.non riesco a salire di livello, forse il mio problema è il ragionamento.avete qualche consiglio?
magari sbaglio approccio considerando che si sono ragazzini che fanno giochi, scrivono programmi ecc. forse non sono nell'ottica corretta, non so.
Se fai un esempio di "qualcosa di serio" che hai provato a scrivere ma non sei riuscito a fare penso potremmo darti qualche suggerimento utile.

d_traveler
03-07-2009, 12:24
Se fai un esempio di "qualcosa di serio" che hai provato a scrivere ma non sei riuscito a fare penso potremmo darti qualche suggerimento utile.

ma le solite cretinate iniziali. ad esempio una rubrichetta, un giochino dell'impiccato da console e cose cosi.

shinya
03-07-2009, 12:31
Comincia un tuo progetto!
Io ti consiglio di implementare un linguaggio di programmazione, stando sul piccolo, diciamo meno di 10K righe di codice.
E' un piccolo mondo che racchiude un sacco di cose. Ci metterai del tempo, ma imparerai molto lungo il cammino.

Se vuoi qualche idea, intendo una cosa tipo uno di questi...

http://github.com/doublec/cf/tree/master
http://github.com/why/potion/tree/master
http://github.com/quag/io/tree/master

d_traveler
03-07-2009, 13:25
Comincia un tuo progetto!
Io ti consiglio di implementare un linguaggio di programmazione, stando sul piccolo, diciamo meno di 10K righe di codice.
E' un piccolo mondo che racchiude un sacco di cose. Ci metterai del tempo, ma imparerai molto lungo il cammino.

Se vuoi qualche idea, intendo una cosa tipo uno di questi...

http://github.com/doublec/cf/tree/master
http://github.com/why/potion/tree/master
http://github.com/quag/io/tree/master

cosa? linguaggio di programmazione sul piccolo con 10k righe di codice? ma nemmeno tra due vite ce la farei. ho fatto solo cretinate di 100 righe massimo, come faccio a fare una cosa cosi complessa.

se tu per imparare hai fatto questo sei fuori dal comune

shinya
03-07-2009, 13:42
cosa? linguaggio di programmazione sul piccolo con 10k righe di codice? ma nemmeno tra due vite ce la farei. ho fatto solo cretinate di 100 righe massimo, come faccio a fare una cosa cosi complessa.

se tu per imparare hai fatto questo sei fuori dal comune
No! Non l'ho fatto! Ma il punto è che avere un progetto al quale dedicarsi, che sia questo od altro, che vedi crescere (e mantenere!) e svilupparsi, è un'OTTIMA forma di apprendimento.

E poi non è che vai da 1 a 10K righe di codice da gestire da un momento all'altro. Un compilatore secondo me è un'ottimo progetto al quale dedicarsi perchè c'è un pò di tutto. Ovviamente sto parlando di un compilatore giocattolo per un linguaggio giocattolo, mica del gcc.

d_traveler
03-07-2009, 14:59
quello che dici è vero, però bisogna avere delle basi per fare un compilatore e un linguaggio. dovrei fare una cosa più alla mia portata.

Ikon O'Cluster
03-07-2009, 20:24
Ma guarda io non ho mai fatto niente di serio con la programmazione a parte la tesi triennale (un bootloader) e una tesi specialistica (partecipo all'implementazione di un simulatore per reti LTE). Ho fatto vari progettini, tutti stupidi. Però quello che conta è il concetto. Se tu hai fatto una rubrica può essere interessante criptarla con Open SSL. Impareresti ad usare la libreria. Semmai dovrai studiarti gli algoritmi di cifratura x trovare quello più adatto allo scopo. Oppure se hai scritto una console puoi farla diventare una console remota, in modo da imparare la programmazione socket, le modalità di programmazione di un server, il multithreading, la cifratura... alla fine non devi fare un sistema operativo, basta che ne hai le conoscenze. Io sono quasi un ingegnere informatico, ma non ho ancora fatto niente di pratico... se mi dai il tempo però mi ci metto e sono sicuro di farlo. Il consiglio quindi è quello di studiare, i concetti però e non il linguaggi. Sono tutti bravi a programmare: gli indiani sono delle bombe... però se ti vuoi distinguere la qualità della tua programmazione è fondamentale. Devi conoscere e saper far bene quello che conosci... poi se hai programmato lo shuttle o una calcolatrice programmabile conta poco!

d_traveler
03-07-2009, 21:17
Ma guarda io non ho mai fatto niente di serio con la programmazione a parte la tesi triennale (un bootloader) e una tesi specialistica (partecipo all'implementazione di un simulatore per reti LTE). Ho fatto vari progettini, tutti stupidi. Però quello che conta è il concetto. Se tu hai fatto una rubrica può essere interessante criptarla con Open SSL. Impareresti ad usare la libreria. Semmai dovrai studiarti gli algoritmi di cifratura x trovare quello più adatto allo scopo. Oppure se hai scritto una console puoi farla diventare una console remota, in modo da imparare la programmazione socket, le modalità di programmazione di un server, il multithreading, la cifratura... alla fine non devi fare un sistema operativo, basta che ne hai le conoscenze. Io sono quasi un ingegnere informatico, ma non ho ancora fatto niente di pratico... se mi dai il tempo però mi ci metto e sono sicuro di farlo. Il consiglio quindi è quello di studiare, i concetti però e non il linguaggi. Sono tutti bravi a programmare: gli indiani sono delle bombe... però se ti vuoi distinguere la qualità della tua programmazione è fondamentale. Devi conoscere e saper far bene quello che conosci... poi se hai programmato lo shuttle o una calcolatrice programmabile conta poco!

mhh, interessante. non avevo mai pensato alla situazione da questo punto di vista, però è anche vero che la pratica è fondamentale. infine ho bisogno anche di stimoli, che ultimamente non ho. spero che all'uni avrò gli stimoli adatti

Tommo
03-07-2009, 21:19
Ma guarda io non ho mai fatto niente di serio con la programmazione a parte la tesi triennale (un bootloader) e una tesi specialistica (partecipo all'implementazione di un simulatore per reti LTE). Ho fatto vari progettini, tutti stupidi. Però quello che conta è il concetto. Se tu hai fatto una rubrica può essere interessante criptarla con Open SSL. Impareresti ad usare la libreria. Semmai dovrai studiarti gli algoritmi di cifratura x trovare quello più adatto allo scopo. Oppure se hai scritto una console puoi farla diventare una console remota, in modo da imparare la programmazione socket, le modalità di programmazione di un server, il multithreading, la cifratura... alla fine non devi fare un sistema operativo, basta che ne hai le conoscenze. Io sono quasi un ingegnere informatico, ma non ho ancora fatto niente di pratico... se mi dai il tempo però mi ci metto e sono sicuro di farlo. Il consiglio quindi è quello di studiare, i concetti però e non il linguaggi. Sono tutti bravi a programmare: gli indiani sono delle bombe... però se ti vuoi distinguere la qualità della tua programmazione è fondamentale. Devi conoscere e saper far bene quello che conosci... poi se hai programmato lo shuttle o una calcolatrice programmabile conta poco!

In pratica devi fare il contrario di quello che vorrebbe il buon senso lavorativo: ficcare ogni stupida feature che ti sembra "cool" e perderci le ore a studiartela :D
Io come progetto grosso consiglio un videogioco, copre praticamente tutti gli aspetti dell'informatica, dalla simulazione ai database, dagli input alla grafica 3d alle GUI alla gestione di risorse... ed anche tanti unici, fra cui la creatività.
tant'è che è quasi impossibile farne uno da soli :D

d_traveler
03-07-2009, 22:01
In pratica devi fare il contrario di quello che vorrebbe il buon senso lavorativo: ficcare ogni stupida feature che ti sembra "cool" e perderci le ore a studiartela :D
Io come progetto grosso consiglio un videogioco, copre praticamente tutti gli aspetti dell'informatica, dalla simulazione ai database, dagli input alla grafica 3d alle GUI alla gestione di risorse... ed anche tanti unici, fra cui la creatività.
tant'è che è quasi impossibile farne uno da soli :D

non è un settore che mi interessa quello dei giochi. dovrei oltretutto andarmi a studiare almeno le basi per creare già un pong. da quel che capisco tu ami i giochi. è da tanto che ti ci dedichi?