Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Is C/C++ good languages for learning programming?

 
Rogerio Kioshi
Ranch Hand
Posts: 690
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Do you think C/C++ are good languages for beginners learn programming?

Thank you
 
Campbell Ritchie
Sheriff
Pie
Posts: 47258
52
  • 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Their difficulty, compared to Java™ may make them better for learning.
 
Lasse Koskela
author
Sheriff
Posts: 11962
5
  • 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Campbell Ritchie
Sheriff
Pie
Posts: 47258
52
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You want to try something like LISP or FORTH. Now those languages do make it very interesting to learn computing
 
alysa smith
Greenhorn
Posts: 3
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Rogerio Kioshi wrote:Do you think C/C++ are good languages for beginners learn programming?

Thank you
well,i begin with C#,but it is so hard for me to learn.
 
abhay jain
Ranch Hand
Posts: 130
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
yes, thats why C is still in syllabus in schools and colleges
 
Campbell Ritchie
Sheriff
Pie
Posts: 47258
52
  • 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Hussein Baghdadi
clojure forum advocate
Bartender
Posts: 3479
Clojure Mac Objective C
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Start with C so you will learn how things are really working under the hood. Then work on SICP.
Congrats, now you are a programmer.
 
Pavan Kumar Dittakavi
Ranch Hand
Posts: 106
Eclipse IDE Java
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
abhay jain wrote:yes, thats why C is still in syllabus in schools and colleges


I second you;)
 
sina poores
Greenhorn
Posts: 20
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Brian Overland
author
Ranch Hand
Posts: 36
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.

My 2 cents' worth, anyway.

Brian O.
 
Victor Paul
Greenhorn
Posts: 3
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes c and C++ are the basic language for learning other programming languages.
 
Billy Sang
Greenhorn
Posts: 15
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Ranch Hand
Posts: 384
Java MyEclipse IDE Spring
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
how about python. very good language to start programming
 
Christopher McKay
Ranch Hand
Posts: 50
Android Eclipse IDE Java
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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!
 
william chaple
Ranch Hand
Posts: 135
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hussein Baghdadi wrote:Start with C so you will learn how things are really working under the hood. Then work on SICP.
Congrats, now you are a programmer.


what is sicp.

and c++ is harder to learn in comparison to java?
 
Jesper de Jong
Java Cowboy
Saloon Keeper
Pie
Posts: 15150
31
Android IntelliJ IDE Java Scala Spring
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
william chaple wrote:
Hussein Baghdadi wrote:Start with C so you will learn how things are really working under the hood. Then work on SICP.

what is sicp.

Did you notice that Hussein's sentence includes a link?
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic