Live data from Hacker News

Scala – 1 Star – Would Not Program Again

overwatering.org

251–260 of 324 posts

Re: Scala – 1 Star – Would Not Program Again

#251
I am seeing just too much criticism for Scala and the coherent theme seems to be - "I didn't take time to understand the language well and then my pride got hurt as I couldn't understand it's constructs. So Scala is shit and too complex."

I am not from CS background, but I took time to learn it and by far it's THE most natural and expressive language I have found AND I don't even know what functional programming and the theory is, all I know I learned through Scala.

Please guys, let's not project our laziness as a fault of Scala.

Re: Scala – 1 Star – Would Not Program Again

#252
They say that for a successful c++ project you need to first define which parts of the language you're not allowed to use. For Scala projects it's even more so. And you can only hope that all the libraries you'll be using provide some sane method names that map to all the insane operators they invented to do the same thing.

Re: Scala – 1 Star – Would Not Program Again

#253
post #249
post #228

Earlier quoted context omitted.

That was not my experience with Scala. Every library we used had its own DSL and that made the code really hard to read. Maybe things are different now, but I'll bet that was a lot of people's first experience with Scala. It's what turned me off to the language, even though I did like using the standard Scala library quite a bit. Edit: It was two years ago so other than Lift and some SQL DSL I don't recall which libr…

My "favorite" part of Scala was half a dosen DB libraries each re-implementing SQL as a DSL.

C# does that too. It's called LINQ and it's very popular.

Re: Scala – 1 Star – Would Not Program Again

#254
post #14

I've been using Scala just to learn Play framework (I know I could use Java but I thought I'd be adventurous). I think in truth, though, if there were a web framework in Clojure as well received as Play I would be bounding down that path instead. Clojure seems to be where a lot of the JVM interested is heading yet we're not there yet for some reason.

This space for Clojure is changing rapidly. The prevailing approach to web dev in Clojure has been to assemble the (already available) libraries that you need into an application. For some, that's sufficient. Others likely need more structure.

The Luminus micro-framework (http://www.luminusweb.net/) is a great choice providing a starting structure around existing libraries. Caribou (http://let-caribou.in/) is a more full-featured framework for building web apps. Pedestal (http://pedestal.io/) provides heavy-duty tools for creating data-heavy single-page apps.

And there's a new book on the way about Clojure web dev http://pragprog.com/book/dswdcloj/web-development-with-cloju....

Re: Scala – 1 Star – Would Not Program Again

#256
post #252

They say that for a successful c++ project you need to first define which parts of the language you're not allowed to use. For Scala projects it's even more so. And you can only hope that all the libraries you'll be using provide some sane method names that map to all the insane operators they invented to do the same thing.

To this point, I've heard "Scala is the C++ of Java."

Re: Scala – 1 Star – Would Not Program Again

#257
post #249

Earlier quoted context omitted.

My "favorite" part of Scala was half a dosen DB libraries each re-implementing SQL as a DSL.

C# does that too. It's called LINQ and it's very popular.

Are there a number of slightly different and incomplete variants of LINQ, like there are SQL DSLs in Scala? Because if not, then LINQ is "the right way" of doing this kind of thing. And if I remember correctly, LINQ is also useful outside of the DB domain, for things like filtering arrays and so forth.

I once read an article about how Java programmers can hold a conversation on the topic of upsides and downsides of multiple dependency injection containers while C# programmers only have one available and have nothing to say on this topic. That article concluded that having one "good enough" solution can often be better than having multiple slightly different and incomplete ones, even if each has its own strenghts, and I'd say the same is true when it comes to the C# LINQ vs. Scala SQL DSLs.

Re: Scala – 1 Star – Would Not Program Again

#258
post #18

Earlier quoted context omitted.

I think it may be but I came to the Java ecosystem to escape RoR.... it seems we should be able to do better than emulating Rails minus the existing gem community, no? I have much more faith in the JVM but would like to see it provide a step beyond Rails rather than catching up. Play is nice because it is trying to accomplish this with Akka, though yes I see there are other issues. As mentioned in another comment, I'…

Clojure doesn't tend to do frameworks on the scale of Rails; all the components exist, but the price for your application only including the parts you use is that you're more or less expected to write the glue code between them. Think Sinatra instead of Rails.

i suspected this may be more the case, thank you for confirming. and this has made me nervous, since i don't find sinatra to be all that powerful.

buuuut as retrogradeorbit points out.... the clojure macro system is powerful, so maybe it lends itself better to this type of setup

Re: Scala – 1 Star – Would Not Program Again

#259

Overall this is a very weak and one-sided blog post. Even a simple search would have answered his questions about why Scala doesn't use Hindley Milner type inference: http://www.scala-lang.org/old/node/4654 How this post got voted up to the front page really makes me wonder. "Clojure programmer gives Scala 1 star", what next "Ruby programmer gives Python 1 star"?

get over it weakling

Re: Scala – 1 Star – Would Not Program Again

#260
post #257

Earlier quoted context omitted.

C# does that too. It's called LINQ and it's very popular.

Are there a number of slightly different and incomplete variants of LINQ, like there are SQL DSLs in Scala? Because if not, then LINQ is "the right way" of doing this kind of thing. And if I remember correctly, LINQ is also useful outside of the DB domain, for things like filtering arrays and so forth. I once read an article about how Java programmers can hold a conversation on the topic of upsides and downsides of m…

C# has various options (see: http://stackoverflow.com/questions/671231/linq-nhibernate-al...)

The Scala equivalent is called Slick, and it's the only SQL DSL that approaching anything near widespread use. I fail to see how incomplete projects on GitHub which happen to be written in Scala are relevent to this discussion.

Post reply on HN