dotnet / interactive

.NET Interactive combines the power of .NET with many other languages to create notebooks, REPLs, and embedded coding experiences. Share code, explore data, write, and learn across your apps in ways you couldn't before.
MIT License
2.9k stars 387 forks source link

Polyglot Rebrand Feedback #2465

Closed JakeRadMSFT closed 1 year ago

JakeRadMSFT commented 1 year ago

Hey All! I'm finding the rebrand a bit confusing since .NET Interactive seems to still exist? Do we have a good landing page to differentiate .NET Interactive and Polyglot Notebooks?

My suggestion would be to go all-in on Polyglot for all the related products for brand continuity

jonsequitur commented 1 year ago

@JakeRadMSFT Does this update help clarify the reasoning behind the naming?

https://github.com/dotnet/interactive/pull/2468

JakeRadMSFT commented 1 year ago

That will help a bit. The branding still seems to lack continuity though.

image

In the Kernel/Language picker it just says both dotnet-Interactive and Polyglot Notebook everywhere.

jonsequitur commented 1 year ago

They are two different layers.

The .NET Interactive kernel can be used for things other than notebooks, e.g. dotnet-repl and other non-notebook form factors.

Polyglot Notebooks can be used for non-.NET kernels (e.g. the JavaScript and HTML kernels as well as potential future polyglot Jupyter kernels don't require .NET).

Do you think more closely aligning the naming would clarify or confuse these examples?

JakeRadMSFT commented 1 year ago

.NET Interactive kernel can be used for things other than notebooks, e.g. dotnet-repl and other non-notebook form factors.

Doesn't it also support more languages than just .NET? Isn't this the thing that makes Polyglot Notebooks ... Polyglot?

Polyglot Notebooks can be used for non-.NET kernels (e.g. the JavaScript and HTML kernels as well as potential future polyglot Jupyter kernels don't require .NET).

Doesn't it still require .NET Interactive?

For me it's just confusing for ".NET Interactive" to exist as a public facing brand after a rebrand to "Polyglot Notebooks".

.NET Interactive is still

Polyglot Notebooks is

It feels like a shallow rebrand and requires folks that are new to Notebooks to know the nuances of Notebooks and Kernels to get the difference.

Feel free to close out the issue if you all disagree and haven't heard similar feedback from others -- Just my 2 cents.

jonsequitur commented 1 year ago

The intent is not to rebrand .NET Interactive, which is a .NET-based technology that hosts .NET languages like C#, F#, and PowerShell. You can use it to create non-polyglot experiences.

The protocol it uses is language-agnostic and enables polyglot experiences like Polyglot Notebooks. You can think of .NET Interactive as the reference implementation for this protocol.

It feels like a shallow rebrand and requires folks that are new to Notebooks to know the nuances of Notebooks and Kernels to get the difference.

Learning the difference between a notebook and a kernel is fairly important early on in learning Jupyter, I think.

.NET Interactive kernel can be used for things other than notebooks, e.g. dotnet-repl and other non-notebook form factors.

Doesn't it also support more languages than just .NET? Isn't this the thing that makes Polyglot Notebooks ... Polyglot?

It doesn't support them directly and has no special knowledge of them. It supports them by proxying those behaviors to remote processes.

Polyglot Notebooks can be used for non-.NET kernels (e.g. the JavaScript and HTML kernels as well as potential future polyglot Jupyter kernels don't require .NET).

Doesn't it still require .NET Interactive?

The JavaScript and HTML kernels don't require .NET Interactive today. Though we haven't yet made them available standalone in Polyglot Notebooks, they can be loaded into a browser and used directly with no .NET in the picture. And Polyglot Notebooks will eventually work in browser-only mode with no server-side compute needed.

JakeRadMSFT commented 1 year ago

I think it's starting to make more sense then.

image

What is the motivation for (Polyglot Notebooks) to be in the language picker for everything then?

jonsequitur commented 1 year ago

Each of the languages listed with (Polyglot Notebook) after it is actually a superset of the language, which allows e.g. C# and Polyglot Notebook magic commands.

The following isn't valid C# but it is valid in Polyglot Notebooks:

#!share --from fsharp someVariable
Console.WriteLine(someVariable);
JakeRadMSFT commented 1 year ago

I see - that's pretty nuanced!