FROM : Zacharias J. Beckman
DATE : Sun Apr 24 06:38:26 2005
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_removed> – 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:
DATE : Sun Apr 24 06:38:26 2005
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_removed> – 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:






Cocoa mail archive

