Newsgroup: it.comp.lang.c++
Titolo: Programmare seriamente

Salve a tutti,
č da poco che seguo questo NG ma vorrei imparare a programmare seriamente.
Ho scaricato diversi manuali e tutorial per imparare il C++ ma ancora non
riesco
a orientarmi nel mondo della programmazione visto che per ogni compilatore
esistono librerie e caratteristiche di linguaggio differenti.
Mi interesserebbe conoscere i pareri di chi ha gią imparato e sapere come ha
fatto a diventare programmatore. In pratica gradirei dei consigli sul
percorso da seguire nello studio della programmazione considerando che
qualche piccola base di programmazione ce l'ho gia avendo sostenuto l'esame
di fondamenti di informatica in ingegneria civile e che per un pņ mi sono
interessato al VB5.
Ringraziando tutti anticipatamente per l'aiuto.......
Distinti saluti.
--
Gigabyte

 interessato al VB5.
Iniziare dal C++ é come voler fare una casa iniziando dal tetto !!
Dietro al C++ c' é molto ... anzi moltissimo.
Considera che il C++ é un linguaggio così "complesso" che ben pochi possono
dire di conoscerlo a fondo ... molti di più ( me compreso ) ne hanno una
"discreta conoscenza".
Se fossi in te cercherei di iniziare a lavorare con un linguaggio
procedurale tipo pascal ( Turbo pascal x dos ) e poi proverei a fare il
salto verso ambienti più complessi utilizzando Delphi.
Quando ti sentirai maturo prova a guardare il C e infine quando saprai tutto
sul paradigma procedurale guardati la programmazione ad oggetti OOP ( Delphi
o C++ o Ada ).
Il VB a me non piace e lo trovo molto "accrocchiato" e poco didattico.
Questo per la conoscenza degli strumenti ... quanto poi all' uso degli
stessi é un altro film.

Vai per gradi... impara il linguaggio standard (evita
di utilizzare tools vari) programmando semplici
applicazioni dos-style.
Lavora prima sui costrutti base (istr. condizionale,
istr. iterative, funzioni...) e appena sai maneggiare
questi costrutti passa alla programmazione ad oggetti
e/o quella generica.
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------

 interessato al VB5.
Secondo me l'unico percorso serio è quello che scaturisce da una sana
passione. Se manca quella mancherà sempre qualcosa nella tua
preparazione.
EMG


ICQ #34602650

Non sono molto d'accordo con l'affermazione di di Yellow sul fatto che prima
di passare al C++ è meglio imparare a programmare con un linguaggio
procedurale come il pascal.
Secondo me conviene subito cominciare a programmare ad oggetti in modo da
conoscere fin da subito il paradigma della programmazione ad oggetti.
Infatti per me è  difficile passare dalla programmazione procedurale a
quella ad oggetti in quanto una volta che si impara un metodo è difficle
staccarsi per un altro completamente diverso e si finisce per scrivere
programmi in C/C++ che usano solo l'incapsulamento.
Naturalmente è solo una mia opinione.
--
~~~~~~~~~~~~~~~~>))))°>~~~~~~~~~~~~~~~~
b0nu$ - 
bo...@numerica.it
Linux User Group - 
http://www.lugbs.linux.it
Assembly page - 
http://wurstel.ing.unibs.it/~bonus
ICQ - 3627899
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

o C++ o Ada ).
Il tutto nel giro di qualche decennio, considerando anche che è uno studente
universitario e deve studiare per sostenere altri esami.
Inizia direttamente dal C++ (anche perchè passerai dal C) e fai più
esperienza possibile: solo utilizzando con una certa frequenza un linguaggio
potrai via via scoprirne i meccanismi ed iniziare a pensare già nell'ottica
del linguaggio.
--
Francesco Trotta
http://space.tin.it/computer/ftrotta
Elimina "x_" dal mio indirizzo per mandarmi
un messaggio direttamente

preparazione.
Assolutamente d'accordo


Devo dire che anche io, qualche anno fa, sarei stato daccordo con te.
Purtroppo l' esperienza mi ha dimostrato che se uno non sa fare BENE le cose
"semplici" difficilmente poi acquisisce la necessaria abilità con quelle più
difficili.
Per quanto mi riguarda sono sempre molto diffidente verso un neolaureato che
vorrebbe spacciarsi per un consumato programmatore OOP nonchè C++.
Una domanda classica é quella di fare implementare un paio di classi con un
minimo di ereditarietà ( per rendere la cosa più gustosa ) in C++ e poi
quando il candidato finisce la seconda domanda é di riscrivere il tutto in
pseudoassembler a 32 bit ...  ( per capire ... se e cosa hanno capito ).
Ti garantisco che solo pochissimi passano il turno  ....  e li assumiamo
subito !!

subito !!
Comunque un simile test puo` al piu` verificare le capacita` in fatto di
programmazione, mentre un laureato dovrebbe avere ben altre capacita`.



Questa mi sfugge; che cosa vuol dimostrare una cosa del genere?
Una questione simile posta in un colloquio di lavoro mi farebbe 
drizzare le antenne e levare le tende immediatamente.

o C++ o Ada ).
Non sono per nulla d'accordo con queste affermazioni; C++ non presuppone
nessuna conoscenza dei linguaggi procedurali.  E' ovvio che una qualsiasi
esperienza di programmazione precedente serve comunque in qualche modo, 
ma da li' a dire che e' propedeutica all'apprendimento del C++ il passo e' lungo.

subito !!
Humm...
Senza provocazione, ma se è vero che ogni candidato va valutato per le risposte
che dà, talvolta bisognerebbe valutare anche la qualità delle domande... ;-)
AB
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Andrea Baruzzo
Via Circonvallazione, 26
Muzzana del Turgnano (UD) - Italy
e-mail: 
andrea....@ud.nettuno.it
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 Ok.
E verso un non-laureato ma con molta esperienza? :-)
EMG

interessato al VB5.
Parti con i libri giusti : Lippman, Meyers, Stroustrup ed anche 
"C++ Manuale di Stile" di Carlo Pescio, in modo da evitare subito di prendere
cattive abitudini.
Il mio consiglio e` quello di affrontare un problema reale di cui necessiti
di un programma di calcolo e ti impegni a migliorarlo ogni giorno di piu`,
non accontentandoti mai delle soluzioni che implementi e cercando sempre
di modificarlo aggiungendo via via le informazioni nuove che apprendi.
Puo` essere ad esempio un programma per lo sviluppo delle soluzioni
di qualche problema di meccanica razionale, scienza delle costruzioni, o
di qualche altro "mostro" che per il momento ti ritrovi tra le mani ;-).
-- 
Ing. Roberto Gerola
Email: 
robert...@penguinpowered.com
WWW: 
http://www.penguinpowered.com/~The_Cpp_Compass

Per il momento lascia perdere IDE, RAD, Toolkit grafici, ecc ...
Vabbe`... magari gli IDE non fanno troppo male. Quelli di per se`
ti risparmiano solo un po' di righe di comando.


 salto verso ambienti più complessi utilizzando Delphi.
Sicuramente chi vuole imparare a programmare è bene che impari il linguaggio
C e/o C++ e poi una volta che ha veramente imparato, consiglio di utilizzare
il Visual Basic con cui poter realizzare splendide applicazioni
professionali in poco tempo. E poi imparato il Visual Basic passare a Visual
C++ che sicuramente è molto più efficiente e potente del VB e crea programmi
più snelli



Saltiamo via il VB per favore.
Piuttosto se uno sa bene il C può passare facilmente a Delphi, che a
parte l'odio per il linguaggio (bello il VB, mi vien da dire) permette
di fare tutto quello che fa VC ed è ancora più snello, se per snello
intendiamo codice più compatto, eseguibile più piccolo.
Credo che tu non abbia mai visto Delphi...provalo non te ne pentirai.
Enrico

professionali in poco tempo. 
In poco tempo magari si, ma professionali....


intendiamo codice più compatto, eseguibile più piccolo.
Mi è sempre stato detto, anche da utenti del Builder, che gli eseguibili
sono più grandi di quelli Visual C++. Ancora che il Visual C++crea programmi
più efficienti, ma è meno intuitivo nell'utilizzo.


 subito !!
Sadici!!!
Ma se il candidato vi va un programma funzionalmente equivalente ma senza
"classi"?
Poi cosa fate d'altro per divertirvi, dopo l'assunzione? Gli piantate un
condizionatere nella schiena per tutto l'inverno dicendo che bisogna
cambiare l'aria? :)
Credo che sarebbe divertente lavorare da voi. Dove devo fare la domanda?
--
Alessandro Monti

 vorrebbe spacciarsi per un consumato programmatore OOP nonchè C++.
Dimenticavo, ma se uno vuole spacciarsi per esperto di OOP, non farebbe
brutta figura a citare il C++?
Magari bisognerebbe passare da SmallTalk e/o Eiffel, magari approdando ad
Actor, se non POOL (un po' di vera programmazione ad oggetti concorrenti non
guasta).
E dimenticare modula? e Ada?
Ciao!
--
Alessandro Monti

E dimenticare modula? e Ada?
Come minimo dovrebbe riconoscere che la OOP non e` una religione, ma
una "filosofia" di cui esistono diversi modelli (con covarianza o 
controvarianza, completamente interpretato o compilato, modelli che 
forzano l'incapsulazione ed altri che non la forzano...)
con vantaggi e svantaggi fifferenti. Bisognerebbe 
anche riconoscere che la OOP e` una visione del piu` generico
concetto di polimorfismo...


  
PGP 2.6.3i key available
--------------------

>Non sarebbe meglio che dimostrasse di saper fare modelling e analisi ad
oggetti,visto che OOP è soprattutto questo?
Veramente lo è diventato, o perlomeno non è il punto principale.
Mi pare ovvio che se si vuole fare OOP bisogna fare modelling e analisi ad
oggetti, ma questa è una conseguenza.
O no?
Comunque ai fini pratici ti dò ragione.
Io volevo solo sostenere che non è vero che OOP=C++, o qualsiasi linguaggio,
ma appunto un "modo" diverso di programmare. A patto che il linguaggio lo
supporti, qualunque linguaggio OO.
--
Alessandro Monti

 concetto di polimorfismo...
Approvo. Per quanto riguarda l'OOP, rimango della vecchia scuola che dice
(quasi):
OOP = ereditarietà+polimorfismo+information hiding
Se la poniamo dal punto di vista dei tipi di dati l'OOP non implementa
pienamente l'ADT (Abstract Data Type), come un buon corso sui linguaggi
insegna.
A proposito, il sito ha ricominciato a viaggiare, così ho visto il tuo
curriculum. Niente da dire. Se l'avessi visto prima mi sarei potuto
risparmiare alcune precisazioni, dato che probabilmente ne sai più tu di me
di OOP (almeno a giudicare dalle tue pubblicazioni on-line).
Mi sembra giusto darti qualche informazione su di me, dato che ho letto le
tue, ma non su NG.
Diciamo che sono nelle tue stesse condizioni, con un anno di vita in più,
qualche linguaggio diverso, nessuna pubblicazione di rilievo. Tesi in corso
sulle reti neurali a Milano e un po' di lavoro come analista-programmatore
presso un ente milanese.
--
Alessandro Monti

presso un ente milanese.
Interessante, anche io mi interesso di AI anche se appartengo alla 
scuola classica... Attualmente sto svolgendo la tesi circa la 
realizzazione di un sistema esperto.


>insegna.
Potresti fare un esempio?


> Potresti fare un esempio?
Dovrei rispolverare i libri.
Così a freddo mi pare che il problema sia nel fatto che non si possono usare
i tipi a prescindere dalla loro rappresentazione interna. E viceversa (la
loro rappresentazione interna influisce sull'uso che ne puoi fare).
Il C++ ha dei problemi che riguarda le conversioni, mi sembra di ricordare
che ci sono delle regole di "compatibilità".
Forse sto dicendo sciocchezze, è passato del tempo e le considero comunque
"finezze".
Comunque se ti interessa veramente rispolvero i libri :(
--
Alessandro Monti