←back to thread

304 points vyrotek | 7 comments | | HN request time: 0.002s | source | bottom
Show context
sylens ◴[] No.45894469[source]
MAUI has felt like a barebones project for years. Forgive me if I don't believe this is the beginning of more robust support.
replies(2): >>45894590 #>>45903644 #
labrador ◴[] No.45894590[source]
Microsoft acts when it feels competitive pressure. I think Google's Flutter has been validated so Microsoft feels the need to respond.
replies(1): >>45894675 #
keyle ◴[] No.45894675[source]
Dart is a wonderful language though. I'm not switching back to using .NET anytime soon.
replies(3): >>45894869 #>>45895776 #>>45898256 #
1. labrador ◴[] No.45894869[source]
I love Dart, which I consider to be Google's C#. Either language is fine with me.
replies(1): >>45895469 #
2. drykjdryj ◴[] No.45895469[source]
Go is google's c#.
replies(2): >>45895498 #>>45897243 #
3. labrador ◴[] No.45895498[source]
Dart is much closer to C# than Go is
replies(1): >>45899191 #
4. Quothling ◴[] No.45897243[source]
Go is frankly the polar opposite of C#. Go compiles to a native binary with no runtime dependencies and it relies on simple garbage collection and static linking. C# runs on the .NET runtime which is heavily managed, gives you JIT, reflection, dynamic code generation and so on. Go views concurrency as fire and forget, C# views it as compose and await. Go is extremely explicit while C# is extremely implicit.

Now, I understand that you may talk about it from a non-technical perspective, but even so, there are major differences. C# is a general purpose language for the cloud/web, and so is Go, but Go is also widely used in other areas like in embeded software. TinyGo is soooooooo much better than working with C/C++ or Rust as an example. Places like that where you wouldn't usually find a transpiled language (other than maybe Python with MicroPython).

replies(2): >>45897312 #>>45897358 #
5. mrcsharp ◴[] No.45897312{3}[source]
C# has AOT compilation which creates a single, native binary. This has gotten so much better with .NET 10 and since the introduction of source generators to deal with reflection issues.

Also, check out nanoFramework for a .NET runtime that can run on MCUs like the ESP32 [1]

[1] https://github.com/nanoframework/Home

6. DeathArrow ◴[] No.45897358{3}[source]
.NET can be compiled to native binaries. .NET can be used for embedded development.

C# is more expressive and .NET comes with batteries included. Go is more explicit and more verbose.

You can pick up Go faster and is easier to reason about Go code when you first encounter a new project but C# feels like it enables you to develop faster and be more productive.

For web both are excellent and performant, even if they have different philosophy.

What I like about C# is that it becomes more functional and I can even mix F# in the projects if I want even more functional programming.

7. zigzag312 ◴[] No.45899191{3}[source]
Originally, C# was more like Dart, but modern C# is like both Dart and Go combined and that's (IMO) the beauty of it.

Newish low level features of C#: https://em-tg.github.io/csborrow/