View Full Version : "da grande farò il programmatore!"
si!dicevo proprio così!!!
e adesso credo che sia ora di cominciare ad imparare!
ho provato a leggere tutte le guide che cionci, lucas e gli altri (grandissimi!) hanno postato nella sezione dedicata alle guide, ma ho scoperto ke mi mancano le basi + elementari... :cry:
da dove posso cominciare??libri, guide, manuali...ditemi di tutto!!
please!
ty
COATL:)
"Guida al linguaggio c++"
Herbert Schildt
McGraw Hill
una buona base per imparare la filosofia della programmazione ad oggetti... dopo 6 in grado di imparare qualsiasi cosa..
Fenomeno85
07-03-2004, 19:07
guarda anche su programmazione.html.it ... gli ho dato una occhiata e non sembra male ;)
~§~ Sempre E Solo Lei ~§~
goldorak
07-03-2004, 19:27
Originariamente inviato da khamel
"Guida al linguaggio c++"
Herbert Schildt
McGraw Hill
una buona base per imparare la filosofia della programmazione ad oggetti... dopo 6 in grado di imparare qualsiasi cosa..
Oddio, non e' che sia il massimo imparare la programmazione partendo dalla filosofia ad oggetti.
E' molto piu' semplice capire le fondamente della programmazione procedurale con linguaggi quali pascal e c per poi passare agli aspetti strettamente legati al modello object oriented sempre IMHO.
Io sono del parere comtrario, anche perche una volta abituati alla programmazione procedurale è più difficile passare a quella ad oggetti.
Originariamente inviato da anx721
anche perche una volta abituati alla programmazione procedurale è più difficile passare a quella ad oggetti.
Concordo...
fabianoda
08-03-2004, 07:24
Non concordo, anche perché ritengo utile seguire l'evoluzione storica dei linguaggi nell'apprendimento dei linguaggi di programmazione.
Inoltre ricordate che la stragrande maggioranza dei linguaggi di scripting non sono object oriented, e per questo può essere utile capire i linguaggi imperativi.
Faccio notare che in qualsiasi università di informatica si studiano prima i linguaggi imperativi e poi quelli ad oggetti.
Cmq il testo di Schildt comincia riprendendo dei concetti relativi al c e ai linguaggi imperativi, passando per le struct, prima di arrivare alle classi.
Ciao
se sai programmare ad oggetti sai anche programmare in modo procedurale, è il contrario che non è vero. Ovviamente prima di iniziare a programmare bisogna imparare le basi della programmazione, capire i cosruttti pricipali, saper come impostare un algoritmo, ...., e per imparare ciò "basta" un linguaggio procedurale. Se però si inquadrano gli oggetti sin da subito, secondo me male non fa.
Originariamente inviato da fabianoda
Faccio notare che in qualsiasi università di informatica si studiano prima i linguaggi imperativi e poi quelli ad oggetti.
Ad ingegneria a Pisa si studiano prima C++ e Java e poi il C ;)
Fenomeno85
08-03-2004, 15:27
Originariamente inviato da cionci
Ad ingegneria a Pisa si studiano prima C++ e Java e poi il C ;)
e che senso ha fare prima le classi e poi tornare senza??
~§~ Sempre E Solo Lei ~§~
E' che in certi ambienti è necessario programmare in maniera procedurale... Ad esempio se si programma per il kernel di Linux o di FreeBSD sei obbligato ad usare il C...
Fenomeno85
08-03-2004, 15:42
Originariamente inviato da cionci
E' che in certi ambienti è necessario programmare in maniera procedurale... Ad esempio se si programma per il kernel di Linux o di FreeBSD sei obbligato ad usare il C...
ma te programmi anche sotto linux??
~§~ Sempre E Solo Lei ~§~
Ho fatto qualcosa, sicuramente me la cavo decisamente meglio sotto Windows per la programmazione a basso livello...
Oddio, non e' che sia il massimo imparare la programmazione partendo dalla filosofia ad oggetti.
infatti il libro che ho consigliato parte dalla programmazione procedurale e da essa parte a spiegare la programmazione OO
Io sono del parere comtrario, anche perche una volta abituati alla programmazione procedurale è più difficile passare a quella ad oggetti.
straquoto...
Imparare la programmazione procedurale non fa mai male ma torna veramente utile solo con linguaggi di scripting e non sempre, da notare per esempio che anche PHP dalla versione 4 ha un supporto agli oggetti...
scusate se rispondo adesso, nn credevo che così in tanti fossero accorsi!!!
kmq grazie mille a tutti!!!
m avete dato un tot di consigli e anche se ci sono dei disguidi tra idee qualcosa ho capito!!!
e ora potrò realizzare il mio sogno grazie a voi...
TY!!!!!!!!!
un' ultima cosa..... comprerò il libro e guarderò le pag nel web ma per i fondamenti, come dice anx721, le basi...come faccio??devo lavorarci "dentro" o posso impararle senza laurearmi???
grazie ancora a tutti!!!!
COATL:) :) :)
certo che puoi impararle senza laurearti se ci si impegna si fa tutto, per le basi quel libro parte proprio dall'inizio quindi ti insegna anche le cose basilari della programmazione tipo :
tipi di variabili
costrutti base
controllo del flusso
ecc...
all'inizio magari ci sbatti di + la testa se cominci con il c/c++ :muro:
però stai sicuro che ti da una base con la quale impari a programmare in qualsiasi linguaggio in pochissimo tempo
buona fortuna :D :D :D
Ho capito, mo lo compro e vedo....
mi impegnerò!!!
grazie ancora atutti!!!!
COATL:cool:
Ed_Bunker
08-03-2004, 20:04
Originariamente inviato da fabianoda
Inoltre ricordate che la stragrande maggioranza dei linguaggi di scripting non sono object oriented, e per questo può essere utile capire i linguaggi imperativi.
Faccio notare che in qualsiasi università di informatica si studiano prima i linguaggi imperativi e poi quelli ad oggetti.
Ciao
Questo non e' vero. Facolta di informatica di Pisa: prima si fa Java e poi C.
E poi ritengo che partire da un linguaggio ad alto livello permetta di cominciare a prendere confidenza con la programmazione astraendo da alcuni dettagli che possono essere piu' indigesti.
Il C essendo piu' 'permissivo', nel senso che permette di far anche cose in realta' "prive di senso" senza che il compilatore si ribelli, rende piu' difficoltosa la rilevazione degli errori. Con Java, al contrario e' piu' facile rilevare problemi di programmazione. Per non parlare di puntatori ed accesso alla memoria...
Originariamente inviato da Ed_Bunker
Per non parlare di puntatori ed accesso alla memoria...
Dov'è tutto questo problema con i puntatori ?!?!? Mah... A me sembrano uno strumento molto potente che Java non potrà mai usare ;)
verissimo...
in realtà java lavora con puntatori ma ne maschera l'uso al programmatore in modo che non vada a trafficare come gli pare nella memoria del sistema.
Java è un linguaggio studiato prevalentemente per internet, è giusta questa limitazione, come anche il fatto che girando su una vm non permette l'accesso diretto a disco, altrimenti ciao ciao agli HD dei poveri navigatori...
Il C essendo piu' 'permissivo', nel senso che permette di far anche cose in realta' "prive di senso" senza che il compilatore si ribelli, rende piu' difficoltosa la rilevazione degli errori.
un buon programmatore in c non fa cose prive di senso :D
Originariamente inviato da khamel
un buon programmatore in c non fa cose prive di senso :D
Infatti ;)
Ed_Bunker
09-03-2004, 09:30
Originariamente inviato da cionci
Dov'è tutto questo problema con i puntatori ?!?!? Mah... A me sembrano uno strumento molto potente che Java non potrà mai usare ;)
Non mi sembra di aver detto che non sia uno strumento potente anzi... e' cmq. vero che e' una caratteristica che permette di fare cose non possibili in Java ma anche essere fonte di errori.
Visto il titolo e l'argomento del thread stiamo parlando di qualcuno che si sta avvicinando alla programmazione, non di un programmatore 'avvezzo'...
Ed_Bunker
09-03-2004, 09:35
[B]
un buon programmatore in c non fa cose prive di senso :D
Ma siccome qua non stiamo parlando di programmatori esperti o di buoni programmatori bensi' di qualcuno che sta imparando, questa e' una affermazione scontata quanto inutile.
Anche un programmatore Pascal fa cose prive di senso, stesso vale per un programmatore Fortran o un programmatore Java etc. Prova a leggere il primo post del thread e vedrai che si tratta solo di dare un consiglio ad un ragazzo riguardante quale linguaggio di programmazione affrontare per primo.
E' difficile da capire...questo sì...ma una volta capita non vedo come possa essere fonte di errori...+ di ogni altra caratteristica...
Comunque nel C++ attuale i puntatori si psosono vedere anche molto da lontano ;)
Ma siccome qua non stiamo parlando di programmatori esperti o di buoni programmatori bensi' di qualcuno che sta imparando, questa e' una affermazione scontata quanto inutile. Anche un programmatore Pascal fa cose prive di senso, stesso vale per un programmatore Fortran o un programmatore Java etc. Prova a leggere il primo post del thread e vedrai che si tratta solo di dare un consiglio ad un ragazzo riguardante quale linguaggio di programmazione affrontare per primo.
e infatti nessuno sta dicendo : "Devi imparare a usare i puntatori o non 6 un programmatore" , stavo soltanto dicendo che secondo me partendo dal c (che all'inizio creerà qualche problema per via ANCHE da puntatori) è dopo + facile passare a linguaggi di programazione di alto livello che rendono + facile la vita al programmatore....
secondo te uno che non sa cos'è un puntatore o come viene gestito un oggetto in memoria sarebbe in grado di fare un programma in un linguaggio che non ha un garbage collector come java che ti para il culo se non deallochi la mondezza che crei?
in neanche 1000 righe di codice se non usi un po di buonsenso ad allocare mandi a puttane la ram di un computer lo sai vero?
supertonno
09-03-2004, 10:30
Ricordatevi cmq che per imparare a programmare, devi VOLERE:muro: imparare a programmare, indipendentemente dal linguaggio che usi. E all'inizio è difficile vedere grossi risultati.
Quindi penso che il linguaggio deve essere scelto in base all'impegnio che un ci mette.
CMQ io QUOTO la partenza con la programmazione ad oggetti. Quando la feci a scuola, era l'argomento subito dopo le struct, e il mio problema fu non capire la reale differenza tra la due.
Originariamente inviato da khamel
Java è un linguaggio studiato prevalentemente per internet, è giusta questa limitazione, come anche il fatto che girando su una vm non permette l'accesso diretto a disco, altrimenti ciao ciao agli HD dei poveri navigatori...
mmmm non sono mica tanto d'accordo, forse stai parlando delle applet.
Java è nato per il mercato embedded, decisamente troppo avanti per il periodo in cui uscì, difatti stava rischiando di scomparie, poi è arrivato Internet che ha riproposto in maniere pasante "l'essere indipendente dalla piattaforma" e quindi con le applet si è parato il diddietro, ora che i tempi sono più maturi stà tornando al settore embedded. Cmq un programma java se lo esegui in locale ha pieno accesso al disco.
Cmq in java non ci sono i puntatori perchè si è voluto tenere java un linguaggio sicuro, per applicazioni "solide". In java, a parte sfruttare qualche buco della VM, non vedremo mai un Buffer Overflow, ke tra le altre cose è la maggiore causa delle varie vulnerabilità nei sistemi.
Io se dovessi partire da un linguaggio partirei da qualcosa di semplice, i linguaggi di scripting in generale....
quindi io consiglio Python o Ruby se vuoi stare sulla programmazione ad ogetti, Perl per quella procedurale
Ed_Bunker
09-03-2004, 11:42
Originariamente inviato da khamel
e infatti nessuno sta dicendo : "Devi imparare a usare i puntatori o non 6 un programmatore" , stavo soltanto dicendo che secondo me partendo dal c (che all'inizio creerà qualche problema per via ANCHE da puntatori) è dopo + facile passare a linguaggi di programazione di alto livello che rendono + facile la vita al programmatore....
secondo te uno che non sa cos'è un puntatore o come viene gestito un oggetto in memoria sarebbe in grado di fare un programma in un linguaggio che non ha un garbage collector come java che ti para il culo se non deallochi la mondezza che crei?
in neanche 1000 righe di codice se non usi un po di buonsenso ad allocare mandi a puttane la ram di un computer lo sai vero?
Vabbe' cosa ti devo dire ?!? Io la penso totalmente in maniera diversa. Forse saro' influenzato dal fatto che in facolta' ho sempre affrontato gli argomenti a partire dall' "alto", astraendo da cio' che e' piu' legato ad aspetti del s.o. e dell'architettura dell'elaboratore, trovando cio' molto utile. Anche nel campo delle reti di calcolatori le tematiche vengono affrontate partendo dallo strato applicazioni scendendo man mano fino allo strato della rete e poi allo strato di collegamento. Non che sia necessario fare cosi' ma credo che permetta di arrivare ad affrontare gli aspetti piu' complicati avendo gia' una base su cui ragionare. E come gia' detto credo che cio' sia utile anche per la programmazione.
Senza rancore; questione di opinioni... ;)
goldorak
09-03-2004, 11:50
Originariamente inviato da Ed_Bunker
Anche nel campo delle reti di calcolatori le tematiche vengono affrontate partendo dallo strato applicazioni scendendo man mano fino allo strato della rete e poi allo strato di collegamento.
Non sempre e' cosi'.
Alcuni corsi di reti partono proprio dal livello fisico per arrivare a quello applicativo.
Trovo questo procedimento piu' logico rispetto al partire dal'alto, tanto e' vero che la struttura del internetworking si basa sulle reti locali e quindi e' piu' semplice conoscere le problematiche del livello fisico e livello 2 per poi studiare i livelli superiori rilevanti a livello di interworking sempre IMHO.
certo questione di opinoni non preoccuparti ognuno la pensa come vuole ancora la libertà di pensiero c'è per fortuna...
Magari l'approccio cambia in base a quello che si deve fare, io sono sempre partito dal livello + basso, c e assembly alle superiori proseguendo poi con c++ java Delphi e php , e ora vedo che senza difficoltà in un paio di settimane posso imparare ad usare un nuovo linguaggio se voglio o se mi viene richiesto per lavoro...
:D :D :D :D
e comunque buona fortuna al nostro amico neo-programmatore uno in + fa sempre bene
Ed_Bunker
09-03-2004, 12:48
Originariamente inviato da goldorak
Non sempre e' cosi'. Alcuni corsi di reti partono proprio dal livello fisico per arrivare a quello applicativo. Trovo questo procedimento piu' logico rispetto al partire dal'alto, tanto e' vero che la struttura del internetworking si basa sulle reti locali e ...
Guarda che non ho detto che tutti i corsi fanno cosi'! Mi riferivo al corso che io seguo. Se leggi tutto il post dico : "...non che sia necessario fare cosi' ma ...". E' ovvio che ci siano modi diversi di affrontare lo stesso problema. Ripeto: questione di opinioni.
Originariamente inviato da goldorak
...quindi e' piu' semplice conoscere le problematiche del livello fisico e livello 2 per poi studiare i livelli superiori rilevanti a livello di interworking sempre IMHO.
Beh, se ritieni piu' facile parlare di condivisione del link, accesso casuale, rilevazione di portante, rilevazione di collisione, ritrasmissione con CSMA/CD in Ethernet etc. rispetto a parlare di routing dello strato di rete o di protocolli dello strato applicazione come SMTP o HTTP etc. allora le nostre opinioni sono proprio agli antipodi...
goldorak
09-03-2004, 12:50
Come hai detto Ed_Bunker questione di opinioni. :mano:
Ps: non ho detto che era piu' semplice, ho detto che era piu' logico.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.