3 ms·
Yea, GNUstep isn't bad. It uses an old version of ObjC? Are you sure that's correct? ObjC is open source right? There is no reason to be using an old version.
by jhatemyjob 3y ago
Yea, GNUstep isn't bad.
It uses an old version of ObjC? Are you sure that's correct? ObjC is open source right? There is no reason to be using an old version.
Yeah the frameworks are kinda old but the new frameworks (since ~2014) don't really bring anything new to the table. And Swift is overrated anyway.
- jwells89 3y agoNot entirely sure about Obj-C version. Disagree regarding frameworks, though. The newer snapshot-based APIs for NSTableView, NSOutlineView, and NSCollectionView (added in 2020 as part of macOS 11) are a massive improvement over the old index-based ones for example, and there’s been numerous polish and quality of life improvements scattered throughout. Also disagree about Swift if only for the large number of things it comes with out of the box that’d require a third party dependency with Objective-C, but so many more errors being caught at compile time, no need to maintain header files, and no awkward split between C and Obj-C for basic types are nice too. I still enjoy Obj-C for some types of projects but as project complexity increases so too does my preference towards Swift.
- jhatemyjob 3y agoOh I didn't realize they were still adding APIs to AppKit. That's cool. Yea I mean the ObjC vs Swift thing.... a matter of preference. I trust Steve Jobs more than I trust Tim Cook. I hate the feature creep in Swift. I hate Swift optionals. ObjC compiles faster than Swift. The ObjC ABI/runtime is superior to the Swift ABI/runtime (which allows for cool stuff like https://cycript.org https://cycript.org). I like the dynamic typing a lot. Managing headers is a non-issue for me, I just consolidate everything into one monolithic header file. I've worked in pretty big ObjC codebases (1M+ lines) so I know most of the tricks to deal with complexity. For Swift, max I've dealt with is 100k lines and it was crippled with tech debt. Frankly, the other engineers on the team were terrible, so maybe that's why. They abused the shit out of RxSwift and refused to use the `!` force-unwrap optional feature