Vai al contenuto

Come iniziare a programmare?


paneformadi

Messaggi raccomandati

Ciao a tutti, mi piacerebbe inizare a programmare, ma per il momento non so nulla, non ho mai programmato niente. Mi potreste consigliare la strada migliore per inizare e cosa mi serve? Se potete indicare magari testi o tutorials di supporto ve ne sarei molto grato!

:ciao:

Link al commento
Condividi su altri siti

Ciao,

allora prima di tutto con cosa ti piacerebbe iniziare a programmare?

Se per internet ti consiglio di muovere i primi passi con html.. poi passi a java e poi al php.

Qui per muovere i primi passi vai sul sito html.it e troverai una guida ben fatta.

Altre informazioni nella prossima puntata perchè sono di fretta

Ciaoz

Link al commento
Condividi su altri siti

html non è un linguaggio di programmazione :mad:

Io ti consiglio di iniziare con Java, è abbastanza semplice e ti permette di iniziare a capire cosa sono gli oggetti, l'ereditarietà, le interfaccie etc etc...

Se vuoi programmare per il web dai una guardata ad html e xml e poi il php, se sai cos'è un oggetto non ti verrà difficile programmare seriamente in php :mad:

Link al commento
Condividi su altri siti

html non è un linguaggio di programmazione :ghghgh:

Io ti consiglio di iniziare con Java, è abbastanza semplice e ti permette di iniziare a capire cosa sono gli oggetti, l'ereditarietà, le interfaccie etc etc...

Se vuoi programmare per il web dai una guardata ad html e xml e poi il php, se sai cos'è un oggetto non ti verrà difficile programmare seriamente in php :mad:

Java non è un linguaggio di programmazione, è una m***a. Per rimanere ad alto livello inizia con l'ANSI C, ma se vuoi c'è sempre l'ASM(lui si che è un linguaggio di programmazione) :mad:

Mio consiglio:

inizia con l'ANSI C, poi puoi passare a vedere la programmazione ad oggetti(C++, objective-c).

Lascia stare java :ghghgh:

Link al commento
Condividi su altri siti

dai cpu86.. non dire minchiate..

1) C non è un linguaggio di alto livello.. anzi permette delle direttive a livello molto basso (addirittura ASM, che tanto elogi)

2) Java è una merda? e perchè mai?

3) ASM ??? nel 2006?? lo uso solo per i microcontrollori.. per il resto mi sa che è quasi inutile (a meno di non fare studi specifici di sistemi operativi).

sono cmq daccordo sull'iniziare con il C per poi andare su C++

Cum fovet fortuna, cave, namque rota rotunda

Link al commento
Condividi su altri siti

Quindi dovrei iniziare con C?

C'è qualche guida free?

Io utilizzo un vecchio manuale di mia sorella...

C corso completo di programmazione

è fatto piuttosto bene ma è ben lungi dall'essere gratis (adesso costerà una 40ina di €)

Mac Mini Core Duo 1.66 GHz

iPod Nano

RAM: 512MB

Memoria: 4GB

Hard Disk: 80GB

Colore: azzurro

Serial: YM608GJMU36

Link al commento
Condividi su altri siti

perchè Java girando sulla virtual machine ha bisogno di un bel pò di risorse hw ecco perchè è una merda.

eh si va bene .. ma alla fine scrivi un programma in java e gira sul cellulare, sul palmare, sul pc, sul mac, su linux, su solaris, etc, ....

ovviamente non è velocissimo..ma ormai le VM java sono molto ottimizzate e molti programma girano bene..

Cum fovet fortuna, cave, namque rota rotunda

Link al commento
Condividi su altri siti

premessa:

io programmo in c++ e non in java, però secondo te è + facile passare da c a c++ o da java a c++? :ghghgh:

Java ti da l'idea di cos'è un oggetto da subito e non ti impappina il cervello con programmazione imperativa che poi non riuscirai mai a toglierti dalla testa...

In più ti libera dalla gestione dei puntatori che per un programmatore esperto sono manna dal cielo, ma per un programmatore alle prime armi sono qualcosa di inconcepibile, vallo a spiegare a uno che non sa cos'è un ciclo for un ***ptr :)

Io ti consiglio di partire con Java e poi salire di livello, magari fai anche qualcosa in C che male non te ne fa... ma non limitarti solo al C, altrimenti farai fatica dopo ad entrare nell'ottica dell'OO.

Poi una volta imparate le tecniche spostarti da un linguaggio all'altro ti verrà semplicissimo, ma intanto inizia :ghghgh:

EDIT x Cpu86

Nonostante sia una merdata (e concordo) non hai idea di quanti datori di lavoro richiedano la conoscenza approfondita di Java nel mondo reale e quanti pochi quella di C o ASM :ghghgh:

1986 = 20 anni... quando entrerai nel mondo del lavoro ti renderai conto che devi sapere ciò che serve e non ciò che ti piace.

Detto questo... faccio ricerca e non m'azzarderei MAI a fare il mio lavoro in java, uso c++, eppure parti del lavoro che stiamo facendo girano + velocemente con linguaggi interpretati come php (usato come linguaggio di scripting) o pyton che non in c++ (e non di poco... per delle analisi ti textmining siam passati da 20 giorni a 8 ore passando da c++ a php)... la bravura degli informatici è capire cosa serve quando :ghghgh:

Naturalmente non era una critica nei tuoi confronti, ma un consiglio da una persona che probabilmente ha un pò più d'esperienza :) Spero ti possa essere utile

Link al commento
Condividi su altri siti

Senza stare a fare distinzioni tecniche tra le qualita' o pecche di Java, C, C++, ecc... ma personalmente odio java per un solo motivo: ha ridotto l'insegnamento della programmazione ad un misero copia/incolla/passa 3 ore a spulciare la documentazione.

Ho personalmente visto questo cambiamento: quando studiavo informatica abbiamo fatto per 3 anni il C. Quando stavo per finire l'universita' quelli al primo anno gia' partivano con Java... ovviamente non imparavano nulla di programmazione, di tipizzazione stretta, di gestione delle memoria, di puntatori, di casting, di implementazione di algoritmi, di ottimizzazione, ecc, ecc...

Ormai con Java puoi fare quasi tutto in 4 righe, e ci pensa lui a gestire tutto. Secondo me, e' didatticamente sbagliato insegnare il Java come inizio alla programmazione. Non e' un buon forma mentis.

@paneformadi: un consiglio, incomincia con il C. Avrai piu' difficolta', sara' molto piu' macchinoso e impegnativo e ci metterai certamente di piu' ad imparare a fare "programmini fichi". Ma quando avrai preso il controllo sul C (almeno parziale), qualsiasi altro linguaggio di programmazione sara' piu' semplice da affrontare, da capire e da imparare.

Forma mentis gente, forma mentis... :ghghgh:

Wii code: 0734 3828 1483 3595

Mii name: BlackICE

Link al commento
Condividi su altri siti

Nonostante sia una merdata (e concordo) non hai idea di quanti datori di lavoro richiedano la conoscenza approfondita di Java nel mondo reale e quanti pochi quella di C o ASM :)

:ghghgh: Che triste verita'... per questo odio Java! E' diventato la moda. Sei un programmatore, e pure serio, se sai Java. Triste, molto triste... mi viene da piangere... anzi no, reagisco!

E mi incazzo! :ghghgh:

No, manteniamo la calma. Comunque in un posto dove mi fanno fare C ci sono e son ben contento :ghghgh:

See you :ghghgh:

Wii code: 0734 3828 1483 3595

Mii name: BlackICE

Link al commento
Condividi su altri siti

Senza stare a fare distinzioni tecniche tra le qualita' o pecche di Java, C, C++, ecc... ma personalmente odio java per un solo motivo: ha ridotto l'insegnamento della programmazione ad un misero copia/incolla/passa 3 ore a spulciare la documentazione.

Ho personalmente visto questo cambiamento: quando studiavo informatica abbiamo fatto per 3 anni il C. Quando stavo per finire l'universita' quelli al primo anno gia' partivano con Java... ovviamente non imparavano nulla di programmazione, di tipizzazione stretta, di gestione delle memoria, di puntatori, di casting, di implementazione di algoritmi, di ottimizzazione, ecc, ecc...

Ormai con Java puoi fare quasi tutto in 4 righe, e ci pensa lui a gestire tutto. Secondo me, e' didatticamente sbagliato insegnare il Java come inizio alla programmazione. Non e' un buon forma mentis.

@paneformadi: un consiglio, incomincia con il C. Avrai piu' difficolta', sara' molto piu' macchinoso e impegnativo e ci metterai certamente di piu' ad imparare a fare "programmini fichi". Ma quando avrai preso il controllo sul C (almeno parziale), qualsiasi altro linguaggio di programmazione sara' piu' semplice da affrontare, da capire e da imparare.

Forma mentis gente, forma mentis... :gira:

Straquoto...imparare il Java è come dare una pugnalata all'informatica. Partire dal C (va bene anche partire dal C++ a mio avviso...) è una cosa buona e giusta. Poi una volta capite le basi puoi programmare in qualsiasi altro linguaggio, che sia Java o che sia "tua nonna a cavallo" (come direbbe il mio prof di Fisica 1) non ha importanza...ti assicuro che imparato il C poi saprai usare facilmente gli altri linguaggi.

Non vale il contrario...partendo dal Java (linguaggio a livello più alto del C) precluderai l'apprendimento degli altri linguaggi...

Figurati che io sono partito dal Pascal...praticamente inutile ai nostri giorni ma didatticamente perfetto per capire le basi della programmazione.

E poi pensa che col C scrivono i sistemi operativi, quindi puoi ben capire le potenzialità...

Now...I think different...

iPod Nano 2GB Black

iMac 20" Core2Duo 2.16Ghz, 1.5GB RAM, 256MB VRAM

Ci SoNo "COSE" Che PoSSoNo FuNZioNaRe, PeR TuTTo iL ReSTo C'è WiNDoWs...

Link al commento
Condividi su altri siti

Il C è il linguaggio più ad alto livello tra quelli a basso livello. Il C si trova ovunque, coma d'altronde l'ASM, in maniera minore rispetto al C. :gnam:

Il java può essere benissimo sostituito dal C++, o obj-c(che è meglio IMHO).

Poi tutto dipende da cosa vuoi fare, ma rimane il fatto che un vero programmatore che non conosce il C, non è un programmatore. Col C prendi dimestichezza con la manipolazione della memoria, con l'ASM ancora di più. Impari anche ad allocare la memoria strettamente necessaria e a rilasciare quella che non ti serve, così il tuo programma non necessiterà di 512MB di RAM per girare :) (Questo è più ingegnerizzazione del software)

Un programmatore da quattro soldi si nota da come usa le variabili e alloca la memoria. Se per salvare i valori True, cioè 1, e False, cioè 0, usa una variabile da 32 bit allora ha capito proprio poco :).

Col C prendi dimestichezza anche con queste cose che ho appena citato sopra. Mi raccomando:

NIENTE PROGRAMMAZIONE A SPAGHETTI, come fanno in Microzoz!

:fiorellino:

EDIT: a ingegneria non partono di certo col java, ma partono dal C e prima di fare java ti fanno vedere la struttura dell'os e ottimizzazione della memoria.

Link al commento
Condividi su altri siti

premessa:

io programmo in c++ e non in java, però secondo te è + facile passare da c a c++ o da java a c++? :fiorellino:

Java ti da l'idea di cos'è un oggetto da subito e non ti impappina il cervello con programmazione imperativa che poi non riuscirai mai a toglierti dalla testa...

In più ti libera dalla gestione dei puntatori che per un programmatore esperto sono manna dal cielo, ma per un programmatore alle prime armi sono qualcosa di inconcepibile, vallo a spiegare a uno che non sa cos'è un ciclo for un ***ptr :gnam:

Io ti consiglio di partire con Java e poi salire di livello, magari fai anche qualcosa in C che male non te ne fa... ma non limitarti solo al C, altrimenti farai fatica dopo ad entrare nell'ottica dell'OO.

Poi una volta imparate le tecniche spostarti da un linguaggio all'altro ti verrà semplicissimo, ma intanto inizia :)

EDIT x Cpu86

Nonostante sia una merdata (e concordo) non hai idea di quanti datori di lavoro richiedano la conoscenza approfondita di Java nel mondo reale e quanti pochi quella di C o ASM :)

1986 = 20 anni... quando entrerai nel mondo del lavoro ti renderai conto che devi sapere ciò che serve e non ciò che ti piace.

Detto questo... faccio ricerca e non m'azzarderei MAI a fare il mio lavoro in java, uso c++, eppure parti del lavoro che stiamo facendo girano + velocemente con linguaggi interpretati come php (usato come linguaggio di scripting) o pyton che non in c++ (e non di poco... per delle analisi ti textmining siam passati da 20 giorni a 8 ore passando da c++ a php)... la bravura degli informatici è capire cosa serve quando :shock:

Naturalmente non era una critica nei tuoi confronti, ma un consiglio da una persona che probabilmente ha un pò più d'esperienza :shock: Spero ti possa essere utile

Quando troverò il lavoro mi sa che programmerò in VHDL, RTL, ASM e C :shock:

Link al commento
Condividi su altri siti

Il C è il linguaggio più ad alto livello tra quelli a basso livello. Il C si trova ovunque, coma d'altronde l'ASM, in maniera minore rispetto al C. :fiorellino:

Il java può essere benissimo sostituito dal C++, o obj-c(che è meglio IMHO).

Poi tutto dipende da cosa vuoi fare, ma rimane il fatto che un vero programmatore che non conosce il C, non è un programmatore. Col C prendi dimestichezza con la manipolazione della memoria, con l'ASM ancora di più. Impari anche ad allocare la memoria strettamente necessaria e a rilasciare quella che non ti serve, così il tuo programma non necessiterà di 512MB di RAM per girare :) (Questo è più ingegnerizzazione del software)

Un programmatore da quattro soldi si nota da come usa le variabili e alloca la memoria. Se per salvare i valori True, cioè 1, e False, cioè 0, usa una variabile da 32 bit allora ha capito proprio poco :).

Col C prendi dimestichezza anche con queste cose che ho appena citato sopra. Mi raccomando:

NIENTE PROGRAMMAZIONE A SPAGHETTI, come fanno in Microzoz!

:gnam:

EDIT: a ingegneria non partono di certo col java, ma partono dal C e prima di fare java ti fanno vedere la struttura dell'os e ottimizzazione della memoria.

Come fare a non quotarti...parole sagge!!!

Now...I think different...

iPod Nano 2GB Black

iMac 20" Core2Duo 2.16Ghz, 1.5GB RAM, 256MB VRAM

Ci SoNo "COSE" Che PoSSoNo FuNZioNaRe, PeR TuTTo iL ReSTo C'è WiNDoWs...

Link al commento
Condividi su altri siti

Quando troverò il lavoro mi sa che programmerò in VHDL, RTL, ASM e C :ciao:

La verità è che quando troverai lavoro programmerai come e cosa vorrà il tuo datore di lavoro :ciao:

Parli di ingegnerizzazione e ti precludi la riusabilità degli oggetti? :shock:

Pensa te che a me in informatica hanno insegnato anche l'Askell per farmi capire cos'era un linguaggio funzionale, poi il C per farmi capire cos'era un linguaggio imperativo e poi Java e C++ per capire come funzionano i linguaggi ad oggetti...

E' inutile fissarsi con un linguaggio... a noi imparano le idee... poi dobbiam essere noi a saperle mettere in pratica, magari in ingegneria è diverso :gira:

PS. Nel mondo reale non conta solo quanto sai ottimizzare, conta anche (e soprattutto) quanto tempo riesci a risparmiare (prima consegni il lavoro, più guadagni)... se invece fai ricerca anche le costanti (che all'uni ti insegnano ad ignorare) sono decisamente importanti quando fai analisi computazionale.

Link al commento
Condividi su altri siti

Già...perciò poi escono i programmi come quelli della Microsoft :shock:

Now...I think different...

iPod Nano 2GB Black

iMac 20" Core2Duo 2.16Ghz, 1.5GB RAM, 256MB VRAM

Ci SoNo "COSE" Che PoSSoNo FuNZioNaRe, PeR TuTTo iL ReSTo C'è WiNDoWs...

Link al commento
Condividi su altri siti

E' vero....

Io faccio entrambe le cose... faccio ricerca e lavoro su un singolo progetto da oltre un anno cercando di limare e ottimizzare quanto più possibile e lavoro per un'azienda e più di una settimana un progetto nelle mie mani non dura... questo è il mondo reale :shock:

Link al commento
Condividi su altri siti

Mi accodo agli altri, parti con una piccola base di C e poi il più in fretta possibile a C++ o, ancora meglio, il mio amore Objective-C. Io sono stato rovinato dal C creandomi una mentalità procedurale che non mi sono più levato di mente e quando son partito a programmare per OSX è stato un trauma. Siccome non vorrei che tu cadessi nello stesso errore (mio, ma di molti altri che passano dal proceddurale all'OO) se puoi comincia direttamente in Obj-C o C++. Dei due meglio il primo (magari unito al nostro tanto lodato Cocoa! :shock: )

Java? Lo conosco troppo poco per giudicarlo, ho solo un'infarinatura del Cocoa+Java, sorry.

:aereo:

Link al commento
Condividi su altri siti

PS. Nel mondo reale non conta solo quanto sai ottimizzare, conta anche (e soprattutto) quanto tempo riesci a risparmiare (prima consegni il lavoro, più guadagni)... se invece fai ricerca anche le costanti (che all'uni ti insegnano ad ignorare) sono decisamente importanti quando fai analisi computazionale.

Mi è capitato molte volte che per fare una cosa o usavo una programmazione a "spaghetti" o riscrivevo un'intera o più classi da 0. Ebbene, pur di fare le cose bene, ho scelto la seconda magari stando sveglio la notte e non facendo il pisolino sul treno :confused:

Link al commento
Condividi su altri siti

Mi è capitato molte volte che per fare una cosa o usavo una programmazione a "spaghetti" o riscrivevo un'intera o più classi da 0. Ebbene, pur di fare le cose bene, ho scelto la seconda magari stando sveglio la notte e non facendo il pisolino sul treno :D

Beh, non è una cosa bella... l'ereditarietà e l'overloading esistobi anche per questo... ti scrivi i tuoi oggetti base e poi li estendi a piacimento, questo vale per Java, per C++, per Php e per tutti i linguaggi ad oggetti :mad:

Dopo anni ho una bella libreria di oggetti scritti da me e avvolte quando mi commissionano un lavoro non devo far altro che assemblarli :oops:

Questa è cosa buona e giusta... questo è il principio della programmazione moderna ad oggetti :oops:

E cosa da non sottovalutrare... questa è la legge del mercato :oops:

Link al commento
Condividi su altri siti

Ma bisogna stabilire quale sia il miglior linguaggio di programmazione o aiutare il nostro amico?

Questa domanda non ha risposta perchè ogni linguaggio ha le sue peculiarità ed è adatto a scopi specifici.

Sicuramente per iniziare proprio da zero è bene familiarizzare coi concetti di variabile, metodo, ciclo e così via.. Quindi scegliere un linguaggio che sial il più ad alto livello possibile, che si avvicini di più al naturale modo di ragionare.

Dunque Java o C++. Ma anche Pascal andrebbe bene.

Ad uno totalmente inesperto cosa importa se è possibile accedere o no a locazioni di memoria, o, che so, fare ereditarietà multipla?

Una volta che si è fatta un pò di pratica si è in grado di comprendere nuove problematiche, di iniziare a capire un pò la struttura di un calcolatore, e di iniziare a comprendere dunque le differenze tra i vari linguaggi.

“Science is a differential equation. Religion is a boundary condition.†Alan Turing

Link al commento
Condividi su altri siti

Ma bisogna stabilire quale sia il miglior linguaggio di programmazione o aiutare il nostro amico?

Questa domanda non ha risposta perchè ogni linguaggio ha le sue peculiarità ed è adatto a scopi specifici.

Sicuramente per iniziare proprio da zero è bene familiarizzare coi concetti di variabile, metodo, ciclo e così via.. Quindi scegliere un linguaggio che sial il più ad alto livello possibile, che si avvicini di più al naturale modo di ragionare.

Dunque Java o C++. Ma anche Pascal andrebbe bene.

Ad uno totalmente inesperto cosa importa se è possibile accedere o no a locazioni di memoria, o, che so, fare ereditarietà multipla?

Una volta che si è fatta un pò di pratica si è in grado di comprendere nuove problematiche, di iniziare a capire un pò la struttura di un calcolatore, e di iniziare a comprendere dunque le differenze tra i vari linguaggi.

Ti quoto alla grande, è ciò che tento di dire dall'inizio del topic :ciao:

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...