On Jun 7, 2008, at 1:49 PM, WT wrote:
Actually, I think that discussing the details of how to implement X in Java is also off-topic for this list. Nevertheless, I will point out that Java has a whole package for managing undos (javax.swing.undo).

Having taught Objective-C and Cocoa (and predecessors) for 15+ years, the biggest challenge I have run into is assumptions based upon patterns that are valid in one development environment and not in another. I know that when I have learned new development environments -- something I try to do once every couple of years -- I have to consciously step back and remember to forget my Obj-C / Cocoa knowledge.

Given the number of developers new to Mac OS X (and iPhone, which we can't talk about yet) development and given the nature of the questions being asked, this seems to be a continuing challenge.

But here's the flip-side of your question, which clarifies what I had been saying in previous messages: what features of NSUndoManager require Cocoa's native language to be based on C? I'm not familiar with the details of NSUndoManager (as I said, I only dabble on Cocoa, so I'm really a noob) but I suppose the extreme dynamism of Obj-C are required. If that's the case, they could probably be added to any other language upon which Cocoa might have been based on.


It certainly doesn't require C, but it does require the dynamism of Objective-C. SmallTalk or CLOS (Common Lisp Object System) are both languages / runtimes capable of supporting similar programming models.

I don't think the same level of dynamism could be added to any other language without changing the nature of the language. For Java, adding such degrees of dynamism would change the fundamental nature of the virtual machines and JIT compilers in that they could no longer eliminate call sites as a part of optimizations. Actually, any object oriented language that has the ability to inline methods such that they cannot be "out of lined" again at runtime cannot support the dynamism offered by Objective-C.

b.bum

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to