The World’s Leading Microsoft .NET Magazine
   
 
The .NET Addict's Blog

My Top Tags

                                                           

My RSS Feeds








Latest Diggs - Programming

Internet Blogs - Blog Top Sites

Site Hits

Total: 2,551,710
since: 19 Jan 2005

My day at the NYC Mac OS X Leopard Developer Tech Talk

posted Fri 26 Jan 07

First, I need to disclaimer this blog post by saying that I am under an NDA until Leopard releases to the public, so the details of what I saw are not available. However, I can say a few things and reveal some details (details that I have already found on public sites and from slides during the WWDC keynotes, etc).

First, let's get to the token Mac vs. Windows story. I show up there with my Windows Vista laptop (I am a .NET developer, after all...). I'm checking mail and messing around with WPF eating my breakfast when someone (carrying a Macbook Pro) walks up and says, "Cool, is that Vista?". I of course say, "Yes", and was about to say, "and it runs just fine on my laptop!" when Vista crashed!! My cursor froze, and then a few seconds later, it was dumping core and rebooting. This event was followed by a bout of riotous laughter from the other Mac people seated at the circular table. Thankfully it was well before registration so there were only a couple other people around. Thankfully I consider myself an objective third party, so I wasn't embarassed by the Vista crash.

Once the tech talk actually got started, things went a little better. I saw sessions on Objective-C 2.0, Cocoa, Xcode 3, Core Animation, and Quartz Composer. All of these things combine to make Mac OS X Leopard the most appealing version of OS X for a .NET developer. Mainly because up until Leopard, the main development language (Objective-C) has not been a garbage collected environment. .NET developers (who often tend to be ex-COM programmers) take one look at all the alloc and dealloc and reference counting and retain keywords and their faces blanch with terror and they run away screaming for mommy. Well, that issue is gone and Objective-C seems far less intimidating now than it used to. I won't go into details and break the NDA, but there are a lot of appealing syntax points that I like, and some syntax that I don't know if I'll ever get used to.

What really blew my mind was Core Animation, Quartz Composer, Core Image, and Cocoa's integration of Core Animation (all of this is public info, please don't shoot me Apple!). As a .NET developer, I couldn't help but mentally compare that suite of APIs and functionality with Microsoft's Windows Presentation Foundation (WPF). I'll save the item-by-item comparison for when Leopard becomes public and I can get into nitty-gritty detail.

However, I can tell you this: I am, and always have been, fairly objective in my opinion of programming environments. While I've written a flaming truckload of published content on C# and the .NET Framework, there are many areas that I dislike (ADO.NET for instance, is a piece of crap). I am also not affected by the "reality distortion field" that seems to be projected by Steve Jobs and many Apple evangelists. I saw a lot at the tech talks that I thought was lacking in comparison to Microsoft, and yet I saw other things that seemed years ahead of current Redmond offerings. The bottom line is that I saw enough intriguing things that I am purchasing my Apple Developer Connection membership (the one that comes with Leopard seeds), and I am purchasing a Macbook Pro. You'll have to wait until Leopard goes public before I can post item-by-item comparisons between .NET and Mac, but believe me, I intend to post my opinions there.

tags:          

links: digg this    del.icio.us    technorati    reddit




1. Stacey Abshire left...
Fri 26 Jan 07 4:28 pm

Sounds quite interesting. I am just starting to dig into Obj-C and Cocoa, and look forward to the next release. Garbage collection will be a huge benefit, though the manual aspect of it now is not completely abhorrent to me.


2. Vineet Bhatia left...
Fri 26 Jan 07 5:16 pm :: http://web.mac.com/vineetb

Nice perspective on the Leopard Tech Talks. I attended in Boston and was quite impressed. As were hundereds of other developers. See http://www.red-sweater.com/blog/263/boston-leopard-tech-talk.

Looking forward to your comparison of WPF and Cocoa Core * frameworks. By the way, ADC members under NDA can talk amongst themselves. Thats allowed.

- vineet (Cocoa newbie)


3. James Welborn left...
Fri 26 Jan 07 5:33 pm :: http://welborn.blogspot.com/

I went to the preview in Boston and am greatly excited. I've never been a "real" programmer. I went from BASIC to Pascal to Perl, dabbling in maintaining others' C code meanwhile. Then Python, a little Ruby and a little Java ... I just couldn't stand to make myself do something that the computer should just do for you -- like managing memory.

Lately, I've had a few projects I want to do as apps on the Mac, but I am putting them off for Obj-C 2.0. When that hits, I'll have to find a different excuse if I want to continue putting them off. :)


4. Chris Hanson left...
Sat 27 Jan 07 12:41 am :: http://chanson.livejournal.com/

I'm glad you liked what you saw of Leopard! Once you have your Apple Developer Connection account, you should also be sure to file bugs at bugreport.apple.com for anything you think could be improved, whether vis-a-vis .NET or in any other way. Apple really appreciates bug reports from the field.

You also don't need a paid ADC membership to file bugs, you can do so as a free Online member. So no need to wait until your kit arrives...


5. Adam Laniyan left...
Sat 27 Jan 07 4:33 pm

I was also at the Tech Talk, some amazing software coming. I have to be honest that I haven't seen much of Vista yet but I should go take a look since I might have to start supporting it (I.T. Manager). Did you do any of the hands on sessions I'm wondering?


6. Vox Publius left...
Sat 27 Jan 07 5:21 pm

As an Apple tech professional of 20 years, it is nothing less than ASTOUNDING to see such interest -- indeed ANY interest -- in the Apple programming environment that is coming from the traditional Microsoft software development community. This notion would be laughable for the past two decades.

No longer, I guess. Wow, have things changed! I am curious as to the actual reason(s) why this is occuring.

P.V.


7. Martin Pilkington left...
Sat 27 Jan 07 7:47 pm :: http://pilky.mcubedsw.com

Just to point out, you can talk about anything detailed about leopard in Apple's keynote, on their Leopard website and here: http://developer.apple.com/leopard/overview/


8. Scott left...
Sun 28 Jan 07 12:54 am :: http://www.lazycoder.com

First, I'll agree with you that ADO.NET leaves a lot to be desired. But wait until you dive into connecting to a database using Cocoa. Core Data only saves to SQLLite, it's own XML format, or binary format. If you want to connect to a database, you're on your own. Import the ODBC headers for your driver and go.

Second the web development story under OS X is still Ruby on Rails. Webobjects... well it just doesn't provide a compelling dev story compare the RoR. But Rails is shipping with Leopard.

I haven't found the retain-release syndrome in Cocoa to be as onerous as COM. It's a little easier than C, but not as easy as .NET/Java. I'm really looking forward to seeing what is coming up in Leopard. I couldn't make it to the Seattle tech day. But a lot of the people in my Cocoa programming group did and they seemed impressed.

Not to mention, compare Dashcode to gadget development on ANY other platform (Vista, Google, Konfabulator, etc...). Dashcode comes in first.


9. Rosyna left...
Sun 28 Jan 07 1:54 am :: http://www.unsanity.org

"By the way, ADC members under NDA can talk amongst themselves. Thats allowed."

This is not allowed. If the person is not in the same company as you, you cannot discuss leopard with anyone else, per Apple's NDA.


10. John Rudkin left...
Sun 28 Jan 07 6:40 am :: http://web.mac.com/johnar

I'm a Mac user who works in an environment alongside a thorough competent .Net Development Team. They know their stuff but are steered away from Mac Development. Anything you can say to encourage them to look further can only help us.them create better products for all platforms. Thats what I'm after. I'll look forward to reading the reviews.


11. JulesLt left...
Sun 28 Jan 07 9:11 am

I'd be intrigued to see a 3-way comparison with Adobe's Flex/Apollo framework, which allows the simple use of Flash animations in UI design, and strikes me as the main rival for WPF on Windows and CoreAnimation on Mac.

Look forward to you coming out of the NDA.


12. StuFF mc left...
Sun 28 Jan 07 4:37 pm :: http://www.pomcast.com

I used to be (but might be again) a .NET developer, and I'm producing a series of Podcast about Apple. As with you, I was always "running for mommy" when seeing alloc and the other guys ;) I never really made it into Mac Development, until Leopard. I swear I start. I'd love to get in touch with you, especially when Leopard will be out I'd love to have you in the Podcast... 2 .NET devs talking about Cocoa ;)


13. PGM left...
Sun 28 Jan 07 11:56 pm

Just make sure you first get your ADC membership before you get your MacBook Pro, as the ADC gives you a discount on hardware.


14. Gareth left...
Mon 29 Jan 07 5:58 am :: http://www.colourmecocoa.com

As a newish .NET developer currently learning Cocoa and its associated frameworks I'm looking forward to hearing your point by point comparison. There's two sides to every story and it seems there are very few side by side comparisons geared at developers out there.


15. Kevin Hoffman left...
Mon 29 Jan 07 7:01 am

I got the MBP outside of the membership because one of the things you must agree to is that your use of the hardware purchased through the discount would be solely for the purpose of development and testing. I plan on using the MBP for more than just coding Apple, I hope to use it to do my .NET coding via Bootcamp as well.


16. Thomas left...
Mon 29 Jan 07 10:10 am

I'm glad to see a few .NET developers being swayed to the better way of doing things ;-). I unfortunately have to do .NET development at work.

Garbage Collection in Objective-C 2.0 will undoubtedly sway a few people to check out Cocoa development.

I think a lot of the true power of OS X development is derived from the sheer awesomness of UNIX tools. The way Apple wraps GDB in a really nice debug gui for instance. Xray is a great example of this. It's revolutionary UI wraps Dtrace and makes it very easy to use.


17. Kevin Hoffman left...
Mon 29 Jan 07 10:44 am

That was the impetus for me. If Objective-C is garbage collected, then there might be a level playing field to allow me to compare "apples to apples" various .NET Framework libraries with some OS X libraries.


18. Simon left...
Mon 29 Jan 07 10:45 am

Would be great to have the .NET framework on Leopard (with appropriate Cocoa bindings), as a runtime environment it is second to none.


19. Boris left...
Mon 29 Jan 07 3:18 pm

Cocoa is powerful framework. It is growing every year. The learning curve could be sharp, but it has its rewards. Check my podcast (www.cocoacast.com) we are trying to learn it...


20. Martin Pilkington left...
Mon 29 Jan 07 4:24 pm :: http://pilky.mcubedsw.com

"you must agree to is that your use of the hardware purchased through the discount would be solely for the purpose of development and testing."

This is slightly wrong. The machine must be a development and/or testing machine but it doesn't have to be used solely for this purpose. This is similar to restrictions that MS puts on software available via MSDN (or at least they did last time I checked) in that they must be used for development and testing. That said, I doubt either Apple or Microsoft bothers to check if you are using the hardware for non development purposes


21. Jim left...
Wed 31 Jan 07 8:42 am

As a Mac newbie from the other side you may wish to start with: Development tools like VS,ASP.Net http://www.unix.com/showthread.php?t=31487


22. keno left...
Wed 31 Jan 07 12:42 pm

Why wait for Leopard (http://rixstep.com/2/20070130,00.shtml)?


23. I'm glad Keno left...
Mon 12 Feb 07 10:22 pm

I followed your link on 'Why wait for Leopard'. Putting down developers who are happy about garbage collection is rediculous. To say that developers need to go back to school because they like garbage collection is foolish. You are really quite rude - get off your high horse.


24. JulesLt left...
Tue 13 Feb 07 2:29 am

I concur with the last comment. It's always struck me as amazing that C and C++ (and thereby Java) have achieved the dominance they have as application (rather than system) programming languages.

By any measure, they are unproductive compared to higher level languages. A language like ADA won't even LET the programmer near memory, or have anything other than an abstract model of the computer. Rubbish for low-level programming, but highly productive for application programming.

The main reason, of course, for the dominance of C/C++ is the large army of self-styled 'real programmers' out there, who wouldn't dream of using anything less. People who would rather light a fire by rubbing two sticks together than carry a lighter (And that's a good comparison - it's good to know HOW to light a fire if you're stuck in the wilderness - it's time-wasting to choose to do so).

And OK - Objective-C is C-based too - but it's strengths (and occasional slow-downs) relate to the Smalltalk bits on top.


Tag Related Posts

MobileMe vs. Live Mesh Throwdown - Round 1

Wed 16 Jul 08 10:33 A GMT-05

Building Model Classes in C# and Cocoa

Sun 15 Jun 08 3:13 P GMT-05
tags:            

MobileMe vs. Live Mesh - Round 1

Wed 11 Jun 08 12:20 A GMT-05

My Macbook Air is masculine, dammit!

Mon 17 Mar 08 6:59 P GMT-05
tags:          

iPhone Underrated as a Gaming Device?

Fri 14 Mar 08 1:50 P GMT-05
tags:        

My take on the iPhone SDK

Sat 08 Mar 08 1:39 P GMT-05

Jobs says "not likely" to Flash on the iPhone

Thu 06 Mar 08 1:39 A GMT-05
tags:          

My Macbook Air Review

Sun 02 Mar 08 4:20 P GMT-05

iPhone Roadmap March 6th

Fri 29 Feb 08 10:41 P GMT-05
tags:        

Video of the Macbook Air in Action

Wed 20 Feb 08 3:04 P GMT-05

Macbook Airはきれいですよ!

Sun 17 Feb 08 2:38 A GMT-05

Why is O'Reilly Condoning iPhone Hacking?

Mon 11 Feb 08 3:55 P GMT-05

Evaluating my next laptop purchase

Wed 06 Feb 08 8:40 P GMT-05

The iPhone SDK key has been leaked! Oh Noez!!!1

Tue 29 Jan 08 11:36 A GMT-05
tags:        

Why Geeks just don't "get" the Macbook Air

Thu 17 Jan 08 2:30 P GMT-05

Popcorn + TiVo + Macbook Pro + iPhone == Hell Yeah!

Tue 15 Jan 08 3:11 P GMT-05
tags:          

How my ADC membership changed my life

Mon 31 Dec 07 3:57 P GMT-05
tags:      

Leopard Code Sample : Sprinkling in some Bonjour

Tue 27 Nov 07 2:32 P GMT-05
tags:        

Leopard Sample: A Bound NSCollectionView

Mon 29 Oct 07 1:41 A GMT-05

Leopard is out - let the code samples begin!

Fri 26 Oct 07 10:09 A GMT-05
tags:          

My life is complete : iPhone SDK is CONFIRMED.

Wed 17 Oct 07 6:38 P GMT-05
tags:          

Leopard Shipping October 26th!!

Tue 16 Oct 07 4:59 P GMT-05
tags:        

My iPhone Review

Mon 23 Jul 07 1:09 P GMT-05
tags:        

Microsoft Codename Acropolis - Unwrapped

Wed 20 Jun 07 3:22 P GMT-05
tags:              

The dreaded language bleed-over has begun

Tue 19 Jun 07 6:23 P GMT-05
tags:        

Exploring the Delegate Design Pattern

Mon 14 May 07 6:30 P GMT-05

Core Data - Almost too Easy?

Wed 18 Apr 07 2:23 P GMT-05

Exploring the MVC Pattern in WPF

Tue 10 Apr 07 12:51 P GMT-05
tags: