Re: Java vs. Objective-C for Cocoa
Re: Java vs. Objective-C for Cocoa
- Subject: Re: Java vs. Objective-C for Cocoa
- From: "Zacharias J. Beckman" <email@hidden>
- Date: Sat, 23 Apr 2005 21:38:26 -0700
Ondra,
API refactoring is common; simply because you use Objective-C doesn't mean it won't happen. But what I will most miss -- if it's not in XCode2 -- will be the ability to quickly redesign my API and have the IDE do the "grunt work."
A few of my favorite Eclipse features are very simple:
1. Automatically implement a subclass of an abstract super. It lets me specify which methods to implement (and which to ignore) and puts in template code for me.
2. Rename a method, project-wide. Eclipse does a fantastic job of scanning the entire project and updating all code references to your method, even in the documentation. It even lets me pick-and-choose what changes I want (or I can just say "do it all"). In other words, it asks you want you want refactored and what it shouldn't touch.
3. Class renaming works the same way -- Eclipse will do the job for you so you don't have to refactor your code manually.
4. "Push up" an abstract superclass or interface based on code analysis.
5. "Use supertype where possible," Eclipse will analyze my code and abstract it a bit more for me (in other words, if I use a literal cast where I could use an interface it will make that adjustment for me).
n. well, etc., etc.
I think CodeWarrior (judging by the ads, not first-hand use) offers a lot in this regard too. Maybe it's marketing, but I'd love to hear if it's real -- might convince me to give it a try.
There are other features lacking, at least at first glance, in XCode that I'll miss sorely. The code completion and analysis is not up to par with Eclipse. Eclipse does interactive error analysis and resolution hinting. In XCode you have to compile to see all the errors. Also the code completion doesn't have all the power of Eclipse (which offers hinted code completion down to the function argument level, references documentation, and does it all with a single keystroke).
--
Zacharias J. Beckman –
email@hidden – 805-482-2878
(office)
Director, Research and Development – LegalEdge Software
Far better it is to dare mighty things, to win glorious triumphs, even though checkered by failure, than to take rank with those poor spirits who neither enjoy nor suffer much, because they live in the gray twilight that knows neither victory nor defeat. – Theodore Roosevelt
On Apr 23, 2005, at 1:29 PM, Ondra Cada wrote:
Definitely. The reason is also well-known: it's since that what you Java folk understand under the name is plain impossible for Cocoa/ObjC/meta-programming based development.
As I wrote a few times already, the trick is that Java (at least far as those "re-factoring IDEs" know, it is a tad better with Java/Cocoa, which uses NSSelectors pretty often) *does not* support a big number of hi-level meta-programming paradigms, each of which renders things like "the IDE knows for a message sent which method of which class will be called" alas a nonsense. Just take:
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden