Campbell Ritchie wrote:Their difficulty, compared to Java™ may make them better for learning.
Building on Campbell's answer, starting with C would have the benefit of being forced to learn about the technology underlying higher level language and runtime implementations such as Java, Ruby, etc. The downside is that it's relatively difficult to do interesting stuff because you're bogged down with pointers or implementing utilities that are part of higher level languages' standard libraries.
Starting with a higher level language would likely be more fun because you're able to do interesting stuff earlier. The downside there is that once you get used to working with those higher level languages it can be difficult to motivate yourself to learn about pointers and explicit memory management.
yes, thats why C is still in syllabus in schools and colleges
Joined: Oct 13, 2005
I don't think C# is a very good language for learning, least of all its newer incarnations. So much of the workings are hidden behind Visual Studio® and you don't see what is happening. You end up learning Visual Studio® rather than programming.
for a begginer concepts are more important than syntax and special usage of language so i think for start c (or ++) is a good choose.
but if you want start a human friendlier language of curse pascal is my advise.
Hi. Brian Overland here. Sorry for the long delay in responding to this... I wish I had been on the threads much sooner... family emergencies and distractions and all that. Yeah, I know you don't want to hear it.
A quick comment on what everyone else has said. Languages such as LISP etc. are very interesting, but there is a very good reason for learning C++. In learning C++, you essentially learn everything in C (with a few extra restrictions here and there) but learn much more -- you can learn object-oriented programming for example.
In any case, together C and C++ form the basis of "the C family of languages"...
Having learned this syntax and grammar, I trust you will find that although Java and C# have their difference, they are in the same family of languages, share much common syntax, and are easier to learn if you first have C++ under your belt.
If you already have previous programming experience then it is an excellent choice. But if you are just beginning then it isn't the best choice as the language can venture into lower level programming at times. Easier languages might be Basic, python. You can even try scripting languages such as Php or Javascipt to get familar with the programming enviorment.
naveen yadav wrote:how about python. very good language to start programming
I, personally, am not a big fan of python, for one reason - indenting is essential to the program being able to run! This is probably good for beginners, getting into the habit of indenting code, but when I was writing in python on my Raspberry Pi, the keyboard that I was using didn't indent the right number of spaces, so I had to spend about half an hour manually going through each line of code and indenting it one space further. I would suggest starting on C/C++ as you said, but if that's to hard, I would go for Java.
One last thing, I would have suggested Ruby as a good language to learn but I think it is TOO easy to learn and might make learning lower level languages a lot harder! Like skiing/snowboarding, you want to start on the dry-slope (the lower level language e.g C++) to get your technique up to standard, and then when you move on to real snow (higher level language e.g Ruby) it is easy!