JavaScript Christmas

The people behind JavaScript: Daniel Ehrenberg

A 3 minute read written by
Svein Petter Gjøby
11.12.2019

Previous postNext post

The people behind JavaScript is a series of interviews with the members of TC39. The committee consists of JavaScript enthusiasts and language experts who get together to define how new versions of JavaScript should work.

const keyInformation = {
  name: "Daniel Ehrenberg",
  residence: "Les Roquetes del Garraf, Catalunya", 
  firstProgrammingLanguage: "Python", 
  work: "Igalia", 
  yearsInTC39: 4, 
  favoriteMusic: "Sardana"
}

👉 Make sure to follow Dan on Twitter

Who are you and what do you do?

I'm Daniel Ehrenberg, a TC39 delegate and a partner at Igalia, a free software consultancy.

How did you get into programming?

I used to program little games on my TI-83 calculator when I was 12 or so. From there, I wanted to learn "real programming" on the computer, but didn't know where to start. So I ended up reading about a lot of different programming languages, trying to figure out which was the best to learn.

What do you like about JavaScript?

I like how JavaScript is generally both free-form and uniform, when it comes to how you use objects, how lexical scoping and closures work, etc. Its base is both minimal and free of arbitrary restrictions.

And I like how JavaScript is everywhere, adding an layer of programmability accessible to a wide range of people.

How did you get involved in the development of ECMAScript?

When I was working at Google on various Linux kernel/firmware teams, I saw an internal job opening for the V8 sub-team working on new language features. At the time, this was implementing ES6. I jumped at the chance, and quickly found myself on TC39, pushing forward SIMD.js and working out the unfinished bits of ES6.

What's a contribution you are proud of?

I'm really proud of the JavaScript BigInt feature. It was the work of a lot of people, but I helped by pushing it through the TC39 process and editing the proposed specification. This feature lets you work with integers of any size, without arbitrary restrictions like BigInt has.

📹 Watch Dan's JSConf talk from 2018 about BigInts In JavaScript.

What's an upcoming proposal you are excited about, and why?

I'm excited about the BigDecimal proposal. This would be a new numeric type that can represent numbers like people write them: with base-10 decimals of unlimited size represented precisely, without rounding errors. You can find more information at https://github.com/littledan/proposal-bigdecimal .

What is the most fun about being a part of the development of ECMAScript?

It's really fun to dream about new language features and think through the details and the design space. I really like how I get to learn about all sorts of different problems in a somewhat deep way, in terms of how they interact with the JavaScript language.

What is the hardest part about developing a programming language?

Working with a large group of people and understanding their problems and concerns, and resolving conflicts between these.

What do you wish you knew before you started contributing to the development

I wish I knew how important and complicated it was to both listen and to reach out and seek feedback. Initially, I thought that we could get "correct" answers could be reached through first-principles reasoning and just negotiating with people who assert themselves. I don't think that that sort of development process will actually meet people's needs; it's not inclusive enough to actually understand the real problems.

How do you hope JavaScript will evolve in the future?

I hope the language will evolve in a gradual, open, community-based way, and that TC39 will remain a good place to solve problems that exist at the language level. I can't give a single answer here: The needs of JavaScript programmers will change over time as the community grows and evolves. I hope TC39 will be ready to meet these needs, in a thoughtful, stable, dependable way.

Read the next post