The wheel

Temps de lecture: 2 minutes

Let’s stop reinvent it

My hatred for Facebook and Dan Abromov is so huge,

They are still managing to bloat the web development world with PHP style frameworks, still refusing to believe that ACID RDBMS, OOP and strongly-typed languages were, are, and will always be the best way to develop robust and maintainable applications, wether it is on Chrome 817.34 or on windows 95.

Once MySQL or PostgreSQL will be better in terms of horizontal scalability (and that may already be the case) and some ORM will make RDBMS low brain accessible for 90% of devs (and that may already be the case too), MongoDB and NoSQL will gently fall into oblivion for 90% of devs, who are not working with the 50X engineers team that is managing the Data Lake of Facebook (0.001% of developers on earth).

Do you see where I’m going ?

Chances are, even if you’re 10000X and a beast in full-stack web development, your projects usually have 10 to 15 entities, 10 pages with mostly CRUD work, and 20% of specific features that cannot be made generic.

And your projects don’t :

  • Collect 1TB of unstructured data per second
  • Nearly receive 1% of the traffic of Facebook
  • Need more than 20% of non-boilerplate code
  • Need you to implement an authentification system with the same User collection every project implement
  • Have more than 1 or 2 complex reactive components per page
  • Manage a million MAU with a pub/sub high traffic system like Discord

So why do you even care about :

  • Functional programming (terrible for your natural abstraction capacity)
  • Flux pattern (terrible for your natural abstraction capacity too)
  • NoSQL unstructured-will-soon-be-read-only databases, short term vision that will produce an enormous amount of uncertainty and bugs, like you don’t have enough work to do
  • A la mode niche languages like Erlang or Go

I’d like to back all this up with a common sense article, written by the CTO of Reddit himself, which basically says : stick to boring technology

For the UI part, the most value React brought is JSX, but let’s face it, it is just a wrapper around HTML that glue data binding and style into a single line of code, guess what ? It’s what you first learned NOT to do, and why ?

Because there is a pattern that doesn’t need to be superseded, by any kind of futuristic and almighty GAFA organisation, that is Separation Of Concerns.

Separation of concerns pushed too far

You don’t write CSS in a style property, nor do you write data binding in a data property, which on top of that, is not typed and doesn’t offer auto completion.

Because this is not separation of concern, this is 2003 HTML/CSS/JS far west bad practices repackaged in a AAA rated bond by Facebook, you didn’t learn from subprime crisis, human beings are so predictable.

Laisser un commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax