Showing posts with label ObjC. Show all posts
Showing posts with label ObjC. Show all posts

Wednesday, June 11, 2008

a bit of ObjC and Cocoa history : web-related

Interested to learn that Tim Berners Lee (inventor of the WWW)... developed the first web browser and first server using NeXTSTEP ... didn't know that.

Some background: NeXTSTEP, which was built ontop of BSD Unix and ontop of the Mach kernel... many know this was the precursor to OS X.

NeXT (the company) wrote NeXTSTEP, which is an operating system and set of development tools. Included in that is a window server -- which takes events from the user, forward them to the applications, the application then sends drawing commands back to the window server to update what the user sees.

NeXTSTEP came with a set of libraries/frameworks to deal with the window manager in an elegant manner -- this became known as OpenStep, which is now known as Cocoa. Objective-C is the language that lets you program with those frameworks. (you can now also do that with various adapters/ports like RubyCocoa)

Objective-C and Cocoa : enticing

...Smalltalk VM running on the iPhone in 93 days... sweet effort!... wonder what others will follow for other languages...
http://news.squeak.org/2008/06/11/squeak-on-the-iphone/

It turns out, the more I look into it... Objective-C seems really cool, and enticing. ObjC is a series of SmallTalk style object extensions to the C language. It's dynamically typed like SmallTalk (and Ruby). There is lots of message passing (also like Ruby). Even though ObjC is dynamically typed, and has message passing and all that other great goodness... it's compiled. It's a dynamically typed language, but variables are only typed by choice. Also, many of tedious aspects of Objective-C — memory management and accessor maintenance, for example — go away in Leopard if you want them to.

RubyCocoa is also available, which is bridge between Ruby and Objective-C, and vice versa. You can write full on Cocoa apps in Ruby. ...however, Mac development (same goes for iPhone) seems to revolve around Cocoa.. and Cocoa revolves around ObjC. The two are designed to work together.

Nothing will compare to the Ruby syntax, but ObjC is becoming more attractive to me. Espeically with iPhone app ideas for the iPhone bouncing around in my head daily.