The (reactive JavaScript) Observable runtime is open source, and every notebook is available compiled as an ES Module.
You can embed notebooks in their entirety on any webpage, or just grab the embed code for an individual cell, if the notebook produces a single visualization.
Even though I love Python I don't really like Jupyter, seems like with a dev environment like VS or VSCode I can't quite find the right use case.
With C# it might be a different story, since the development cycle is fundamentally edit-compile-run an environment like Jupyter might give me an extra platform for in-between testing. I already use the Interactive built into VS quite a bit to figure out, for example, just the right format string for Datetime.Now.ToString() or stuff like that.
The benefit of Jupyter notebooks really is about being able to share chunks of code and write narrative around it.
It isn’t really aiming to replace a dev environment like VSCode.
We’re seeing a rise of notebooks in particular because they encourage writing a lot of plain text around your code, and that’s really good both for teaching, and promoting good documentation skills for learners.
Try F# feels like Python in most regards but ends up having type inference.
Edit: if you think “oh that’s nice, just like Java/C++”, HECK NO. It goes beyond this, where complex modeling can easily be represented and things like pattern matching and other features not known in other langs
The thing that I find really daunting with Jupyter is the set of APIs that it seems I need to learn in order to get it to do anything cool, like for example visualizing data or a function, or making an interactive widget that does the same. I don’t remember the same kind of pain when playing around with Mathematica. I really want to like it and learn it — I really like interactive programming. It just never makes it high enough on my brain space list to seem worth it.
Since C# is my daily language, this is pretty cool though. I just really wish that I had a use-case strong enough for it to overcome the initial pains of learning it and the ongoing mental maintenance of staying usefully fluent in yet another set of libraries.
My use case is algorithm prototyping/development. It lets me mostly put the code aside and concentrate and quickly iterate on the algorithm. It's just a fancy, persistent, reproducible, REPL.
> I already use the Interactive built into VS quite a bit to figure out, for example, just the right format string for Datetime.Now.ToString() or stuff like that.
what I end up doing is having both the dev env and jupyter open at the same time - doing dev the normal way and then using a jupyter notebook for q&d manual validation and plots.
like others said already, jupyter isn't a development environment and trying to use it like one is asking for trouble, but it is a great REPL on some awesome steroids.
I love .NET and I love Jupyter. I don't know how well they will combine though. I feel like the lack of Pandas and flexible typing of Python will make it a lot less useful.
This is great news. Jupyter has become my default tool for prototyping code. I keep trying other platforms that should theoretically have the same features, but I just find Jupyter much more pleasant to use.
.NET core is open source and has worked on windows, mac os, and linux for a while now. I started working on a front end for a C# .net core project recently which is being developed at a primarily Windows shop and I got it running on Ubuntu in 15 minutes. I would have died before picking a Microsoft stack for a project 5 years ago, but the back end for my next project will be .net core. The developer experience and tooling are second to none these days. You really should give it another look.
[+] [-] 52-6F-62|6 years ago|reply
I think the only real drawback is no self hosting.
https://observablehq.com/
A pretty healthy example:
https://observablehq.com/@rreusser/2d-n-body-gravity-with-po...
[+] [-] alexcnwy|6 years ago|reply
I haven’t gotten properly stuck into observable - in what ways is it better than using a jupyter notebook?
[+] [-] jashkenas|6 years ago|reply
The (reactive JavaScript) Observable runtime is open source, and every notebook is available compiled as an ES Module.
You can embed notebooks in their entirety on any webpage, or just grab the embed code for an individual cell, if the notebook produces a single visualization.
For the details in all their nitty gritty, see: https://observablehq.com/@observablehq/downloading-and-embed...
[+] [-] carokann|6 years ago|reply
> Polynote is an experimental polyglot notebook environment. Currently, it supports Scala and Python (with or without Spark), SQL, and Vega.
https://github.com/polynote/polynote
[+] [-] rluiten|6 years ago|reply
It supports javascript and typescript relatively new but capable.
[+] [-] sooheon|6 years ago|reply
https://nextjournal.com
[+] [-] zwieback|6 years ago|reply
With C# it might be a different story, since the development cycle is fundamentally edit-compile-run an environment like Jupyter might give me an extra platform for in-between testing. I already use the Interactive built into VS quite a bit to figure out, for example, just the right format string for Datetime.Now.ToString() or stuff like that.
[+] [-] bransonf|6 years ago|reply
It isn’t really aiming to replace a dev environment like VSCode.
We’re seeing a rise of notebooks in particular because they encourage writing a lot of plain text around your code, and that’s really good both for teaching, and promoting good documentation skills for learners.
[+] [-] whb07|6 years ago|reply
Edit: if you think “oh that’s nice, just like Java/C++”, HECK NO. It goes beyond this, where complex modeling can easily be represented and things like pattern matching and other features not known in other langs
[+] [-] Fr0styMatt88|6 years ago|reply
Since C# is my daily language, this is pretty cool though. I just really wish that I had a use-case strong enough for it to overcome the initial pains of learning it and the ongoing mental maintenance of staying usefully fluent in yet another set of libraries.
[+] [-] nomel|6 years ago|reply
[+] [-] jaked89|6 years ago|reply
[+] [-] jpalomaki|6 years ago|reply
And to ”close the loop”, you can of course access vscode using browser with Visual Studio Online [2].
[1] https://code.visualstudio.com/docs/python/jupyter-support
[2] https://visualstudio.microsoft.com/services/visual-studio-on...
[+] [-] jcmontx|6 years ago|reply
This is me_irl
[+] [-] baq|6 years ago|reply
like others said already, jupyter isn't a development environment and trying to use it like one is asking for trouble, but it is a great REPL on some awesome steroids.
[+] [-] rb808|6 years ago|reply
[+] [-] Avalaxy|6 years ago|reply
[+] [-] phillipcarter|6 years ago|reply
[+] [-] mumblemumble|6 years ago|reply
Even better if it works well with Deedle and FSharp.Charting. But I'm not going to demand everything on release day.
[+] [-] cm2187|6 years ago|reply
[+] [-] nautilus12|6 years ago|reply
[+] [-] sgillen|6 years ago|reply
[+] [-] reportgunner|6 years ago|reply
[+] [-] alkonaut|6 years ago|reply
[+] [-] phillipcarter|6 years ago|reply
What kinds of nontrivial samples would you be interested in seeing?
[+] [-] Lucasoato|6 years ago|reply
[+] [-] codeape|6 years ago|reply
[+] [-] jonsequitur|6 years ago|reply
[+] [-] nick_|6 years ago|reply
[+] [-] growlist|6 years ago|reply
[+] [-] ngcc_hk|6 years ago|reply
[+] [-] pault|6 years ago|reply
[+] [-] phillipcarter|6 years ago|reply
[+] [-] herrschnapps|6 years ago|reply
[+] [-] pietroppeter|6 years ago|reply