I inferred no numbers, only the overall trend of reduced traffic and that reduced traffic = reduced pollution. To make any statement about the reduction amounts would require study.
The fleet aging effect would assume the same number of vehicles on the road. The only thing you can say about that study is that for an average of 'n' vehicles, the median age is older, and they would be dirtier than a newer median age. In fact, that's all TFA says.
L.A. is dirtier right now than it otherwise would have been without a recession.
Are you sure that the recession didn't result in less people being on the roads in LA particularly, thus resulting in less pollution than if the recession was avoided?
Even mail is mostly lookup with a minor backend that I personally have written at least 4 times - ie, even I can do it
ie, the mail backend is minor, sending, receiving, as all you're doing is integrating with system provided services. No, I haven't written an SMTP type server in more than a decade, why would I? There are very suitable choices out there that are current with the latest RFCs and easy to integrate with. As far as inbound, that's not terribly hard either, but again, there's systems out there that handle that. What's needed is a client that can handle the UX. Simple mail isn't too bad, where gmail excelled (for 2005 anyways) was in allowing you to categorize and search (hence the lookup) your mail via a web front-end. Hopefully that clarified things a bit.
and, as an FYI, recently I designed and wrote a flexible notification system in about 1 month. That included sending notifications via email and SMS and in-app messages on triggers as well as accepting inbound responses and acting on them, and included search capabilities. That system has been in use for years with 1M+ users and no faults. IOW, this stuff isn't all that damn hard. FYI - Google's search isn't even all that great, IMNSHO, they just initially had better interfaces and results (ie, they crawled more web) than all the competing services at the time. Hell, I'd bet I wasn't the only one that was writing their own crawler/search solution at that time and stopped when Google became available. Google's claim to fame was in monetizing search. Now that, I grant you, is more than a little challenging.
Gosling did it, as did Ritchie. in a panel conversation along with Stroustrup. That covers all the majors. So how many other big language creators do you know that haven't said something similar?
Not particularly, because I don't really use them much. And how hard is a lookup routine anyways? (Even mail is mostly lookup with a minor backend that I personally have written at least 4 times - ie, even I can do it:) The rest is adserving (blocked significantly, apparently) and tracking, and other things that don't really affect the general user's services.
It wasn't merely the mangled names, but the complete crap-fest and lack of organized rules on how that was to be handled, and what to do when limits were exceeded during compilation/linking. Yes, if compilation results in a name that can't effectively be linked, perhaps a warning might be in order? I've gone a different route and although you should never say never, I doubt I'll be facing that particular problem again. My current focus with anything C/C++ would either be to integrate to it, or convert it to something else, not write meaningful new code in it.
I agree with Stroustrup that templates could have been better, IMHO a whole lot better.
That's truly disappointing to hear. Hopefully it's no longer link order dependent as well? The only thing I can say that was a positive out of the 3 months spent tracking down why something worked in all test cases but sporadically failed for the full models on SGI machines was I learned to read compiler output (subsequently mostly forgotten for C anyways) The fact that it took days to validate small models on PCs and IBM boxes which wound up giving alternate results, depending upon which compilers were used added to the problem. Turned out that different limit lengths per compiler of pointer descriptors truncated the name, and when the name mangling exceeded the compiler/linker output, you got some interesting results out of your pointers, like the next object in the array instead of the one you were expecting, or perhaps some random area in memory, since the apps were not restricted in those days.