No mountains of the dead

A wise man once said:

It used to be we had two groups:

Those who only cared about the text, and if there were tags at all, they could be visually interpreted any which way, since they were primarily there for indexing purposes or something;
Those who wanted to make their HTML look exactly like the mockup they made in Photoshop or Illustrator or Quark.
And today we’ve got just the one group, and their battle cry seems to be:

HTML must only be used for semantic markup, but that semantic markup must rigidly adhere to the pixel-accurate positioning in the spec, so that we can still design our web pages in Photoshop!

This is, of course, a complete about-face. It’s really quite bizarre. I must have slept through the point when the transition occurred. Either that or it happened in almost complete silence: I would have expected that kind of coup to have left behind rivers of blood and mountains of the dead.

I feel quite the same way about how React is coming out and stating:

In addition to making code reuse and code organization more difficult, we’ve found that classes can be a large barrier to learning React. You have to understand how this works in JavaScript, which is very different from how it works in most languages. You have to remember to bind the event handlers. Without unstable syntax proposals, the code is very verbose. People can understand props, state, and top-down data flow perfectly well but still struggle with classes. The distinction between function and class components in React and when to use each one leads to disagreements even between experienced React developers.

The entire architecture of the dominant frontend framework is suddenly shifting from classes to functions (which are called hooks). I welcome the change. But the lighthearted way on which this fundamental shift (classes were the core architectural component of the framework and its main workhorse) is communicated leaves a strange taste. I congratulate the React team for making a fundamental shift in the foundations of their framework – in the same breath, I encourage my fellow programmers to be more critical of the dominant programming concepts of the day, and to look into the fundamentals behind what’s currently trendy.