This is a very old topic, but let's reiterate..
Python, certainly. It teaches many (most?) of the major programming patterns/paradigms in the same compactly designed language that has a very comfortable learning curve. After Python the beginner already has a very broad-based mindset... a toolkit for all kinds of programmatic solutions.
C++ on the other hand forces a much slower learning process with a more limited set of ideas as the end product.
Speed of native-compiled code is overrated. It's the abstract structure of the problem and thus the structure of the program that describes it that a programmer needs to develop understanding on. I've seen enough C++/Java-types have their mind blown by Lispish languages that I'm pretty confident in stating which way the more beneficial learning direction goes (I was one of these folks, mind you - there is a lot to "unlearn" after static-typed imperative programming becomes too ingrained).
LambdaGrok. | #ubuntu-programming on FreeNode
Python all the way. It's enjoyable from the start and you are amazed how simple is to do cool things in it, even as a noob. C++ on the other hand is rather unforgiving for beginners and you have to assimilate a lot of knowledge to do anything in it. In general it's risky to start programming adventure with C/C++, especially when you are not a stereotypical introverted nerdy geek type, because you can get discouraged easily and think that programming is not for normal people . Good mood makes learning anything a breeze.
Learn Ruby
Awesome, yet another language flamewar.
1. C++ has a standard, Python doesn't. Python's "standard" is whatever CPython does.
2. C is faster than C++. Templates slow down C++ and add to the code.
3. Python's OpenGL library calls glError() after ever OpenGL call (not sure if this is the case with OpenGL 3.0+) which is a no-no according to the red book as it is a major slowdown (50% of C speed, where as without those calls you can do 99%).
4. Python 3 breaking backwards compatibility with Python 2.x is irrelevant.
5. Python is still strongly typed.
I am infallible, you should know that by now.
"My favorite language is call STAR. It's extremely concise. It has exactly one verb '*', which does exactly what I want at the moment." --Larry Wall
(02:15:31 PM) ***TimToady and snake oil go way back...
42 lines of Perl - SHI - Home Site
The only things templates slow down is the compilation process. They are implemented very quickly as they are fully resolved at compile time. Things that slow down C++ are polymorphism (due to vtable lookups) and exception handling (due to stack unwinds).
I haven't used that library, but that sucks. Hopefully they can resolve that.
Learn Python as it is easy..
For games see this www.ogre3d.org.
IDK, it didn't look like it had quite become a "flame war"... yet
Incidentally, when used properly, templates can serve to gain major improvement of run time performance over traditional algorithmic coding:
Templates allow the compiler to optimize out all the compile time constant conditions and generate inline code that exactly matches the requirements in each situation instead of having to test them all at run time. It makes a huge difference when used inside tight loops, such as manipulating images at the pixel level like one might need to do in games.
Last edited by worksofcraft; February 1st, 2011 at 09:44 PM.
Take nothing but photographs. Leave nothing but footprints.
I am pretty much in the same shoes as the thread-starter, but I wonder if Genie / Vala would be a perfect fit?
Program syntax that is similar to python and speed like C, or am I wrong?
I also like that you compile it so no installation is required, just a any C program.
Bookmarks