Hacker News new | past | comments | ask | show | jobs | submit login
Inside Apple's new Xcode 4 development tool (appleinsider.com)
58 points by iaskwhy on June 20, 2010 | hide | past | favorite | 27 comments



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.


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


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.


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...


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.


I completely agree. Even after a few months of iPhone development I still can't say I enjoy the whole XCode/OS X environment one bit.

Changing to single window mode in Xcode did help quite a bit though.


Which, in turn, took it's inspiration from the previous best: the Borland IDE.

Anyone else use Turbo C/C++/Pascal/BASIC back in the 90's?


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.


It's funny that your choices are only svn and git though...

Eclipse implements a framework so any VCS system can be integrated...

Apple (hackily) implements two VCS and... that's all the choices you get. I can see logic behind decisions like this in consumer devices, but it's a lot harder to defend them in developer tools...

At least git is better than SVN...


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.


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.


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.


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.


Sorry. My mistake, I wasn't clear. In the screenshot, it shows the UI builder frames split. The code frame is between the UI builder and toolbox frames.

Maybe you can move them around, and that just happens to be the position of the window. I'm just curious as to why the did it that way.


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.


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.


Support for external editors is removed in Xcode 4.


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


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.


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.


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!


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.


Looks to me like a Visual Studio 2002 clone :D


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


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


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


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.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: