[Biococoa-dev] modernizing BioCocoa

Charles Parnot charles.parnot at gmail.com
Sat May 28 22:47:31 EDT 2011


My 2 cents: there are still many GC-only bugs in Apple's frameworks, particularly those built on top of CoreFoundation, but it does not seem BioCocoa has too many dependencies on those. The main question for GC is that given the framework status of BioCocoa, this means that GC-only or non-GC restricts its use to applications that are built in either configuration. For a framework, there are actually good reasons to support both, since it allows its use for both types of apps, memory-managed or GC-based. To support both, you can basically write everything as if it was memory-managed and then it should be good for GC as well, except maybe in a few places (and except for potential performance tuning). The framework build settings can thus be set to support both, and should be tested under both environments. So basically, keep the good habits of the memory-managed style.

Properties can be added, but that's less problematic. It's mostly an issue of consistency: if you have properties somewhere, they should be everywhere, as otherwise, it makes the APIs harder to learn and use. But it's nice to have for sure.

Fast enumaration is a no-brainer, nicer and faster code.

Building for 64 bits is something to check as well, make sure it works. And then check the box.

Dropping PPC??

charles



On May 28, 2011, at 7:23 PM, Scott Christley wrote:

> Hi Koen,
> 
> Making a svn branch is a good idea, then you can work and still commit changes as you get milestones done.  If you are not sure how to create, I can send instructions.  There is an open-source ObjC2 being actively written by the llvm/clang folks, and they have been working so that it can compile all of GNUstep, but I'm not sure it is at production level yet.
> 
> Personally I would avoid garbage collecting, there is already a solid retain-release implementation with minimal leaks, and there are numerous places where autorelease pools are used to manage large chunks of temporary objects (like parsing data files), this is more efficient memory management for that time of stuff.
> 
> Cleaning up warnings would definitely be great.  Properties... maybe, but doesn't add a whole lot.  Fast enumeration is probably nice.  There is always documentation :-)  Even better is if you have the time/inclination to add some new functionality, I have a whole slew of ideas from quick to hard.
> 
> cheers
> Scott
> 
> On May 28, 2011, at 1:37 PM, Koen van der Drift wrote:
> 
>> All,
>> 
>> I recently started looking again at Cocoa programming, and what better
>> way to dive back into BioCocoa to get my memory refreshed!  While
>> reading some current Cocoa docs from Apple, I learned that since my
>> absence many new features have been added to ObjC, now called ObjC2.
>> Probably nothing new for y'all :)
>> 
>> Things I'm talking about are fast enumeration, garbage collecting,
>> properties, cleaning up warnings because of deprecated methods, and
>> maybe more.
>> 
>> So, I was thinking as a first task for me is to go through the
>> framework, and implement/update the code with (some of) the above
>> mentioned features.  This would also mean that the lowest OS that
>> BioCocoa will run on is OSX 10.5, which is when ObjectiveC2 was
>> introduced.
>> 
>> Are there any objections to this plan? I could for instance make a new
>> branch for this, maybe tagged version 2.5 or 3.0?
>> 
>> Thanks,
>> 
>> - Koen.
>> 
>> _______________________________________________
>> Biococoa-dev mailing list
>> Biococoa-dev at bioinformatics.org
>> http://www.bioinformatics.org/mailman/listinfo/biococoa-dev
> 
> 
> _______________________________________________
> Biococoa-dev mailing list
> Biococoa-dev at bioinformatics.org
> http://www.bioinformatics.org/mailman/listinfo/biococoa-dev

--
Charles Parnot
charles.parnot at gmail.com
twitter: @cparnot
http://mekentosj.com






More information about the Biococoa-dev mailing list