5 ms·
But not why not C#
by manojlds 2y ago
But not why not C#
- rjzzleep 2y agoI'd blame MS for it. If they had played their cards differently early on, we would probably be living in a different world now.
- afavour 2y agoIt's a fair question! Go is certainly more widely used in web dev circles (e.g. esbuild) than C# is, that might go some way to answering the question. I think folks want TypeScript to use C# because it's Microsoft, I'm glad they didn't just do that for corporate reasons. But I'm open to there being non-corporate reasons!
- whimsicalism 2y agobut Go and C# are basically occupying the same space... if even MS isn't doing C# for a project like this, it's basically a death knell for C#.
- afavour 2y agoThat logic gets to the core of what I'm saying: it's "use C# because it's good for C#", not "use C# because it's good for TypeScript".
- AnimalMuppet 2y agoI think whimsicalism's point may be that, if C# isn't the tool of choice for this port, then that's the death knell of C#. The death knell isn't what kills it; that's the death blow. The death knell is sounded after it's dead. If C# wasn't the choice here, then C# is already dead. That may be overstating how dead C# is. But I think it is accurate to whimsicalism's point.
- Redoubts 2y agoThat might be their point, but it’s a bad implication for why languages get picked
- mike_hearn 2y agoLanguages are languages, so having lots of people to communicate with using them is pretty important. Most people don't want to learn Latin.
- whimsicalism 2y agoI'm not even really making an argument for C#, more just what it signals for C#. I am not a C# lover (although I also don't really love love Go).
- wiseowise 2y agoOne wants to be a better Java, another wants to be a better C. Where do they occupy the same space?
- klodolph 2y agoI could write a whole article on this, but my take on this is that Go occupies one space, and Java and C# occupy a different space. This happens despite the checklist similarity between these languages.
- whimsicalism 2y agoGenerally, I see Go replacing a lot of projects that would have previously been written in Java (namely network services/backends). Compiler is a bit of an exception, for sure.
- klodolph 2y agoYes… there’s a lot of overlapping territory, for sure. Just like how Java relaces a lot of projects that would have previously been written in C++ or C.
- whimsicalism 2y ago> like how Java relaces a lot of projects that would have previously been written in C++ hearing of this pains me
- ClikeX 2y agoI don't think C# is being harmed by Typescript not being ported to it. There are a lot of companies that have used C# for years, and will continue to do so. They don't care if the TS compiler is not built with it.
- whimsicalism 2y agoThere was a movement for C# to be a real developer language that is bonafide cross-platform. If Microsoft is citing cross-platform reasons to not dev with C#.... New companies aren't generally starting with Microsoft as their OS, these 'lots of companies' are legacy/enterprise stragglers and/or European.
- ClikeX 2y ago> and/or European That explains a lot then, because I see a lot of C# still around here. Even for new projects.
- osigurdson 2y agoI don't think so. It isn't as if C# isn't competitive in many spaces. However, honestly, if you want to create a simple cli app, Go is a better choice than C#. With C#, you would either need to bundle .NET or try to use AOT features which will either make for a huge executable or development friction. With Go, that is just how it works out of the box so I get it from that standpoint. I still don't understand their rationale for not using Rust however. This is going to be run millions of times a day by web devs - it makes sense to make it as fast as possible. Optimizing for similarity of codebases doesn't seem right imo, and a dubious position to begin with as Go and Typescript aren't that similar anyway.
- Izikiel43 2y ago> Optimizing for similarity of codebases doesn't seem right imo, It's simple, it's cheaper and faster (Time to market) to do Go than Rust. Rust has a pretty high learning curve, and there aren't many people writing it internally in MSFT I guess. Go's syntax is literally C + Python, from my previous experience, ramping up is a pretty fast affair as an experienced dev.
- exeldapp 2y agoI agree that it's good they looked passed typical corporate reasons. I admit it's still strange to see. At the end of the day, companies like Microsoft are in the business of making money and that's one of the reasons they made C#. If they don't see the profit in using one of their own products (and one that competes with Go) in their future products then why would I use them for mine? It's like if they used Google Cloud instead of Azure, it'd be very weird.
- wetpaws 2y ago[dead]
- wiseowise 2y agoWhy C#?
- tptacek 2y agoThere's an answer for that on the thread: they wanted to get as close to native code as they could while retaining GC, and Go is "native-native" (if you will), while C# is bytecode-native.
- deleted 2y ago[deleted]
- interroboink 2y agoSee this comment on the chain: https://github.com/microsoft/typescript-go/discussions/411#discussioncomment-12464695 https://github.com/microsoft/typescript-go/discussions/411#d... (and the comment that spawned it, which is essentially the same as yours but with some more specifics)
- koakuma-chan 2y agoWhy not Java
- Redoubts 2y agoWhy pull a Lattner?