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?
Besides the 'correctness' issues, all of the issues that blogpost mentioned were fixed back then ASAP. Most of it arise from the usage of @inbounds, which to be fair, the documentation clearly tells you its usage is unsafe. Is it bad there were unrealized bugs in the official example? Yes. Did it get fixed immediately once reported? Yes. Mistakes happen everywhere else. I don't like the stance the blogpost took at all, and I find it quite misleading as it falsely implies Julia is bug-ridden. Personally, the number of bugs I've faced in Python is far more than the ones I've run into in Julia.
I think the implication is that @inbounds turns out of bound memory accesses into undefined, silent behavior, which can stay hidden and cause weird bugs later on. Out of bounds without using @inbounds leads to an exception indeed.
I think Elixir is doing quite well now. It's by no means mainstream, but it's also not in the same category as Clojure; it's on a slow,steady positive trajectory.
Yup. I think it's because Elixir has powerful LISP-like meta-programming facilities that it allows the seamless communication Rustler and Zigler provide. I haven't seen anything as good as Rustler for Python despite its popularity.
"Our sponsors - Mythic Beasts ISP provides us two virtual servers with 400 TB/month of free bandwidth to help our users with maps downloads and updates."
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