• Skip to primary navigation
  • Skip to main content
  • Skip to footer

Codemotion Magazine

We code the future. Together

  • Discover
    • Events
    • Community
    • Partners
    • Become a partner
    • Hackathons
  • Magazine
    • Backend
    • Frontend
    • AI/ML
    • DevOps
    • Dev Life
    • Soft Skills
    • Infographics
  • Talent
    • Discover Talent
    • Jobs
    • Manifesto
  • Companies
  • For Business
    • EN
    • IT
    • ES
  • Sign in
ads

Luca FerrettiJanuary 20, 2020

Douglas Crockford: the good part of JavaScript

JavaScript
facebooktwitterlinkedinreddit

If you are the man who discovered the JSON data interchange format, the world’s most loved data format, and discovered that there are good parts in JavaScript, then people can be assured that your thoughts about what will be the big next programming paradigm can be an amazing discovery.

Douglas Crockford held Codemotion Rome 2018 opening keynote, speaking about programming and paradigms, and about human nature of scientist and programmers and how this nature can slow down adoptions of brand new and useful ideas.

A paradigm can be described as set of patterns and methods that are commonly accepted by members of a scientific community. Progress in programming happens shifting from one parading to another one. Any new paradigm implies improvement, so why people oppose to the adoption of a new paradigm?

Douglas answers is this is bond to the nature itself of paradigm: paradigm is a significant change in the way we think and for most people it is difficult to switch out from a paradigm once they’ve become competent.

In science if we encounter fact which contradicts our current understand of science, we should abandon our old beliefs. But change is painful.

Scientists and programmers are humans, and changes can generate confusion and pain, especially when your previous expertise and experience is going to be blasted, leaving only loss and embarrassment.

Douglas Crockford recalled us that in the old early days of programming science, new paradigms was quickly adopted. It was a greenfield, anyone involved was learning for the first time. So it was simple to have consensus on new ideas such as stored program or subroutines. But, years later, the adoption of Object Oriented programming in languages such as C++ was a compromise with old procedural paradigm. Nowadays, functional programming is going mainstream, but this paradigm was introduced in ’70.

As Douglas said, “progress waits not on discovery, but on consensus”, and he is grateful of the huge success and adoption of JSON format. In Douglas opinion, JSON was a hit because it was used by fresh people that approached web and programming for the first time in ’00.

We need to constantly ask yourself: are we part of what moves us forward or are we part of what is holding us back?

If so, if our human nature is trying to prevent the advent of the next important advance in programming, which is the disruptive paradigm we are preventing the adoption?

In Crockford opinion this next paradigm is asynchronous message passing (or asynchronous distributed programming) and, unsurprising, it’s not a new idea. It’s around from a long time, rested on the Actor model proposed at MIT in 1973, and there are yet some wide deployments. Simply, it still being resisted, and we could need new protocols, new operating systems or new programming languages which allow us to exploit this paradigm.

Douglas believes this is how programming will evolve in the next years, because that’s how the universe work and we should have a programming model that’s compatible with the universe, that will allow us to be more effective in doing what we have to do.

Closing our interview with Douglas, he said he’s s writing a new book. The tentative title is How JavaScript Works and it will reveal stuff about JavaScript that he thinks most people don’t know. He hopes it’s going to be a useful book 🙂

Related Posts

Javascript color library. Discover how to use it in this guide.

The Best Color Manipulation Library in JavaScript

Antonello Zanini
August 21, 2023
svelte, javascript frameworks, vue.js, angular, react libraries

The Most Common Questions About JavaScript: A Complete Guide

Riccardo Degni
June 28, 2023
modern react applications

Video: Let’s Build a Modern React Application

Codemotion
November 16, 2022
integrate VueJS

How-to Guide: Adding VueJS to Your Existing Project

Codemotion
August 8, 2022
Share on:facebooktwitterlinkedinreddit

Tagged as:Codemotion Rome

Luca Ferretti
Affezionato al caro vecchio C, passato non troppo recentemente alle più arzigogolate frontiere del Web, Luca Ferretti ha da poco scelto il suo motto su Twitter: I break stuff, I build relationships. È così, tra una ispezione del DOM e una apparizione nella stanza accanto per discutere con il team del frontend di un pixel messo storto, tra una traduzione di Ubuntu e un rebuild dei sorgenti di GNOME (rigorosamente di notte), che trascorre le sue giornate nell'incessante ricerca della perfezione ;-)
Generative AI: creating objects with machine learning
Previous Post
Multi-armed bandits – a better way to A/B test?
Next Post

Footer

Discover

  • Events
  • Community
  • Partners
  • Become a partner
  • Hackathons

Magazine

  • Tech articles

Talent

  • Discover talent
  • Jobs

Companies

  • Discover companies

For Business

  • Codemotion for companies

About

  • About us
  • Become a contributor
  • Work with us
  • Contact us

Follow Us

© Copyright Codemotion srl Via Marsala, 29/H, 00185 Roma P.IVA 12392791005 | Privacy policy | Terms and conditions