Which one should i start with? Any books to recommend for reading...i have basic foundation in C++/Java :confused:
Printable View
Which one should i start with? Any books to recommend for reading...i have basic foundation in C++/Java :confused:
C++ is the parent language of C# and Java.. either or C++ or Java will give you a good intro to object orientated programming and since most of the syntax between the two is similar, once you pick one, you'll pick up the other quite quickly. As for a book, you can always go to the book store and pick up one of the beginner books for either language.. most of them tend to be good and have the same material.. but I recommend you take a class... reading a book and trying to code bv yourself is one thing and having an actual instructor help you along when you're stuck, explain it, and give you problems to try is far different and better in my opinion...
- dave
well from my experience i'll say C++ is more easy to learn and also it is object oriented programming that in laymen terms mean that it is easy as well as little high end language
but C has its own advantages it is highly customizable and low level that means you can have device drivers and other stuff easily programmed into C, so basically you learn depending upon what your motives are.
Hope i presented you right picture :-)
I wouldn't agree with that. C is no more low level than C++; they are both high level languages. The syntax between the languages is virtually identical. The main differences AFAIK is the libraries that each use, and the functions, and obviously the fact that C++ is object oriented.
If you can learn C++, you can learn C...
ac
Because i already have some basics in C++ and Java. So i am not sure to continue my C++ or should start from C. since C++ is a subset of C. :p
I would say if you already know some java and C++, go for C++ (if it really has to be between C++ and C; otherwise keep learning java). The thing is, though, what will you be doing with it. If you have no particular reason for learning a language and are simply learning for the sake of learning, then C++ should be fine, but if you were interesting in certain specifics like altering other programs, then it would really depend on the language.
ac
C++ is not the parent of C# and Java although they do share the c syntax. This thread is full of alot of bad info.
I'd recommend picking up C++ and grabbing the following books:
http://www.amazon.com/exec/obidos/tg...books&n=507846
http://www.amazon.com/exec/obidos/tg...e&s=books&st=*
C++ is a superset of c (so it contains everything in c), so you can use c code if you wish. Alot of c programming is frowned upon however in c++ because there are safer, cleaner ways to do things.
when i said c is low level i didn't mean it was anyway less than c++, what i meant was that it can be used to directly code for hardware ,more easily than C++ which is suitable for ,you know , software purposes.
As far as developing good programming skills are concerned C makes you to apply your brain whereas in C++ due to its object oriented programming benefit , things are lot easier.
So what iwas suggesting that if somebody is learning programming just for sake of programming and have to choose between C and C++ than go for C++.
Its easier to learn and helps you get the jist of programming and from there onwards you can choose your own path.
I'd have to disagree. Most of the programmers I've dealt with who have taught themselves c first and have then gone to c++ have put out some of the worst code I've ever seen. I'd really recommend looking into what kind of development you want to do, picking a related language, and then learning good development practices. Picking up the syntax of a language is simple...you need to focus on good design, good practices and writing clean code, etc.
Juiridian, page 5 in C++: A Beginner's Guide Second Edition by Herbert Schildt..
Quote:
C++ is the parent for both Java and C#. Although both Java and C# added, removed, and modified various features, in total the syntax for these three languages is nearly identical.
I don't care what some half wit selling books to other half wits states. As I said before, they share part of a syntax, that is as far as it really goes. They share c syntax at that, maybe a few other keywords/language constructs...but then they also share with other languages. There are also similarities between the way c# handles some things and the way it's done in VB.
The man is a world known and respected author and expert in C++/C/Java... I repect his word over yours.
C++ being the parent for Java makes absolutely no sense. For a parent child relationship, there has to be an evolutionary step forward present, Java makes some steps forward, and some backward, overall placing it at around the same evolutionary level of C++, although targeted at completely different types of projects. Some things are a step forward, like encouraging the use of non-native types (Integer vs int, etc), the large library of functionality that comes with, etc.. Some are a step backward. One example of this in my mind is being limited to a single parent class and forcing developers to use interfaces instead of being able to extend multiple classes.
EDIT:
Amusingly, the company that created Java mentions nothing of this supposed "C++ Heritage", therefore any such claims, while amusing, are unfounded. C++ supports wholly simpler ways to access IO Streams, Java does not. Java adheres strictly to an Object Oriented design for a language, while C++ doesn't.Quote:
Originally posted here by God's Whore
The man is a world known and respected author and expert in C++/C/Java... I repect his word over yours.
Whether someone is a "world known and respected author and expert in C++/C/Java" doesn't mean he's any bit of a historian, nor does it mean his research on such matters is accurate. Simply because a language shares its syntax with another (which isn't even true of C++ and Java) doesn't mean it is a parent/child language.
Yes, but you're also one of the half wits buying his book.
The languages in question all have similarities, but are all very different. I've developed a great many applications, applets, etc in each of the languages mentioned and actively work in the field. Have you? Can you tell me about the differences in the way that java, c++, and c# store and use their base data types? The way they handle references and threading? The way they initialize their data? How about the way they work with strings? The compile process and what is done to actually get the resulting code?
What exactly qualifies c++ for it's parenthood other than some passing similarities in syntax and a few shared keywords?
(to summarize for those who don't want to do alot of reading....bite me noob.) :)
Again, I'm not as expierenced as you and don't know the specifics of either language as well as you do thus I purchased the book to learn it, but prove your point and contact the author and argue your points with someone who does know what they are talking about.. I'm taking this from the contact page from the book:
(217) 586-4683
Herbert Schildt
Hi!
Well if you are already knowing some of the basics of c++ i recommend you to continue furnishing your skills in c+ as it is avery vast language and most of the basic programming methodology has been shaped by c++'s OOPs concepts. If you are interested then you can try the book: Turbo C++ by Robert Lafore
Since, now most of the members here advise me to continue C++. Now is to pick up a good book for C++, what should i read up on? i only have basics in C++.
Since C++ orginates from C. So after picking up C++, so i will pick up C as well?
Can some one explains Visual c++.net, ansi c++, mfc, win32. it seems to be a very complex issue
Visual C++.net and ansi C++ are different variants of the C++ language (AFAIK: unless Visual C++.net cannot actually be described as C++ :P). ansi C++ is what could be considered "correct" C++ in that it is the standard set down by the American National Standards Institute for the C++ language.
Visual C++.net is a microsoft C++ compiler and supports features that the ansi standard does not support (and conversely probably does not support all the ansi features). As well as Visual C++.net, there are other versions like Borland Turbo C++ and C++ Builder, gcc and mingw32.
Basically the difference comes down to the compiler that is used. If a different compiler is used, it will support different parts of the language, and will interpret (used loosely) the code in different ways from other compilers. So the code that you write for Visual C++.net will not work with an ansi standard compiler.
MFC stands for Microsoft Foundation Classes. As far as I am aware, these are C++ classes (if you do not understand that term, you will if you learn C++. I will post a link to some information on classes, objects, etc. at the end of my post) created by microsoft to make programming for windows easier and faster. I believe it is somewhat like the awt or swing packages for java, but could not be certain.
win32 is the 32-bit windows architecture. I cannot give you detailed information on this issue as I do not know enough, but I would doubt that you really need to worry about it at the moment if you are just wanting to learn C++. Basically, code written for windows 9x and ME operating systems are win32 programs, and cannot be run on operating systems which are not win32 operating systems (sorry for the bad explanation).
http://en.wikipedia.com/ <-- an online dictionary that you can search for terms that you do not understand on.
http://en.wikipedia.org/wiki/Microso...dation_Classes <-- information about MFC
http://www.quiver.freeserve.co.uk/OOP1.htm <-- not the most amazing explanation, but it should be an interesting read for you
Hope that helped you somewhat and wasn't too confusing.
ac
For two excellent references on c++ and stl please see my previous post in this thread - http://www.antionline.com/showthread...945#post790032 .
Gothic, what you have for the differences between vc++.net and ansi c++ isn't quite right.
vc++.net can be used with non managed c++ (such as ansi c++) or with the .net managed code (the newer .net version of c++). They are pushing people to start using managed code because of all of the .net framework goodies they've added to make coding simpler and safer.