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

Python with a Jupyter notebook is a very solid REPL development environment:

- Prototype code in Jupyter. Write first as a few lines of code per cell. Then merge into functions. Focus is on 5-10 cells becoming a single function.

- When working, copy the functions back into the main Python file.

- Periodically reimport the main Python file back into Jupyter and recalc the cells currently in scope.

- Repeat...

- The main Python file ends up mostly like an API. And the Jupyter notebook as docs on how to call that API.



i agree that python's repl environment is nice. i worked with python and jupyter for much longer than with common lisp. actually due to my domain it is still my main language. however i was taken aback when i first saw repl development in lisp. it is just far more seemless and stable. how often do you need to do python kernel restarts in jupyter? what i found extremely surprising is the huge performance difference between sbcl and cpython. common lisp as implemented in sbcl produces some of the most performant computations out there. also writing code in s-expressions turned out to be an unexpected killer feature for me. finally something you cannot do in python that is built into lisp is being able to debug and live edit a running (production) image.

while i continue to use python the same is no longer true for jupyter. i think using org-babel in emacs is a much more superior experience, with the added benefit of having the whole development environment available to you




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

Search: