R.E. scaffolding in C#, with upcoming .NET 10, it's really simple:
- Write code to myfile.cs
- `dotnet run myfile.cs`
That doesn't need scaffolding either. And the standard library is huge too; you could even add dependencies in that file.
And since we're talking about RAD, Python can't even compare to Clojure. Having a separate REPL "server" that you interact with from your text editor with access to the JVM's ecosystem and standard library inside of a "living" environment and structural navigation from being a LISP is pure RAD. Heck, I often start a REPL "server" inside chrome's devtools with scittle[1] if I need to rapidly and programmatically interact with a website and/or to script something; I haven't been able to do that anywhere else. Even pure JS.
.NET has come to be a very solid, performant, cross-platform, productive runtime. I always come back to it for most projects. Thanks to everyone involved!
There is no lock-in to Microsoft in C#. It hasn't been like that for years, and it's only getting better. IDE wise, there is Rider, which is free now, and one of the best IDE experiences you will have in any language (I personally prefer using VSCode which also has great support nowadays despite its rough history).
Did you discover Scala 3 and give it a thought? I think of it as Rust with an _overall_ stronger type-system, but where you don't have to worry about memory management. It has an amazing standard library, particularly around collections. You get access to the amazing JVM ecosystem. And more. Martin Odersky in fact sees Scala's future lying in being a simpler Rust.
Also, regarding F#. It runs on .NET, and indeed, since the ecosystem and community are very small, you need to rely on .NET (basically C#) libraries. But it's really not "tied" to Microsoft and is open source.
I am genuinely curious too. .NET is a very mature, very performant runtime, and I think of F#, a beautiful, productive language, running on it a big pro. Perhaps things used to be different about/regarding Microsoft?
Their flagship models are available for free for everyone: aistudio.google.com. You have the option to enable "search grounding" to get the same thing as ChatGPT Search.
When was the last time you tried C#? These days, it's as simple as getting dotnet and executing "dotnet new <template> -o MyNewProject" to make a new project. Then "dotnet run" or "dotnet watch". Also, the VSCode extension (with C# Dev Kit) is pretty good nowadays compared to other languages (I personally find it as good as rust-analyzer), but certainly not as good as Rider for enterprises; I mainly use VSCode in fact.
There are many screen recorders that do not show a "giant banner", and even if there weren't, it's ~200 LoC to implement an efficient screen recorder for Windows that's hidden.
If you mean windows, it has been so many years since .NET has been able to run on many different platforms; and by now, most of the ecosystem supports majority of platforms too..
You get an amazing runtime with near native performance, access to value types, no type erasure, access to low-level operations when utmost performance is needed, very good cross platform and architecture SIMD support, three different great IDEs with two of them being cross-platform, AoT compilation that keeps getting better, WASM target with a good framework (Blazor), and so on.
Modern .NET is truly amazing and highly undervalued IMO.
Some form of static typing != proper static typing. The 'static typing' from Python (and other previously dynamic languages) do not come close to Dart's; neither does Typescript's.
All forms of null-safety aren't the same. The ergonomics differ.
Huge ecosystem != good tooling. But indeed, Rust has good tooling. Doesn't mean you can compare Rust to Dart though.
Rust's compile-time is improving, but why are we bringing in future items for comparison?
That doesn't need scaffolding either. And the standard library is huge too; you could even add dependencies in that file.
And since we're talking about RAD, Python can't even compare to Clojure. Having a separate REPL "server" that you interact with from your text editor with access to the JVM's ecosystem and standard library inside of a "living" environment and structural navigation from being a LISP is pure RAD. Heck, I often start a REPL "server" inside chrome's devtools with scittle[1] if I need to rapidly and programmatically interact with a website and/or to script something; I haven't been able to do that anywhere else. Even pure JS.
[1]: https://github.com/babashka/scittle