Learn C/C++ Programming: A Beginner's Guide

  • Context: C/C++ 
  • Thread starter Thread starter charming86
  • Start date Start date
  • Tags Tags
    Absolute Beginner
Click For Summary

Discussion Overview

The discussion revolves around the best programming language for beginners, specifically focusing on C and C++. Participants share their experiences, resources, and preferences while debating the merits of different languages, including Java and Ruby, as alternatives to C and C++.

Discussion Character

  • Debate/contested
  • Exploratory
  • Technical explanation

Main Points Raised

  • One participant expresses a desire to learn programming but lacks knowledge of where to start, asking for resources.
  • Another participant points out a "Programming Resources" sticky in the forum, suggesting it as a starting point.
  • A link to a programming website is provided as a potential resource for beginners.
  • Some participants advocate for learning C++, citing its advantages and its inclusion of C language features.
  • One participant argues that Java is not a derivative of C++, while another counters that Java's syntax is influenced by C and C++.
  • A suggested method for learning programming involves selecting multiple books from a library and choosing the one that best suits the learner's style.
  • There is a discussion about the differences between Java and C++, including their compilation methods and object-oriented programming models.
  • Some participants suggest starting with Java or Ruby instead of C++, highlighting their design and object-oriented features.
  • One participant recommends starting with scripting, specifically mentioning Bash scripting as a good entry point.

Areas of Agreement / Disagreement

Participants express differing opinions on whether to start with C or C++, and there is significant disagreement regarding the relationship between Java and C++. Some participants advocate for Java or Ruby as alternatives, while others maintain that C++ is the better choice.

Contextual Notes

There are unresolved definitions regarding the term "derived" in the context of programming languages, leading to semantic disagreements. The discussion also reflects varying personal preferences for learning resources and methods.

charming86
Messages
11
Reaction score
0
hi
i simply know nothing about programming languages and related stuff, but i really want to learn one, c or c++, i don't know where to start
can you please tell what to do and where to start, websites, books...
please help:cry:
i appreciate ur help
thanks:smile:
 
Technology news on Phys.org
There's a "Programming Resources" sticky just above your topic. Have you looked there?
 
That is nice. I think I'll get into it, too, now.
 
Definitely learn C++ if you're choosing between that and C. It's an excellent skill to have. It shows that you can possesses a higher level of thinking and that you can write algorithms to solve real-life problems.
 
thanks neutrino!
thanks a lot
 
I would say C++ is the best route. Especially since all of the c language is contained in C++. C++ is also good because several other languages are derivatives of it such as Java. Java share a lot of similarities to C++ in its syntax.
 
Java is NOT a derivate of C++!

For learning programming or a new computer skill I have the following algorithm: Go to the library, pick at least 5 books on the subject that look promising, read a few pages of each book,borrow the book that suites you best(I value simplicity and clarity of presentation the most).

I am a big fan of books written by Cay Horstmann so I would probably go with Big C++[1]. Most computer books are over priced so I prefer the library.

[1] http://he-cda.wiley.com/WileyCDA/HigherEdTitle/productCd-0471470635.html
 
Last edited by a moderator:
haki said:
Java is NOT a derivate of C++!

For learning programming or a new computer skill I have the following algorithm: Go to the library, pick at least 5 books on the subject that look promising, read a few pages of each book,borrow the book that suites you best(I value simplicity and clarity of presentation the most).

I am a big fan of books written by Cay Horstmann so I would probably go with Big C++[1]. Most computer books are over priced so I prefer the library.

[1] http://he-cda.wiley.com/WileyCDA/HigherEdTitle/productCd-0471470635.html

Java is a derivative see
http://en.wikipedia.org/wiki/Java_Programming_Language_language

Oh and here is another good read
http://ei.cs.vt.edu/book/chap1/java_hist.html
 
Last edited by a moderator:
  • #10
You got to be kiding me.

Porhaps you were not reading the article very good, it is written "The language itself derives much of its syntax from C and C++"[1]. There is a difference between deriving syntax in contrast to deriving the language and platform itself.

Note C++ and Java are different in nature. For instance Java is compiled into bytecode, has different OOP model(class can only extend one Class, note there is different syntax for "extends" in C++ it would be the cryptic ":"), Java is run on VM which provides Garbage Collection, C++ is different.

[1] http://en.wikipedia.org/wiki/Java_Programming_Language_language
 
Last edited:
  • #11
Ultimately this amounts to a semantic quibble over what "derived" means.
It could go on indefinitely if we wish to invoke an appeal to popularity fallacy; Googling 'Java "derived from C++"' without single-quotes comes to a Google estimate of 1.02 million results. I suppose some of them could be "Java is not derived from C++" -- although a search for 'Java "not derived from C++"' gets us only 3 results, two of which don't address the issue and actually say "C# was not derived from C++". I don't feel like checking all other possible negations, like "wasn't derived from C++".

Java began as a set of extensions to C++, and eventually it was decided that it was better to start a new language in its own right. In that sense, it was not bubbled away from C++ entirely. It also draws influences from other languages that were derived in part from C++, so it too is derivative by transitivity. Not to mention that syntax being derived from C++ means that Java IS, in part, derived from C++. The "difference between deriving syntax in contrast to deriving the language and platform itself" is precisely that deriving syntax is more specific.

Java and C++ are very different. Nevertheless, understanding one greatly aids in understanding the other.
 
  • #12
Your words: "Java and C++ are very different". How can that be true if the former is the derivate of the latter?

Maybe it would be more correct to say that Java was influenced by C++. But never mind. Waste of posts for this.

Couldn't resist: "C# was not derived from C++" should this be true that would mean that Java was not derived from C++ since C# was derived from Java.
 
Last edited:
  • #13
If you want to learn programming I would definitely not recommed you start with C++.

I would recommend you start with Java. It is well-designed and object oriented. From here you could expand to other languages.

As an alternative to Java, you might opt for, the relatively new language, called Ruby, which might replace Java in the future. It is a bit richer in object oriented features than Java.
 
Last edited:
  • #14
start with some scripting before you start programing. Some Bash scripting would be good IMHO.
 

Similar threads

Replies
69
Views
11K
  • · Replies 25 ·
Replies
25
Views
1K
  • · Replies 17 ·
Replies
17
Views
2K
Replies
86
Views
3K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 49 ·
2
Replies
49
Views
5K
  • · Replies 102 ·
4
Replies
102
Views
4K
  • · Replies 10 ·
Replies
10
Views
4K
  • · Replies 22 ·
Replies
22
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K