4 ms·
The author writes > we decided to assist fastai in their development of a new, literate programming environment for Python, called nbdev. but this is followe
by kowlo 6y ago
The author writes
> we decided to assist fastai in their development of a new, literate programming environment for Python, called nbdev.
but this is followed by:
> nbdev builds on top of Jupyter notebooks to fill these gaps and provides the following features
is it a new environment, or is it an extended Jupyter Notebook? It looks like Jupyter Notebook to me. Why not Jupyter Lab?
> JupyterLab: Jupyter’s Next-Generation Notebook Interface https://jupyter.org https://jupyter.org
- rwhaling 6y agofor background, the original author of nbdev has a good post outlining exactly how it relates to jupyter - https://www.fast.ai/2019/12/02/nbdev/ https://www.fast.ai/2019/12/02/nbdev/
- kowlo 6y agoStrange... "Nbdev is a system for something that we call exploratory programming." but no citation... the phrasing suggests this is something they believe they've come up with a name for?
- tmabraham 6y agoThe term has a wikipedia page: https://en.wikipedia.org/wiki/Exploratory_programming https://en.wikipedia.org/wiki/Exploratory_programming
- kowlo 6y agoI'm aware, what I'm confused about is why they've phrased it as if it's something they call exploratory programming, as if they've coined the term.
- jph00 6y agoI coined the term - and it turns out someone else did too, for something else. So be it. If someone else can think of a better term that's never been used before, then I'll happily use that instead. The earlier usage mentioned in Wikipedia is entirely uncited there however, and seems to have only been used in one academic project AFAICT.
- kowlo 6y agoHow are you sure you didn't just read it somewhere and then forgot? It has been mentioned many times in related literature (even in publication titles) https://scholar.google.com/scholar?q=%22exploratory+programming%22 https://scholar.google.com/scholar?q=%22exploratory+programm... Here's one from 1988 https://dl.acm.org/doi/abs/10.1145/51607.51614 https://dl.acm.org/doi/abs/10.1145/51607.51614 Are these unrelated? Is Nbdev not only a "new programming environment", but also a new concept that needs a new name?
- tlarkworthy 6y ago"In some cases the estimates may be obvious. Perhaps the story is similar to others that have already been completed. In other cases the story may be very difficult to estimate and may require exploratory programming." Kent Beck and Martin Fowler http://index-of.es/Java/Planning%20Extreme%20Programming.pdf http://index-of.es/Java/Planning%20Extreme%20Programming.pdf Its a commonly understood term AFAIK
- kowlo 6y ago> Its a commonly understood term AFAIK I agree - it's what made me raise an eyebrow... However, based on their comment above, the lead author of Nbdev believes to have coined the term. My opinion is that due diligence and attribution are important. If I believed I'd coined a new term, I'd check first. Mistakes are easy to make, but when highlighted, perhaps corrections are more appropriate than negotiating with the person highlighting them: From the lead author (jph00): ... If someone else can think of a better term that's never been used before, then I'll happily use that instead.
- mikewarot 6y agoIn electronics, we call it Breadboarding, and the results are expected to be temporary by all involved. Breadboarded circuits generally are not stable over time or movement.
- hansvm 6y agoGuessing at plausible answers: - Nbdev started right around the 1.0 release of jupyterlab, and it might not have been on their radar - Nbdev came out of fast.ai, and I wouldn't be surprised if they were using a ton of jupyter-specific features already which weren't supported by jupyterlab
- madenine 6y ago>is it a new environment, or is it an extended Jupyter Notebook? It looks like Jupyter Notebook to me. Why not Jupyter Lab? Neither? It doesn't change the features of jupyter notebooks, and its not an improved/expanded UI like jupyter lab (you could use nbdev with jupyter lab). Its utilities and automation to make package/library development a better experience if jupyter is where you write your code. From https://github.com/fastai/nbdev https://github.com/fastai/nbdev: "nbdev is a library that allows you to develop a python library in Jupyter Notebooks, putting all your code, tests and documentation in one place."
- kowlo 6y agoSure, but the OP link that I'm commenting on says it's a "new literate programming environment". Based on what you're quoting, the OP article is incorrect and needs correcting?