Re: a modest proposal
Re: a modest proposal
- Subject: Re: a modest proposal
- From: joshua portway <email@hidden>
- Date: Mon, 14 Jun 2004 14:12:57 +0100
no, I doubt they "ooed" and "aaah'd" at the Eclipse interface either.
I'm not a big fan of it's Windows-like Gui. But on the other hand I can
still code in it AT LEAST 2 times faster than in XCode - same goes for
Netbeans, and IntelliJ is probably even a bit better. Like most people
who get used to using things like proper code completion and context
sensitive documentation, it's odd to live without them. For me the
advantage of an IDE (as opposed to editing my code in something like
SubEthaEdit) is that the "INTEGRATION" bit of that name means that the
editor is integrated with a code analysis engine, for instance, which
will allow it do do things like intelligent code completion and
documentation, automatically offering to create variables if i
reference one which i haven't declared yet, marking methods that
override superclass methods, or implement interfaces, blah, blah blah.
Essentially, what an IDE does, these days, is provide that integration
- look at Eclipse or Netbeans. They aren't really "monolithic" apps as
Mark describes them, they're really, really clever glue that holds
together a bunch of components and modules which do all the different
jobs and allow them to talk to each other. As far as I can tell (and i
may be wrong, 'cause i can't see the source), it's XCode that's
monolithic - sure it uses a bunch of other command line apps to do the
compiling for it and things, but internally it doesn't feel as if it's
very component oriented. And, worst of all, it doesn't really provide
much of a mechanism for its' helper apps to communicate with each other
(for instance the text editor doesn't seem to be able to use the
different language modules to "know" anything about the language that
it's currently editing - hell, even breakpoint line numbers get out of
sync when you edit the text).
I can understand Mark's aversion to a giant "one size fits all"
do-everything environment, and the "one window" GUI of Eclipse does
emphasise that impression of it, but a modern IDE isn't really that at
all. It's more like an operating system for all of the components that
go to making up your workspace - it provides the foundations on which
people build the tools, like compilers and editors, and it provides the
interfaces that let them work together (which is another reason why an
IDE, almost more than any other kind of tool, benefits from being open
source). Trying to tie together these things via command line scripts
just isn't flexible or powerful enough.
Let me give you an example (from Netbeans, because i know it better,
but eclipse is probably similar). Netbeans has an engine which analyses
my source code as i type, and represents it as a query-able model
object. It provides a service to any other module in the IDE - so, for
instance, i generally have a view open while I'm working which shows
all the methods in the class I'm working on - this view is simply
asking for a list of methods in the current class, and then querying
each method to see if it's overriding another method etc. so it can
show nice icons in it's view. But there's another component also
watching this model, and checking for problems - for instance, an
unimplemented method that's required by an interface - and advising me
about what i need to do to fix it (and even offering to do a
boilerplate fix for me automatically if i want). All of these things
are discrete components, but they all use the underlying interfaces
provided by the IDE to talk to each other - they can even request the
text editor to add annotations to my source code to show me where there
are problems. And because both of these components are just talking to
an interface to do their work, if someone wrote a language model for
objective C they should be able to plug it in, and the structure view
etc. would then be able to browse my objective C code.
So, in reply to Mark, I don't really think that what these IDEs are
doing is "abstracting" you from the process. XCode seems to be less
abstracted to you, because basically it's just doing things the way
you're used to - it's a text editor which calls a compiler when it
needs to build something. Netbeans isn't more abstracted really, it's
just working in a very different way - it isn't really any longer just
a text editor which will compile stuff when you press a button - at
it's heart it's a platform which provides a framework for components
which want to work TOGETHER, and which allows them to operate on your
source code in a more intelligent way than just treating it as a bunch
of text.
phew.
enough for today :)
josh
On 13 Jun 2004, at 20:37, Dmitry Markman wrote:
Apple provides information about 3rd party development tool for years
so there is nothing special about that
I doubt that they "Oooh'ed" and "Aaah'ed" looking at Eclipse interface
Eclipse has set of the good features but interface IMHO is poor
and that big single frame is really bad thing
I know for sure that I didn't "Oooh'ed" and "Aaah'ed".
I did exactly opposite.
but as one Russian proverb says it's useless to argue about colors
and tastes
that Eclipse's developers should "Oooh'ed" and "Aaah'ed" when they
look at XCode or CodeWarrior interface
they have to learn a lot from those tools but they prefer to mimic
Visual Studio style interface
for me XCode is good enough and it does everything I want it to do
On Jun 12, 2004, at 7:55 PM, Lotsa Cabo wrote:
As for the ADC page on Eclipse, it was highly transparent. The folks
at Apple are intelligent guys (I realize this, otherwise, I would not
be jumping ship from M$ after 20 years). I am confident that they see
the value in Eclipse and have probably "Oooh'ed" and "Aaah'ed" just
like the rest of us. There are several features in Eclipse that are
Dmitry Markman
_______________________________________________
xcode-users mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/xcode-users
Do not post admin requests to the list. They will be ignored.
_______________________________________________
xcode-users mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/xcode-users
Do not post admin requests to the list. They will be ignored.