News for hackers. Stuff that matters.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by andrewstuart on Sunday February 01, 2026 @03:16AM (#46844472)
We need Anders to make one final language.

A MINIMAL memory safe language. The less it has the better.

Rust without the crazy town complexity.

The distilled wisdom from C# and Delphi and TypeScript.

A programming language that has less instead of more.

Re:The history of C# and TypeScript with Anders Hejlsberg | ... by blackoil on Sunday February 01, 2026 @04:14AM (#46844740)
I want something that will bring productivity of Delphi to Web. May be I am old now, but I could have built applications in a weekend in Access or Visual Basic that will take weeks now in latest web stack.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by pjmlp on Sunday February 01, 2026 @10:35AM (#46846883)
OutSystems, but it isn't cheap.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by rr808 on Sunday February 01, 2026 @01:03PM (#46847981)
Right? I was hoping webassembly would bring back some proper gui tools like this to avoid the whole JS/DOM but no luck so far.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by hirvi74 on Sunday February 01, 2026 @02:21PM (#46848563)
Blazor is pretty cool if you are into that kind of stuff. Mind you, you still might need the slightest tiny dash of JS, but depending on your needs, you might be able to get away from JS entirely.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by rr808 on Sunday February 01, 2026 @09:03PM (#46851570)
Somewhere its in my list of things to try one day. Maybe an ai agent can help make this happen.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by NetMageSCW on Sunday February 01, 2026 @01:54PM (#46848363)
ASP.Net Web Forms still exists, though it is deprecated.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by qingcharles on Sunday February 01, 2026 @04:50PM (#46849726)
Eh. I admit I just use AI now when I want to quickly build a web app like that. I built a huge content management system in a couple of hours that way.

If you're talking Windows desktop apps like Delphi used to do, then Visual Studio WinForms is still just like that in 2026 and still getting updates.

Re:The history of C# and TypeScript with Anders Hejlsberg | ... by gucci-on-fleek on Sunday February 01, 2026 @04:10AM (#46844709)
What about Lua? The language is very minimal, memory safe, and has Pascal-like syntax just like Delphi.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by ptx on Sunday February 01, 2026 @04:41AM (#46844852)
Lua's variables being global by default seems somewhat error-prone.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by gucci-on-fleek on Sunday February 01, 2026 @04:47AM (#46844894)
Agreed, but the recently-released v5.5 fixes that [0], and it's fairly easy to fix this in older versions with the following snippet

  setmetatable(_G, { __newindex = false, __index = false })
[0]: https://www.lua.org/manual/5.5/manual.html#2.2
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by andrewstuart on Sunday February 01, 2026 @06:45AM (#46845501)
verything is an off by one error in Lua.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by gucci-on-fleek on Sunday February 01, 2026 @07:02AM (#46845598)
Or conversely, everything is an off-by-one error in every other language :)
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by ahartmetz on Sunday February 01, 2026 @11:44AM (#46847400)
*everythin
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by aloha2436 on Sunday February 01, 2026 @04:08AM (#46844699)
> Rust without the crazy town complexity.

To be clear, the language has a GC then?

Re:The history of C# and TypeScript with Anders Hejlsberg | ... by jayd16 on Sunday February 01, 2026 @11:42AM (#46847388)
I suppose it could have some kind of ARC. In theory some future languages could even have some hybrid approach? A high perf default but you can fallback to a GC allocation for hard things?
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by AndrewDucker on Sunday February 01, 2026 @12:13PM (#46847613)
I'm pretty sure that there are multiple GC crates for Rust out there. But using them mixed in with non-GC variables presumably makes things more complex.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by LarsKrimi on Sunday February 01, 2026 @03:24AM (#46844509)
Oberon 07?
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by appsoftware on Sunday February 01, 2026 @03:40AM (#46844568)
What would you take out of C# etc?
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by littlecranky67 on Sunday February 01, 2026 @04:21AM (#46844771)
(not OP) I would take out mostly historic stuff, that is in there for backwards compat, that has been superseeded. But this could be achieved using linters.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by wvenable on Sunday February 01, 2026 @01:27PM (#46848149)
All non-generic container classes and nullable reference types.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by hirvi74 on Sunday February 01, 2026 @02:32PM (#46848649)
> nullable reference types.

What would you suggest instead? I quite like the nullable reference types, but I do know many get annoyed. My brain is often a scurry of squirrels, so I grew to become thankful for the nullable refs overtime.

Re:The history of C# and TypeScript with Anders Hejlsberg | ... by wvenable on Sunday February 01, 2026 @04:12PM (#46849413)
The compiler now mostly solves this now but the abstraction is a little leaky.

I heavily use nullable types but I always want them to be declared nullable.

Re:The history of C# and TypeScript with Anders Hejlsberg | ... by jborean93 on Sunday February 01, 2026 @03:51PM (#46849251)
I don't mind NRT but I hate dealing with C# projects that haven't set < Nullable>Enable</Nullable> in their csproj. It's not perfect because I know at runtime it can still be nullable but it's nice when the compiler does most of the checks for you.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by vaylian on Sunday February 01, 2026 @03:20AM (#46844490)
Sounds like golang to me
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by andrewstuart on Sunday February 01, 2026 @03:22AM (#46844495)
Without the features I identified,yes, you’re right!
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by steve1977 on Sunday February 01, 2026 @05:25AM (#46845082)
Considering they used Go for the native compiler he might actually agree with you.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by tester756 on Sunday February 01, 2026 @04:40AM (#46844850)
C# is way to go then
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by tonyedgecombe on Sunday February 01, 2026 @05:16AM (#46845033)
>We need Anders to make one final language.

I do feel like there is a gap for a modern compiled, functional and garbage collected language.

Go isn't it because it lacks the functional constructs.

C# and Java aren't it because they depend on a VM.

Rust isn't it because of its difficult memory management.

Swift isn't it because it is so tied to Apple and their platforms.

Re:The history of C# and TypeScript with Anders Hejlsberg | ... by rednb on Sunday February 01, 2026 @05:41AM (#46845152)
What you are looking for is called F#. You get native interop with C# and access to all .NET/C# libraries as a bonus. We use it as a daily driver for a complex B2B2C cloud platform.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by Sammi on Sunday February 01, 2026 @07:16AM (#46845679)
Does it not run in a VM?
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by rednb on Sunday February 01, 2026 @08:40AM (#46846147)
Yes you are right, it does not properly support NativeAOT yet.

But it isn't a need for most use cases, unless you want to do mobile development and meet app store policies. But even then, mature F# frameworks like Fable transpile your F# code to React & Cie.

Re:The history of C# and TypeScript with Anders Hejlsberg | ... by christophilus on Sunday February 01, 2026 @08:56AM (#46846250)
It can be compiled, but that’s not the use case it was originally designed around, so it’s not quite as first class an experience as with Go or Rust.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by NetMageSCW on Sunday February 01, 2026 @01:57PM (#46848390)
You can embed the framework into the application so it is a single distributable.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by kryptiskt on Sunday February 01, 2026 @05:38AM (#46845143)
C# doesn't depend on a VM these days when it is AOT compiled. Same for Java, though C# is rather more user friendly in how it goes about it.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by trympet on Sunday February 01, 2026 @04:26PM (#46849523)
> C# doesn't depend on a VM these days when it is AOT compiled

Maybe I’m being pedantic, but this is an oxymoron. Also the premise is incorrect. It’s not like the VM is gone. Merely baked into the code at compile time. It compiles IL to native code. Same for IL2CPP. The VM is still there.

The term “virtual machine” is confusing. I think you meant to say JIT compiler :-)

Re:The history of C# and TypeScript with Anders Hejlsberg | ... by WorldMaker on Monday February 02, 2026 @04:00PM (#46861469)
The trouble with that level of pedantry is that you then can point to LLVM as a VM and say that Clang and other C/C++/Rust tools that AOT through LLVM are "too tied to a virtual machine". Then you can go back through the history of cross-platform optimizing C/C++ compilers and find VMs in the design in almost all of those, too. LLVM is not hiding it in its very clear name, but low-level VMs were a thing for decades before someone named LLVM.

VMs have a long history in cross-compilation, even for "low-level" languages like C/C++. The AOT versus JIT distinction is blurry, and the "VM language" versus "non-VM language" boundary is blurrier still, especially when you take into account "standard runtimes" such as glibc and vcrt and whether or not those are statically linked.

Is a C program with a compiled with Clang through the LLVM dynamically linking a glibc and statically linking a Boehm GC library "running in a VM"? There's no wrong answer, it's a lot shades of gray. I believe almost every pedantic way to answer that has an equally pedantic counter-argument.

Re:The history of C# and TypeScript with Anders Hejlsberg | ... by jorams on Sunday February 01, 2026 @06:58AM (#46845568)
There are plenty of languages in that niche you could be using. OCaml, Haskell, F#...
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by EddieRingle on Sunday February 01, 2026 @05:44AM (#46845170)
Kotlin has a LLVM backend, among others.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by fpsvogel on Sunday February 01, 2026 @08:28AM (#46846078)
Roc might be that language one day. Not yet because it's pre-0.1.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by metaltyphoon on Sunday February 01, 2026 @10:02AM (#46846648)
C#, with default tooling, can compile without needing a VM, for windows, macOS, linux and some other platforms.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by zigzag312 on Sunday February 01, 2026 @10:30AM (#46846835)
I wish that Nuget would show which packages are NativeAOT compatible.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by metaltyphoon on Sunday February 01, 2026 @10:36AM (#46846886)
It will probably get there one day since all BCL is annotated. Perhaps this is not done because you can have parts of the library be completely safe to use in AOT while another part not be.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by HumblyTossed on Sunday February 01, 2026 @01:19PM (#46848086)
That's the problem though. People want one language to be The One (tm) and that's just not possible. Your The One (tm) isn't mine.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by WorldMaker on Monday February 02, 2026 @04:08PM (#46861563)
I don't see why a VM is a problem, personally, and I like a lot of what C# has been exploring with `Span<T>` and `Memory<T>` for safe low-level memory management in a garbage-collected language. Some of it seems like a simpler Rust. Rust can still do plenty of memory lifetime things that C# can't, but the gap is smaller than ever and C# is still slowly growing its capabilities in that space. All that in a language where you don't have to start with the low level tools, you can prototype entirely in higher-level garbage collected space and use real world performance to guide optimizations towards the low-level memory management tools only when they become truly necessary.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by Sharlin on Sunday February 01, 2026 @06:22AM (#46845406)
The minimal memory-safe language is Go. Turns out it's too minimal for most.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by andrewstuart on Sunday February 01, 2026 @06:50AM (#46845529)
It’s not memory safe.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by Findecanor on Sunday February 01, 2026 @11:21AM (#46847221)
Please elaborate. I've heard that you could break Go's memory safety through a race condition, but that's as far as my knowledge goes.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by bonesss on Sunday February 01, 2026 @07:15AM (#46845675)
On the .Net VM you’re describing F#, mostly by virtue of being based on OCaml.

Contrasted with TypeScript and C#, F# is smaller, more expressive, stricter, with mature pattern matching and type resolution baked in from the ground up. F# was years ahead of the major languages on what are increasingly looking like ‘the basics’ around ADTs and immutability in modern distributed computing. OCaml and F# capture the linguistic high points of VB, Delphi, and C# with a broad spectrum of OOP(-lite) approaches, and have led those languages by decades on functional constructs that result in meaningfully tighter code. With the benefit of hindsight some approaches clearly map better to cloud computing and system verification.

F# also sits parallel to lots of living C#, objectively we see ‘less is more’. Less code per line, fewer lines per solution, terser and more LLM-efficient language. Error rates and refactoring costs are also meaningfully better IME, but harder to quantify in general terms.

Re:The history of C# and TypeScript with Anders Hejlsberg | ... by christophilus on Sunday February 01, 2026 @08:37AM (#46846131)
It’s a great language. I just wish its compilation speed matched that of OCaml.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by pmkary on Sunday February 01, 2026 @07:45AM (#46845856)
Yeah exactly.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by pjmlp on Sunday February 01, 2026 @10:34AM (#46846873)
Hardly, even Turbo Pascal 7 for MS-DOS is more advanced than Go's type system.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by HumblyTossed on Sunday February 01, 2026 @01:17PM (#46848074)
You don't have to use all the features of C#. I make my living at it and don't touch a lot of them. The issue with C# is culture. They went full in on blog driven development so there's way too many people who will yell this is the way to do things this week.
Re:The history of C# and TypeScript with Anders Hejlsberg | ... by hirvi74 on Sunday February 01, 2026 @02:26PM (#46848604)
It's true. You will incur the wrath of C#'ers if your simple ToDo list app doesn't have a ToDoListItemRepositoryServiceFactory.cs and a minimum of 4 separate layers in which one must update 20 files because you added a property to one class.

Don't get me wrong, I still love C#/.NET. I use it everyday, but my god, has Swift been a breath of fresh air. The Swift community, when not whining about Swift UI, has been much less dogmatic in my experience.