Formulas (at least the kind people typically use) are not Turing complete, so they are not as powerful as what most people associate with the word "code".
Edit: I know there are lots of people on the Internet saying you can simulate Turing machines in excel, but they're usually manually unrolling the computation in successive rows, which doesn't really count. For one thing, this style of simulation doesn't even allow one to make an infinite loop, let alone a more complex self-contained loop.
I think it's mainly due to the introduction of C++11, C++14 and C++17, which _has_ rejuvenated the language, despite the criticism.
Discussions like this one tend to be sort of skewed, because opponents of an old technology, like C++, tend to be more vocal in their opinions. Likewise, proponents of a new technology, like Rust, also tend to be more vocal. It becomes sort of noisy. Behind the noise, though, I think the fact remains that C++ is still very solid, and probably even more so than it was just a few years ago.
One of the things he mentions in his book is to be judicious in editing your own texts, removing any words that do not add to the actual message that you're trying to get across. For instance, in the last sentence, I ought to have removed the word 'actual'.
I think some of this advice could probably apply to this article as well.
I think maybe it would be better if the application showed any erroneously typed characters, rather than the correct characters in red. Or, if it's possible, to show some sort of visual juxtaposition between the two.
Also, I think maybe the font size should be a little bit larger, at least for the text around the position where the cursor is, if not for the whole text. Otherwise, nice application!
Hello! As a matter of fact, I just changed the way mistypes are handled to be like this. There will be options for less obtrusive cursors coming soon as well, which I hope should fix the need for larger text.
You're probably right, if the main goal is to earn money. Still, it's also like telling Edison that he should quit looking for a commercially feasible design for an electric light bulb. We need both types of entrepreneurs and people, both the types who persevere in seeing an idea through, even if they're alone in thinking it's a good idea, and the types who "merely" improve on existing ideas and products.
I think it's interesting to look at his code. I have not worked on games myself, but I've understood that most big game studios write their own versions of STL containers, in order to have close control over each and every CPU cycle spent, and in order not to get burnt by changes in the STL, or by slight, or not so slight, variations in performance between different implementations of the STL.
I see that he does the same, keeping his own lightweight string class implementation, for instance, and also his own lightweight smart pointer implementations (Owned and Borrowed). I suspect that he also uses bare pointers and new for similar reasons.
It would be interesting to know if he thinks it is necessary, or if he could have used std::string, std::unique_ptr and std::make_unique instead in this framework.
Another possible trick is to focus on time slots, rather than the task itself. When I procrastinate, it's because the task itself appears too big, too complex (or maybe even too boring) to even start on. The trick, then, is to say to yourself that you're going to spend 4 hours working on it, rather than saying that you're going to complete it. Completing the task may seem overwhelming, for various reasons, but setting aside 4 hours to work on it is not overwhelming.
I think this has changed. People used to be very particular about how their apps looked on different native platforms, like you say. But I don't think it's like that anymore. People are more agnostic now, when it comes to how user interfaces look, because they've seen it all. Especially on the web, where there's really no rules, and where each new site and web app looks different. I believe this also carries over to native apps, and I think there's much more leeway now, for a user interface to look different from the native style, as long as it adheres to any of the general well established abstract principles for how user interface elements ought to behave.