Earlier quoted context omitted.
Exactly: Enrollment is Closed We are sorry, but the enrollment for Functional Programming Principles in Scala is currently closed. We will inform you via email when new Coursera classes are launched, so stay tuned for more. Meanwhile, check out some of our other classes here! The Coursera Team
"Enrollment is Closed We are sorry" Yeah me too. Coursera = MCOC = Massively Closed Offline Course. Imagine wikipedia only allowing people to view the "Scala" page between the hours of 7:30 and 8:30 on alternate tuesdays, otherwise you're outta luck, for completely arbitrary reason. Very unimpressed with the MOOC trend. Bring back MIT OCW where I can download and watch video lectures whenever I want, forever.
Hello Haskell, Goodbye Scala
81–90 of 118 posts
Re: Hello Haskell, Goodbye Scala
#82Anybody here has developed and deployed a Scala-based or/and Haskell-based project for production? I mean systems for business purpose where rubber meets the road with timeline to hit and budget to meet. Far too often the stories are shared by people who learned a new language for 3 months and implemented a pet system where only a few real users. Definitely I respect their zeal and curiosity, but I am more interested…
Haskell has relatively simple syntax and coherent semantics (being unencumbered by a 'foreign' VM eco-system, such as the JVM). As such, it is somewhat easier to get into. But to quote Gerry Sussman (co-author of SICP and Scheme), 'Haskell is the most advanced of the obsolete languages'. It gets deep pretty fast. You don't learn Haskell, so much as get initiated into it. It's an ongoing process. This can be said of Scala as well. Neither are particularly small languages when you consider their entire respective eco-systems.
In general, if you are already competent in a mainstream, dynamic language, and want to get your feet wet in functional language concepts, diving into Haskell is not a bad idea; but you are not likely to stick with it. I would recommend Clojure for such people. However, if you are already a Java programmer (and don't completely hate it), then the transition to Scala will be tough, but somewhat gradual. It is designed to be. But I would also say that the Scala world (not so much the language itself) is easier to grok if you know Haskell to at least an intermediate level. I think it is worth the time to learn Haskell and build something useful with it. It does not need to precede learning Scala, however.
Re: Hello Haskell, Goodbye Scala
#83Earlier quoted context omitted.
Sometimes you need side-effects. The world is far from pure. I think Common Lisp gives you exactly the tools you need and gets out of your way. Dynamic variables (a very specific term in CL) are simply awesome . You need side-effects when you're dealing with I/O -- sockets, files, shells, etc. I prefer languages that make it as painless as possible when I need it. Purity, IMO, is over-rated. You can write pure FP cod…
> Dynamic variables (a very specific term in CL) are simply awesome. I may be wrong but I think the name is rather common outside CL too (assuming you refer to "variables with dynamic scope rather than lexical"). E.g. as we are talking of scala http://www.scala-lang.org/api/current/scala/util/DynamicVari...
Re: Hello Haskell, Goodbye Scala
#84Earlier quoted context omitted.
>It's still bad and cabal is still bad. No, it isn't. You have the exact same problems with CPAN and everyone and even the most devoted perl-haters will admit "perl is a terrible language, but CPAN is amazing". You run into the exact same problems with every other language, the only difference being dynamic languages tend to be lazy about correctly managing version numbers, so you get "installs properly but completel…
>You have the exact same problems with CPAN I don't use Perl and that's a crock anyway. I've used Leiningen on Clojure, easy_install/pip on Python and the Golang stack happily with no trouble. I don't like XML or Java, but you'd have a hard time arguing Maven "doesn't work". It's what Leiningen is built upon anyway. Rubygems, rbenv, and bundler aren't perfect but they do largely work for everybody in the Ruby communi…
And yet scala people will tell you sbt is totally fine and has no problems. Just as you pretend pip has no problems, and go has no problems, despite it being trivial to get package conflict errors in both of those.
>Cut the tu quoque bullshit, not everybody has a crappy ecosystem
No, not everybody does. You just pretend a couple do because you have an irrational dislike for those particular cases, while ignoring the fact that they are actually equally good to the languages you do like.
>Stop denying there isn't a problem. I'm far from the first person to mention the Haskell ecosystem need works.
True. And because the haskell community is tolerant to a fault, they humour trolls like you, and try to find ways to make a perfect packaging system. But the reality of course is that all the packaging systems are 95% identical, and the 5% isn't making a difference.
>My REAL isn't ghc-pkg and cabal, but rather that I keep running into crazed partisans like you that won't admit there's a problem. You're the problem.
Yes, obviously I broke your packages and made you troll haskell articles like a petulant child. I had nearly forgotten about doing that, I am quite sorry. To make it up to you, I'll let you give an actual, real example of a problem cabal presents that doesn't happen with python. Ready? Go!
Re: Hello Haskell, Goodbye Scala
#85Earlier quoted context omitted.
Yeah, those tricky monoids. So hard to learn, and even harder to use a library based on them. You have a whole whopping one function to learn, that does some incredibly convoluted and arcane nonsense called "appending"? What a horrible language. You should definitely devote more time to complaining about ridiculous strawmen like this, it seems like a very good use of time.
I shouldn't have to learn what parser combinators are to just rip a few things out of a tree of XML.
Re: Hello Haskell, Goodbye Scala
#86Earlier quoted context omitted.
I know of a few strong mostly Haskell places in NYC alone. Likewise I'm actually bootstrapping a biz where I've spent most of the past year building the tech where some of the things I'm doing are only tractable to build by using Haskell.
> I know of a few strong mostly Haskell places in NYC alone. Hedge funds? Or something else?
Theres at least 2 not finance enterprise focused haskell shops in NYC that are currently profitable and growing, theres at least 1-2 other places that have a smidge of haskell here and there.
Oh, and theres my place, Wellposed, which is pre launch but for the first product, only Haskell is used, and if it works out, the # of (partially) haskell shops will increase quite nicely :)
Re: Hello Haskell, Goodbye Scala
#87If anyone wants an introduction to functional programming using Scala, I really recommend Martin Odersky's coursera course ( https://class.coursera.org/progfun-2012-001/class ). He restricts you to functional Scala; there isn't a mutated variable in the whole course. It isn't officially a course right now. You won't get a certificate for taking it, and I don't think the grader is turned on, but the other materials ar…
> In my mind, the really mind altering thing was seeing
> not just that Object Oriented and Functional
> programming styles could be compatible, but that they
> were in many ways complementary.
I recently had this same a-ha moment listening to Gary Bernhardt (destroyallsoftware.com) talk about the functional core with an imperative shell.In screencast #81 (Nov '12), he starts with code that looks like what most people would write if we wanted to write a script that compiles every .markdown file in the current directory to .html. It's an imperative loop that File.reads each path, compiles the file, determines the new filename, and File.writes the result.
Then he refactors away everything except the file I/O into a Page class with immutable methods. In other words, the only mutation that goes on in the end is in that loop (where it can't be avoided). And the result is a Page class that is effortless to test.
Something immediately snapped when I saw that even though it seems so obvious in retrospect. The boundaries of responsibilities in a system became incredibly apparent.
I don't know quite where it happened, but between Martin Odersky's course and idly watching Bernhardt's screencasts, I gained like 10 levels.
Re: Hello Haskell, Goodbye Scala
#88Earlier quoted context omitted.
Exactly: Enrollment is Closed We are sorry, but the enrollment for Functional Programming Principles in Scala is currently closed. We will inform you via email when new Coursera classes are launched, so stay tuned for more. Meanwhile, check out some of our other classes here! The Coursera Team
"Enrollment is Closed We are sorry" Yeah me too. Coursera = MCOC = Massively Closed Offline Course. Imagine wikipedia only allowing people to view the "Scala" page between the hours of 7:30 and 8:30 on alternate tuesdays, otherwise you're outta luck, for completely arbitrary reason. Very unimpressed with the MOOC trend. Bring back MIT OCW where I can download and watch video lectures whenever I want, forever.
[1] http://help.coursera.org/customer/portal/articles/572218-can...
Re: Hello Haskell, Goodbye Scala
#89Earlier quoted context omitted.
"Enrollment is Closed We are sorry" Yeah me too. Coursera = MCOC = Massively Closed Offline Course. Imagine wikipedia only allowing people to view the "Scala" page between the hours of 7:30 and 8:30 on alternate tuesdays, otherwise you're outta luck, for completely arbitrary reason. Very unimpressed with the MOOC trend. Bring back MIT OCW where I can download and watch video lectures whenever I want, forever.
When did they take that down? Thankfully I got the material for the course I was working through downloaded. Why would they do that?
Re: Hello Haskell, Goodbye Scala
#90Earlier quoted context omitted.
I am not saying cabal is perfect, but the situation has dramatically improved since the prevention of spurious reinstalls. It also seems that hackage uploaders are playing nicer these days, and I just generally get far less breakage. Lots of work is being done on Haskell's package system to make it better. I've been using Haskell for 5 years. It used to be very painful. It is only rarely painful these days.
It's rarely painful these days because you've spent 5 years learning it.
They are also going to allow multiple installations of the same package version with differing dependencies very soon, which will help alleviate some of the final problems still there with cabal.
I do think that it is not my relatively smooth experience that is the anomaly, but your unsmooth recent experience. Perhaps your installation was somehow borked? Perhaps you were trying to install new packages using a very old "cabal-install" that still had long-fixed issues?
If you just install the newest Haskell Platform and run "cabal install cabal-install" that does work on Linux. For Windows, IIRC, you also need to install cygwin/mingw (well-documented) and then it is a smooth install as well. I don't know about OS X but it is generally smoother than Windows.
Can you describe in more detail the actual problem you encountered?