hey guys im quite new to programming and have been teaching myself c, ive come to the point where object orientated languages are calling to me but i can't decide weather to go onto objective - c or c++ i own both a new mac and a windows vista pc. iv'e been doin all my c stuff on xcode on my mac so the obvious path seems to be objective - c but i dont wanna make the wrong decsision, what should i do?
Should i learn Objective C or C++?
Collapse
X
-
While I do like the language I prefer to advise not to go the Objective C route: the language is hardly used outside the Apple world and there is no progression in the language itself despite the many deficiencies it still has. Try to go for the C++ route: it's a bigger (mainstream) language and more widely known. You can also take a side step and study Java but not many people take up C++ after studying Java ...hey guys im quite new to programming and have been teaching myself c, ive come to the point where object orientated languages are calling to me but i can't decide weather to go onto objective - c or c++ i own both a new mac and a windows vista pc. iv'e been doin all my c stuff on xcode on my mac so the obvious path seems to be objective - c but i dont wanna make the wrong decsision, what should i do?
kind regards,
Jos -
C++ is not 100% object oriented language(even though it supports object's).... But JAVA is...
It mainly depends on your interest..
Regards
Dheeraj JoshiComment
-
C++ is a free form language hybrid between OO, procedural and some elements of generic templatization. In a sense, C++ can be 100% OO if you want it to, through there are few merits to this. The only procedure you ever need to create is a main(), and even that's possible to avoid if your linker supports defining alternative entry point.
All in all, it's a language designed to balance between power and performance, but execution speed is definitely one of the top priorities of the language, which justifies many of the unique properties that so much irritate OO purists (not that I'm saying, you are one).
wayneface, once you know one or two programming languages from the procedural or OO families, jumping to others isn't going to be much of an issue. Most people rightfully have difficulties adapting to the low level style of the C family when coming from scripting languages, but seeing how you have little if any previous experience, this is unlikely to be an issue for you.
Just like Joe said, C++ has many more merits in terms of power and applicability, which makes it the better choice to advance from C. Another great thing about C++ is it's huge popularity and great user base that you can always turn to if you have problems. Not to mention the great number of open source libraries such as Boost that are available to C++ which will make you far less dependent on API calls and give you more flexibility in terms of cross platform support.
Finally, Obj-C has some advantages over, C++ such as integrated garbage collection and the ability to send messages without expecting response. I have total of 15 minutes experience with it, but it seemed much easier to pick up than C++ ever was. The syntax also tends to be much more abbreviated and full of operators, which may be advantage or disadvantage depending on your own attitude.
If you do decide to go with C++, I advise you to try one of the MinGW wrapper IDEs (Integrated Development Environment) that are available out there. They make coding so much easier than the 'nix-style CLI madness that is nearly unintelligible for new programmers. I personally started with DevC++ which is quite outdated and appears to be abandoned by now. I've heard great things for both Code::Blocks and Eclipse which are free and available for Mac, Win and all 'nix variants you can think of. Give them a shot and see what works for you.Comment
-
That is new to me and I checked Google immediately: finally Objective C version 2.0 has been released. Garbage collection is a lot more convenient than the old retain/release counted references in version 1.0. Those Gnu folks are going to have a tough job because their GnuStep library is completely version 1.0. Java already borrowed (read: stole) a lot from Objective C but imho a lot of Java's benefits over Objective C are gone now ...Finally, Obj-C has some advantages over, C++ such as integrated garbage collection and the ability to send messages without expecting response. I have total of 15 minutes experience with it, but it seemed much easier to pick up than C++ ever was. The syntax also tends to be much more abbreviated and full of operators, which may be advantage or disadvantage depending on your own attitude.
kind regards,
JosComment
Comment