Live data from Hacker News

Scala School

twitter.github.io

11–20 of 77 posts

Re: Scala School

#13

Starting out, it makes sense to just "write Java in Scala", and gradually introduce the advanced concepts of Scala as you learn them. That way, you can be immediately productive.

That way you can delude yourself into thinking you are productive, because you are writing code immediately. However, productivity is not to be measured by the number of lines of code; rather, by 1. the amount of actual functionality implemented, 2. the elegance of the design (which saves time refactoring later on).

Re: Scala School

#14
post #10
post #2

If you guys really into Scala, I really recommend trying Finagle ( https://github.com/twitter/finagle ). It was also created by Twitter. It was a lightweight HTTP server and client for Scala. It's my favorite. With just a "single" line of code, you can create an HTTP server in Scala. I usually combine it with Rogue ( https://github.com/foursquare/rogue ), an "ORM"-like for MongoDB. I used Finagle and Rogue to build a…

Finagle doesn't tend to be so well integrated with the rest of the ecosystem - IIRC there isn't even a scala 2.10 release out yet. I'd recommend spray ( http://spray.io ) if you want to do async http in scala. (That said, I do think the twitter scala style guide is very good: http://twitter.github.com/effectivescala )

Finagle and "util" both have 2.10 builds available.

As for bridging Twitter Future with (now) Scala Future, that should be coming soon, once the execution context stuff is squared away.

Re: Scala School

#15

Starting out, it makes sense to just "write Java in Scala", and gradually introduce the advanced concepts of Scala as you learn them. That way, you can be immediately productive.

That way you can delude yourself into thinking you are productive, because you are writing code immediately. However, productivity is not to be measured by the number of lines of code; rather, by 1. the amount of actual functionality implemented, 2. the elegance of the design (which saves time refactoring later on).

It's easy to forget the value of delivering functionality immediately. It's all too easy to spend a long time on an elegant design that doesn't actually serve business needs. I like to follow an agile approach where if something can't deliver value in 2 weeks then it's not worth doing (or, more likely, needs to be split into smaller pieces). That's plenty of time to learn enough Scala to be more productive than you were in Java, even though it will take months or years to learn the full language.

Re: Scala School

#16

Few other great learning resources for Scala: - a "JSFiddle" like editor for Scala: http://scalakata.com - Interactive tours: http://scalatutorials.com/tour , http://www.scala-tour.com , http://www.simplyscala.com - Learn Scala in X minutes: http://learnxinyminutes.com/docs/scala/ - Typesafe Activator: http://www.typesafe.com/activator - Official docs of course: http://docs.scala-lang.org/

I would also like to add:

- To manage dependency, use SBT (http://www.scala-sbt.org/).

- For IDE, I recommend Scala IDE (http://scala-ide.org/).

Re: Scala School

#17
post #2

If you guys really into Scala, I really recommend trying Finagle ( https://github.com/twitter/finagle ). It was also created by Twitter. It was a lightweight HTTP server and client for Scala. It's my favorite. With just a "single" line of code, you can create an HTTP server in Scala. I usually combine it with Rogue ( https://github.com/foursquare/rogue ), an "ORM"-like for MongoDB. I used Finagle and Rogue to build a…

As someone getting into scala, where can I find the list of top available libs? For clojure I just browsed github, but I feel there probably is some resource out there I'm missing.

What I love about Scala is that all (most, if not all) libraries built in Java can also be used. This includes those awesome apache libraries.

For Scala written libraries, here's a link to Github page: https://github.com/trending?l=scala

Re: Scala School

#18

Starting out, it makes sense to just "write Java in Scala", and gradually introduce the advanced concepts of Scala as you learn them. That way, you can be immediately productive.

That way you can delude yourself into thinking you are productive, because you are writing code immediately. However, productivity is not to be measured by the number of lines of code; rather, by 1. the amount of actual functionality implemented, 2. the elegance of the design (which saves time refactoring later on).

...and the only way you learn how to write more elegant code is to start writing code...

Re: Scala School

#20
post #2

If you guys really into Scala, I really recommend trying Finagle ( https://github.com/twitter/finagle ). It was also created by Twitter. It was a lightweight HTTP server and client for Scala. It's my favorite. With just a "single" line of code, you can create an HTTP server in Scala. I usually combine it with Rogue ( https://github.com/foursquare/rogue ), an "ORM"-like for MongoDB. I used Finagle and Rogue to build a…

How do Rogue and Casbah stack up against each other?
Post reply on HN