I still feel like Swift 5 (5.2?) was the sweet spot. Right now there are just way too many keywords, making C++ look easy again.
Similarly, I find Combine / GCD code far easier to write and read and understand, and the semantics are better than structured concurrency. I have plenty of production Combine code in use by (hundreds of) millions of people and it hasn't needed to be touched in years.
> Git itself is nothing more than a set of tools to manage the versions of a repository.
"Git" is also the protocol, not just the implementation. Indeed, here I'm referring to the Git protocol more than to the Git implementation. There are multiple implementations of the Git protocol. GitHub is but one of several.
half the iOS developers I've known were making software before the App Store existed ... but to your point about "iOS class", wasn't there any more general "this is how you use C/C++" classes? Objective-C was already 24 years old when the App Store came to exist ...
Computer science wasn't ubiquitous in grade schools back in the aughts, and it still isn't. According to this "foundational computer science" is offered in only 53% of public high schools in the US: https://advocacy.code.org/stateofcs
Yup, my high school's "CS" courses were: typing, Microsoft Office, and HTML. The only programming lesson I got was from doing one chapter of "Learn Visual Basic in 24 hours" that I bought. I didn't know what programming even meant until I went to college and CS was the degree for "computer people". Even then, I thought it was going to be about becoming a sysadmin, not a programmer.
Even the ones that did have one may not have had a teacher who really knew the material. My highschool would recruit a math teacher and have them take the computer programming course the summer before our classes would begin. They were always happy to discover a couple students already knew enough material to help the other students.
I wrote a hacky version of SKIP LOCKED using advisory locks and a recursive CTE before it was released for a job queue. It worked splendidly, along with the transactional semantics of a proper database. I’m surprised more systems don’t realize they need it.
Oh how I miss the computer labs with Kidpix, Oregon trail, Mavis Beacon, and maybe later Marathon LAN parties (when the instructor left the room for an hour)...
Similarly, I find Combine / GCD code far easier to write and read and understand, and the semantics are better than structured concurrency. I have plenty of production Combine code in use by (hundreds of) millions of people and it hasn't needed to be touched in years.