Newsgroup: it.comp.programmare
Titolo: Imparare il C++

Ciao a tutti, io voglio imparare a programmare in C++ perchè mi è
stato detto che mi sarà utile per programmare videogiochi...premetto
nn so molto di informatica, ho studiato meccanica a scuola e voglio
reinventarmi, abbiate pazienza con me!!!
Ecco le domande: ho preso un manuale di "VISUAL C++.net for Dummies" e
me lo sto leggendo, ma lo trovo povero di esempi pratici, dove posso
trovarne?
Qualcuno nella mia situazione c'è? dove posso trovare tutorials
manuali e sopratutto ESERCITAZIONI? Sono arrivato alla parte  di
operatori matematici e booleani ma nn so come fare per metterli in
pratica, qualcuno non ha gli esercizi per casa di un qualche corso
fatto? E' importante!!!
Qualunque aiuto è graditoooooooo!!!!
Vi saluto
Byez
Nico

 stato detto che mi sarà utile per programmare videogiochi...
Potrebbe esserci un modo più soddisfacente per cominciare. Visto che a
quanto pare non hai problemi con l'inglese, ti consiglio di impiegare
qualche minuto a leggere questo:
Python Pygame Introduction
http://pygame.org/docs/tut/intro/intro.html
- --
"Twenty billion junk e-mail messages sent per day may potentially take
20 billion seconds to delete. A human life is a mere two billion seconds
long. In effect, spammers kill ten people each day."  Anders Andersson
Nicola Larosa - nico...@m-tekNico.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
iD8DBQE/NRd/Xv0hgDImBm4RAvodAJ92HOnEaQ5fvQ7DrwVbDMPGmI3NmACghXuc
vgawZ/g1XB03dSA4SzM1nyk=
=j0rS
-----END PGP SIGNATURE-----

 trovarne?
Per la programmazione C++ in generale:
L'ottimo manuale di Bruce Eckel, "Thinking in C++". :)
http://www.cplusplus.com/doc/tutorial/
Per la programmazione di videogiochi in C++:
http://www.gameprog.it/
http://www.gameprog.it/hosted/puzzleryu/corso1.html
 (corso sui VG sotto C++)
http://www.gamescanner.com/html/utilities/programming/
http://www.geocities.com/SiliconValley/Horizon/8630/
http://www.blueparrots.com/
Se vuoi impratichirti con delle librerie già pronte:
http://www.talula.demon.co.uk/allegro/
 (Allegro)
http://www.cplusplus.com/doc/tutorial/
 (tutorial sulle OpenGL)
http://www.cplusplus.com/doc/tutorial/
 (corso sulle OpenGL)
http://www.demogl.com/
 (DemoGL)
http://www.coin3d.org/
 (Coin3D)
Ciao.
-- 
---
*************** | Have you ever retired a human by mystake?
*** Azathot *** |
*************** | To contact me, ask me gently. Thanks.

 qualche minuto a leggere questo:
Te lo sconsiglio, se non vuoi perdere tempo. Passa direttamente a linguaggi 
nati specificatamente per i videogiochi e non per costruire dei surrogati.


 stato detto che mi sarà utile per programmare videogiochi...premetto
Allora, intanto imho il VC++ puoi buttarlo subito via, e prenderei Borland
c++, in versione personal, magari, che tra l'altro mi pare sia compatibile
con Kylix per linux.
Non è male l'idea di affiancare al c++ linguaggi come java e python, che
non fa mai male.
Poi, alcuni dicono che sia meglio partire dal c, per poi passare al c++.
Non so se questo sia effettivamente meglio, ma se sei proprio digiuno di
programmazione forse sarebbe il caso...
Il thinking in c++ è un ottimo testo (uhm...in realtà sarebbero due...) ci
sono poi i testi Deitel & Deitel e di Kerrigan, che dovresti poter trovare
facilmente in giro.
Sul sito 
www.gameprog.it
 trovi una comunità di sviluppatori di
videogiochi, che condividono materiali e conoscenze. Ci trovi tutorial,
recensioni articoli, etc etc.
Ci sono poi 
www.programmazione.it
 e 
www.html.it
, due siti che trattano di
programmazione in generale.
Good luck!
Raffaele
-- 
Raffaele Castagno
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 surrogati.
Il concetto è che esistono strumenti diversi, adatti a fare cose diverse.
Python consente di fare l'80% delle cose col 20% dello sforzo, rispetto al
C++. Quando poi dovesse servire l'altro 20%, ci sono vari modi per
implementare le parti di programma da ottimizzare in C o C++.
Il modello di funzionamento di Pygame è quello di usare la potente e diffusa
libreria SDL per le parti che hanno bisogno di velocità, e usare Python per
la logica, con tutti i vantaggi di semplicità e potenza espressiva di
quest'ultimo.
Come sempre, il modo migliore è provare di persona, e scegliere in base alle
proprie preferenze.
- --
"Twenty billion junk e-mail messages sent per day may potentially take
20 billion seconds to delete. A human life is a mere two billion seconds
long. In effect, spammers kill ten people each day."  Anders Andersson
Nicola Larosa - nico...@m-tekNico.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
iD8DBQE/NV2DXv0hgDImBm4RAsGqAJ4membVSeRl/vVcD2jZvvOabOks3QCdF0VH
0hG2I0cYmapzLl7zyDjGUp4=
=lPNc
-----END PGP SIGNATURE-----

 alle proprie preferenze.
Il modo migliore per imparare è evitare in anticipo di commettere errori 
imparando dall'esperienza altrui.


 Allora, intanto imho il VC++ puoi buttarlo subito via
per carità. Borland C++ al posto di Visual C++? Consigli *tecnici*, per 
piacere
-- 
  < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
      Don't stand, REACT!      version 0.1.2. C, C++ and ASM developers
                               and beta testers are welcome!

 che ha a che vedere molto con le performances.
Trovo rilevante un passo tratto da "Il pensiero laterale" di Edward De Bono,
BUR:
"Ognuno ha il diritto di mettere in discussione qualsiasi cosa tutte le
volte che vuole, e ha il dovere di farlo almeno una volta."
- --
"Twenty billion junk e-mail messages sent per day may potentially take
20 billion seconds to delete. A human life is a mere two billion seconds
long. In effect, spammers kill ten people each day."  Anders Andersson
Nicola Larosa - nico...@m-tekNico.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
iD8DBQE/Ng9UXv0hgDImBm4RAkuyAKCtMUn0h2CjOD82YdF0poHQFqncXwCgk+wq
fG09n/+4nc6XpaleHUePRDQ=
=jjx8
-----END PGP SIGNATURE-----

 Non sono interessato a portare la discussione su un piano personale.
Neanche io, purché venga rispettata la verità dei fatti e non ci si faccia 
offuscare dalle preferenze personali o dai personali limiti. In ogni caso, 
torno a ripetere: Python è adatto, forse, a fare qualche script, non certo 
per gestire le problematiche dei videogiochi, che richiedono un linguaggio 
più vicino alla macchina e senza idiosincrasie da interpretazione.


Ragazzi sono commosso e non cerebralmente!!! grazie per il vostro aiutooo!!!
siete tutti gentilissimi, voglio bene a tutti!!!
Byez
Nico

 più vicino alla macchina e senza idiosincrasie da interpretazione.
Guarda che non tutti i giochi fanno uso di ultracomplessi motori grafici
3d. Pensa che Ages of Empires è stato programmato in visual basic...


 3d. Pensa che Ages of Empires è stato programmato in visual basic...
A parte il fatto che Ages of Empires non è certo il primo gioco che ti viene 
in mente, comunque i videogiochi hanno dei vincoli molto stretti, 
soprattutto per ciò che attiene la risposta alle azioni dell'utente, 
l'intelligenza artificiale dei nemici (che deve essere sofisticata ma 
veloce), i sistemi di rendering 2D/3D (pensa solo alle problematiche di 
flickering e di vertical blank).
Insomma, valuta un po' tu dove si trova il Python in tutto questo. :^)


 Insomma, valuta un po' tu dove si trova il Python in tutto questo. :^)
L'intelligenza artificiale, come gia detto, è un possibile impiego, poi lo
si può usare come linguaggio per lo scripting di eventi, interfacce,
controlli, insomma tutto ciò che non è di basso livello.
Se poi uno scrive un solitario, perchè scomodare il c++? (pySol, più di un
centinaio di solitari, open, in python...)
Con sta storia del python quasi quasi reinstallo Bridge Commander...
Raffaele, che però non c'ha tempo/testa/voglia....


 performances.
Un motore 3d lo scrivi in C++, ovviamente, il resto del gioco torna
molto piů comodo realizzarlo con un linguaggio piů "maneggievole", come
in tutti i giochi professionali che circondano il core del programma in
C++ con un linguaggio di scripting, alcune SA x i loro giochi si sono
create dei linguaggi ad HOC, ma python č un'ottima scelta.
ciao

 create dei linguaggi ad HOC, ma python è un'ottima scelta.
No, non è un'ottima scelta -- se hanno scelto un linguaggio di scripting 
proprietario è proprio perché possono garantire costi di computazione 
deterministici!
Ciao!


 L'intelligenza artificiale, come gia detto, è un possibile impiego, 
Il problema è che molte volte l'intelligenza artificiale di un gioco è una 
questione di esplorazione di alberi decisionali, operazione per la quale si 
cerca di ottimizzare al massimo l'algoritmo per non far addormentare 
l'utente davanti al video... e tu mi proponi il Python?


 l'utente davanti al video... e tu mi proponi il Python?
Esempio poco ludico, ma mi risulta che i crawler di google siano
implementati in python. E dire che di lavoro ne fanno un bel pò..
Raffaele


implementati in python. E dire che di lavoro ne fanno un bel pň..
Raffaele ti consiglio di non tirar fuori Google & Python perchč
Azathot ci va a nozze :)
-- 
Lawrence "Rhymes" Oluyede
http://loluyede.blogspot.com
rhy...@NOSPAMmyself.com

 Azathot ci va a nozze :)
Non mi toccate St.Google!!
Meglio lasciar perdere, nevvero?


 implementati in python. 
Beeeeeep! Ti risulta male. Ritenta, sarai più fortunato.
-- 
P.S. Per tua info, Google usa Python solo come script collante per il 
recupero delle pagine (fonte: 
http://www.google.com
).


 deterministici!
Il Python ha un limite rispetto al C, certo, ma non credo che sia così
abissale da poter pensare che un qualunque linguaggio (semi)interpretato
neonato possa garantire una velocità tale da preferirlo ad altri
linguaggi più maturi. Sono solo scelte politiche.
ciao

 Sono solo scelte politiche.
Non è vero. Ma in questa sede ci interessano in realtà le motivazioni 
tecniche.
Ciao.


 esempio.
Hmmm, mi sfugge forse qualcosa?  Ad esempio, il gioco "Freedom Force"
ne avra` pure di questo "sincronismo tra audio-video-eventi ansincroni",
se la frase vuol pur significare qualcosa; nondimeno, usa Python.  Stai
forse cercando di dimostrare che questo dato di fatto e` impossibile?-)
Alex

 recupero delle pagine (fonte: 
http://www.google.com
).
Dacci la URL precisa, anche perche` la differenza fra "i crawler" e
"il recupero delle pagine" non mi e` chiara (e lo "script collante"
e` una dizione proprio buffa).  La classica citazione di Peter Norvig,
direttore della qualita` di ricerca a Google Inc, e`: "Python e`
stato parte importante di Google sin dall'inizio, e resta tale man
mano che il sistema cresce e si evolve.  Oggi dozzine di ingegneri
di Google usano Python, e stiamo cercando altra gente con skill nel
linguaggio".  Pochi dettagli tecnici, ahime`, ma se dici che il ruolo
di Python in Google e` poco importante stai direttamente dando del
bugiardo a Peter Norvig, e sulla base di quali informazioni riservate
piu` ricche delle sue...?
Alex

 direttore della qualita` di ricerca a Google Inc, e`: 
Scusa, puoi darci l'URL precisa? :^)
-- 


 se la frase vuol pur significare qualcosa; 
Non ti preoccupare, significa qualcosa.
Non per te, ovvio. :^)


 senza idiosincrasie da interpretazione. 
scusa, e ti basi su cosa, per sostenere questo? da che mondo è mondo la 
IA nei videogiochi è basata su script. Idem missioni, campagne e mappe. 
Tutti script, in linguaggi quasi sempre peggiori del Python. Gli stessi 
modelli 3D sono script - io scrivevo VRML a mano in notepad, e credo di 
saperne qualcosa. Dici che i motori che fanno girare questi script sono 
scritti in C/C++? oh beh, anche quello di Python lo è. Perchè quello di 
Python dovrebbe automaticamente essere peggiore?


 performances.
senti, per caso hai un'occhio piů grande dell'altro ed una passione per 
gli ovini? no? sicuro? č che scommetto che le pronunci "performaaaaans" 
e "professionaaaaale"


 gli ovini? no? sicuro? 
Sì, quella che adora gli animali sei tu. :^)


 Python dovrebbe automaticamente essere peggiore?
Ti chiedo sono una cortesia: controlla che il cervello sia in funzione prima 
di muovere le dita sulla tastiera. Potrebbe portare a contenuti più 
produttivi.
-- 
P.S. Non è detto, ma sono fondamentalmente ottimista.


 Parliamo di videogiochi seri.
fuori i nomi


 dall'altra un qualsiasi linguaggio LR
LR?


 e "professionaaaaale"
Se fosse lui, non userebbe il c++! Implementerebbe tutto direttamente in
allembly! :)))


 "performaaaaans" e "professionaaaaale"
Ah il pastore... che uomo...
Saluti.

 Non per te, ovvio. :^)
Neppure per i vocabolari (pare che tu continui a non accorgerti di
avere usato la non-parola "ansincroni", che e`, come "asincroni" ma
a standard ansi?-).  Ma anche trasferendola ad "asincroni",
"sincronismo fra eventi asincroni" e` un ossimoro anche peggio
del precedente... e trasformare gli "eventi" in "audio-video-eventi"
suona solo un pochetto pomposo, ma significato non ne aggiunge.
Alex

 produttivi.
Mi chiedo se il cervello cel'hai, o se è solo uno script...


 implementati in python. 
Beeeeeep! Ti risulta male. 
"""
asserivi il falso.  Gli risulta bene, almeno basandosi sulla URL che
ora *TU* stesso citi.  Hai fatto un errore (e ti vedremo dunque
scusarti con un poco di umilta`) o hai mentito deliberatamente?  Ai
posteri l'ardua sentenza.
Naturalmente, erri, o menti (per la gola:-), anche a dire che "non serve
avere grandi performances" nei crawler (che Google fa in Python).  Nello
stesso paragrafo, il paper che tu citi inizia proprio con:
"""
In order to scale to hundreds of millions of web pages, Google has a fast
distributed crawling system.
"""
e continua accennando all'architettura distribuita e all'uso di Python.
Alex

 più "ben scritta" fornita con il Python.
Vale la pena quindi di sbattersi per implementare da capo un linguaggio
fetale che non sai cosa può riservarti? Senza contare che con meno
fatica puoi modificare "i punti deboli" che ti interessano presenti 
nel Python(sempre che siano veramente tali)
ciao

 trovarne?
Diciamo che partire con VC++ e' la scelta peggiore che potevi fare per
imparare il C++.
Perche' in generale usi strutture propietarie Microsoft che non sono
affatto standard, ovvero non sono C++.
-- 
(let ( (R1K0 "Enrico Franchi")  
       (url "
www.anubics.org
")
       (quote "Se mi prendo sul serio c'e' da mettersi a ridere") ) )