Live data from Hacker News

Microsoft takes .NET open source and cross-platform

news.microsoft.com

591–600 of 937 posts

Re: Microsoft takes .NET open source and cross-platform

#591

Earlier quoted context omitted.

You mean C#? Let's keep those separate shall we? Linq makes C# much better, especially compared to java. It's a whole different story in F# though.

What's the story for F#? I'm a Haskell enthusiast, but it's not so good at Windows support, or libraries. I've been thinking F# might be just the ticket.

F# has a huge momentum at the moment. Quickly rising in the Tiobe index. It's an ML-style functional lang for the CLR. It's not as powerful or pure as Haskell in terms of type system and style, and it is lacking (or is more pragmatic) in a few places to be interoperable with other .NET langs. It has some really cool features though that are quite unique, such as

Type providers http://fsharp.github.io/FSharp.Data/library/JsonProvider.htm... Code quotations http://msdn.microsoft.com/en-us/library/dd233212.aspx

Most importantly it has become a first class citizen of the ecosystem so the tooling is already great compared to a lot of similar languages.

http://fsharp.org/

Re: Microsoft takes .NET open source and cross-platform

#592
post #327

Earlier quoted context omitted.

Generics, Partial Classes, awesome Reflection API, Lambda syntax, LINQ, C/C++ compatibility, async/await, concurrency primitives, etc. I have worked with prettier languages, for instance I have picked up Haskell recently, I have also worked with faster languages, C was my forte for many years and I have worked with languages in the GSD category like Ruby and Python. C# is appealing not because of some feature that it…

async/await is HUGE. It opens an almost frictionless asynchronous pathway from your code all the way down to asynchronous capabilities of the underlying platform. Which was always the problem with leveraging async/overlapped IO: It was too complex and it turned your application logic inside-out because everything had to be performed in callbacks. async/await takes that on directly: You get everything executed in call…

I'm a C# newbie but a long time C++ guy. I've done tons of work with Overlapped IO under Windows and similar stuff with Linux using epoll type signaling to threads. I've completely wrapped much of this using C++ Signals & Slots library making callbacks as simple as adding a Signal to my object and a Slot anywhere I wanted to pick up said signal.

I'm intrigued by how C# makes this situation better than the way I've been dealing with it with my amped up C++ delegates (aka signal & slots).

Could you recommend any C# for C++ developer type links for getting acquainted ?

Re: Microsoft takes .NET open source and cross-platform

#593

Earlier quoted context omitted.

What company is not opportunistic? They are by definition.

That is why I said "very opportunistic".

That's not a meaningful distinction here. Let's not avoid the interesting part of this discussion with semantics.

Re: Microsoft takes .NET open source and cross-platform

#594
post #61

I'm a hardcore *nix guy but boy do I love me some C#. Up until now it's been the best language I have worked with but the worst platform due to it's lack of 'nice things' that we just expect from languages/ecosystems these days. Where 'nice things' is defined as being open-source, having open-source ecosystem of developer tools etc. This isn't so much the beginning (as good stuff has been happening for a couple of ye…

C# as a language is better than Java, but not as good as Scala.

I went from scala to C# 7 years ago, and after some feature withdrawal, I began to like C# for its simplicity. It was not very elegant, I often had to settle for ugly solutions, but this was actually a step up from scala where I would obsess to find the most elegant solution for my code. In C#, the best way is more obvious even if not that good, and you settle more quickly.

As the language is considered holistically with tooling, the error messages are always good and they don't make dubious decisions (getting rid of semi colons) that are theoretically sound but screw up tooling.

Re: Microsoft takes .NET open source and cross-platform

#595

I feel like the last couple years I've been cheerleading for MS and telling people how much they've changed, how open things are becoming, and how awesome the development experience is. It's fallen on deaf ears or met with resistance, but today's announcements are really gonna drive the point home. Developers need to start looking more seriously at C#/.Net. The Scotts (Hanselman/Guthrie), Miguel De Icaza and so many…

Too little, too late IMHO. Also MS has always come across as very opportunistic, giving the impression they will drop support for this if it serves them better.

Nonsense. :)

Unity has really driven home the popularity of Mono as a cross-platform code platform -- there are tons of people using it who wouldn't necessarily consider themselves .NET programmers. (yes, I realize there's a mix of library, language, and APIs in that soup).

But Mono merging with real .NET crossplatform support suddenly makes it a viable api for all sorts of non-microsoft use.

Back in the day, I remember how badly I wanted the dataset controls from .NET -- they have all this nice built-in functionality manage partial datasets from MSSQL to client memory and then sync multi-edits back to the database again (round trip). It's possibly the best round-trip data controls I've ever found in a library and it's mostly unheard of outside .NET circles. It makes the libraries that jQuery and Rails use

We have a lot to learn from each other -- I'm glad that MS has taken this step forward to embrace cross-platform again in such an open way.

Re: Microsoft takes .NET open source and cross-platform

#596

This is epic. Peter Thiel was right about creative Monopoly. The new Microsoft under Satya Nadella has totally changed the direction of Microsoft in just a few months. They had one of the best and rock solid development platforms and research division, and loyal customers. The new Azure cloud (Online + On Premise) along with the opening of .Net will change the playing field. I'm sure this is a great new for us develo…

Actually this doesn't have to do with Satya. This has been brewing for years. It is at best naive to think this was done in a few months.

No one thinks that the development of this stuff happened entirely because Nadella is CEO. They think it was allowed to finally be released and promoted because Nadella is CEO.

Huge corporations have a huge number of things brewing at any given time, most of which don't make it to market. Executive decisions are a big reason why or why not. And Ballmer was repeatedly and emphatically on record that MS software should revolve around Windows.

Re: Microsoft takes .NET open source and cross-platform

#597

This is really big news. I'm not sure why Microsoft is doing it, though? Seems like a great way to completely kill Windows in the server market.

Why would that be the case? Significant portion of Win Server licenses are for MS SQL, Sharepoint and Dynamics, which I doubt will be able to run on Linux.

I don't see people using IIS switching to linux either... I know I wouldn't.

Re: Microsoft takes .NET open source and cross-platform

#599
post #367

Earlier quoted context omitted.

> Developers need to start looking more seriously at C#/.Net. I don't think they need to. They might if they have some particular need in it, but there are way more interesting things to learn if you are interested in something new, like Rust of example.

Rust is neat. Great for hobby stuff. But it hasn't even reached 1.0, and I highly doubt you're going to get enterprises to bet their infrastructure on it.

For serious stuff that you need right now there is C++.

Re: Microsoft takes .NET open source and cross-platform

#600
post #297

Earlier quoted context omitted.

Probably because, A), it was an uncalled-for digression into language wars, and B), now that we're here anyways, a lot of us think the majority of features in scala and Haskell for that matter are fundamentally misguided. My goal is not to write elegant code, but to write the least complex code with the lowest cognitive overhead. TCO, 10x the man-hours in maintenance and all that. If the choice is between having to w…

A) I think C# is a great language actually, and Scala's success is probably due to Java's severe limitations. I just don't think someone working on Unix should be jealous of C# because there are great languages available here. B) Precisely, unlike Haskell, Scala doesn't force you to write "elegant code", you can even use variables. Purists will flame you for that, but sometimes it's the best way to write a small piec…

You can use variables in Haskell as well, no problem. It just forces you to stack your monad on IO, STM or some other mutable-value-supporting monad, of which there are several.

The only difference worth mentioning is that they type system won't allow "leaks".

Post reply on HN