• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: a modest proposal
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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.


References: 
 >a modest proposal (From: Frank Rimlinger <email@hidden>)
 >Re: a modest proposal (From: Lotsa Cabo <email@hidden>)
 >Re: a modest proposal (From: Dmitry Markman <email@hidden>)

  • Prev by Date: Problems with "Undefined symbols" and wchar_t on Mac OS X 10.2
  • Next by Date: Undefined symbols: not shown
  • Previous by thread: Re: a modest proposal
  • Next by thread: Re: a modest proposal
  • Index(es):
    • Date
    • Thread