Someone just invented a whole new level of hell for devs who maintain code.
First it was untrained consultants and VB or Delphi (Pascal)
Then came the JS monkeys mixing up plain JS with jQuery and SQL injections.
Now it's time for data scientists and pi/sketch users to feel the pain of an uncharted domain...
Honestly, WebAssembly with C#'s Blazor is the best development experience I've ever had. I can fully debug the front-end and back-end within Visual Studio.
But then you have to use Visual Studio.
One of the best IDE's I've ever used. JetBrains IDE's come close, but Visual Studio is a gem.
Visual Studio is nice but I vastly prefer Rider, even on Windows. It feels bit snappier, especially when you're comparing Visual Studio + Resharper versus Rider. TBH this is probably a matter of what is familiar though.
I use Rider on other platforms.
IMO, it's somewhat polarising. Some people love it, but I personally can't stand it. It feels too heavy, trying to dominate every aspect of writing code. I prefer lightweight editors, but I recognise it's a personal thing.
Its totally a personal thing. I feel VS Code is the right combination of light weight, light touch, and keeps my focus where I need it whilst still having the ability to get to helpers that make life easier.
Visual Studio is really good if you are doing C# development on Windows.
MonoDevelop was also really nice. So much so, it looks like they copied it into Visual Studio for Mac???[0]
In any regard, C# has some of the richest tooling I've seen for any programming language, I do wish Microsoft would invest even marginally into MonoDevelop again.
[0]: https://www.monodevelop.com/
VS4Mac is MonoDevelop. Well, it was - VS4Mac is dead now as it has been stagnating, and at the end of its life was likely more harmful to .NET adoption by developers using macOS.
Its niche is now replaced by VS Code, particularly after base C# extension switched to Roslyn LSP from Omnisharp, and, of course, Rider which has been a strong cross-platform offering for a long time.
With that said, I heard only positive things about MonoDevelop back in the day and my impression from the feedback is that it was something its authors really put care into. I suppose it is part of history now.
On Blazor - both Rider and VS Code support it. Contrary to the belief of slowly but surely diminishing group of developers that think .NET is still stuck in Windows land, there is nothing that ties you to Windows here.
Not really.
The original VS4Mac was Mono Develop.
Afterwards the team started to share code between Visual Studio and VS4Mac, written in .NET Standard libraries, until they started the full rewrite, using .NET Core proper with Cocoa bindings, as the team did not consider MAUI with Catalyst mature enough for the rewrite.
Only to have the project cancelled and replaced by our Electron shell friend, after they reached the 1.0 of the rewrite efforts.
Which still doesn't have the graphical tooling and storyboards integration from VS4Mac.
Most folks are rather adopting Rider.
The 2nd coming of Web Forms, or Silverlight, take your pick.
In the case of WASM though, does it really matter? Ideally I want to see other languages do the same thing.
It matters when debugging pile of WASM code, and the performance loss switching back and forth to JavaScript engine.
The very reason I haven't bothered that much with Blazor, are my debugging scars from Web Forms and JSF.
Given the choice, I will go with stuff that works directly with script tags and the built-in developer tools.
I'm curious what widgets/frontend tooling you use.
This is, I assume, Visual Studio for Windows. Have you tried it at all in VS Code or is that a non-starter?
If you could write VB (VB6) in WASM, that would make some things so much simpler!!! (I work on a legacy codebase)
Thats mean you want to embed VB code into Browser Like in ActiveX days?
Actually I think Blazor might support class libraries written in VB.NET.
They do and it appears to work really well (I have only experimented with it.)
Isn't it the same thing as a SPA or any other WASM? The only real difference now is that it is now accepted and the browsers assist with cross platform APIs (and some security) instead of pure Windows APIs. (Ok, so I made it a bit more simple than it is, but that is how I see it.)
Anaconda Code is what you're looking for! It's Python (via PyScript) running as an Excel plug-in, that has full access to the spreadsheet and can harness a big part of the core PyData stack (including matplotlib, sklearn, pandas, etc.)
The whole thing runs via PyScript/WASM, and lives locally inside the Excel spreadsheet. https://www.anaconda.com/blog/introducing-anaconda-code-add-...
Please don't tell people I work with about this.
Arguably, VB6 and Ruby have a pretty similar syntax. And Wasm is first class in the Ruby build farm. https://github.com/ruby/ruby.wasm
Oh man that would be so cool. Kinda like the Ruffle Flash player!
Thats what I am thinking too. Integrating code of DS/ML people into backend is painful enonugh. Imagine maintaining frontend code of those who had never done proper forntend development...
If it's not something that needs extensive testing, I'd rather maintain that codebase than a "proper" one. Data science people don't pump out 100 files with 20 layers of OOP, and they don't know how to use Redux or whatever overkill navigation lib. It'll be a main.py that just does what you want. Maybe there will be copy-pasted code, but even that can be more readable sometimes.
You are right about over engineered redux and react, It would be a lot less painful to maintain main.py and a lot more grepable
Everyday We Stray Further From God