211 karma · joined March 11, 2014
If a variable is read-only, you're forced to think about that by deciding between let/var. contrast this with objc, where all vars are writable unless you do the extra work of adding the const keyword. objc makes us do more work to get the faster (and safer) behavior.
Similar with Optionals, you're now forced to decide right away if a parameter can ever be nil, whereas with objc you didn't need to declare nullability. Again, it makes the safest and fastest choice easier to make, and allowing nullability is actually more work.
Generally Swift forces you to pass as much information to the compiler as possible at compile time, and it does it with a delightfully readable syntax. This theme repeats itself throughout the language. more information at compile time is always going to result in safer and more predictable behavior.
full disclosure: i'm an iOS dev working in objc and swift. i love both languages, and i think swift is the obvious path forward.
Taxi drivers also never know the destination, I got pretty good at giving my directions speech (to a well known neighborhood)
And taxis cost more!
As far as I'm concerned, the old way of hailing can rot, the old taxis can rot. they can't hold a candle to uber, and they'll never be able to become competitive on price or quality given the cost of a medallion.
so either the vendor screwed up, or something is insecure..
Ultimately, there is nothing noble about "good hardware" in a vacuum. Hardware and software can achieve nobility only when they're serving humanity, be them rich or poor, technical or non-technical.
Allow me to paint a more realistic picture: many of those PCs are junky, dusty boxes, running some outdated version of windows, filled with bloatware and riddled with security issues. Inside them are a bunch of spinning platters just waiting to fail. And when they do eventually fail (due to wear, or a virus, et al), someone's Grandmother is going to be shit out of luck, with no way to get at her email, saved photos, or anything else.
A properly configured iPad, leveraging iCloud for device backups, photo backups, email credentials etc, solves all of these problems. And they'll even configure the iPad for you in the store, so grandma doesn't need to know how to do any of it. Do YOU want to be the poor sap attempting data recovery on a failed disk, then realizing that even if you do recover grandma's data, you've still got to go buy a replacement drive, find a copy of windows that grandma knows how to recognize, and install everything exactly as it was before you got there? I've been that guy before, in both a personal and professional capacity. You will eventually fail, memories will be lost, tears will be shed.
We must not gloss over the fact that the iOS ecosystem does solve some very real pain points for real people.
let foo = bar!
If bar is nil, you'll get a runtime error "unexpectedly found nil when unwrapping bar"
in my opinion, the benefit of optionals in general is that it allows you to guarantee at compile time that certain variables (non optionals) will _never_ be nil, which enables all kinds of compiler optimizations.
They must have known everyone was there for the check-ins, and it seemed arrogant of them to believe they could force all their users to migrate to some other app. (talk about shooting yourself in the foot)
I never downloaded Swarm on principle (i can check in with the Facebook app if i really want to). Foursquare did this to themselves.
Those are definitely qualities you want in a programmer.