3 ms·
> For myself (a professional data scientist) and every other... The key qualifier is 'from a development perspective'. Notebooks do have their usefulness. I do
by qsort 6y ago
> For myself (a professional data scientist) and every other...
The key qualifier is 'from a development perspective'. Notebooks do have their usefulness. I do some data-science related tasks but I'm mostly a developer, so admittedly that could skew my perspective.
> If you think of a notebook like a tool for literate programming...
I mean, that's kind of a selling point of notebooks, though...
> They don't integrate well with text editors
They don't integrate well with anything, not even other notebooks! From that alone I sense strong Word vibes.
> If you prefer using Spyder and RStudio with the console and plot window, that's great.
My usual setup is pretty much the same as yours with Visual Studio Code, but yeah, that was the point... So notebooks are at least somewhat competing in the same space as IDEs after all? Is there a subtlety I'm missing or "I prefer IDEs" and "Notebooks are not competing with IDEs" are in direct contradiction?
> keeping track of / taking notes on what I did, and displaying the results in a way that I and my colleagues can easily understand what I did.
Again, I'm not arguing with that, I was talking about notebooks as a development tool. I can very well see the appeal of notebooks as a presentation/storytelling/documentation format, and to an extent even I agree they have their usefulness there, and I certainly have no qualms with their usage in that niche. But I just couldn't bear to sit in front of Jupyter instead of VSC to code something, hence my strong wording.
- sfifs 6y agoNotebooks are primarily a discovery tool when you're exploring your data, deciding what ETL transformations and feature engineering to create and testing algorithms. When you want to run stuff in production, you move to a regular code dev environment (or handoff to developers). Now some things in business are infrequent enough that you can live with Jupyter for the once a quarter or so when you need to rerun updates but that's not the same as production code that runs daily/weekly.
- nerdponx 6y agoMy point is that notebooks are not a development tool, so it makes no sense to criticize them from that perspective. Nobody is asking or even suggesting that you develop software in a notebook, and I haven't met anyone who does it. Spyder and RStudio are very much not oriented toward traditional software development and very much oriented toward interactive work between the text editor window and the console/REPL window. That is, they are fancy implementations of the Editor+REPL workflow. The fact that you can develop software in that kind of environment is not the point.
- otabdeveloper4 6y ago> ...and I haven't met anyone who does it. Really? Developing software in Jupyter must be almost as common as the "just code an Excel macro bro" approach.
- BadInformatics 6y ago> Nobody is asking or even suggesting that you develop software in a notebook It doesn't have a huge audience at present, but https://nbdev.fast.ai/ https://nbdev.fast.ai/ is doing just that. I'm personally of the opinion that those looking to use notebooks as a programming environment would be better suited by something like Smalltalk. That is, something that seamlessly blends between stored programs and the runtime. You can see some progression towards this in VS Code (I believe there's an issue about exposing variables evaluated in the ipython REPL in autocomplete), so I'm not terribly bullish on Jupyter-style notebooks being the next big thing.