Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> d3 is robust because it's great code that's widely used - not because of it's other design choices.

I disagree very much. On top of the facts you mentioned, the main reason why d3 works where others don't is because it doesn't abstract away as much from the end user. Leaky abstractions will always, always come back and bite you in the you-know-where.



D3 is itself a leaky abstraction, since all frameworks, libraries and languages are ultimately leaky abstractions of some lower level. What matters is choosing the right level of abstraction based on what you're trying to do, and the resources available to do it. In some cases, D3 will be at the right level, and in other cases, something like Plottable will be right.


Whatever. This is a corporate vanity project (easy to spot because the logo is better than the code) with 5-, 6-, and 11-month old PRs hanging around.

Clearly this library is setting the world on fire. Meanwhile if you want slow pointy clicky chartjunk for your PHB you can probably use your company's Tableau license, and if you want to push the envelope you use d3.

I've been using d3 on and off since 2011. It started from a spare, elegant idea and progressed to the point that almost anything I might wish to implement has at least some pieces already written in some obscure blocks.org block.

I find that pretty damned impressive given that many of my interests were research projects abandoned in the 90s and only just now beginning to come back. (yes, there were smart people back then, too; they all seemed to have SGIs)


That's an entirely valid but different criticism. I haven't used Plottable, but I have used Flot and Chart.js and was very happy with them both.


> all frameworks, libraries and languages are ultimately leaky abstractions

[citation needed]

I seriously doubt the veracity of that claim, and if that's the only justification you can come up with as to why anything is a leaky abstraction, then I refuse to believe you.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: