4 ms·
Hardware is not the only problem Apple has right now vis-a-vis developers. Apple's flagship IDE, XCode, is also lagging behind, at least when talking about C++
by delegate 10y ago
Hardware is not the only problem Apple has right now vis-a-vis developers.
Apple's flagship IDE, XCode, is also lagging behind, at least when talking about C++ development, but even Swift doesn't get too much love it seems.
Having used it since at least version 5, XCode 8 has been a frustrating experience for me starting from day one, when it defaulted to Swift version 3.0 and so broke all of the existing Swift projects and dependencies from CocoaPods / Carthage.
Me and thousands of devs had to waste hours if not days just to build our projects - with no way to downgrade to previous XCode version.
After that, I constantly struggle with syntax highlighting, unusable code completion, broken navigation and so on.
And that's for Swift ! Ok, my project also has Objective-C++ and C++ code, but all of them are broken beyond frustrating.
Sometimes the "comment/uncomment block" feature just stops working and the only fix is to run a magical sudo command and then restart your mac.
I've revived an older Windows 7 machine just so I could compile my C++ lib on Windows. Visual Studio 2015 + Visual Assist, which I haven't used in years, was a revelation.
I ended up refactoring most of my C++ code on that 7-year old machine and frankly it felt very good that I didn't have to fight the development environment, like I do on my $2500 MacBook pro.
Until then, I didn't even realise how unproductive XCode made me in C++.
So yeah, I'm already thinking about a 32GB of RAM, nVidia 1070 GPU, 17" monitor laptop. It costs like a Macbook pro, but punches a stronger punch at the expense of portability.
I can justify all the gaming and VR that I'll do on it with the fact that it runs Visual Studio well...
I wrote this to vent but also with the hope that someone at Apple is reading these comments and hopefully something will change soon.
- bsenftner 10y agoXCode is the #1 reason I was never able to fully commit to a Mac. Hell, I was a Mac beta tester back in '83! (At age 17.) I've owned one, and used them as my main email machine for decades, but I never could wrap my head around the IDE poverty that is XCode. Even when I wrote Mac software, I did not use XCode, or whatever they called it back then. These days, I still have a Mac for email and it is my main system for personal web surfing, but any and all technology development takes place on some flavor of Windows or Linux. Plus, my $350 gaming desktop PC was easily upgraded to 32GB RAM and 3 4K displays - Apple can't touch that, and the entire system, counting monitors, was under $2K.
- jungturk 10y agoI'm confused why the presence of Xcode would prevent one from using a Mac with whatever IDE they preferred. Atom, IntelliJ, VSCode, Sublime, VIM, etc... all work just fine on Macs.
- phaed 10y agoCall me when "brew install visualstudio" works.
- kristiandupont 10y agohttps://www.visualstudio.com/vs/visual-studio-mac/ https://www.visualstudio.com/vs/visual-studio-mac/ ..of course it won't help you with c++ development.
- hellofunk 10y agoYou are correct. You don't need Xcode for all the code you write for Apple's platforms. You need it to build and link to Apple libraries or the App Store, but you can edit code elsewhere.
- slededit 10y agoYou can compile and link without XCode too. Apple just makes it annoying to do so, and the documentation frequently says the equivalent of "just use XCode".
- makecheck 10y agoI generally agree about Xcode, I have since demoted it to essentially a build engine and use external editors, etc. to actually do work. Although, regarding Swift: you cannot blame them for Swift 3 breaking things because they have always been clear what was going to happen! It evolved a lot, and that was kind of the point; it’s one of the reasons there is no stable ABI yet.
- wool_gather 10y agoThe stable ABI was originally supposed to come with v3, though. They pushed it back earlier this year. Now it's "probably v4".
- sgspace 10y agoHey I ran into the same issue with Xcode 8 breaking all my existing iOS projects. If you go to developer.apple.com and find the downloads section you can download older versions of Xcode. You can have multiple Xcode versions installed on a single machine. I have Xcode 7 and Xcode 8 sitting right next to each other in my applications folder.
- 72deluxe 10y agoYes, xcode CANNOT refactor C++. Let's all just use Borland products pre-2005 instead.
- protomyth 10y agoXcode was the buggy "single program" replacement for Project Builder and Interface Builder. It really never got over the bugs. I wish they had gone the other way an embraced the parts and components so we could at least add stuff beyond the current model. Thinking about it, this whole must be in xcode to read the documentation is still a pain in the butt. I miss printing the pdfs (much easier on my eyes or I could use an e-ink based reader) and wonder why the heck they at least don't have an official documentation viewing app on iOS.
- sosborn 10y ago> why the heck they at least don't have an official documentation viewing app on iOS. https://developer.apple.com/reference/ https://developer.apple.com/reference/
- protomyth 10y agoThat doesn't quite work if I'm not on the internet and its a pretty poor experience.
- wool_gather 10y agoI highly recommend Dash. It recently got yanked from the App Store, but the iOS version was subsequently open-sourced: https://github.com/Kapeli/Dash-iOS https://github.com/Kapeli/Dash-iOS so you can build and install it yourself. I'd like an e-ink version, too, but an iPad is a close second. I use the Mac version constantly. I haven't had to open the Xcode documentation window for months.
- saurik 10y ago> with no way to downgrade to previous XCode version. What? The Apple Xcode downloads page lets you manually download every version of Xcode going back to at least 2008. I mean: I clearly love to complain about Apple, and I am shocked anyone uses Xcode at all for any reason, but the only thing keeping you from downgrading versions of Xcode is really old copies have GUI issues on newer versions of OS X... Apple at least got that right.
- delegate 10y agoI don't remember exactly in what way this wasn't working for me, but it was something related to Carthage and xcodebuild. The workaround, which I use to this day is to define TOOLCHAINS=com.apple.dt.toolchain.Swift_2_3 before calling Carthage. Even if I did downgrade to Xcode 7.x, it would still add quite a bit of effort on my side, which Apple forces me to do by nagging me to update Xcode. I think it should work the other way around - Swift 2.3 still default with the option to use Swift 3.0. In all fairness, I like Xcode - it looks nice, it's fast. It's quite good when it works well - mostly with Objective-C projects. But the last version has been really frustrating and I think it's a step backwards, which I hope they will fix fast.
- PetahNZ 10y agoThe update prompt really annoys me. "Would you like to update now, tomorrow, or never ever again?"
- hellofunk 10y agoI do all my c++ in emacs and compile or export a static library, which I then use in Xcode projects. Works well for me. Plus the c++ projects remain isolated and portable, self-contained. I have iOS apps that are 90% c++ written in emacs.