One would certainly not want to argue with the statement that many people are incompetent, or at least not very good, at what they're paid to do. On the other hand, much of that alleged stupid and incompetent behavior turns out to be not stupid or incompetent at all if one spends a little time and effort on reflecting upon it. The opening example of the article, the Department of Education requiring applications to be sent by registered mail, is a perfect example. Why won't they accept an application unless it's sent by registered mail? If there is ever any kind of challenge, possibly resulting in litigation, over the way they handled an application, they have to have a complete paper trail of the process. An important part of that paper trail are the details of when and by whom the application was received. It would be a sign of incompetence on their part to accept an application that was not sent by registered mail.
I come across examples like this all the time. I find it amusing how often alleged stupidity and incompetence reveals more about the accuser than about the accused.
The discussion of sterility and sclerosis seems reasonable to me. On the subject of stagnation and repetition, I find that my perception is diametrically opposed to what the author of the book and Peter Thiel say. I am a baby boomer, and I am absolutely blown away by things like 3D printers and rocket boosters returning from space and being reused, not to mention the possibility of quantum computing. As far as the arts are concerned, I believe the difference between the olden days and today is that today, there is way more of everything rather than less. This causes an odd distortion of perception. In the 1960s, you could easily name a few progressive bands, musicians, movies, etc., because there were so few. Today, the stuff you can find on the Internet is vast, but there are no few big names to stand out. Or, more precisely, there are a few big names, but that's the repetitive stuff that the author laments. The new, creative, progressive stuff doesn't have those. Go on the Internet, you'll be surprised!
Quantum computing, like AGI, will be 10 years away, maybe a couple more centuries. 3D printers are pretty insignificant atm. Space x and Tesla are the exception.
Have you seen the old girl who walks the streets of London,
Dirt in her hair and her clothes in rags.
She's no time for talking, she just keeps right on walking,
Carrying her home in two carrier bags.
So how can you tell me you're lonely,
And say for you that the sun don't shine.
Let me take you by the hand and walk with you the streets of London,
Show you something to make you change your mind.
I'd like to reinforce what an earlier commenter has already hinted at, with a story of a collapsing marathon runner. A lot of hobbies get much more dangerous with increased ambitions. Always ask yourself if that's worth it. As someone once said, "He who does not sore with the eagles does not get sucked into jet engines." And they didn't shoot Ringo, did they.
Same here. I find that essay enormously helpful for evaluating one's current living situation and planning your future. Also, it provides a great way for explaining to others why you live where you live. I've been in Salt Lake City for a while now. People's reaction to telling them that typically falls somewhere in that awkward territory between surprise, pity, and condescension. I then tell them that like every great city, Salt Lake sends its inhabitants a very specific message. In fact, I feel it more strongly here than I ever have anywhere else. The message is, "You should be more responsible, and you should be a nicer person."
That sounds like a fantastic message to impart to your community.
Can you talk a little more about where that message comes from, the specific forms it takes, or maybe point readers towards other sources that talk more about Salt Lake City? I'm embarrassed to say I know next to nothing about the city or surrounding state...
Author of the blog post here. I think you just made me aware of the true and deeper reason for my discomfort with C++: it's the fact that the convolutions are in the basic things. I am perfectly willing to put up with convolutions, annoyances, bugs, weaknesses etc. in anything I use, be it a programming language, a piece of software, a gadget, whatever. Nothing is perfect, and who am I to criticize others for the imperfections in their work. What annoys me is when the annoyances are in the basic things, in the most commonly used features. Make the basic things reasonably good, and keep the crap off to the side.
I think that one reason the convolutions are in the basic things was the principle that C++ should be a superset of C, which is nominally a value-semantics language, but which, with the use of pointers, very commonly (and intentionally) leads to code with aspects of reference semantics. One example of this is that C++ adopted The C practice in which arrays decay to pointers.
In addition, C++ not only inherited C's static-typing rules, but strengthened them, and complicated them with inheritance (multiple, and polymorphic or not, according to your needs), function overloads and operator overloading. Now add generic types through templates, and the cases to be handled explodes to the point where you need a Turing-complete parser.
A good case can be made for each of C++'s features individually, which leads to justifications of the form "As we want both X and Y (and without sacrificing run-time efficiency), then there really isn't any alternative to [insert counter-intuitive issue here]..."
That it works at all is a testament to the skill of the people involved. The complications that remain seem qualitatively different than the sort of gratuitous inconsistencies that you find in PHP, for example.
I'd be very careful with the claim that you are willing to put up with bugs.
Bugs in language or compiler will make the language useless for any project which is expected to work.
I'm gonna be bold any say that you nor anyone else would put up with it. There's enough bug in one's own code, there is rarely any space for unreliable infrastructure.
Author here. A few years back, I wrote an article about the issues that you're asking about. Since the article still comes up as the #1 result of Google search for "C++ rvalue references", I believe it's ok for me to recommend it here:
Author here. Quote from the first paragraph of my blog post: "The decision to implement the math backend of GreaterThanZero in Java was driven by other considerations, primarily the appeal of Google App Engine as a hosting platform."
Somewhat unbelievably, I still have that 1960's jeans jacket with the patch on it that says, "Do it today, tomorrow it may be illegal." And, all hail the Internet, that thing can still be bought online:
I'd like to add a "pro" for Codelite: the person who maintains it is very responsive when it comes to bug reports. Until a few months ago, the nodejs debugger had some fairly serious issues. Each of the problems I reported was addressed and resolved within days.
I come across examples like this all the time. I find it amusing how often alleged stupidity and incompetence reveals more about the accuser than about the accused.