Live data from Hacker News

Microsoft takes .NET open source and cross-platform

news.microsoft.com

681–690 of 937 posts

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

#683
post #342

Earlier quoted context omitted.

I'm much less experienced with Haskell than with Scala, so I might be unfairly painting it with the same brush here. But, for example, https://www.haskell.org/tutorial/io.html . At the end of the day, this is a huge inner-framework anti-pattern over the same procedural syscalls that every other language handles procedurally. I shouldn't have to care what a monad is, and side effects? The whole point of I/O is side ef…

Clearly you have no idea what you're talking about. I suggest first learning the language before spreading FUD about it. Separation of pure and unpure components greatly simplifies the reasoning about the problem domain. Traditional imperative programs are often full of subtle bugs because calling a procedure can have arbitrary effect on your system. For example calling function with the same arguments can return dif…

"But in Haskell pure functions are guaranteed to have same result with same input." I'm pretty sure that same law applies to a pure function in any language, not just Haskell. #shitthatHNsays

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

#684

Earlier quoted context omitted.

Im curious, can you really get by without MS, Google and Apple? No LLVM based products for you? No Webkit? No CUPS? No V8? If you do use some of these projects, where's the difference from an Open Sourced .NET?

I get by without MS and Apple just fine (as I wrote elsewhere, I do still have an elderly Mac here that is sometimes used for compatibility testing but I don't even remember when I started it up last and it currently isn't even plugged in). As for Google, that's the hard one to avoid. Adsense/Adwords is easy, youtube is hard (plenty of video content is only available on youtube), google search is still better than du…

> Oh, and the Nvidia binary drivers for the graphics card in this box.

With NVIDIA drivers you probably have at least some LLVM compiled components (or will have, once their transition has been completed in future generations), but I give you that one. As a GPGPU developer for example, you probably soon can't get around LLVM anymore and I expect its influence to grow in the Linux world, as it has become the default choice to build new OSS compiler / language projects around.

I'm using DDG myself btw. - Google is the main one I'd like to get away from, but as you wrote it's very hard. At least DDG with "g!" prefix makes me anonymous to them.

What I still find very hard to replace is Skype and/or Hangout - I'm not aware of an OSS solution that works on all platforms and that I can easily set up with all kinds of peers (including non computer literate). Even Hangout is way too complicated, even for aged computer scientists I've found. And I'm really using all of it - VoIP, video conferencing, Skype-Out, screen sharing, messaging. This is the main thing I'd like to replace since we're handing out so much control to this tool.

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

#686

Earlier quoted context omitted.

Clearly you have no idea what you're talking about. I suggest first learning the language before spreading FUD about it. Separation of pure and unpure components greatly simplifies the reasoning about the problem domain. Traditional imperative programs are often full of subtle bugs because calling a procedure can have arbitrary effect on your system. For example calling function with the same arguments can return dif…

"But in Haskell pure functions are guaranteed to have same result with same input." I'm pretty sure that same law applies to a pure function in any language, not just Haskell. #shitthatHNsays

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

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

#688
post #656

Earlier quoted context omitted.

In my experience the "category theory" claim is imprecise but not unfounded. Without fairly serious abstract understanding of monads, functors, and applicatives (at a bare minimum), it is not possible to write Haskell code profitably. By that I mean that without such knowledge you should have just written something else. To make Haskell a serious advantage and not just a minor benefit (compared to, say, SML), you pro…

Yes, it is completely unfounded. You do not need to know anything about category theory, or even what it is. All you need to know about Monad is its interface. If you can handle java, you can handle haskell. All you need to understand with kinds is "its how many arguments a type takes". And that isn't category theory in the first place. Anyone can define an ADT. That's one of the first things I taught our PHP team, n…

As a PL enthusiast that likes to dabble in different paradigms and basically learns a programming language or two every other year by far the hardest language to wrap my head around has been Haskell.

There are a few reasons for this that get dismissed by the day to day practitioners. First, there is the cognitive rewiring required to think of everything as an inert expression. In Haskell there are no actions, just descriptions of actions that the runtime manages. I'm specifically talking about I/O and its monadic implementation. Second, learning about monads is not enough. When effects are encapsulated as monads you need to understand monad transformers to fruitfully combine effectful computations. This is by no means the best way to do things because there are also implementations of effectful computations with row types and extensible effects, e.g. PureScript, that requires a lot less cognitive overhead and is less error prone. Third, many of the high-powered libraries in the Haskell ecosystem are so heavily reliant on categorical constructs, e.g. free (co)monads, functors, applicatives, monoids, bifunctors, Kleisli categories, etc. that getting through all that thicket to be truly productive with the libraries instead of just copying and pasting requires a time investment that is of dubious value to many programmers and you're better off learning about security practices on OWASP because you are more likely to encounter a SQL injection than you are to encounter a Kleisli category of a monad.

I'm not saying knowing these things is not useful or won't make you a better programmer but to just demonstrate that there is indeed a cognitive overhead that might not be worth it. I like category theory as much as the next mathematician but programming with categorical constructs is not necessarily the most optimal way to do things when all I need is a screen scraper for an XML feed.

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

#689

Earlier quoted context omitted.

> I'm not sure what they've done to receive such hatred. Hatred? I simply decide not to buy into a certain company's products and services because I recall some misdeeds from the past and that's equal to hatred? As for what they have done, I thought Microsofts history was chronicled enough that it doesn't need repetition, especially not on a website for 'hackers'. But if you need pointers, you can go visit groklaw.ne…

I think some people just have moved on. Heck, a lot of people here were not in tech when Microsoft was doing bad stuff. Stacker: 20 years ago. IE Antitrust: 10 years ago. SCO: 10 years ago.

How many years ago was the Windows8 release?

Was that a scummy trick? Or just a dumb move?

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

#690
post #332

Earlier quoted context omitted.

Really? I think they are catching up fast on the mindshare front. Java is not cool anymore, it's grey and verbose, and I think C# has got nicer features. Also VS beats the pants off Eclipse any day.

Silicon Valley is all OSS/Java. ElasticSearch, Hadoop, Cassandra, HBase, HDFS (mixed with C). Newer infrastructure for big-data are either Java, Scala, Clojure (one or two tools). Some of the startups also use Java (not all). I rarely see C#. So yes, C# is not catching up yet. Sorry, Eclipse + Ecosystems (that include plugins/integrations and whatnot) = beats VS any day (with or without pants). And if you have money,…

.NET is big in enterprise too, not just desktop.
Post reply on HN