A question for you all.

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
Electron
Posts: 874
Joined: Sun Mar 14, 2004 12:05 am
Location: Massachusetts USA

Post by Electron »

I used C++ for Dummies to learn C++. It's not the best book as it leaves out some cool stuff (like pointers to functions) but its easy to follow. Don't use the compiler that comes with it though it sucks (well actually I think its just an oudated version of gcc). Learning the basics of C++ should only take a month or so
Phunk
Posts: 78
Joined: Sun Dec 14, 2003 8:18 pm
Location: The Netherlands

Post by Phunk »

hey, I learned C++ from the interned, after I sniffed on clickteam's Games Factory(SUCKS!) I experienced that c++ itself isnt hard, especially if you know other program languages, but it is more lower level than jamagic. I just started trying to create a program(after the basics, never finsihed the tutor, and even that tutor just gave me basic classes and function description, compiled by the command-line), and eventually it worked(a plugin for games-Factory for school) You get a littlebit smarter with every program you write, At least, when you just try to solve it yourself. This way you dont get bored, and you never forget what you learn(thats how I feel about it). The hard part for me was trying to understand something like the windows API. If you just read and try, you should be able to figure something out in no-time.

Oh yeah, a basic C++ program is just .cpp (and .h) file(s), these are regulair text files(you could write them in notepad) with your code. These files are compiled at the dos prompt with a compiler(converts the c++ file to machine code in an .obj file) and then it gets linked(all diffirent files get combined to one .exe(for example) file). But there are now programs like devCpp and microsoft visual C++ that do all the long and boring work for you, so you just write code, click compile, and test the .exe. That is the basic of c++(I think). Do mind that when you do this(in pure c++) you cannot display a single letter on the screen at runtime. This is because you need functions for this, and unless you write them yourself you have to call them from a library. These library's of functions are what its all about, you include the right library in your program( by typing at the head of your .cpp file, #inlude "some library.h") and use its function to your need. Beware that a .lib file(containing the used function) has to be linked(most of the time) as well, when you link your .obj file. This .lib file is used by the PC to acces the code that is behind the function. But you do not worry about this, just link the right file(goes automaticly most of the time, nowadays) for the right function, provided by the right .h file.

I hope that this makes some stuff a bit clearer.
Greets Robin
buezi

Dont learn java if you want to learn C++

Post by buezi »

Tyn wrote:Java is also based upon C++ IIRC, it is a simplified version of C++ that they were going to use for some domestic appliance or something. Never done Java myself but I am told it is a good stepping stone to go on to C++.
Java is not simplified C++. Its only inspired by C++. It has some "modern" features which some developpers dont like. For example the memory mangement is done automatically, the syntax is more strict, there is no direct manipulation of pointers...and much more

IMHO its not a good idea to learn java if yout want to learn C++. Head for C++ directly. Sometimes the similarity of their syntaxes leads to more problems than one would expect. So start with java if your interested in java but to learn C++ (for Irrlicht) I would avoid it.
In the long term (when you finished the "c++ programming language" book) I would recommend you also to buy a book on design patterns, this helps you to write clean and easy to understand code.

Have fun
Tyn
Posts: 932
Joined: Thu Nov 20, 2003 7:53 pm
Location: England
Contact:

Post by Tyn »

I didn't come from Java, you seem to have used it far more than me so I respect your opinion, however I learned BASIC from a young age. I only learnt C++ in the last 2 years, I can tell you that I would have given up learning C++ if I hadn't gotten the confidence in my ability to learn a programming language that I got from BASIC.

I don't think it's a bad idea to go away and do some scripting and stuff in Java, play around in Visual Basic or any of the other slightly easier language before moving on to C++ no matter the cost of learning new commands and syntax because it is better to learn new syntax than to give up IMO.

I do know what you are saying tho, I have had to learn quite a few different quirks about different suppliers versions of BASIC ( big companies like to say they have their own language even if they only change a couple of commands ). Initially it is confusing but if you look past the syntax ( syntax is a habit IMO, not a thought process ) then the structure of code for 90% of languages is identical, if not very simular.
Void

Post by Void »

I dunno if this has already been said cuz i havent read the whole thread yet(sorry :lol: ) but i first learnt to program basics in VB at school, i got visual studio and while learning VB i opened VC++ many times, created a new project and spend days trying to figure out what i a handle was an all that crap...I thought v++ was impossible in VC++ even tho i had previously tried BCB which was a little easier. Basically what im saying is, a few years later I brought a book called "The Complete Idiots Guide To C++", i *HIGHLY* recomend this book for anyone who doesnt know the first thing about C++. I still dont know much about c++ or irrlicht and my attempts to create my own game are often given up after a few days but im on a course now an will complete in a few years.

I know thats very basic sorry, just buy the book.
Robomaniac
Posts: 602
Joined: Sat Aug 23, 2003 2:03 am
Location: Pottstown, PA
Contact:

Post by Robomaniac »

Similar to above.

Learned w/ VB, for about 4-5 years
Same as above, opened vc++ and tried to do stuff, but couldn't
bought "The Absolute Beginners Guide to C"
Learned C from that book pretty much, its very good and i recommend it highly. Then, i advanced from there pretty much, just learning as i went

Hope that helps :mrgreen:
The Robomaniac
Project Head / Lead Programmer
Centaur Force
Guest

Post by Guest »

Maybe you are right, one does not start climbing by going up the everest. Java offers certainly a good possibility to start because its well structured and so on. Still I think it just looks too much like C++ and then its totally different. When you are a beginner you do not see the concepts behind the syntax (because you have other problems :D ) and you expect things that look similar also to behave equally. But with Java and C++ sometimes they dont...

Off Course C++ is difficult to start, so after reading your posting and the ones from other guys, I think the best way would be to start with VB. I dont know it too well (only for macros in Visual Studio) but it seems good structured as well and it differs in the syntax from C++ so the beginner does not mix the two concepts. In Addition with VB you can use DirectX and start programming games.
R00mpel
Posts: 41
Joined: Sun Nov 09, 2003 10:12 am
Location: Russia, Nizhny Novgorod

Post by R00mpel »

As for me, i've spent a couple of years learning C++... And if you want to begin with something easier than C++, i'd recommend you to learn VB - it is extremely easy to use, and there are lots of 3D engines that support VB (some of them are really great - like truevision3d) But anyways Irrlicht is my favourite engine ;)
The only thing to fear is running out of beer!
Tyn
Posts: 932
Joined: Thu Nov 20, 2003 7:53 pm
Location: England
Contact:

Post by Tyn »

Plus knowing BASIC is always a good thing because most places that do low level programming want a quick GUI screen and to be able to write something quickly so knowing it can get you some good oppotunities.
Luke923
Posts: 59
Joined: Wed Nov 05, 2003 5:26 am

Post by Luke923 »

R00mpel wrote:As for me, i've spent a couple of years learning C++... And if you want to begin with something easier than C++, i'd recommend you to learn VB - it is extremely easy to use, and there are lots of 3D engines that support VB (some of them are really great - like truevision3d) But anyways Irrlicht is my favourite engine ;)
Здравствуйте Румпел :D

And, I thought I would never put my high-school Russian to use...

Anyway, for so many reasons, VB wouldn't hurt to know - esp. if you find C++ daunting. I know this first hand. I have worked with C for over ten years; yet, it wasn't until a couple of years ago that I came across a template for Genesis3D called ProjectZ which showed the elegance of inheritance, the new() and delete() functions that C++ started to click.

What I'm trying to get at is that everyone learns at his/her own pace. So, with that in mind, don't get too distraught by the material, because one day the light bulb will come on - more likely faster than it has with me.

Gook luck.
"Object-oriented programming is an exceptionally bad idea which could only have originated in California."
- E.W. Dijkstra
Post Reply