I Like Notebooks

preview_player
Показать описание
Рекомендации по теме
Комментарии
Автор

I hope this comment does not violate any code of conduct.

Great talk! Very impressive to see what is possible with the right tools.
Jeremy is a Saint, in my opinion. Not only does he make all these libraries and frameworks available as open source, he also teaches how to use them efficiently and responsibly.
One of a kind!

michaelegger
Автор

I'm so sorry to read about what you went through. Hoping that time will heal this wound.

swyxTV
Автор

This is a great talk and I appreciate it being freely available! <3

bcassol
Автор

Great talk Jeremy. Don't let the COC commitee at NumFOCUS get you down. (hopefully that commitee will change it's ways)

chucknorris
Автор

Awsome presentation as always with Jeremy. His optimism and intelligence is just stunning and very contagious. Thanks for him.

BrainKite
Автор

"I've never built code in a way where the people watching it went "woahh!" and started clapping" at 12:05 😂

chronicfantastic
Автор

Watched Joels presentation and then this one, and I agree with both. I love notebooks, there's a definitely a lot further we can go with them for sure.

stuartaxon
Автор

Thanks to fast.ai, I like notebooks too. Great talk. Not sure what all the fuss is about. As long as your argument is directed at the opposing position (not the person) I think you're fine. Clearly, you praised the person.

cck
Автор

As someone very convinced a couple years ago by the don't-use-Notebooks video, who has been kinda sorta maybe inveighing against them since, this video just blew my mind! I've done a 180 in 52 minutes. Great stuff - excellent presentation! Looking forward to using this stuff. Cheers

maxwellpeterson
Автор

I stumbled across this video a week ago and after experimenting with it for a weekend I immediately began refactoring my current work project to nbdev and I am enamored with the process as well as the result!

Can't thank all the nbdev contributors enough — I am really surprised I hadn't heard about this before, it feels game-changing for the type of work I do (bioinformatics).

Demonithese
Автор

I enjoyed both Joel Grus’ presentation and this response. I really like using Jupyter notebooks for experimentation, although I usually switch to an IDE for writing larger, more modular programs. Nbdev, on the other hand, looks quite interesting, and I will be sure to give it a try!

connorbulakites
Автор

I very much respect both Joel's and Jeremy's opinions on this topic, and I found absolutely NOTHING offensive or worthy of a CoC violation in this talk. It was so respectfully done, in the way it expresses its counter-viewpoints. That being said, I feel that this talk only superficially addresses Joel's concerns, and notebooks are definitely a problem in real-world production settings. I don't believe we'll ever see notebooks become mainstream tools in a Python developer's armory for the below reasons:

1. Large codebases and large teams: Although we can share a colab link as shown here, the people likely reading/modifying large codebases are unlikely to be conversant in Jupyter-speak People maintaining large codebases in production typically have a completely different skill set while also using a variety of languages other than Python (Go, Java and bash, with some Python). Since no other mainstream languages use Jupyter notebooks, it doesn't make sense to force software engineers who think completely differently than data scientists (but have to work closely with data scientists anyway), to conform to a notebook-based workflow. After all, great software is written by diverse teams with a range of software engineering skills.

2. Linting: Notebooks are absolutely *terrible* at linting (AFAIK there is no flake8/pylint integration with the notebook environment that works as well as the one in VS code). As a result, most people who use notebooks write very ugly code, totally disrespecting PEP 8 standards. Notebooks also don't highlight space vs. tabs very clearly (which is very important in Python), and I've lost count of the number of times that a notebook code block copy-pasted into an IDE has broken indentation or incorrect spacing due to poor linting practices upstream.

3. Auto-completion: The issues Jeremy brought up with VScode's auto-complete have largely been resolved using the Pylance language server. It's a very smart system that can perform lazy evaluation of types without waiting for code blocks to be executed. On the other hand, it's obvious that the performance of Jupyter's auto-complete leaves a lot to be desired (there's a noticeable lag in retrieving the suggestions). Also, one really shouldn't be expected to have to run each and every code block to obtain good auto-complete suggestions, as notebooks expect you to. With the latest version of VS code and Pylance, these issues will become non-existent.

4. Debugging: As many other people have mentioned, notebooks encourage print statement-style debugging. IDEs and the "dead" programming environments are just so much better at tracing the inner pieces of your program and tracking down hard-to-find bugs.

5. Other dynamic languages like Julia, which originally started off in favour of Jupyter (the "Ju" in Jupyter), are slowly but surely moving away from Jupyter notebook-based workflows. The sheer number of features that IDEs such as VS code provide (such as type-checking, linting, interactively running code snippets, etc.) mean that Jupyter notebooks are fast becoming niche tools, i.e. only Python data scientists who are in the experimentation phase find value in them. R programmers have long shunned notebooks, instead preferring to work from within the comfort of the R-Studio IDE environment. And with Pluto.jl, reactive notebooks are introducing a whole new paradigm of interactive, live programming with better ways to handle intermediate state. The cell-by-cell, Shift + enter workflow that Jupyter notebooks enforce really has an old-school feel to it nowadays, especially seeing how development in other languages is powering forward.

So, to sum up, there are many more downsides than upsides to using Jupyter notebooks as one's primary programming environment. To become a more versatile developer (and one that can work with other languages), it's a lot less of a cognitive burden to use a good IDE and work from the command line. This whole workflow of nbdev and the other add-ons, with their own learning curves, while extremely well thought out, will make less and less sense to use in a production setting over time (in my view). Of course, to each their own!

prraoable
Автор

Great, informative, and harmless video. NumFOCUS erred greatly by censoring it

nathansiegel
Автор

This is a terrific talk. You directly confront the idea you think is incorrect, there's nothing offensive or personal here to someone who who wants legitimate discourse and to advance the state of the art.
People tend to go to great lengths to rationalize how/why they are correct when they perceive incorrectness as impacting their personal brand and career (I think the Semmelweis Reflex, or something related to it).

Proton_Decay
Автор

Excellent video. I used to think that notebooks were not for serious code, only research. But this video is making me reconsider.

Going to try nbdev. Looks really powerful.

knightofni
Автор

Good overview Jeremy! I’m also in the I like notebooks camp. Big fan of Bret Victor’s writings and prototypes. I didn’t realize he had an audience of you and Chris Lattner, but makes sense! Well deserved!

MaxwellMcKinnon
Автор

Thanks Jeremy for this talk and all the work you produced every day. I used to be in the "anti-notebook" team, and then I followed your fastai courses, then I bought your Book, I discovered nbdev and fastdoc. And I totally agree with the arguments you defend in this video. I'm now back to notebooks everyday thanks to all the tools you're freely providing to everyone. Thanks again!

LeoSaquet
Автор

Well it's more of a "I like nvdev" video than jupyter notebook.

Like it does not negates Joel's point on jupyter notebook ..

I pretty much like to do everything on python files then running on an interactive window.

pilou
Автор

Joel - VS code is better than notebooks
Jeremy - Notebooks is better than VS code
Me - okay, I will use notebooks in VS code. Got it.

GopalSharma-zmpl
Автор

I've seen Joel video and yours too and enjoyed both, and I can't find any bad word or conduct here in this presentation.
About NumFOCUS i think they are not still prepared to watch The Simpsons.
Jeremy you have won my respect with your work, and in this situation I want to express all my support. Keep on working!!

fergofor