Live data from Hacker News

G# – A modern .NET language with Go, Kotlin, and Swift ergonomics

davidobando.github.io

41–50 of 107 posts

Re: G# – A modern .NET language with Go, Kotlin, and Swift ergonomics

#41

New programming languages? Doesn't seem needed anymore

Things like Zig, D, Odin, Rust, etc, are outliers. Most new programming languages are used only by their creators.

It's hard for a new language to find its feet, and make a name for itself. Unless its created by a big company with a lot of clout and internal users. (e.g. Rust, Go).

People keep creating new languages because it's educational, interesting, and sometimes even fun. Doesn't mean they'll get used, and it doesn't mean they're pointless.

Of course you learn very little if you make an LLM write the damn thing. But that's a different story.

Re: G# – A modern .NET language with Go, Kotlin, and Swift ergonomics

#42
post #9

How is this different than C#? What new concepts does this bring that C# doesn't? 20 years ago there was some momentum behind Visual Basic .Net; but the language was so similar to C# that it just wasn't worth using. There was a joke that .Net was a "skinnable language." BTW, there's a whole nitpicky/semantic argument that C# isn't null safe because of the null forgiving operator. That will probably come into play wit…

I think it would be more valuable if it had less concepts than C# but it doesn't seem clear if they succeeded in that.

Re: G# – A modern .NET language with Go, Kotlin, and Swift ergonomics

#43
post #16

Earlier quoted context omitted.

What's missing in .NET AOT?

That’s a dishonest question, take any code base >10000 slices, it will not work with aot ootb. Read the docs of what’s missing, if you are honestly interested in what’s missing. https://learn.microsoft.com/en-us/dotnet/core/deploying/nati... Reflection, is one thing. Of course some runtime stuff are missing, but the problem is that no one is using source generators before trying out aot, so as soon you try aot you ju…

It is not so dishonest, and you explicity added the small "ootb" to your statement. That is the point, out-of-the-box it might not work and you will have to do some refactorings, but if you start a new project with AoT you will keep it in mind.

Re: G# – A modern .NET language with Go, Kotlin, and Swift ergonomics

#44
post #9

How is this different than C#? What new concepts does this bring that C# doesn't? 20 years ago there was some momentum behind Visual Basic .Net; but the language was so similar to C# that it just wasn't worth using. There was a joke that .Net was a "skinnable language." BTW, there's a whole nitpicky/semantic argument that C# isn't null safe because of the null forgiving operator. That will probably come into play wit…

> 20 years ago there was some momentum behind Visual Basic .Net; but the language was so similar to C# that it just wasn't worth using. IronPython[0] and IronRuby[1] would like a word... Largely so they could be remembered. 0 - https://en.wikipedia.org/wiki/IronPython 1 - https://en.wikipedia.org/wiki/IronRuby

And F# - though that's alive and well.

Re: G# – A modern .NET language with Go, Kotlin, and Swift ergonomics

#45
post #16

Earlier quoted context omitted.

What's missing in .NET AOT?

That’s a dishonest question, take any code base >10000 slices, it will not work with aot ootb. Read the docs of what’s missing, if you are honestly interested in what’s missing. https://learn.microsoft.com/en-us/dotnet/core/deploying/nati... Reflection, is one thing. Of course some runtime stuff are missing, but the problem is that no one is using source generators before trying out aot, so as soon you try aot you ju…

That heavily depends on the use case. Game developers that use C# adopt NativeAOT with zero friction, it's just a natural fit

Re: G# – A modern .NET language with Go, Kotlin, and Swift ergonomics

#47

Earlier quoted context omitted.

C# has single-file static binaries

Exactly. To add to this, is called ahead-of-time compilation, and bundles required parts of the .net runtime into the single-binary. Deployment targets thus don't need to ship any .net environment or libraries.

AOT is entirely independent of single file binaries. And self-contained binaries that run without the framework installed are again a separate concept. There are some dependencies between these, but they are not the same thing.

AOT is not all that useful yet for many applications as important libraries still don't support it. So more something for things like CLI tools with a small scope.

It's not quite the same as with Go, the binaries get large if you can't trim them. But creating single-file self-contained executables is very much usable and works well otherwise.

Re: G# – A modern .NET language with Go, Kotlin, and Swift ergonomics

#49

- stupid question: how do you make a programming language like this from scratch? - what is the thought process that goes into making a programming language - what is this field of study or discipline called? - why do we have so many programming languages? what purpose do they intend to solve and how do we know what purpose a programming language was made for? - for example, why was swift made if objective c exists a…

Why was c created when we had asm? Actually why even bother with asm when punch cards did the job just fine.

Re: G# – A modern .NET language with Go, Kotlin, and Swift ergonomics

#50

New programming languages? Doesn't seem needed anymore

Things like Zig, D, Odin, Rust, etc, are outliers. Most new programming languages are used only by their creators. It's hard for a new language to find its feet, and make a name for itself. Unless its created by a big company with a lot of clout and internal users. (e.g. Rust, Go). People keep creating new languages because it's educational, interesting, and sometimes even fun. Doesn't mean they'll get used, and it d…

There is gleam that is popular, and not backed by a huge company. Then there is also lisette for Go, thats very similar but targets Go instead of the beam.

New languages have space, and its just stupid "to stick to the only one i ever tried", then you just end like a PHP dev who just refuses to learn anything other than PHP.

Post reply on HN