Hacker News new | ask | show | jobs
by timelincoln 3735 days ago
now they just need to open source Xcode..
3 comments

I’m not sure you’d really want the crap-fest that is Xcode’s code. It has so many bugs and issues that it’s a better idea to completely dump it and either start over or give up and adopt something like AppCode, like Google did with Android Studio. Making developer tools is just not Apple’s forte and Xcode’s sad state of quality and performance is clear indication of that.

I’m thoroughly convinced that Apple has an internal-only IDE that they use that is far better than Xcode and is actually functional, much like the internal Radar tool. There is no way Apple’s engineers could get any work done if they use Xcode.

Or, they should start charging money for it so they could justify spending resources on the dev tools. One of the reasons (among many) that Visual Studio is still the king of all IDEs is because Microsoft charges money for the serious bits of it (Pro and higher).

I think you're seriously overstating the issues with Xcode. There are bugs and annoyances, but things have gotten better over the years. It's not as great as Visual Studio, but it's far from horrible. Remember, we live in a world with Eclipse.
Is Eclipse still growing exponentially? I remember Ganymede -> Helios increasing 2MM LOC, Helios -> Indigo 4MM LOC, and Indigo -> Juno 8MM LOC. I couldn't even get Luna to run, and haven't checked back in on it since then. The foundation started to bundle up too much stuff in the distributed versions.
>I’m thoroughly convinced that Apple has an internal-only IDE that they use that is far better than Xcode and is actually functional, much like the internal Radar tool.

That's an interesting point and it makes a lot of sense. With the scale of the codebases a lot of them are working on I also don't see how they could be productive while working in XCode. And also XCode could not be this buggy and broken if it had internal developers working with it and constantly reporting bugs.

The response from a friend who works at apple was laughter and "if only".

personally, I'm the kind of guy with a "vim 4 life" tattoo, so I don't really know why people put up with crappy IDEs...

The experienced developers at Apple are no different than the experienced developers elsewhere. They use the LLDB command-line and write their code in Emacs.

I've never liked Visual Studio, and the last time I worked on a serious Windows product most of the experienced developers used WinDbg and cordbg rather than the neutered Visual Studio debugger. And some guys still wrote their code in Visual Studio 6 rather than the newer .NET IDEs.

My problem with Xcode today is that it's too much like Visual Studio. I'll take Xcode 3 with LLDB any day.

Command-line tools are great but graphical displays can be useful, too. The real problem is that pane/window management on OSes is years behind where it should be.

What I want is a way to take any view I please, from any application, and arrange it anywhere in a standard way with keyboard support and sensible omissions of chrome. If this means 65% of my screen is terminals, 20% web browsers, 10% some graphical view from Xcode and 5% notifications, that should be perfect fine. Instead, the most the Mac has been able to cobble together is a simple split screen view and that is only for Full Screen.

And, we also have: Xcode with its own completely custom and quirky pane/tab management scheme, terminals with their own pane/tab scheme, browsers with their own tabs, etc. Individual applications continue to feel some need to over-engineer their own pane/window management to compensate for lack of system support.

There are some signs of hope though. The direction Apple is going with Mac view controllers could theoretically put them in a position to finally turn individual views into first-class citizens that would be feasible to interleave arbitrarily across applications. At that point, command-line tools could integrate very nicely in arbitrary ways with elements that really benefit from being graphical. We’ll see.

I have been using https://www.spectacleapp.com/ for a while now, and it has performed like a champ. Easy window resizing and organization with keyboard shortcuts.
vim. /ducks
How does it make a lot of sense? If Apple had a tool that was better than Xcode, why would they hide it from the public? They have proven themselves to be quite motivated to provide developers with good tools and frankly I find the idea that they keep a better tool hidden away ridiculous.
thought_alarm got it right. The experienced developers probably use open source editors / debuggers, unsuitable for the masses. Not an Apple-only tool, but still not XCode.
That is not my experience at all using Xcode professionally for the past 3+ years, and Visual Studio for over 7 years. Most of the complaints I've heard from colleagues about Xcode seemed from using unofficial 3rd party plugins, or Xcode's inferior c++ support for massive projects haphazardly ported form windows.

Xcode for iOS and Mac development has been the most productive IDE I've used professionally, not without its flaws, and unintuitive nuances, but continually improving. Yearly major ticket feature additions like UI Unit testing shows me Apple is still heavily investing in developer tools.

Xcode works fine for me. I can't say the same for Android Studio, which seems to require a machine more powerful than a top-of-the-line MBP.
"Making developer tools is just not Apple’s forte"

I'm sorry, but LLVM?

Technically, LLVM started as a research project at UIUC, and then Apple hired the principals and adopted the project in 2005. The LLVM website is still hosted by UIUC, and Google and other companies are also significant contributors.
Right, Apple DID NOT make LLVM. They just hired the guy that did (Chris Lattner) well after it was fully established.
And then maintained it and fostered its growth while it became the foundation of modern computing…?
Maintaining and growing an existing tool with its existing developers who you bought in is a good thing and to be applauded, but doesn't necessarily mean the company is good at tooling in general. The cultural requirements are very different.
Some people are really scared of Apple being cool.
You've just described 90% of every major product from a technology company.
I think Xcode, Instruments etc are _amazing_ tools...especially for the price. Compare with the Android toolchain.
>especially for the price.

Yup! They're free! I have found Apple's developer ecosystem to be fantastic overall.

I find Xcode quite a joy to use. It seems well laid-out, not a lot of UI chrome, easy to find the things you need and get things out of the way when you don't. Code completion, debugging, it's all pretty great for me. Not sure if the degree of your hate for it is accurate.
I agree, Xcode is definitely the best looking IDE by light years. Now if only it had a dark mode...
Have you checked out the Fonts and Colors panel in the Preferences? You can choose both font color and background color and other items.
Yeah, but all the panels remain white.
If AppCode ran on other platforms and became a Swift IDE that would be great honestly, not sure how long before JetBrains attempts this. As things stand those of us curious for Swift without any access to Apple products are left with just plain text-editors.
The new CLion 2016.1 release has some Swift support on Linux via a plugin: https://plugins.jetbrains.com/plugin/8240
I want to use Appcode, but the support/autocomplete for swift is just not as good as XCode.
> like Google did with Android Studio

You mean by still not being able to provide an working experience to the NDK users, three years later?

Or by redoing their plugins for Android Studio 2.0, forcing devs that rely on something stable to still be on Android Studio 1.5?

Also by having each release be a bug party that make people at /r/androiddev/ wonder if they ever test what they release?

swift comes with 'swift-ide'test' which I believe is the linter/codecompleter that would allow any text editor to have the features that xcode has
Interesting! I found https://github.com/apple/swift/tree/master/tools/swift-ide-t..., which seems to be what you describe, but seems a bit tricky to use. Can you point to any OSS implementations of a Swift completer?
I think it would far more beneficial if they open source Cocoa/CocoaTouch. I don't care how the IDE works as much as the stuff I use every single day.
I agree. I don't even need very permissive license, just to look at sources would be enough. Sometimes I have to lurk around internet corners just to find out simple things which would require few minutes with source code access. It's so frustrating after Java environment where almost everything is available in source code.
The "source" is almost out there. Attaching the debugger to a 64-bit simulator and putting a breakpoint on Apple methods and functions, you can effortlessly read the disassembler code output by lldb/Xcode. I have fixed and learned countless UIKit-related bugs like that.