

Inside Apple's new Xcode 4 development tool - iaskwhy
http://www.appleinsider.com/print/10/06/19/inside_apples_new_xcode_4_development_tool.html

======
jws
New debugger to be open sourced. That's good news for IDE/debugger
integration. One presumes it will present a nice API for IDEs to use.[1]

 _Also within Xcode 4 is an entirely new debugger system Apple designed for
performance and efficiency, resulting in faster finding and fixing of bugs.
The new debugger is modeled after LLVM's modular architecture, and is
therefore named LLDB. Apple is also said to be releasing its internal LLDB
project as open source, and will make it available to third parties alongside
the open source LLVM compiler._

[1] The FSF camp coders have historically omitted APIs to prevent closed
source people from integrating their GPL'd projects or implementing closed
source extensions. That serves their goals, but is a PITA if you really want
to programmatically control something or extend it without maintaining patches
through version changes. gcc's adherence to this has brought us the more
liberally licensed LLVM, and now gdb has brought us LLDB, I will hope it is as
good as LLVM.

------
pavlov
Apple's IDE user interface design continues to take inspiration from the best
-- Microsoft Visual Studio. And it's all good.

~~~
jasonlotito
I guess that's good. Tried Xcode 3. Seriously, horrid mess. Confusing.
Documentation that was wrong. Not just somewhat wrong, but wrong, can't
compile, can't even do what the documentation say. Confusing madness. A dozen
windows open from multiple programs.

~~~
yoden
Yeah, I haven't gotten a chance to try my stuff under 4 yet (blol Apple
changing how the original window is generated and breaking apps), but an IDE
where I can not have 47 windows open at the end of a dev session? finally!

XCode is finally catching up to eclipse... hopefully soon I'll be able to
program in it without feeling like I'm only a quarter as productive as I need
to be...

~~~
thought_alarm
Xcode already has a single-window mode, if you don't want to work with
multiple windows. You'll also want to learn about the Close All Windows
command (Command+Option+W), which closes all windows of the same kind. You can
use it to close all source windows, all debugger windows, etc. The same
command works in most OS X apps.

------
ComSubVie
The looks pretty good, especially that Interface Builder is now included in
Xcode, and that it also supports Git for version control.

Hopefully it will reach a stable state soon.

~~~
jasonlotito
I can't help but wonder why they split the UI builder. Seems like it would
make more sense to keep work area and toolkit in the same general area.

~~~
protomyth
In the old days (starting pre-Apple), you could build a pretty good UI and
test it without opening up Project Builder (older version of Xcode). It was
actually quite nice to have it as a separate program.

~~~
glhaynes
Yeah. IB first shipped in, what, 1988? A time when interface builders were
sufficiently rare that it didn't seem generic to name the product Interface
Builder.

~~~
thought_alarm
Originally, IB _was_ the IDE, but you edited your code using TextEdit (which
had a programmer's mode) or Emacs or VI. Later (1995?) they added Project
Builder as a more traditional IDE (class and method browsing, code completion,
integrated debugger, etc.)

Project Builder had 3 windows: a single window for managing the project and
editing source code, one window for the debugger, and one window for
compilation. This is the "Default" layout in XCode. XCode also has "Condensed"
layout, in which the project and source code windows are separate, and "All-
In-One" layout, in which project, source, debug, and build modes are contained
within a single window.

------
dieterrams
If you have a developer account, you can watch the WWDC videos introducing
Xcode 4 for yourself. Honestly, these videos consistently impressed me far
more than the iPhone 4 keynote.

------
hboon
I really wish it retains the multi-windows paradigm. I like to use vim instead
of the built-in editor and the current arrangement is good for that. If they
start to bundle tools like IB alongside the editor in a single window, I
wonder if using an external editor is still as easy.

~~~
jlazarow
Support for external editors is removed in Xcode 4.

~~~
philwelch
I don't understand this. Apple has thousands of programmers--aren't _some_ of
them addicted to Vim keybindings or something?

~~~
aaronbrethorst
I'm sure the xcodebuild command line tool is still around. I'll bet that all
of the vi-using developers who _work_ on Xcode are still just using that.

------
mkramlich
Sounds like some positive steps forward.

I'm not a fan of the whole GUI IDE approach though, compared to the
vi/CLI/REPL/scripts approach/ecosystem. I prefer minimalism, simplicity,
having as little cognitive structure/clutter on screen at once as possible, or
in config files, with high automatability and minimum configuration complexity
and boilerplate.

For me, XCode failed in those areas. If you do iPhone development with XCode,
for example, and IIRC, I once counted that there are approximately 8 different
names or identities that are tracked for any given iPhone app. There were
complex, counter-intuitive and under-documented ways in which they related to
each other and were used. And if any were used wrong or collided somewhere,
blammo. Then you had the multi-dimensional/multi-overidable/varying-opacity
configuration system, and the iPhone app submission process/non-process, and
it was a recipe for pain and grief.

I will still use XCode and do iPhone development for money. But only for
money. Not for any personal projects where I have acceptable alternatives.

------
henning
Developers were given a preview of Xcode 4 at WWDC. Based on feedback from
people who broke NDA, at this moment it is apparently quite buggy and
unstable.

Obviously that will improve before Xcode 4 is released.

~~~
Groxx
Well, the buggy / unstable is visible in the WWDC videos, which are available
for free (to developers). It's no great surprise that someone "leaked"
something so widely available.

It's a preview release, I still have high hopes, it looks like they've
improved a number of things pretty significantly. And here's hoping for an
extension API of some sort!

------
cmelbye
Is this available to iPhone Dev Program members yet? I'd love to try it, but
it seems as though it's only available to WWDC attendees from what I can see.

------
borisk
Looks to me like a Visual Studio 2002 clone :D

~~~
mkramlich
And VS started as a "me too" clone of the Borland IDE, etc. :P

------
ivanzhao
This single-window design might be hard to run it on 13 inch Macbooks given
their limited screen.

~~~
weaksauce
In Xcode 3 using a single window workflow you can hide the sidebar and the top
area with a shortcut. Also you can navigate from debug to editing with a
shortcut. Those two things make hacking on a smallish laptop screen bearable.

I set the shortcut to be

edit mode : cmd + 1

Debugmode : cmd + 2

