Live data from Hacker News

Understanding .NET 2015

blogs.msdn.com

61–70 of 107 posts

Re: Understanding .NET 2015

#61
post #6

Earlier quoted context omitted.

Python for smaller self-contained projects and scripting. Erlang/Elixir for larger projects where fault tolerance or concurrency is needed. C/C++ where GC is a no-go (games, low latency, time critical data processing). Next up in the pipeline to learn and use: Rust

> games Ever played something like e.g. Bastion? http://en.wikipedia.org/wiki/Bastion_%28video_game%29 I mean if you are developing the new Unreal Engine - sure. But otherwise gaming industry would benefit from more of maintainable code.

For context, Bastion was written in C#.

Here's what the lead developer said on the topic of GC:

http://www.reddit.com/r/IAmA/comments/lwljh/iama_dev_team_of...

Re: Understanding .NET 2015

#62

Earlier quoted context omitted.

I'd love to see a comparison of Golang's goroutines/channels vs async. If you know of one or could write one here, that would be appreciated! :-)

Task /async is a slightly different beast, effectively its a goroutine+channel which can only return 1 value or throw an exception. A better alternative to channels is Rx (Reactive Extensions) which gives you IObservable . It's very simple and powerful. Observables can be composed using Linq, and they're monadic (if that matters). I like the first class notion that something can fail or be completed (go has close(),…

What is the bind semantic in rx?

Re: Understanding .NET 2015

#63
post #25

I thought Microsoft was phasing out .NET and encouraging people to write their GUIs in JavaScript. That's what they were saying early last year.

.NET has been their recommended enterprise platform for a long time. They came out with a JavaScript based environment for competition with mobile.

Re: Understanding .NET 2015

#64

Earlier quoted context omitted.

In this particular case, yes. Another issue that comes up is when you've got fairly type-heavy code. C# having real generics just makes things much simpler than in Java.

Yes c# generics are often a lot less painful, due to lack of type erasure, and support for variable number of type parameters etc. Having said that, more is possible with Java than many people realise. You can read statically available generic type params at runtime (field declarations, supertype tokens etc) . There are also workarounds for most of the erasure problems like methods that vary by generic type parameter…

C# also infers method type parameters, and will implicitly convert a lambda to a matching interface. Fluent code in C# is also very clean. They're great features in both languages.

Re: Understanding .NET 2015

#65
post #57

.NET Native ... It would be great to have it for back-end also as opposed to only front-end. I'd take that 60% startup increase in IIS also, the first request is always slow...

> I'd take that 60% startup increase in IIS also, the first request is always slow...

But startup cost is less relevant in a server scenario. In a server you startup once per ~1B requests or more. In a front-end app, it might run 10 requests and then stop.

Re: Understanding .NET 2015

#66
post #3

Earlier quoted context omitted.

I used to work in C# (now mostly live in JavaScript land) and I miss things like LINQ a lot. So here's hoping we see wider adoption of C# in the future.

I spend most of my time in C# and it's always a sad moment when I start typing .Where(x => ...) in another language and realize it doesn't exist.

Even c++ has lambdas now... what's the big deal again?

Re: Understanding .NET 2015

#67
post #36

Earlier quoted context omitted.

Well, I can assure you that Java is used.. more everywhere.

From itjobswatch.co.uk: C# - 16748 jobs [1]; Java - 13816 jobs [2] [1] http://www.itjobswatch.co.uk/jobs/uk/csharp.do [2] http://www.itjobswatch.co.uk/jobs/uk/java.do

Playing along with the exercise (by temporarily ignoring everything else that indicates the Java is far more popular than C#) and just using your job site approach, it seems that the UK is pretty different from the US.

Looking at US job search sites, Java has about 2 times as many results as C# in the US overall, and 3-6 times as many in SF and New York. Java even has almost twice as many results in Seattle.

From indeed.com:

Java - 81,818 [1]; C# - 35,623 [2];

[1] http://www.indeed.com/jobs?q=java&l=

[2] http://www.indeed.com/jobs?q=C%23&l=

comments:

- Java has more results than even ".NET", which encompasses more than just C#: 73,971 http://www.indeed.com/jobs?q=.NET&l=

- C# has about the same number of results as Python: 35,072 http://www.indeed.com/jobs?q=python&l=

From StackOverflow:

Java - 794 [1]; C# - 479 [2]

[1] http://careers.stackoverflow.com/jobs?searchTerm=java

[2] http://careers.stackoverflow.com/jobs?searchTerm=C%23

From indeed.co.uk (the only one that has a similar ratio as itjobswatch.co.uk):

Java - 25,478 [1]; C# - 28,037 [2]

[1] http://www.indeed.co.uk/jobs?q=java&l=

[2] http://www.indeed.co.uk/jobs?q=C%23&l=

From indeed.com, Bay Area:

Java - 5,997 [1]; C# - 1,013 [2]

[1] http://www.indeed.com/jobs?q=java&l=San+Francisco%2C+CA&radi...

[2] http://www.indeed.com/jobs?q=C%23&l=San+Francisco%2C+CA&radi...

From indeed.com, New York:

Java - 6,941 [1]; C# - 2,548 [2]

[1] http://www.indeed.com/jobs?q=java&l=New+York%2C+NY&radius=25

[2] hhttp://www.indeed.com/jobs?q=C%23&l=New+York%2C+NY&radius=25

From indeed.com, Seattle:

Java - 3,832 [1]; C# - 2,124 [2]

[1] http://www.indeed.com/jobs?q=java&l=Seattle%2C+WA

[2] http://www.indeed.com/jobs?q=C%23&l=Seattle%2C+WA

Re: Understanding .NET 2015

#68
post #17

Earlier quoted context omitted.

I spend most of my time in C# and it's always a sad moment when I start typing .Where(x => ...) in another language and realize it doesn't exist.

It's spelled filter http://en.wikipedia.org/wiki/Filter_%28higher-order_function...

The LINQ API is modeled after relational algebra (where `Select` acts as projection, and `Where` acts as selection, etc.), which is as good a basis for operations on collections as anything. It is not even clear that other popular names have precedent, let alone especially useful expressive power beyond what normal relational algebras afford.

Besides that, one of the early intents behind LINQ was to allow a language-integrated ORM, so LINQ's choices for names are actually extremely appropriate.

Re: Understanding .NET 2015

#69
post #3
post #2

Recently I got to use some C# on Linux (with Mono framework), and I gotta say it wasn't bad. I didn't do anything with GUI elements, was all back-end server code. C# wouldn't be my top "go to" language, but I would put it above Java. I liked some of the generics handling better, it can be less verbose it seems. Monodevelop is not on par with Visual Studio, but it is solid and worked well for me. I usually don't like…

I used to work in C# (now mostly live in JavaScript land) and I miss things like LINQ a lot. So here's hoping we see wider adoption of C# in the future.

perhaps these two projects would interest you?

https://linqjs.codeplex.com/ http://underscorejs.org/

Re: Understanding .NET 2015

#70

Any reasons I should switch to Java or other technologies? What I get with the (much hated) Microsoft stack: - C# with LINQ and async await - Roslyn compiler as a service which speeds up development - mature .NET framework - more and more open source and cross platform parts and smaller independent libs - typescript - Xamarin cross platform tools I also use python and used Java in the past. I don't see any reason why…

performance? https://www.techempower.com/benchmarks/

I am wondering how asp.net on linux will stack up! should be interesting.

Post reply on HN