Hacker News new | ask | show | jobs
by flohofwoe 3879 days ago
I use both VS and Xcode daily. Once you get over the initial "gee this thing looks like iTunes" shock and get used to a few small annoyances, Xcode is quite ok to work with. Keyboard shortcuts and source file navigation are completely different to anything else though, once you get used to it, it works well though.

Where Xcode is better than Visual Studio for C/C++ dev (IMHO of course):

- C++ compiling and linking is easily 5x..10x faster out of the box than Visual Studio thanks to clang

- the static analyzer has a really nice 'arrow'-visualization of the steps that lead to the warning

- clang provides more useful error messages

- compiler warnings and errors are directly overlaid into the text editor view

- built-in support for clang address sanitizer (just a checkbox to tick)

- support for iOS development is really slick

- better out-of-the-box support for command line builds either through xcodebuild or the gcc-compatible toolchain

- Xcode comes with a lot of profiling and analysis tools where Visual Studio has only slowly caught up (but VS2015 seems to be mostly on par).

Where Xcode falls behind compared to VS:

- Xcode has that strange 'Scheme' feature for build configuration

- the debugger's variable inspection has usability issues

- working on source files with a couple thousand lines of code feels laggy

- before El Capitan, the whole UI felt slow on a Retina MBP, but I guess that's because of general optimizations in the OS

- it crashes or freezes about once or twice a week on me

- probably a number of smaller ignorances which I have learned to ignore

I usually don't touch any of the UI builder tools in both IDEs, only straight C and C++ stuff so I can't comment on the more platform-specific features.

[edit: formatting]

2 comments

I find it interesting that most of your points in favor of Xcode are just because of the clang backend, while the points for Visual Studio are more about the IDE itself.

Would be interesting to hear your opinion again, once clang is fully supported through Visual Studio.

Yes, I noticed this too while writing the points down. It really comes down to the clang back-end. I'm really looking forward to the clang integration in VS, and also really love the work MS is doing to fix Android native development.

One strange thing I see with clang running on Windows (in the form of the emscripten fastcomp backend) is, that clang runs a lot slower on Windows than OSX or Unix. So may be it is some underlying IO problem? I'm not sure but hope this can be fixed.

This matches my own experience quite closely. Good list.

There is a lot of head scratching with XCode project configuration (for me at least). It's very unintuitive.

clang (though XCode) is much, much faster compiling my projects than cl.exe (through VS) even though I'm using precompiled headers in the Windows build and no PCH on the clang build. VS2015 is supposedly much faster but I still have a few compilation issues I need to work through before I can switch to it.

The debugging experience on Visual Studio is much more pleasant.