Best language before C++

Whats the best language to learn before moving onto the more deeper C++?
Is there one which is a good language to learn to get to grips with programming in general? what ones would an experienced programmer recommend pls. ty.
I don't see any need to start with something else, if you're interested in learning C++ then just learn it.

http://cplusplus.com/doc/tutorial/
Last edited on
This is a C++ forum! :-)

For a varied range of opinions, see:
"What is a good programming language for beginners?"
http://stackoverflow.com/questions/990157/what-is-a-good-programming-language-for-beginners

My current take is that C++ is prob not the best to learn as a very language if you're teaching yourself, rather than taking a course where you have someone to provide guidance.

If you are keen to learn it as a first language, it is possible, but it will require more discipline than some other languages. Which is some people believe you should learn at least the basics with a "kinder" language (one without pointer, etc.)

One of the more popular first languages is Python. And it's not a waste of time to learn Python before C++! Where I've worked, Python has been our auxillary language, used for build scripts, misc utilities, etc. (so it's good for the cv/resume!)

But most of the basic language elements are present in both C++ and Python.

Andy

P.S. I learnt BASIC, then Pascal, then C++. And I've been using Python for about 6 years now. There are friendly forums in the Python world, too.
Last edited on

C++ is actually a fairly good beginner language. It's a little cryptic at first but if you find a good tutorial, starting out can be kinda fun. I would recommend using multiple sources, a good book or two, a couple websites, and web videos, as well as someone who knows C++ or forums like this one.

I would very highly recommend you visit http://xoax.net/ Go through the video C++ console tutorial videos.

Some really basic examples can be found at http://www.cppgameprogramming.com/cgi/nav.cgi?page=index Just go through the basic lessons and ignore the Allegro stuff unless you want to make games with it later.

Out of curiosity how much C++ do you know now? Can you write a hello world program in it or any other language?
I personally think C++ is the best language to start with.

I started with pascal, basics, cobol, java, jade etc. I struggled with C++ and found assembler easier for years. Mostly because C++ is quite strict on programming principles.

It is best to learn all of those great programming principles first. Otherwise you will get to the stage of learning C++ and end up arguing with the compiler like I did. Unfortunately the compiler doesn't negotiate.
C++ is a great language to begin with. Since it is very strict it teaches you good habits , concepts , and gets you in the developer mindset. IMO
I were very familiar with C# before starting with C++. C# is similiar, but it's way easier as there's that GC to pick up memory no reference holds onto any longer. I still use C# where performance isn't an issue, as I have grown to fond of that language. Could produce 1000-line code in days.
closed account (1vRz3TCk)
Barbon wrote:
Whats the best language to learn before moving onto the more deeper C++?
Is there one which is a good language to learn to get to grips with programming in general? what ones would an experienced programmer recommend pls. ty.
Is there one which is a good language to learn to get to grips with programming in general? Yes, C++. It is very big because it is wide ranging but the general programming stuff is straight forward and easy to pick-up. You do, however, want to be more focused on learning to program and less on learning the language i.e. learn the principles and apply them with C++ not the other way round.

I would recommend taking a look at "Programming: Principles and Practice Using C++" by Bjarne Stroustrup.
On reflection, a good language to learn before C++ might just be C.

By that I mean get you head round the basic issues, like variables, control flow, etc. Though you should prob. use pointers spasringly to start with.

Once you get your head round proceedural programming, then you should read up a bit about the principles of object oriented design. And move onto look at proper C++ -- classes, polymorphism, etc.

I am sure all the better text books follow this approach, but they might be a bit light on the design side (does Stroustrup's tutorial book do this side of things well?)

Andy
Last edited on
Take a look at
"Thinking in C++: Volume 1"
It teaches you C++ without assuming that you have any familiarity with C, and you get to learn the whole piece, not a subset as taught in various books I've seen.
I think that C is a lot harder for a beginner. C++ provides many more built in containers and algorithms that allow you to write some fairly complex programs without having to learn the math and theory behind binary trees and other data structure concepts. You can learn to use a std::map pretty easily without fully understanding how to make a binary tree. Moreover, you don't have to worry much about pointers at all. You could start by writing programs that simply builds objects and references to objects in order to keep the syntax simple at first.

As far as concepts go, a while loop is the same concept in any language. It makes no difference what language you start with. C# requires everything to be done in classes, so it is more of a strict object oriented language. If you want to learn program in terms of OO, then maybe C# is a good one to start with. Get visual studio express and start using the online tutorials. Use a language that already has a lot of built in types such as containers and algorithms so that you don't have to jump in and learn all of the complex theory about sorting, trees, etc.
If your new to programing in general i would recomend html,javascript,php,c++, because each programing language teaches a difrent dicipline of programing(structre requisits,case senitive programing, and file/byte operations, along with varibles).

otherwise if you learning from previous high level programing language like java, i would recomend just studing a c++ giuld and watch video tutorals, ex: @youtube search: thenewboston , on his page search "c++ tutoral", then makeing a c++ "copy" of one of you non-cpp programes.
Topic archived. No new replies allowed.