Hacker News new | past | comments | ask | show | jobs | submit login

>Beyond bugs and crashes, it seems to me that Xcode sucks because it's primarily built for a rather archaic language (Obj-C), thus the value added by the IDE is "scrappy" rather than uniform and natural.

Newer dynamic languages have actually WORST IDE support than Obj-C. IDEs for dynamic languages for example (Ruby, Python, Lua, ...) suck, and are left in various stages of incompleteness. Even IDEs for JVM based languages (Scala, Groovy, etc) are not that good (mostly some basic IDE capabilities built on top of Eclipse core engine).

>Environments that are rich with implicit metadata have synergy with IDEs. Environments full of repetition, gnarly API headers, #ifdefs and #defines don't.

Objective-C by it's design keeps a lot of metadata, especially since XCode 4+ has the full LLVM and AST of the whole project at it's disposal to check for types, inheritance, messages, variables, autocompletion et al.

>In other words, Xcode is technologically fighting an uphill battle.

In other words, no.




I don't disagree about those dynamic languages. I wouldn't even try to use an IDE for them. BTW, Go has nothing to do with the JVM.

Why don't you consider the need for LLVM+clang and the subsequent huge amount of work indicative of an uphill battle to retrofit the IDE?


Re: Go, yes, meant to write: Groovy!

>Why don't you consider the need for LLVM+clang and the subsequent huge amount of work indicative of an uphill battle to retrofit the IDE?

Well, I'm not sure about the "huge amount of work". We just saw some release from Apple and that was it, we had XCode 4. Shouldn't have taken that much, more like 2 years or something for everything, considering that was around the time Apple started using LLVM.

They did retrofit it, but only because they had a more basic IDE before. Not because something in the language particularly prevented it.

It took the Eclipse project a few years to build their first version of the IDE too.


Well, LLVM+clang first needed to be built up to be suitable for such an integration (on and off Apple's dime).

I contrast the general situation with something like C# which is on record as being designed from scratch to have synergy with Visual Studio, not the other way round. This general quality shines through while developing with it.

For example, the wonderful LINQ language feature: Statically typed declarative operations on any data. You write these 'reversed' compared to SQL and in return that means each stage can be fully auto-completed.

Back in Obj-C land AKA Jurassic Park, code's full of things like 'IBAction' and 'IBOutlet' which are C macros #defined to void or whatever, just to help the tools out.

But, like I said, Apple ecosystem developers still manage to produce good results. All things considered, OS X / iOS are the best platforms from a user perspective, IMO :)




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: