FROM : Chuck Remes
DATE : Mon Jun 09 19:27:47 2008
On Jun 9, 2008, at 8:34 AM, David Troy wrote:
> Hi there,
>
> I am new to Cocoa and XCode and have spent the most recent part of
> my 20+ years of programming using Ruby rather extensively.
>
> Part of the kool-aid in Ruby land is test-driven and behavior driven
> development practices (TDD/BDD).
>
> To go from that approach, where you generally start writing tests
> and specs before you start writing code, to Cocoa, where I get a lot
> of OO goodness and similarities to Ruby, but also plenty of
> opportunities to shoot myself with null pointers, etc, gives me a
> bit of whiplash.
>
> While I am pretty comfortable with C and the kind of precautions
> that environment mandates, I wondered if anyone had any suggestions
> about how to apply any TDD/BDD methodologies to their ObjC
> development practice.
>
> I'm imagining that there are some best practices that would bring
> the ObjC experience closer to a TDD/BDD approach, and I can
> postulate how to do some of that, but I would rather not reinvent
> the wheel if there are some established conventions for this sort of
> thing.
>
> Any advice appreciated!
I suggest programming Cocoa using Ruby. A new version of MacRuby was
announced this weekend; it's an official project by an Apple employee
so you can expect it will continue to evolve on a regular basis.
Quick synopsis: MacRuby is the Ruby 1.9 language on top of the
Objective-C runtime. It uses the obj-c garbage collector, uses the
CoreFoundation classes underneath so NSDictionary handles the Ruby
Hash, etc.
You can leverage your language skills with Ruby plus use all of its
support libraries for TDD/BDD. It might take a little work to
integrate them with XCode (if you choose to use that) but if you
search around on some Cocoa blogs you will probably find some help.
Check it out: http://ruby.macosforge.org/trac/wiki/MacRuby
Good luck.
cr
DATE : Mon Jun 09 19:27:47 2008
On Jun 9, 2008, at 8:34 AM, David Troy wrote:
> Hi there,
>
> I am new to Cocoa and XCode and have spent the most recent part of
> my 20+ years of programming using Ruby rather extensively.
>
> Part of the kool-aid in Ruby land is test-driven and behavior driven
> development practices (TDD/BDD).
>
> To go from that approach, where you generally start writing tests
> and specs before you start writing code, to Cocoa, where I get a lot
> of OO goodness and similarities to Ruby, but also plenty of
> opportunities to shoot myself with null pointers, etc, gives me a
> bit of whiplash.
>
> While I am pretty comfortable with C and the kind of precautions
> that environment mandates, I wondered if anyone had any suggestions
> about how to apply any TDD/BDD methodologies to their ObjC
> development practice.
>
> I'm imagining that there are some best practices that would bring
> the ObjC experience closer to a TDD/BDD approach, and I can
> postulate how to do some of that, but I would rather not reinvent
> the wheel if there are some established conventions for this sort of
> thing.
>
> Any advice appreciated!
I suggest programming Cocoa using Ruby. A new version of MacRuby was
announced this weekend; it's an official project by an Apple employee
so you can expect it will continue to evolve on a regular basis.
Quick synopsis: MacRuby is the Ruby 1.9 language on top of the
Objective-C runtime. It uses the obj-c garbage collector, uses the
CoreFoundation classes underneath so NSDictionary handles the Ruby
Hash, etc.
You can leverage your language skills with Ruby plus use all of its
support libraries for TDD/BDD. It might take a little work to
integrate them with XCode (if you choose to use that) but if you
search around on some Cocoa blogs you will probably find some help.
Check it out: http://ruby.macosforge.org/trac/wiki/MacRuby
Good luck.
cr
| Related mails | Author | Date |
|---|---|---|
| David Troy | Jun 9, 15:34 | |
| Jonathan del Strot… | Jun 9, 15:43 | |
| Chuck Remes | Jun 9, 19:27 | |
| Andreas Monitzer | Jun 9, 19:43 | |
| Chris Hanson | Jun 9, 20:12 | |
| David Troy | Jun 9, 22:09 |






Cocoa mail archive

