views:

94

answers:

4

I was wondering if programming languages and frameworks get updated in small increments or are they just x.0 releases? And if they do how do you keep up on all the changes in every update? I am specifically interested in Objective-C and Cocoa and CocoaTouch.

I'm learning from books and online PDF's etc, but often they are at best a few years old. I just would like to know if there have been any changes etc. that should concern me and even if not, inevitably there will be, so where can I look out for them?

+1  A: 

Different languages have different release schedules. Generally for the beginer level a book which is a release of two behind isn't all that bad. Just check in with the various websites / maintainer organizations to keep up to date on versions. Current version of Objective-C (who's maintainer is apple).

Mimisbrunnr
+2  A: 

Yes. Programming languages are updated quite often. It depends on the language a bit though. For instance a Major new version of Java with new language features is released every 18 months and in between minor releases that does not add new features occur.

I think if you are learning a language the basic concepts of the language will not change over a very long time so you are ok with material that is a few years old.

Vincent Ramdhanie
+1  A: 

Many languages are extended every year or two, usually to allow backwards compatibility there are few 'breaking changes' (changes that can break existing code). So to start out learning a language it is not a disaster to use an older reference book as it will still have valid code.

To keep up to date with objective-c subscribe to the appropriate RSS feed or join the mailing list.

Good luck!

amelvin
+2  A: 

The lifecycle of languages (as distinct from compilers) depends a lot on the language in questions.

Some examples:

  • C and c++ go many years between standards updates. Each of which is significant, but expected to be complete and self consistent
  • The Perl and Python cycles have been running faster, with new features accumulating on the languages without a change of major version number as long as the don't break back compatibility.

Individual compilers and interpreters can undergo a steady stream of feature/performance/stability updates while consuming the same input language.

dmckee