473,396 Members | 1,996 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Should i learn Objective C or C++?

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?
Aug 21 '09 #1
4 8997
JosAH
11,448 Expert 8TB
@wayneface
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 ...

kind regards,

Jos
Aug 21 '09 #2
Dheeraj Joshi
1,123 Expert 1GB
C++ is not 100% object oriented language(even though it supports object's).... But JAVA is...

It mainly depends on your interest..

Regards
Dheeraj Joshi
Aug 22 '09 #3
@dheerajjoshim
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.
Aug 22 '09 #4
JosAH
11,448 Expert 8TB
@unauthorized
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 ...

kind regards,

Jos
Aug 22 '09 #5

Sign in to post your reply or Sign up for a free account.

Similar topics

17
by: Rob | last post by:
i know javascript, vbscript, asp css and alot more and im only 14 i was wondering which is easier to learn php or cgi. any help?
42
by: Bicho Verde | last post by:
I have now free time and money to do what I want :-) I have some basic skills in programming (C, Pascal, Macromedia Actionscript) but don't know exactly what to do in the world of programming. And...
124
by: 43 | last post by:
how come m$Office isn't written in .net? how come Open Office isn't written in j2ee? how come dbms systems aren't written in either? how come browsers aren't written in either? how come...
55
by: Elijah | last post by:
I have read many of the topics on learning C++ or Java first. It seems like everyone says something different. I would like to know if I should learn C++ or Java. First a little about myself. I...
8
by: Hermawih | last post by:
Hello , I want your opinion about this . In order to say it clearly , I think I have to describe it in long sentences . I could consider myself as Intermediate/Advance Access Developer ;...
5
by: Wojtek Kowaluk | last post by:
I recently started learning c# and I want to ask if this is good investition. Maybe I should learn c++? It's better to know c++ or c# nowadays. What about the future? C++ is very popular now, will...
21
by: TAM | last post by:
Hi, I read that ASP.NET uses VB.NET instead of VBScript. I also read that ASP.NET is a subset of VB.NET. So if I learn VB.NET first then do I have the knowledge for programming ASP.NET...
2
by: RAM | last post by:
Hello, I decided to become .NET developer. I want to programme database applications with ASP.NET interface. I would like to ask you a question: what technologies I should learn? I think that I...
31
by: anand devarajan | last post by:
hi friends, im anand im just a beginner in c learning for the past two weeksnow i can write simple prgs can anyone help me to get well known to c lang so that i should able to write even tough...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.