> From what I see many techies are now aware and upset, and hardly anyone seems to want to defend Google anymore.
From what I've seen is it's like it's always been: people are upset for a day or two and then continue to not care, and continue to (directly or indirectly) support the evil they were upset about. It's incredibly difficult to get even geeks to support a cause if it requires more than pressing a like button or posting a comment.
Also, it's not like Google's wrongdoing are recent news. Anyone remember Google Watch (the site)? People have been warning and predicting things since very long ago, yet the geek crowd never seems to hesitate to embrace the next soon-to-be evil company and their proprietary offering.
I agree that there are cases where a naive implementation would have a hard time distinguishing implementation from program (and even in case of a non-naive implementation, it can be a line drawn in water), so this sort of thing might be warranted. Though that was just one example among many, and there are many instances of undefined behavior that are very much compile-time. For example:
> The same identifier has both internal and external linkage in the same translation unit
> Two declarations of the same object or function specify types that are not compatible
> An attempt is made to use the value of a void expression, or an implicit or explicit conversion (except to void) is applied to a void expression
> An unmatched ' or " character is encountered on a logical source line during tokenization
> Two identifiers differ only in nonsignificant characters
> The identifier __func__ is explicitly declared
> The characters ', \, ", //, or /* occur in the sequence between the < and > delimiters, or the characters ', \, //, or /* occur in the sequence between the " delimiters, in a header name preprocessing token
> An expression that is required to be an integer constant expression does not have an integer type
You get the idea. That's just what I gathered from quickly skimming the first screenful (out of about 4) in the list of UB in N1256.
> If the program declares or defines an identifier in a context in which it is reserved (other than as allowed by 7.1.4), or defines a reserved identifier as a macro name, the behavior is undefined.
Undefined behavior is not strictly limited to runtime. For example, defining a function called toilet is undefined behavior in C, but function names are hardly a runtime construct (except as far as dynamic linking is concerned).
Were our ancestors' lives miserable because they didn't have Snapchat and gadgets?
Now I have to admit to owning some gadgets myself, but few of these would I consider crucial to my existence, emotional or not. Very very few of them have any impact on my daily life. And if I could choose to have fewer gadgets but more free time (with less spent on doing things I consider meaningless), I would do so. It would be nicer still if the people around me could make the same choice.
I would argue that our emotional existence could improve if it wasn't a necessity to sell it to each other. It's a cultural and social thing, something you can do in your free time.
It's not necessarily a fetish for manufacturing as much as it is an aversion towards the service economy which we didn't need so much in the past but now have to work in because we don't have much choice. It's either that or unemployment. If you feel we have the means to produce all the tangible things we need, but don't feel the need for all these services... it feels very artificial and forced.
EDIT: To elaborate on my point, the article mentions the desire for meaningful work. I would guess in the past most physical objects are created to serve a very concrete, real human need. But many services seem to be about coming up with ways to convince people to part with their money, often just creating and then "servicing random desires." So such work might not feel very meaningful at all. Hence, having to work such a job in order to get money for the things we actually need (and are already capable of producing for everyone) feels very artificial.
Of course this is not strictly a property of services. Today we also produce lots of gadgets and widgets and nonsense that aren't in any way relevant to our needs.
From what I've seen is it's like it's always been: people are upset for a day or two and then continue to not care, and continue to (directly or indirectly) support the evil they were upset about. It's incredibly difficult to get even geeks to support a cause if it requires more than pressing a like button or posting a comment.
Also, it's not like Google's wrongdoing are recent news. Anyone remember Google Watch (the site)? People have been warning and predicting things since very long ago, yet the geek crowd never seems to hesitate to embrace the next soon-to-be evil company and their proprietary offering.