3 ms·
I think I'd agree with your assessment, and some of those problems are what I was thinking of when I wrote my comment, especially the documentation. > Coming b
by brailsafe 3y ago
I think I'd agree with your assessment, and some of those problems are what I was thinking of when I wrote my comment, especially the documentation.
> Coming back to writing typescript in VS Code or writing rust in Intellij felt like a breath of fresh air compared to working in Xcode. Everything works, and it works fast and reliably. I have good documentation and I can read the code I'm calling if I get confused.
Some of the tools we use are fast because they have less or no baggage, and some aren't because they have tons. In terms of what Xcode tries to accomplish, it fairs better and is capable of more than any tool I can think of, but there's no way it could compete with anything else that has a relatively austere set of requirements. It is indeed a cobbled together buggy mess, but I just don't think you get 20+ years in without a bit of that.
IntelliJ is an interesting example in that they have managed to build tools that are both rich with features and somewhat performant, and to your implied point, they probably have to in order to compete; if all Xcode did was compile raw Swift and let you visually debug, it would almost certainly lose that fight. Maybe VSCode or Nova will usurp Xcode, and make the experience of just writing Swift and SwiftUI faster against Foundation, AppKit UIKit, etc.. but then you'll need to still likely run it on some emulator, potentially analyze performance issues, preview layouts visually, maybe run cloud builds, configure CoreData models, blah blah blah. Not all the time, but it's there.
Comparatively, other tools just delegate responsibility to other huge projects that haven't always been around or all that great or not great enough. Writing any web code without Chrome or Firefox devtools would suuuuuuck, and ultimately that's usually what I'm doing. Webstorm and VSCode are.. ok at the full package I guess, but not as good as discrete applications.
Webpack is also miserably slow and arcane compared to esbuild or vite, but have their own limitations.
- josephg 3y ago> Some of the tools we use are fast because they have less or no baggage, and some aren't because they have tons. In terms of what Xcode tries to accomplish, it fairs better and is capable of more than any tool I can think of, Hard disagree on this. I can't think of any IDE that performs as badly, or is as unreliable as Xcode. Intellij is significantly more complex and its still more responsive. (And its reliably responsive. I've never experienced typing lag in intellij on my M1). Xcode will lag even when I have plenty of cores doing absolutely nothing. As far as I can tell, the xcode UI doesn't seem to be in a separate thread from autocomplete queries. So if there's work happening "in the background" (like looking up function signatures for autocomplete), typing becomes janky. Intellij does seriously well for itself given its written in Java, and it doesn't use native controls. And it handles about 10 different languages. Xcode honestly has every advantage here, but still manages to drop the ball. And if you want to say xcode has been around for longer with more technical debt, well, Microsoft's Visual studio (not vs code) is honestly fabulous compared to xcode. VS is of a similar vintage to xcode, with just as many "cobbled together" features added over the years - from VB to C# and .net, winforms to WPF to whatever the latest thing is. But its still fast and reliable. Well, its fast and an order of magnitude more reliable than xcode. And for the record, its a really bad look when the people writing developer tooling can't develop code very well. I expect better from Apple.
- brailsafe 3y ago> Hard disagree on this. I can't think of any IDE that performs as badly, or is as unreliable as Xcode. Well then, great material for an interesting dialogue :) > Intellij is significantly more complex and its still more responsive. (And its reliably responsive. I've never experienced typing lag in intellij on my M1). I don't know if even the full IntelliJ is more complex, but it is at least quite complex while being reliable, and deserves a lot of credit for that. I've always defended it, particularly for it's robust semantic full project search capability for which it also happens to do better than XCode. If they brought back or renewed a product for building against Apple platforms, I'd consider it. My main argument is that it would be a truly remarkable feat for any company or project to compete with Xcode and reach close to feature parity without relying on features already part of Xcode. It still supports building and compiling (based on a cursory search) Pascal, C++, C, ObjC, ObjC++, and even Python, Java, and Ruby, simulation on at least 6 different platforms/device types, interface building click and drag for mac and iOS, some kind of AR/VR environment, and I think is used to build itself. I'd use PyCharm though if building any sufficiently complex python app, and Android Studio presumably for that, so some of the theoretical capabilities of Xcode are already better served by others. A hypothetical competitor shouldn't try to replicate all of those though, instead shooting for a market of anyone who's developing for the last 10 years of platforms in just Objective-C, Swift, SwiftUI would be the move. > Microsoft's Visual studio (not vs code) is honestly fabulous compared to xcode. VS is of a similar vintage to xcode, with just as many "cobbled together" features added over the years - from VB to C# and .net, winforms to WPF to whatever the latest thing is. But its still fast and reliable. Well, its fast and an order of magnitude more reliable than xcode. You're probably right, but only has relatively recently had a mac version, otherwise I'd be working with what I'd anecdotally say is just an annoying as hell and unstable OS where all the legacy stuff is still highly visible. I've never pushed Visual Studio hard, but I do recall it being as decent as you say. Ultimately what I'd like to see is more diversity in the native apple platform dev space, and for the Xcode team to confront the reliability and performance problems you mention and everyone experiences. I believe they introduced a new linker last year for example, and hope to see it improve dramatically. Maybe the right move for them is to build a much more nimble first-party sibling solution. I'm not even on an M1+ yet, still this shitty Intel thing, and I hear these issues daily when my jet engine spins up.