Sign in to follow this  
2005fredp

Learnt C what next?

Recommended Posts

Hey guys,

 

I've learned C and can confidently program, compile and run command line programs.

 

I want to learn GUI programming for Mac/iOS so I can make games/apps/programs of a graphical nature.

 

Is learning Objective-C a good next step? What's a good resource for doing this?

 

Thanks for the help!

Share this post


Link to post
Share on other sites

Don't split the banana, he speaks words of wisdom. OOP is a must in today's programming world. Both C++ and Objective-C support OOP. Personally, I think C++ would open up lots of new doors elsewhere, but If all you want to do is OSX and IOS than Objective-C is the way to go.

Share this post


Link to post
Share on other sites

Making games of a graphical nature doesn't really need a GUI library. Just set up an OpenGL rendering context, or a 2D canvas in any way possible (Java, Obj-C, C#), then you can easily use C for the rest.

 

How good are you at C? If you have spent quite a while mastering it, then I don't see a problem why you cant use it.

Especially since the popular way to develop games nowadays is using the Component Entity Model which favors composition over inheritance and so using an OO language is not necessary.

 

That said, C can handle object orientation perfectly fine which you can see in pretty much any C GUI library (Motif, Gtk+, etc..)

 

In other words, you don't need to spend time learning a new language and you can start making software. 80%+ of the UNIX world writes user-land programs in C so it is certainly capable.

Share this post


Link to post
Share on other sites

If you have learned C enough, you can go and code your games with it. After all, there are some C libs that will compile for IOS/Android, such as allegro and orx (they can be found here: http://alleg.sourceforge.net/docs.html and here: http://orx-project.org/).

 

I don't believe that you need to learn OO in order to be a good programmer or to write a good system. OO will introduce you to some great programming techniches - such as heritage and, most importantly, modularity - but those are not an OO exclusive feature, you can use both concepts in any language you use.

 

So, my advice is: if you like C and are confident on using it (and by that I mean that you should have knowledge on how it handles memory, the different memory regions and how to debug code to find your errors fast enough), try using it for a while. If you are feeling that the language is delaying you, change it.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this