Should beginners start with C++?

Started by
58 comments, last by Washu 17 years, 6 months ago
personally i think BASIC is a good way to start. however i do think starting out with C would be a good way to get a hang of the programming concepts. IMO, however, i think it really depends on what you want to start programming. If you badly want to make games, then you should start out with DarkBasic, or any other port of BASIC. VB is very easy to learn, but i don't believe it is the language to go for if games are your idea. C or BASIC are good ways to start. And i do believe you should start out with C++ rather than Java like mentioned above.
Advertisement
Quote:Original post by lmb
personally i think BASIC is a good way to start. however i do think starting out with C would be a good way to get a hang of the programming concepts. IMO, however, i think it really depends on what you want to start programming. If you badly want to make games, then you should start out with DarkBasic, or any other port of BASIC. VB is very easy to learn, but i don't believe it is the language to go for if games are your idea. C or BASIC are good ways to start. And i do believe you should start out with C++ rather than Java like mentioned above.


Is there a reason for the anti java? C++ seems to be held up as a paragon of programming talent, but frankly, there are probrably more bad C++ programmers then good ones. The biggest selling point of C++ is the freedom it gives you, yet at that same time, that freedom can and often does lead to some horrible code. The enforced rigidity in C# or Java most likely leads to more mediocre to good programmers, then C++ does. Hell, the lack of memory management alone probrably accomplishes that.

I think the concept that learning on a managed language means that somehow down the road you just arent going to grok pointers and memory language just seems silly. If you are able to get your brain around it while learning programming, you should be able to do so even easier with a language or two under your belt.
Quote:Original post by Serapth
Now today, C++ has all the legacy crap C had for the most part. Even worse, when a new programmer comes into the world... what are they starting with? Console apps. My god, I imagine half the young new programmers in the world had never seen a dos prompt before! :)
You need to know the history too.

What about a decent hex editor? :D
Or learning more than one languages at the same time?

I got my instant gratification from level editors of different games and "cracking" games that had no protection(modifing art/config files/savegames), later from that I was able to write some low level code and knowing that I had the power and control over my pc.

[Edited by - ivarbug on September 20, 2006 10:09:22 AM]
Just to throw in my 2c here, I programmed in BASIC for about 15 years before I learned C and I firmly believe that if I hadn't already had my conceptual understanding of variables, subroutines, control loops and so on, I would never have got beyond first steps in C before giving up.

That is just me though. I find it constantly awe-inspiring to see the projects that kids today are creating at ages where I was still writing text adventures.
Quote:Original post by ivarbug
Or learning more than one languages at the same time?


Personally I cant do that. To me its kinda like reading two novels at a time. Technically I can do it, but trying to keep the concepts straight after is a pain and I dont really enjoy the experience.

Quote:Original post by Serapth
Quote:Original post by ivarbug
Or learning more than one languages at the same time?


Personally I cant do that. To me its kinda like reading two novels at a time. Technically I can do it, but trying to keep the concepts straight after is a pain and I dont really enjoy the experience.


"at the same time" - I mean something like: first starting with one language then after some time(a month) trying to learn another one(maybe 1st higher level language then a low level lang.). I could use knowledge from learning lower level language in another programming language. Or just to learn more than one languages to check them out and compare.
IDK "Or learning more than one languages at the same time?" was just a quick thought. Warning: [NeVeR TeStEd(by me)] :)
Quote:Is there a reason for the anti java?


I am not anti java, i personally think that java is a better language than C++. java is similar to C++, all but a user friendly interface. without that interface, i would assume that a java programmer would be shocked if he had to learn C++. i dont believe it would be very easy to switch over from java to C++, rather from C++ to java.
Quote:Original post by lmb
i dont believe it would be very easy to switch over from java to C++, rather from C++ to java.


I am with you there, I started out with Apple's Objective-C (a higher level C relative than C++), and had a very hard time learning the fundamentals of C (although I did end up with very good understanding of polymorphism, etc.).

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

As was previously mentioned, I think it was a lot easier for many of us who have been programming for over a decade.

As Serapth stated, instant gratification was a lot easier a long time ago, back when commercial games wouldn't look that much better than what a beginner could do. King's Quest is what made me want to learn programming. That, and a few infocom games. Wow, BASIC can make a game almost look that good, and it only took me a couple hours to draw a screen. People starting now, don't have a chance in ****, regardless of how easy you make a language, of even getting remotely close to many shareware apps, let alone a commerical app.

I started out in BASIC also, and I remember the book I learned from. The book was 200 pages of code, with a few comments at the end of each chapter. You just typed what the book stated, and once you completed copying the book, you'd have a game. But at the same time, it purposely put in errors throughout the book, so you would have to compile at the end of each chapter and find and correct what went wrong.
Hi,

me personnaly, I started using QuickBasic. It is very cool and simple.
I learned Everything in it.
EVERYTHINGS hehe :P

I did like 3 years of quickbasic programming before realizing you can create function :| (haha, no internet)

But QBasic is too old now, that's why I suggest VB. (Wich I moved on after a while)

Like said before, it's very easy to code, and you can start with image and button etc tu make a game without using DirectX or OpenGL.

Then, when you become comfortable with it, you can use OpenGL in VB. It is very simple to setup, and you dont have to bother with class object (DirectX) for now.

Then, you will fall into C by your own, and say : hooo god, this is sooo Cool :D:D.

Then after an engine or two (lol, I done like 7) you can move into C++.

The best way to learn, is to NOT attempt to finish everything.
When you have an idea, start a new project on it.
when you stuck, start a new one.
This way, you will learn much more things, and make less and less errors and finish with really well structured programs. (Because of all the attempts :P)

This is my point of view.

Cheers

This topic is closed to new replies.

Advertisement