Hacker News new | ask | show | jobs
by adambard 2877 days ago
Compared to popular open-source options like Python, Javascript, and Java:

- Linq is great but less unique than it once was, and almost everyone has async and await (or some equivalent) now -- javascript & friends and python almost exactly, and Java has a wealth of options in this arena.

- .NET is "multiplatform", but clearly second-class in terms of tooling and perf on non-windows platforms.

- Congratulations on the open-source licence?

- This one is legit, but other languages do some pretty interesting stuff too

- VS might be ahead in this regard, but Java IDE's aren't far behind, and even the dynamic languages are starting to get really impressive tooling.

I have used and liked .NET, but I have no need to pay the premium it imposes. .NET is just another very capable platform among very capable platforms -- and then throw in the single-ecosystem thing.

3 comments

People who think Linq is "less unique" think of Linq as just pretty syntax to work with collections.

No other language that I'm aware of has duplicated the fundamental power of Linq -- expression trees.

Expression trees allow you to express your query logic in Linq and let a provider at runtime translate that expression tree to SQL, MongoQuery, REST calls, etc.

Well, C# LINQ inherits laterally from F# which pulls it from a long tradition of ML languages, which in turn inherits it from granddaddy Lisp and it's OG code-is-data-is-code principle.

I agree that most people that think of LINQ as "just another set of collection functions" miss the "code-as-data" bit that can make it truly shine, but .NET isn't the only place that can be found. The most unique thing about it is that C# was the first ALGOL descendant deigning to add some modest code-as-data chunks to its compiler. ;)

Congratulations on the open source license because..

> Compared to popular >> open-source << options like Python, Javascript, and Java:

Even in your comment you can see there is still that stigma that separates .Net from the rest of the languages. .Net core has many non MS contributors. It truly is a project in the spirit of open-source.

> - .NET is "multiplatform", but clearly second-class in terms of tooling and perf on non-windows platforms.

I agree, and we found this out recently the hard way.

For example, the CoreCLR does NOT build on 32-bit Linux as of now [1]. While our software has absolutely no reason to complain (and doesn't on Windows!), we can't target 32-bit Linux users.

[1]: https://github.com/dotnet/coreclr/issues/9265