Live data from Hacker News

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

davidobando.github.io

71–80 of 107 posts

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

#71

So... the verbosity of Go without the compile speed of Go? Go is not a language I would associate with ergonomics, and this doesn't even have most of modern C#'s best features: does xUnit.NET work? Does immutable records work? Do collection expressions work? Does LINQ work? Calling a language with `let` instead of `const` and async/await and iterators and classes "Go" is plain just incorrect. This G# is more similar…

  modern C#'s best features: does xUnit.NET work? Does immutable records work? Do collection expressions work? Does LINQ work?
xUnit and LINQ are not C# features, why should they not work in another .NET language?

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

#72

So... the verbosity of Go without the compile speed of Go? Go is not a language I would associate with ergonomics, and this doesn't even have most of modern C#'s best features: does xUnit.NET work? Does immutable records work? Do collection expressions work? Does LINQ work? Calling a language with `let` instead of `const` and async/await and iterators and classes "Go" is plain just incorrect. This G# is more similar…

I don't find Go especially verbose - in fact, due to the economy of syntax, Go code without the usual syntax sugar features ends up similar in length to other curly brace languages. I tested this with C# and Typescript, where I migrated projects from these languages to Go - the overall volume of code stayed roughly the same.

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

#73

I wish README is clear whether they are using AI or not, and if so what the guidelines are. Not that anything wrong with using it, but given anyone with $$$ for tokens can do it, its nice to know what their process is etc etc. Gives me more confidence that its worth checking out.

If you look at the list of contributors, you see Claude and Copilot, but on the other hand, You can see a huge, functional codebase going back to as far as 2024, so its safe to say its not vibecoded.

https://github.com/DavidObando/gsharp/tree/9579dd6626801f089...

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

#74
post #69
post #66

Go, C# and .Net? And here I am wishing for typescript-like language for backend systems.

F# is nice, i like it.

Interesting, I have been skeptical about .net as a platform, is it really open and doesn't lock you with microsoft in any way?

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

#75
post #65

Earlier quoted context omitted.

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…

Reflection, is one thing. It's a common misconception, somehow. Reflection works in AOT.

It works through the new UnsafeAccessorAttribute [1]. This provides the information needed for AOT to know what needs to be in the final binary and not trimmed. It also removes the lookup overhead associated with normal reflection which is very nice.

[1] https://learn.microsoft.com/en-us/dotnet/api/system.runtime....

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

#76

So... the verbosity of Go without the compile speed of Go? Go is not a language I would associate with ergonomics, and this doesn't even have most of modern C#'s best features: does xUnit.NET work? Does immutable records work? Do collection expressions work? Does LINQ work? Calling a language with `let` instead of `const` and async/await and iterators and classes "Go" is plain just incorrect. This G# is more similar…

I think C# switch supports type matching.

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

#77
post #71

So... the verbosity of Go without the compile speed of Go? Go is not a language I would associate with ergonomics, and this doesn't even have most of modern C#'s best features: does xUnit.NET work? Does immutable records work? Do collection expressions work? Does LINQ work? Calling a language with `let` instead of `const` and async/await and iterators and classes "Go" is plain just incorrect. This G# is more similar…

modern C#'s best features: does xUnit.NET work? Does immutable records work? Do collection expressions work? Does LINQ work? xUnit and LINQ are not C# features, why should they not work in another .NET language?

Micro$oft's wiki:

> Language-Integrated Query (LINQ) is the name for a set of technologies based on the integration of query capabilities directly into the C# language.

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

#78
post #21

Yuck. I like both Go and C# a lot, and use them both professionally. In my experience the strengths of Go are mostly - Deployability via single-file static binaries - Simple syntax that anyone can learn (no exceptions, no classes or inheritance) - Wicked fast compile times And the strengths of C# are - Powerful language with null-safety and lots of syntax sugar - Runtime-level coroutines so you don't need `async/awai…

C# is a pretty bad language when you take away the stack it sits atop of. I do mostly like the async but developers put up with a lot of shit to e.g. use the msft networking stack and containers

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

#79
post #78
post #21

Yuck. I like both Go and C# a lot, and use them both professionally. In my experience the strengths of Go are mostly - Deployability via single-file static binaries - Simple syntax that anyone can learn (no exceptions, no classes or inheritance) - Wicked fast compile times And the strengths of C# are - Powerful language with null-safety and lots of syntax sugar - Runtime-level coroutines so you don't need `async/awai…

C# is a pretty bad language when you take away the stack it sits atop of. I do mostly like the async but developers put up with a lot of shit to e.g. use the msft networking stack and containers

Care to elaborate on what would make C# a bad language?
Post reply on HN