News for hackers. Stuff that matters.
Re:Why is D3 so Verbose? by thrown-0825 on Thursday August 21, 2025 @11:14AM (#44973816)
I love D3, but its a library not a language.
Re:Why is D3 so Verbose? by TheHeasman on Thursday August 21, 2025 @11:17AM (#44973871)
Agreed. I fudged quite a lot in my post to make it accessible to the layman. Triee to explain to a UX designer I know that "D3 is a library for JavaScript that..." And I saw their brain switch off live in front of me.

Semantics matter more than literals sometimes.

*EDIT: Grammar. I was typing on my phone. Soz.

Re:Why is D3 so Verbose? by moron4hire on Thursday August 21, 2025 @12:47PM (#44974972)
D3 is a good example of inventing a language without inventing a syntax for that language. It very much is a DSL implemented in JavaScript.
Re:Why is D3 so Verbose? by bsimpson on Thursday August 21, 2025 @03:44PM (#44977161)
When Francisco Tolmasky launched Objective J, he wrote a really interesting article that still impacts how I think about this stuff more than a decade later.

Francisco was working on an in-browser slideshow tool like Google Slides, but in the late 00s. To power it, he invented his own language: Objective-J. It had its own toolchain, in the days when most developers were just writing JavaScript inline or maybe in .js files.

Remember, it took React a few years to catch on because it required command line tools to translate JSX to JS. This had the same friction, but years earlier.

This was the thesis behind Objective-J: In the late 1900s, C was the foundation of a good language, but it needed another layer of abstraction on top of it to be more ergonomic. The developers at NeXT/Apple built that layer and called it Objective-C. Objective-J saw the same potential in JavaScript, and ported the ergonomics of Objective-C atop it. It basically tried to do for JavaScript what Objective-C had done for C.

This was the critical part of the argument:

JavaScript (in the era before modules, => functions, and the other current niceties) was the core of a useful language, but it needed a more ergonomic layer on top. Libraries like jQuery were building de-facto DSLs, but calling them libraries. Objective-J was taking conceptual responsibility for being a language on top of JavaScript, instead of being "just" a library. By owning up to being its own language, they could take syntactical liberties that they couldn't under the constraints of being just another JS library.

Re:Why is D3 so Verbose? by thrown-0825 on Thursday August 21, 2025 @12:50PM (#44975014)
ok, I'll buy that, definitely feels like it