3 ms·
I like Observable for sharing JS tutorials - was just updating https://observablehq.com/@lmeyerov/manipulating-flat-arrays-arrow-style https://observablehq.com
by lmeyerov 7y ago
I like Observable for sharing JS tutorials - was just updating https://observablehq.com/@lmeyerov/manipulating-flat-arrays-arrow-style https://observablehq.com/@lmeyerov/manipulating-flat-arrays-... today.
Observable does some things quite well for that use case:
-- Easier dependencies: no need for 'npm install', just 'require(...)'
-- URL publishing
-- Collaborative merge flow
However, Jupyter made some good decisions that make it win over Observable for our day-to-day data work:
-- Manual reexecution vs. automatic: when working with big data, outside APIs, etc., Observable's automatic reexecution is a non-starter
-- Fully open source, embeddable, and successful history of non-vc funding: Jupyter is organized and provided in a way companies ( who aren't Amazon ;-)) can rally around, evidenced by contributions by Bloomberg etc.
-- Access to underlying unix/windows env and multiple environments (multiple Python versions, ...). As much as I wish Observable's choice of JS could provide a viable data environment, and I've personally invested in making it so and the path to making it first-class is clear, we need way more gov/google/nvidia/etc. support.
Ultimately, for not-too-sensitive collaborative data work, we use Google Colab, then offline and sensitive commercial work via Jupyter (Graphistry ships with it preloaded for GPU dataframe & GPU visual graph analytics goodness!), and if we did more in JS tutorial land, Observable would be my first choice.
- alexcnwy 7y agoVery cool, thanks for the detailed reply - your JS tutorial looks great :) Yeah automatic re-execution sounds like a weird design choice. Think I'll stick with Jupyter notebooks for now...