10 ms·
Xcode Is the Worst Piece of Professional Software I Have Ever Used
- alcorr 1y ago[dead]
- apples_oranges 1y agoSome valid points, but the compiler isn't Xcode and Swift isn't able to check the expression. Imho in these cases it's the developers lack of insight into how SwiftUI works, but otoh Apple often doesn't help with obtaining the insight.. They will also silently stop supporting some piece of library you rely on, leave it broken in some way or another, and just leave you on your own. However, it has its good sides. The profiling tools are great for example. And I would rather work on 10 difficult problems with Xcode than on 1 with Visual Studio..
- deeznuttynutz 1y agoAgreed, it's not that bad imo and the profiling tools are amazing.
- jdjrbrjrbrh 1y agoThe profiling tools come from solaris
- dcrazy 1y agoThat is not true. You can’t even run DTrace on Apple Silicon without disabling SIP, yet Instruments runs fine.
- jdjrbrjrbrh 1y agoYes because Apple would not be able to subvert that at all for development tools...
- asdfbank 1y agoThank you for sharing this, now I feel less dumb. Recently I had the pain of publishing my app (Flutter/Dart) on the apple Appstore, admittedly, my first experience using a mac in the last 30 years so I don't speak mac at all, but like, I know computers right?... famous last words. I thought I was "holding it wrong"... like really badly wrong! and all I was trying to do was clone my repo and compile it for the store, that's it. took me nights and nights to get over each subsequent hurdle and false peak and missing import and then at the end, oh please upgrade and start again. Thank goodness I only need it for that 1 step and I can do everything else on computers and software that is normal for me. As a first time app maker, I've had a super experience with Flutter in VScode.
- dtagames 1y agoApple has always been famously anti-developer. They write terrible documentation, too. You're supposed to suck up to them to get access to their precious users. Everything in this article is a reason to stay away from everything proprietary about Apple development. If there is some software that can't be delivered with open web technology or an existing game engine, I'd like to know what it is.
- pjmlp 1y agoOld Apple, the one before NeXT reverse acquisition, had great documentation.
- MangoToupe 1y agoFWIW, I've been developing on the mac for about twenty years now, and I think they're at worst in the middle of developer experiences. I prefer it to working with eg GTK and JS/HTML/CSS (though, CSS does have its sweet spots). The worst part is that they can be agonizingly slow to fix very obvious bugs. The documentation could certainly be much worse, and there are so many eyes on their tools now it's in many ways much easier now to be productive than it used to be. The debugging and profiling is excellent. I've never trued developing for windows so I could easily imagine it's better across the board. It also helps if you don't need to go through their app stores, which is a hell of its own.
- a456463 1y agoAmen. I am thankful everyday that IntelliJ is used for Android Studio
- pjmlp 1y agoAndroid Studio is what made me hate InteliJ, and keep with Eclipse/Netbeans unless forced otherwise by project delivery team.
- flykespice 1y agoWhy? Android Studio seems fine, IntelliJ does a very good job on their IDE
- x0x0 1y agoHe or she forgot all the gems about the xcode garbage randomly losing contact with ios devices and the random thrashing you use to attempt to reconnect. It's particularly galling since all my ios devices aren't even used: they're test devices only. So they're completely stock and solely run my app.
- yiyayo110 1y agowait until you try Android Studio...
- andrekandre 1y agodo you mean to say it’s better or… worse??
- sunaookami 1y agoHuh, Android Studio is amazing because it's build by people who actually know how to make software (JetBrains) and it runs everywhere.
- pjmlp 1y agoProvided one has 32 GB, with 16 real cores and a 1TB SSD ultra-fast.
- sunaookami 1y agoThat's a pretty standard dev machine no?
- pjmlp 1y agoMaybe at Google, given how poorly Android Studio works otherwise.
- Jensson 1y agoThat was what I had at google 8 years ago, today its not expensive at all, any serious developer should have about that. If you develop on a weak laptop then that is on you / your company, should get a proper machine. Its good if tools are fast, but in general developers are expected to have fast machines so the tools are made with that in mind.
- pjmlp 1y ago
- sschueller 1y agoApple would have been avoided by developers if they weren't part of the smartphone duopoly. The tools and processes are just that bad. Now Google has decided to make theirs even worse than Apple at least when it comes to publishing in the play store.
- SilverElfin 1y agoThe problem is all three companies - Apple google Microsoft - are making their platforms worse. It’s a symptom of low competition and immense concentration of capital / labor.
- bmitc 1y agoIs that actually true for Microsoft? How they've evolved .NET and VS Code is amazing. You can make a PR on Microsoft's repos, someone actually pays attention, you get to talk and worth with Microsoft employees, and they merge things in. Microsoft is leaps and bounds more open than Google and Apple when it comes to development tooling.
- SilverElfin 1y agoIt might be true on developer tools. For them I was talking more about Windows, Teams, etc
- VoidWhisperer 1y agoThat is one part of microsoft, yeah, but then you also them making various parts of windows worse to try to squeeze every penny out of people, and where that fails, doing things like ads for apps in the start menu
- SilverElfin 1y agoApple doesn’t care. Look at how bad iTunes or iCloud or whatever is. Especially on windows. Their software is terrible. They focus mostly on what makes money. And the support is non existent. All you can do is shout in the forums but some Apple apologist will respond rudely or with some unhelpful generic tips that do nothing.
- anthonypasq 1y agoi mean in a way xcode is incredibly valuable product considering anyone who wants to publish to the app store (where they collect insane rent for zero effort) needs to interact with it.
- bmitc 1y agoApple probably views the product as the privilege to develop and publish apps.
- deleted 1y ago[deleted]
- marklubi 1y agoI can confirm this. Have a relative that works for Apple. Made the mistake of complaining in front of her about their take on sales (they make six-figures annually from my app). She went off on how much they give us (including Xcode) for the privilege of having an app on their phones. Still don't have a contact there. Would have thought I would at least get someone there to talk with if issues come up.
- em-bee 1y agoso it's the wrong incentive. apple has no need to make it better because people are forced to use it anyways.
- christkv 1y agoI once had a glimpse of their internal pages for the app store and music store about 7-8 years ago and the design was outdated in 1999
- dadie 1y agoHonestly, the second to last paragraph reminded me a lot of my experience with eclipse back in 2011 to 2014. I think it was called the eclipse dance back than. A random order of clearing the cache, rebuilding, disabling/enabling plugins, creating a new workspace and restarting the ide would solve most problems. It is one of the reasons I developed a disdain for eclipse. I later even switched jobs mostly to get away from it.
- lucaspauker 1y agoTry developing on the Apple Watch. I think I have spent more time dealing with connection issues than writing actual code...
- bronlund 1y agoI love my mac and I hate everything Microsoft, but just as Xcode may be the worst piece of software coming out of Apple, Visual Studio (no, not VSCode) may be the greatest piece of software coming out of Microsoft. It is an amazing piece of engineering. It's not perfect, it has it's share of bugs and quirks, but still, it's a wonder to behold :D
- cjk 1y agoVisual Studio used to be as bad as modern Xcode, if not worse. Having used VS2022 a bunch for the last handful of years, I’m pleasantly surprised. Apple could take a page out of Microsoft’s book here.
- dkobia 1y agoSwift is actually a really good language let down by its official IDE. Slow build times, laggy autocomplete, random crashes etc. I can’t remember Xcode ever being great to use.
- BoorishBears 1y agoI wish Apple would buy Jetbrains... or maybe even better, sizeable investment in them so they maintain autonomy and build a warchest to survive the current AI wave. Imagine an AppCode successor that was designed in full partnership with the XCode team? Tantalizing.
- tailspin2019 1y agoAs daily user of Jetbrains’ software (and someone who agrees with TFA about xcode) I don’t want Apple anywhere near them
- BoorishBears 1y agoSo as a daily user of Jetbrains software, who also finds XCode awful, you would not want XCode replaced by a Jetbrains project that isn't hacked together and reverse engineered like AppCode was? Or you just wanted to be dramatic?
- TheOtherHobbes 1y agoWhat would actually happen is that all of Toolbox would be replaced by Xcode. No one wants that. I'm sure Apple's Dev Tools team reads HN, and it's baffling they just don't care that the product has such a bad reputation. Or if the team cares, some layer of adjacent management clearly doesn't.
- BoorishBears 1y agoHN users are some incredibly exhausting people to deal with sometimes > or maybe even better, sizeable investment in them so they maintain autonomy and build a warchest to survive the current AI wave. Just wow, like trying to talk to an LLM that poluted its context window with the wrong idea then hyperfixated on it ad infinitum, Jesus Christ.
- RantyDave 1y agoThing is, I have stopped expecting Xcode to be any good. Actual native macOS/iOS development got beaten senseless when the App Store made it clear that "unsustainably low" was the expected price point for third party developers; and that Apple were treating the store more or less as a market research exercise and good ideas absolutely would be stolen. So it's an internal tool, really. And we're I-guess-lucky that they document it and release it for the proles.
- em-bee 1y agothis is very disappointing considering that the spiritual ancestor ProjectBuilder/InterfaceBuilder from NeXT was considered amazing and ahead of its time. Apparently after NeXT joined Apple, ProjectBuilder was rewritten from scratch. maybe that's where the problems started...
- mjmasn 1y agoApple: would it kill you to add some labels to all the mystery-meat navigation in Xcode?
- RedNifre 1y agoCould some Xcode uers explain to me why AppCode (IntelliJ IDE) did not take off as an Xcode replacement? I recently had to do some iOS work, knew that Xcode sucks, wanted to try AppCode, only to learn that it was discontinued because of lack of interest.
- yen223 1y agoIf I remember correctly, you still needed Xcode to actually compile and run the code, because of restrictions imposed by Apple.
- RedNifre 1y agoRight, but did this mean you had to deal with all the Xcode problems, or did you have more of an IntelliJ like experience?
- yen223 1y agoAppCode gave you an IntelliJ-like experience, and personally I found it significantly better than Xcode when writing code. But the friction of needing to keep around Xcode anyway whenever you wanted to run your code meant it was just easier to stick with Xcode.
- mayoff 1y agoMy problem with AppCode was that the syntax of Swift was still undergoing rapid development, and AppCode lagged too far behind. So AppCode wouldn't understand parts of my code unless I avoided the latest (often very valuable) additions to the language. When it did understand my code, it was much better than Xcode for navigating and refactoring. Also, AppCode couldn't edit or even display XIBs so I often had to keep Xcode running alongside it anyway to edit XIBs and make connections between XIB and code, and that was a hassle.
- add-sub-mul-div 1y agoI'm only guessing and I'm not an xcode user but my general observation is that Apple users have a culture of using whatever Apple gives them, whereas in the Windows world the culture is to go out and look for your favorite third party option.
- resonancel 1y agoXCode evidently cannot keep pace with the rapid development of Swift. Instead of fully embracing community development, Apple maintains a proprietary (dated and divergent) fork of the Swift toolchain in Xcode. For example, check how different compiler diagnostics and suggestions are when using Xcode vs SourceKit LSP. Apple is, once again in its time-honored fashion, wasting collective effort because of its siloed, secrecy-laden development model.
- lawgimenez 1y agoAs an iOS developer it is truly a bad piece of software. Compiler doesn't even throw an error when you left out a dot. https://law.gmnz.xyz/single-dot-crash/ https://law.gmnz.xyz/single-dot-crash/
- cozzyd 1y agoVivado: hold my beer
- steve918 1y agoOh my lord. I'm sorry fellow tortured soul.
- zahllos 1y agoI laughed. Indeed there is quite some competition in the category "worst piece of professional software".
- jlokier 1y agoYup. Once it took Vivado 40 minutes just to add one small Verilog file to a project. Not to compile it. Just to add it to the list of project source files, for which it scanned the file for definitions. Each time I edited the file, Vivado stalled for another 40 minutes. Same file compiled and ran all its simulation tests in Verilator (an open source tool) in a couple of seconds. For my compiles, Vivado routinely took hours for sparse designs and over 24 hours for dense (but still conceptually small) ones. This made iteration impossible on the timescales my last FPGA project required, so I had to stop using Xilinx. I accept that dense P&R compiles may take a long time, as it's algorithmically complex. But Vivado's occasional extremely slow and janky process for minor things left my wondering if the full P&R compile time was more due to similar bad coding issues on their side, not any real need to take that long.
- mannyv 1y agoI guess that means you're young.
- bentocorp 1y agoI was going to defend Xcode and say it's not that bad... but then I read the article and realised that I have just become so accustomed to these problems that I don't consciously realise the daily hellfire that I experience. Even when you think you're immune to it, Stockholm syndrome is real. A similar article I wrote on the 'Dark Side' of Apple Development, brings up many additional issues: https://www.magiclasso.co/insights/apple-development/ https://www.magiclasso.co/insights/apple-development/
- Nevermark 1y agoThe first rule of Stockholm Club, is you don't know you are in Stockholm Club.
- partomniscient 1y agoFree [1] Membership! [1] For a very limited version of 'free'.
- Cloudef 1y agoIm not sure if its a still issue, but there used to be a period when installing xcode through appstore was impossible as it was either reaally slow or never finished. There was even awesome review by someone making joke story about it in zombie apocalypse like setting, wish i could still find it.
- marklubi 1y agoEvery time there is an Xcode update, I dread installing it because it will be a whole bunch of new bugs, and I just finally figured out the previous ones.
- dadoum 1y agoYou can also have code completion with old CLion+Theos+Objective C, or with VSCode+SPM+xtool toolchains btw. It's not a great experience either but at least it did not force me to deal with macOS to start with.
- m463 1y agoI remember a long time ago writing simple macos apps you could use from the command line. The compile command was basically: gcc -o foo foo.m -framework Foundation I think everything developers do in apple's ecosystem is needlessly complicated.
- Splizard 1y agoyou can totally still do this
- lemonwaterlime 1y agoI do this. My workflow is CLI only in Objective C. No Swift. No SwiftUI. No .xib files.
- rTX5CMRXIfFG 1y agoThat first error isn’t an Xcode issue. It’s a Swift compiler issue. And you can’t blame your IDE for your bad instincts—at some point those ritualistic fixes stopped being necessary and I haven’t had to do them for more than half a decade. You really should be digging into your code using breakpoints and logging to find the root cause. I do think Xcode has very rough edges but if we’re criticizing it, we have to criticize the right points.
- bionhoward 1y agoWouldn’t a breakpoint or log message require the code to compile and run in order to work?
- lawgimenez 1y agoYou're right, parent's comment is just wrong.
- rTX5CMRXIfFG 1y agoYou also didn’t read the article
- rTX5CMRXIfFG 1y agoYes but if you read the article, the point about developing bad instincts is a different context than the Swift compiler issues.
- danjl 1y agoDunno. Not sure you can so easily slice off Swift as "outside of XCode", since it isn't used by anything else and is basically required for any Apple development, and only Apple development.
- cute_boi 1y agoThe only time I use Xcode is when I accidentally click a random file and Xcode pops up. I close it immediately
- bob1029 1y agoXCode is so bad I spent a solid year rewriting a perfectly functional iOS application (B2B) as a PWA using raw, vanilla javascript. Simply being able to use VS and AspNetCore meant my iteration time went from "what the fuck I'm done with computers" to about 3 seconds per. It was one of the best payoffs I've experienced with regard to vendor risk and complexity management. Being able to ignore the consequences of WWDC every year was such a relief. We weren't even trying to add any new features. We just wanted to keep it alive across major os versions. iOS Safari was a landmine environment to navigate when attempting to shim the native features, but we eventually got 100% coverage. The worst part was 2D barcode scanning and getting the appropriate camera and resolution. After a few hundred hours we had something that was indistinguishable from native. If you're a B2B vendor working with Apple tech, I would seriously consider the power of the open web. Breaking out of Apple tooling prison is like a 100x+ uplift in productivity if you have expert level familiarity in any other ecosystem.
- peterpost2 1y agoPL/SQL developer is the worst one I've ever used.
- pjmlp 1y agoI for one, love it, much better than any open source RDMS developer experience, in stored procedure development, only having parity with SQL Server.
- matthewsinclair 1y agoAs an infrequent user of iMovie (and a past user of Xcode), I think that iMovie really gives Xcode a run for its money in bad UX. How that app got out of the lab like that is profoundly beyond my understanding. It’s not just bugs as such, but actively user-hostile as though a team of people really worked hard with the goal to make the most infuriatingly inconsistent and unintuitive app imaginable.
- apatheticonion 1y agoCan you write Apple applications, desktop or mobile, entirely in Rust? Is there any way to avoid Apple technologies (that isn't React native, and obviously you still need to build on a Mac) when developing software?
- jdjrbrjrbrh 1y agoOver a decade ago I used to work for a company that built a c++ opengl based ui for android Linux iOS macos and Windows... It could be done but I wouldn't want to ever do that again.....
- criticalfault 1y agoStrong words for someone who never used lotus notes. (Didn't read the article, basing this on the subject alone)
- arisAlexis 1y agoYeah it feels like a 90s C++ IDE
- antfarm 1y agoMetrowerks CodeWarrior wasn't too bad.
- flohofwoe 1y agoIt's quite ok as a pure C/C++/ObjC IDE with the project files generated via cmake, but then, so is VSCode ;) The integrated Metal debugger is actually quite spectacular, unfortunately that's countered by the CPU debugger being extremely bare bones and slow.
- xeonax 1y agoI gave up apple development after 2 years of paying developer fees. Vague errors, buttons that work 2nd time. but not the first time. I got into apple development to publish a unity game to iDevice. To publish unity game to iDevice, you need a mac. You also need yearly apple developer membership. Where they make you jump through hoops which provides them entertainment. Just like you being an animal in a circus which they control. I learnt apple doesn't care. Now I also don't care. (but yeah that got my money. I didn't get any money) Microsoft DX has me spoiled.
- lenkite 1y agoI am assuming this is the reason why frameworks like Flutter are eating the iOS App Market ? 30 % of ALL iOS apps are now developed in Flutter and that number is rising every quarter. Maybe only a minority of iOS developers will be using SwiftUI and XCode within a few more years ?
- aristofun 1y agoThat’s what monopoly looks like.
- 1vuio0pswjnm7 1y agoWhen Apple says "Jump", developers ask "How high?"
- mey 1y agoI don't develop for Apple platforms so I don't deal with Xcode (apparently thank god), but all of this reminds me of web development back in the early days of Internet Explorer. Until Mozilla/Opera/Safari/Chrome started taking market share did the development information/stability really start to drastically improve. I'm inferring that it's basically impossible to build tooling for Apple because it is all proprietary/undocumented, so their own tools have no competition. It blows my mind that you can't CI/CD builds on servers readily requiring people to setup weird mac mini server farms since the whole xserver line died years ago. Ballmer's "developers developers developers" moment will forever be burned into my brain, but that wasn't wrong on a strategy level.
- vin92997 1y agoI had the same issue and thought it was just a skill issue on my part. It’s good to know that other developers are experiencing the same problems. I also felt like I had to install the latest iOS emulators almost every week, and everything lagged on the 8GB RAM base model MacBook Air.
- opless 1y agoSorry, you're not trying hard enough to find bad cases of terrible professional software. Besides, the article reads like a noob using xcode for the first time.
- jmogly 1y agoIt’s horrible but also kind of so good. The bugs are absolutely horrendous, swift is an abomination, the menus are completely impossible to figure out, the builds are wacky. But I’ll be damned, SwiftUI and the build and deploy process for iPhone apps is so straightforward if you can just paddle around the rocks.
- ____mr____ 1y agoHow is swift an abomination? I liked it a lot in my short time with it.
- jmogly 1y agoThey should have created a systems language to replace objective C and an easy language like Python or JavaScript for app dev, instead they created a language that tries to do everything and the result is a mess. For example SwiftUI, UIkit, you’re constantly running up against weird type system errors and compiler errors. Like dude I’m trying to make a list, swift will say “no you can’t make a list there and I’m not sure why”