Live data from Hacker News

Microsoft takes .NET open source and cross-platform

news.microsoft.com

911–920 of 937 posts

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

#911
post #846

Earlier quoted context omitted.

Actually that's the one thing that's driven me away from Clojure. I love the simplicity behind the language and it makes simple things actually simple - which isn't as trivial as it sounds. But once you start dealing with complex things in Clojure the language doesn't do much for you, if you can't fit your problem in to it's provided toolkit the code written will actually be horrible - for example go look at core.asy…

I think the nice thing is that you can start without types and add them later, staticlly or with dynamic checks. First I play around with data, once I know what I want I can write some schema annotation. You can activate validation for everything in development and then in productive only activate validation on your api endpoints. In a future version, you will probebly be able to generate core.typed stuff directly fr…

I think you misunderstood what I was trying to say - core.async has no type annotations, you cant even figure out what the protocols are supposed to do because there is no documentation and no types - you literally have to find places its used and reverse engineer protocol semantics. And the function I linked to is very hard to keep track of - a large part of that is inherent with synchronization/buffering logic being complex but the language does nothing to make the code simple or easy to read - I'd bet that function would be easier to understand in Java than in Clojure.

I've tried core.typed, it's amazing in theory but in practice it's unusable (at least for me) and nobody annotates their code anyway. If core.typed becomes more widespread in Clojure community I might actually give it a second chance, in the mean time I'm just going to use Kotlin for JVM, it has transparent Java interop and reduces the Java noise, and the tools (IDEA) is infinitely better than anything I've seen in Clojure land.

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

#912

Finally. Do you think this will significantly hurt the virtual machine industry?

My instinct is that people at MS are freaking out right now about Docker specifically. It's hard to say which decisions were "coaxed" into place with Bill Gates advising the new CEO, and which are attempts to strategically react to the negative mindshare of Azure against everything going Docker. First we have the "news" that MS is doing some mystery thing with Docker (which really must be a matter of semantics, becau…

> My instinct is that people at MS are freaking out right now about Docker specifically.

All, right, why would you say "freaking out" specifically? MS has a habit of adopting good ideas from elsewhere, and I don't think containerisation is any exception. Maybe they see not supporting it as a strategic weakness, but shoring up strategic weaknesses is business as usual for any large company, not "freaking out". Throwing chairs is freaking out.

We know that .Net is rolling out containerisation features in 2015, including but not limited to docker integration. Going all in on any tech is an odd way to "freak out about it".

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

#913

Earlier quoted context omitted.

I'd take a premature generalisation over a false dichotomy.

So if its not a dichotomy, what are the other options? If you want to avoid copy/paste, you have to use generalisation techniques.

Yes, and generalisation doesn't mean premature generalisation. It's very possible to just have a well-designed generalisation.

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

#914
post #788

Earlier quoted context omitted.

This is my impression too. I'm not terribly familiar with C#, and used to avoid anything from Microsoft like the plague, but a lot of stuff I hear about C# sounds like it's a bit ahead of Java. (Really, Java should be more like Groovy, if you ask me.) But the JVM platform is great, and I'm just not going to get locked into a MS ecosystem. But if MS opens up to the rest of the world, well, that changes things consider…

I think you're in a niche avoiding Microsoft technologies. It isn't so much as Microsoft opening up to the world (which is true to some extent) as embracing the smaller market shares of Linux + Mac OS. Windows market share is colossal, and C# is a big thing in Windows land, even more important than C++.

"Smaller market shares"? That depends entirely on how you limit your view. PC desktop, absolutely. But internet servers? Mobile? Those are places where Linux is huge, and Java is too. But the thing about Java is that it also works on Windows. And that's the great news here: you're not just stuck with Windows anymore if you use C#, and that makes it a lot more useful.

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

#915

Earlier quoted context omitted.

So if its not a dichotomy, what are the other options? If you want to avoid copy/paste, you have to use generalisation techniques.

Yes, and generalisation doesn't mean premature generalisation. It's very possible to just have a well-designed generalisation.

Well OK. But in a lot of cases I see badly designed over complex generalisations ("premature generalisation") because of a phobia of copy/paste. A bit of copy/paste is OK guys, seriously. Wait and see how it goes for a bit and then refactor the general case in later _if_ it seems worth it.

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

#916
post #754

Earlier quoted context omitted.

Correct. Though many languages don't encourage and as a result don't have nearly as many pure functions as Haskell code.

Point being, I/O doesn't square with that concept. For some reason, every time I point this out, I'm accused of not appreciating the beauty of pure functions. I love pure functions. Maybe they're not appreciating the ugly reality of I/O?

How much experience do you have composing I/O in Haskell to prove that I/O doesn't square with that concept? Others here have experience using Haskell with I/O, but you just seem to have a hypothesis without experience or examples to support it.

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

#917

Earlier quoted context omitted.

And you still haven't explained how Scala has a similar problem.

Scala keeps features for imperative and functional programming, which is one category too many, because they solve the same problem just different. Thats how Scala is supposed to work. Its impossible to remove an approach.

That's not even remotely related to the topic, isn't it?

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

#918
post #902

Earlier quoted context omitted.

> You didn't say what Resharper does, and why other IDE's need it to be called modern. Is this an advert for Resharper? It's clear what he meant for everyone who hasn't been living under the rock for the last 10 years. Don't blame him if you are clueless. > You listed one middling language among 6 top languages. Is this another advert, trying to promote a language by associating it with the oft used ones? Heh? It's a…

> IntelliJ IDEA runs everywhere and is a lot smarter than Visual Studio out of the box. The community edition is not only free of charge, but open-source as well. Perhaps he meant "automated code refactoring" but used a brand name instead. I've never knowingly used Resharper whenever I've used IDEA community edn, but perhaps it's been running anonymously beneath the surface. That's why I asked what it was. His whole…

Resharper is an add-on for Visual Studio, it doesn't exist as such in IntelliJ.

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

#919
post #818

Earlier quoted context omitted.

"with a toy lang, nobody(if sane) will hire you" C# is the "toy lang"? How old are you exactly?

I think he called Haskell that. Booo

Well, that's equally bad, just from another perspective.

As if the market demands and hirability is all that matters (and that said in a forum of hackers and entrepreneurs! Lots of which have actually businesses run on Haskell, Clojure, LISP and other "toy" languages)...

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

#920

Earlier quoted context omitted.

Scala keeps features for imperative and functional programming, which is one category too many, because they solve the same problem just different. Thats how Scala is supposed to work. Its impossible to remove an approach.

That's not even remotely related to the topic, isn't it?

Theoretically, everything is related to each other. Practically, no.
Post reply on HN