Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è uno smartphone che unisce una fotocamera molto più versatile rispetto al passato grazie allo zoom ottico 5x, il supporto magnetico Pixelsnap e il nuovo chip Tensor G5. Il dispositivo porta Android 16 e funzionalità AI avanzate come Camera Coach, mantenendo il design caratteristico della serie Pixel con miglioramenti nelle prestazioni e nell'autonomia. In Italia, però, mancano diverse feature peculiari basate sull'AI.
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-02-2012, 13:57   #1
Sergei
Member
 
Iscritto dal: Oct 2001
Messaggi: 291
Imparare a programmare - Consigli pratici per evitare il volo dalla finestra

Salve gente

Probabilmente questa domanda sarà stata fatta milioni di volte e con molte risposte. Ho vagato in giro per il web ma non ho trovato nulla che mi potesse interessare però.

Avrei una domanda molto semplice per tutti quelli che sanno programma (non importa assolutamente in che linguaggio).
La questione è facile: come si impara a programmare?
Voi come avete imparato?

Mi spiego. Posso prendere un testo che mi insegni la programmazione in Java, C++ o altro, posso seguire un corso etc, eppure, nonostante questo io trovo difficoltà nel capire come si possa imparare sul serio a fare un programma (se pur molto semplice). Entro ancora meglio nel dettaglio, almeno per quanto riguarda la mia persona.
Ho sempre voluto imparare a programmare, più che altro per passione niente di particolare, ma non ho mai avuto quella dedizione negli anni passati di mettermi lì e provare e riprovare. Negli ultimi tempi ho deciso di riprendere un po' questo discorso e mi sono avvicinato prima a Python e poi a Java. Python mi è stato molto d'aiuto nel capire i concetti basi (ha una sintassi chiarissima) poi però sono passato a Java grazie al quale, stranamente, mi sono sentito a mio agio a vagare per le classi (sarà stato grazie a Platone ?). Ho provato diversi testi e alla fine ho utilizzato quello di Claudio De Sio che mi è semprato quello più adatto a me. Ebbene, ora entra in gioco il mio problema. Posso anche imparare tutto il libro, ma per me resta sempre teoria Vedo solo concetti, posso anche risolvere gli esercizi proposti, ma per me resta solo teoria che sul serio non riesco a capire come possa essere messa in pratica. E sottolineo che non è colpa del testo, perché ne ho provati altri, ho provato anche Pensare Informatico (che almeno è stato utilissimooo nel farmi entrare nell'ottica della programmazione). E' chiaro che un testo come un corso non potrà mai affrontare tutto quello che c'è da sapere. Il mio dilemma è quindi: come si fa a rendere pratico i concetti appresi? Avevo pensato di realizzare semplici giochi come la tombola o la scopa (forse quest'ultimo è un po' più complesso) ma ho serie difficoltà a comprendere il meccanismo, ecco perché ero in cerca di consigli pratici prima di abbandonare definitivamente questa esperienza che ho già messo da parte da alcuni mesi.
Spero di essere stato chiaro (cosa che dubito fortemente )
Sergei è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2012, 14:18   #2
tecno789
Senior Member
 
L'Avatar di tecno789
 
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11971
Quote:
Originariamente inviato da Sergei Guarda i messaggi
Il mio dilemma è quindi: come si fa a rendere pratico i concetti appresi? Avevo pensato di realizzare semplici giochi come la tombola o la scopa (forse quest'ultimo è un po' più complesso) ma ho serie difficoltà a comprendere il meccanismo, ecco perché ero in cerca di consigli pratici prima di abbandonare definitivamente questa esperienza che ho già messo da parte da alcuni mesi.
Spero di essere stato chiaro (cosa che dubito fortemente )
programmare è tutt'altro che una cosa semplice. Io ti parlo proprio da studente che deve sbattersi per imparare da zero un linguaggio di programmazione mai usato prima. Infatti, come hai detto tu, il libro ti insegna molto la teoria, ma per imparare bene a programmare bisogna mettersi sul calcolatore e implementare dei propri algoritmi, fare dei programmi, giorno per giorno, senza mai stancarsi. Bisogna entrare molto nella logica, cosa non tanto semplice da fare, ma per farlo bisogna fare moltissima pratica. Ti consiglio dopo averti studiato un linguaggio di programmazione da te scelto, di metterti su pc a fare dei programmi inventati da te, oppure esercizi stessi presi dal libro. Ovviamente aspetta altre risposte di programmatori più avanzati di me
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03
tecno789 è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2012, 14:18   #3
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Personalmente ho cominciato a programmare in basic col c64. Poi mi sono "evoluto" col pascal ( funzioni, procedure, oggetti, tutta roba che il basic del c64 non supportava ).

Da lì sono passato allo studio dell'architettura x86, tutto assembly e tante ore a provare e riprovare, sbagliare e correggere.

Poi vabbè, l'università e tutto il resto, con un pò di elettronica che mi ha aiutato a capire ulteriormente il perchè un pezzo di silicio sia in grado di ragionare.

Ma imho il tuo problema è la logica algoritmica, cioè quella parte simil-matematica che trova una soluzione per un problema.

In questo senso potrebbe venirti incontro un libro tipo il Cormen, che è 90% teoria, ma fa vedere pure in pseudocodice come mettere in pratica la teoria.

Però ti consiglio di fare qualche esempio più sostanzioso. Ad esempio cos'è della tombola che proprio non ti va giù? Perchè vedi questa netta separazione tra teoria e pratica? In fondo un algoritmo ti dice quali passi seguire per risolvere il problema tramite piccoli elementari passi. Il codice è una traduzione dell'algoritmo in un linguaggio ben determinato, ma non è che si discosta così tanto.

Oddio, ci sono libri che sembrano trattati di geometria più che libri d'informatica. Ne ho visti parecchi in vita mia e alcuni sono veramente sconclusionati ed incapaci di insegnare alcunchè.

Però penso che l'approccio ultrapratico sia il migliore. Cioè tu parti con un libro tipo questo http://web.econ.unito.it/terna/infsi...othink_ita.pdf che ti dà molto sul fronte pratico e ti fa vedere come implementa determinati algoritmi.

Dovrebbe a quel punto esserti chiaro come passare dalla teoria alla pratica.
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2012, 14:28   #4
Sergei
Member
 
Iscritto dal: Oct 2001
Messaggi: 291
Credo che tu abbia centrato il mio problema, credo sia proprio la logica algoritmica che mi manca o con la quale ho difficoltà.
Stavo realizzando questa estate (dopo aver letto il libro da te proprosto, Pensare Informatico) il gioco della tombola in Python. Il problema principale non è come realizzare un ciclo for (che in Python mi pare sia solo For in) o una lista o altro, il problema che avevo era proprio quello di realizzare il pensiero sotto forma di codice. Ho chiesto aiuto su un forum e vedevo che le risposte e i suggerimenti che mi venivano dati erano molto semplici, tant'è vero che qualcosa avevo fatto ma poi ho abbandonato. Credo che il mio problema principale è che penso troppo difficilmente. Per farti capire: se devo realizzare 4, anziché pensare al classico 2 + 2, penso a 1 + 1 + 1 + 1 o a 72 - 68. Credo che da lì nasca il mio principale errore. Perché per realizzare l'estrazione dei numeri ho dovuto cercare su internet un codice che mi permetteva di generare numeri casuali (e questo era anche nel libro) ma dovevo togliere anche quelli che già erano stati estratti (cosa che nel testo non era presente).

In Java ad esempio non c'ho proprio provato , anche se avevo "studiato" solo metà testo
Sergei è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2012, 14:31   #5
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Scrivi un roguelike.

ps. non ti spiego cos'è nè come devi fare per cominciare perché il punto è proprio questo: hai di fronte un problema di cui non conosci la soluzione e devi risolverlo improvvisando. Quindi cominci a cercare su internet cos'è un roguelike, ne scarichi uno magari, vedi come funziona, scegli un linguaggio e provi a fare lo stesso, ricercando ogni volta qual'è lo stato dell'arte per risolvere un determinato problema e arrivando a dei compromessi quando è troppo complicato.
Il ciclo è più o meno questo:
1) OMG cazzofigata la cosa X! La voglio rifare!
2) Ti documenti.
2a) Se puoi, rubi il codice fatto da altri.
3) Metti a punto il tutto secondo le tue esigenze.
4 .. Infinito) Risolvi i bug.

In ambito professionale funziona allo stesso modo, ma il punto 1 non lo decidi tu.
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2012, 14:59   #6
Sergei
Member
 
Iscritto dal: Oct 2001
Messaggi: 291
Perfetto!

Un'altra curiosità per quanto riguarda lo studio del/dei testo/i:
dite che è meglio sempre leggerlo/studiarlo tutto o imparare le basi e poi iniziare a sperimentare e in caso di necessità consultarlo?
Sergei è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2012, 11:27   #7
ingframin
Senior Member
 
L'Avatar di ingframin
 
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
Metti mano al calcolatore da subito!
Non puoi imparare a suonare la chitarra leggendo un libro e poi comprando la chitarra, devi prenderla in mano e cominciare a fare le note.
Idem per il pc. hai python installato? Bene, tieni il libro a portata di mano e comincia a giocare.
Parti con programmi semplici (che ne so, una calcolatrice, un programma che cerca parole in un testo, ecc...) e aumenta la difficolta'.
Il miglior modo per imparare a ragionare e' ragionare!
Quindi sbattiti sui problemi!
Cerca di dimostrare il teorema di pitagora o risolvi un esercizio sul lancio del proiettile e magari poi traduci la soluzione in python.
Insomma... sveglia il tuo cervello che sta dormendo!
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
ingframin è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2012, 13:17   #8
Sergei
Member
 
Iscritto dal: Oct 2001
Messaggi: 291
Quote:
Originariamente inviato da ingframin Guarda i messaggi
Insomma... sveglia il tuo cervello che sta dormendo!


Prima stavo rivedendo tutta la roba che avevo studiato di java che nel dettaglio era: Classi ed oggetti, i metodi, le variabili, i costruttori, gli identificatori, i tipi di dati, gli array, gli operatori, i costrutti, l'incapsulamento, l'ereditarietà, il poliformismo, l'overload e l'override, il super, le classi innestate, poi stavo per imparare l'eccezioni e le asserzioni e ho mollato.

Forse se avessi fatto meno teoria e più pratica da subito non mi ritroverei in questa situazione
Sergei è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2012, 13:21   #9
tecno789
Senior Member
 
L'Avatar di tecno789
 
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11971
Quote:
Originariamente inviato da Sergei Guarda i messaggi


Prima stavo rivedendo tutta la roba che avevo studiato di java che nel dettaglio era: Classi ed oggetti, i metodi, le variabili, i costruttori, gli identificatori, i tipi di dati, gli array, gli operatori, i costrutti, l'incapsulamento, l'ereditarietà, il poliformismo, l'overload e l'override, il super, le classi innestate, poi stavo per imparare l'eccezioni e le asserzioni e ho mollato.

Forse se avessi fatto meno teoria e più pratica da subito non mi ritroverei in questa situazione
hai studiato troppo
devi fare esercizi su esercizi man mano che vai avanti, non puoi studiarti un linguaggio in modo completo senza aver fatto nulla e "solo" studiando tutto un libro.
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03
tecno789 è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2012, 13:50   #10
Sergei
Member
 
Iscritto dal: Oct 2001
Messaggi: 291
come lo sapevo che stavo sbagliando

Domani riprendo gli appunti sperando che devo fare solo un ripasso e poi passare alla parte pratica
Sergei è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2012, 14:57   #11
mmx[ngg]
Senior Member
 
Iscritto dal: Aug 2001
Città: Milano
Messaggi: 402
Io ho imparato (ho imparato ?) partendo con la classica calcolatrice, che vedendola troppo complicata (avevo 11 anni), è diventata un semplice :

Danni A, Danni B, C = A*B, Fine del programma (e la prima volta è anche andato in errore..)

Man mano ho incrementato la difficolatà e l'unico medo per farlo è, come ha detto shinya, porsi un problema e risolverlo. Personalmente non ho mai aperto un libro / manuale dalla prima pagina per arrivare all'ultima, semplicemente lo sfogliavo per capire come affrontare il problema che avevo davanti. E' normale che le prime volte programmi da schifo, sfruttando il 5% del linguaggio e il 200% del tuo cervello visto che non puoi utilizzare qualcosa di cui non ne conosci neanche l'esistenza ma francamente metodo migliori non ne ho visti ed è inutile riempirsi la testa di nozioni senza un fine. Al lavoro ne ho visti tanti che sembravano la Treccani ma all'atto pratico facevano pena (e parlo al passato perchè durano poco). Non sei un programmatore se conosci un linguaggio (quello è solo lo strumento per raggiungere un fine), lo diventi quando raggiungi il fine...e se possibile nel modo migliore.

Un consiglio : Java non è proprio per chi parte totalmente da 0. E' meglio utilizzare un linguaggio con meno direttive / possibilità anche perchè non devi imparare un linguaggio ma la logica che sta dietro la programmazione. Il C (quello classico) può andar bene o meglio ancora il Pascal (roba senza classi, oggetti ecc. ecc) e non pretendere di creare da subito programmi ma semplicemente algoritmi senza un contesto particolare. Prova a ordinare un'insieme di dati, a leggere un file di testo e scriverlo al contrario o ha visualizzarlo a video parola per parola ecc. ecc.
__________________
Phenom 2 555 X2@X4@3,6Ghz 1.33v Asus M4A785TD-V EVO 4GB Team Group Elite 1333Mhz AC Freezer Xtreme Corsair 450VX Samsung SyncMaster T220 Hd Seagate 500x2(Raid 0) Barton 2500+@3200+ vcore 1.550 (liquid cooled@+9° T.A.) Asus A7N8X-E Dlx 1Gb Ram Dual DDR Hd Maxtor SATA 160x2(Raid 0) GeXCube 9600XT Eizo 19P Le belle cose hanno un inizio e una fine...tutto il resto è la normalità
mmx[ngg] è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2012, 15:02   #12
tecno789
Senior Member
 
L'Avatar di tecno789
 
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11971
Quote:
Originariamente inviato da mmx[ngg] Guarda i messaggi
Il C (quello classico) può andar bene o meglio ancora il Pascal (roba senza classi, oggetti ecc. ecc) e non pretendere di creare da subito programmi ma semplicemente algoritmi senza un contesto particolare. Prova a ordinare un'insieme di dati, a leggere un file di testo e scriverlo al contrario o ha visualizzarlo a video parola per parola ecc. ecc.
il brutto del C secondo me è che si possono fare solo programmi algoritmici-matematici che invogliano poco lo studente ad applicarsi. o sbaglio? almeno io lo trovo pesante
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03
tecno789 è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2012, 15:20   #13
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da tecno789 Guarda i messaggi
il brutto del C secondo me è che si possono fare solo programmi algoritmici-matematici che invogliano poco lo studente ad applicarsi. o sbaglio? almeno io lo trovo pesante
Il C è un linguaggio Turing-completo (come la maggior parte se non tutti i linguaggi main-stream), ci puoi fare di tutto... chiaro, poi ci sono linguaggi che sono più adatti a fare certe cose o ad operare in certi contesti che in altri.

Se per cominicare/imparare a programmare hai bisogno di lavorare/smanettare/risolvere robe ad alto livello di astrazione per sentirti stimolato allora forse è il caso di utilizzare un linguaggio più moderno ed espressivo, ad alto livello di astrazione... prova con brainfuck
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2012, 15:21   #14
mmx[ngg]
Senior Member
 
Iscritto dal: Aug 2001
Città: Milano
Messaggi: 402
In C (e in qualsiasi altro linguaggio) puoi fare qualsiasi cosa, tutto dipende quanto vuoi sbatterti. Puoi utilizzare il VB per disegnarti una finestrella a video e non sai neanchè come e perchè avviene o puoi fartelo in C richiamando direttamente il GDI. Credi che il browser che stai utilizzando sia scritto in Java o in C++ ?

Volendo esistono anche RAD in grado di crearti applicazioni senza scrivere una sola riga di codice ma finchè utilizzi quella roba non impari a programmare. C'è da sbattersi e quindi aver voglia. Lui, e in generale chiunque sia ai primi passi con la programmazione, deve imparare la logica e non c'è modo migliore che partire con linguaggi di quel tipo che offrono ben poco.
__________________
Phenom 2 555 X2@X4@3,6Ghz 1.33v Asus M4A785TD-V EVO 4GB Team Group Elite 1333Mhz AC Freezer Xtreme Corsair 450VX Samsung SyncMaster T220 Hd Seagate 500x2(Raid 0) Barton 2500+@3200+ vcore 1.550 (liquid cooled@+9° T.A.) Asus A7N8X-E Dlx 1Gb Ram Dual DDR Hd Maxtor SATA 160x2(Raid 0) GeXCube 9600XT Eizo 19P Le belle cose hanno un inizio e una fine...tutto il resto è la normalità
mmx[ngg] è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2012, 15:27   #15
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Programmare significa risolvere problemi (lo so: è il massimo dell'ovvietà).

Il che NON ha nulla a che vedere coi dettagli di basso livello.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2012, 15:37   #16
mmx[ngg]
Senior Member
 
Iscritto dal: Aug 2001
Città: Milano
Messaggi: 402
Che intendi con "dettagli di basso livello" ?
__________________
Phenom 2 555 X2@X4@3,6Ghz 1.33v Asus M4A785TD-V EVO 4GB Team Group Elite 1333Mhz AC Freezer Xtreme Corsair 450VX Samsung SyncMaster T220 Hd Seagate 500x2(Raid 0) Barton 2500+@3200+ vcore 1.550 (liquid cooled@+9° T.A.) Asus A7N8X-E Dlx 1Gb Ram Dual DDR Hd Maxtor SATA 160x2(Raid 0) GeXCube 9600XT Eizo 19P Le belle cose hanno un inizio e una fine...tutto il resto è la normalità
mmx[ngg] è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2012, 16:00   #17
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quelli che ti costringe a imparare un linguaggio come il C, visto che non ha costrutti sintattici di livello molto elevato.

Oppure, per fare un altro esempio e visto che le hai citate, lavorare con le GDI anziché con un framework di più alto livello.

Un RAD è uno strumento comodo, nato apposta per semplificare la vita allo sviluppatore, consentendogli di raggiungere gli obiettivi prefissi in meno tempo.

Allo stesso modo sono nati linguaggi di livello più elevato, che consentono di essere più produttivi rispetto a linguaggi come il C.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2012, 16:21   #18
Stewino
Junior Member
 
Iscritto dal: Feb 2012
Messaggi: 12
Secondo me si deve prima sapere cos'è un algoritmo, prima di scrivere un programma bisogna sapere con che metodo risolvere il problema.

Ho capito davvero cos'è un algoritmo quando a scuola ci diedero da fare, come esercizio, tutti i passaggi per risolvere un equazione di secondo grado.
Senza scrivere programmi o altre cose, si doveva illustrare passo per passo tutte le operazioni che si dovevano eseguire.

Prima si fa l'algoritmo, che sarebbe la strategia risolutiva, e poi si passa a linguaggio
Stewino è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2012, 16:22   #19
mmx[ngg]
Senior Member
 
Iscritto dal: Aug 2001
Città: Milano
Messaggi: 402
Bhe in realtà non gli ho certo consigliato di interfacciarsi alle librerie di Windows (smette prima di iniziare), era la risposta a tecno789 per fargli capire che in C puoi far tutto.

Occhio che il C non è un linguaggio di basso livello eh, per essere precisi è un linguaggio di 3° generazione. Tutti quelli con costruttori, ereditarietà, ambienti RAD ecc. ecc. sono di 4° livello e hanno sicuramente i loro vantaggi ma anche delle problematiche in più che possono pesare su chi fa i primi passi e poi siamo sinceri...che vantaggio ha uno che non sa far nulla dai costruttori ? Diventa fuffa che confonde le idee.

Ben vengano i RAD (utilizzai il primo C++ Builder della Borland ed era una figata) ma se non sai programmare non impari certo da li.
__________________
Phenom 2 555 X2@X4@3,6Ghz 1.33v Asus M4A785TD-V EVO 4GB Team Group Elite 1333Mhz AC Freezer Xtreme Corsair 450VX Samsung SyncMaster T220 Hd Seagate 500x2(Raid 0) Barton 2500+@3200+ vcore 1.550 (liquid cooled@+9° T.A.) Asus A7N8X-E Dlx 1Gb Ram Dual DDR Hd Maxtor SATA 160x2(Raid 0) GeXCube 9600XT Eizo 19P Le belle cose hanno un inizio e una fine...tutto il resto è la normalità
mmx[ngg] è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2012, 18:32   #20
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da Stewino Guarda i messaggi
Secondo me si deve prima sapere cos'è un algoritmo, prima di scrivere un programma bisogna sapere con che metodo risolvere il problema.

Ho capito davvero cos'è un algoritmo quando a scuola ci diedero da fare, come esercizio, tutti i passaggi per risolvere un equazione di secondo grado.
Senza scrivere programmi o altre cose, si doveva illustrare passo per passo tutte le operazioni che si dovevano eseguire.

Prima si fa l'algoritmo, che sarebbe la strategia risolutiva, e poi si passa a linguaggio
Infatti la definizione di algoritmo è il comandamento di ogni programmatore.
Quote:
Originariamente inviato da mmx[ngg] Guarda i messaggi
Bhe in realtà non gli ho certo consigliato di interfacciarsi alle librerie di Windows (smette prima di iniziare), era la risposta a tecno789 per fargli capire che in C puoi far tutto.
Puoi far tutto anche in linguaggio macchina, ma è l'ultima cosa che consiglierei anche al mio peggior nemico.
Quote:
Occhio che il C non è un linguaggio di basso livello eh, per essere precisi è un linguaggio di 3° generazione. Tutti quelli con costruttori, ereditarietà, ambienti RAD ecc. ecc. sono di 4° livello
In tutta onestà è la prima volta che leggo di una classificazione dei linguaggi in "livelli".
Quote:
e hanno sicuramente i loro vantaggi ma anche delle problematiche in più che possono pesare su chi fa i primi passi
Se i RAD nascono per semplificare la vita ai programmatori, a maggior ragione lo faranno per chi deve iniziare.

Giusto per essere chiari: il classico editor di testo + compilatore + linker + tu-che-devi-lanciare-l'eseguibile è di gran lunga una soluzione peggiore di un RAD che una volta lanciato ti presenta già un progetto nuovo (oppure ti basta qualche click per File / Nuovo progetto / OK per crearne uno), con l'editor pronto ad accogliere il codice, e col tasto Play per lanciare tutto...
Quote:
e poi siamo sinceri...che vantaggio ha uno che non sa far nulla dai costruttori ? Diventa fuffa che confonde le idee.
Non ho capito.
Quote:
Ben vengano i RAD (utilizzai il primo C++ Builder della Borland ed era una figata) ma se non sai programmare non impari certo da li.
Cerchiamo di far chiarezza. Tu cosa intendi per "saper programmare"? Cosa dovrebbe fare uno che è bianco come il lenzuolo lavato con Dash?
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
ASUS ProArt P16 arriva in Italia: la wor...
Fujifilm presenta l'obiettivo FUJINON GF...
Il grafene ha appena 'infranto' una legg...
Metroid Prime Beyond: arriva un trailer ...
Fujifilm GFX Eterna 55: una soluzione co...
Stardew Valley arriva su Switch 2: una c...
E-bike fat legale con "pulsante mag...
Nintendo Virtual Boy: l'accessorio per S...
Popucom si presenta come uno dei miglior...
Super Mario Galaxy il film: l'idraulico ...
Stellantis, contro risposta a BYD: "...
Microsoft evita una sanzione in Europa p...
TCL a IFA 2025: TV Mini LED, smartphone ...
Neanche la politica è salva: l'Al...
I nuovi Pixel 10 in mostra a Milano con ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:34.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v