Live data from Hacker News

Brand new Scala-lang.org

scala-lang.org

41–50 of 131 posts

Re: Brand new Scala-lang.org

#41
post #16

I recently installed Scala. I'm a PHP Dev, who plays around with Clojure on the side, but wants to be converted into the static typing camp. I also wanted to keep things functional (hence my love of Clojure, and my PHP code keeps things as immutable as possible), but also have a language that is usable if I were to go and get another programming job. Scala seemed a perfect fit. Until I looked at job boards for Brisba…

>but then Play as a framework looked very heavy for my usage.

The terms "lightweight" and "heavyweight" and variants get thrown around alot describing frameworks, but can mean different things to different people:

- size of framework codebase

- size of app codebase

- amount of code it takes to accomplish common tasks

- memory footprint

- deployment system

- learning curve

- feature list (barebones vs kitchen sink)

etc etc. If you could elaborate a little on what heavy and lightweight you're referring to, the Lift/Play/Scalatra/etc experts might be able to better address that.

Re: Brand new Scala-lang.org

#42

The sbt site ( http://www.scala-sbt.org/ )is still impenetrable to anyone trying to understand wtf it does in under 15 minutes. (Why do I need this? How is it different than the scala compiler? Is it a package management system? Is it a REPL?)

The first words of the website: "sbt is a build tool". I couldn't understand not grasping the benefits/differences of sbt in comparison to other build tools, especially if you're new to the JVM world, but I don't think the website leaves any doubt to what it is.

Build tool is a very broad category though. It could be improved by drawing a comparison, such as "sbt is a build tool, like make/bundler/whatever in scala"

Part of the problem is probably that sbt is basically every build tool combined into one.

Re: Brand new Scala-lang.org

#43
post #28

Earlier quoted context omitted.

"There's almost no excuse not to use Scala if you're deploying on the JVM. " There is one incredibly good reason - possibly the most important reason. How easy is it to find a Scala developer if you need to expand your team compared to a Java developer? I'd put it the other way around: what excuse do you have for spending more per developer? (There are some excuses here, but they're far from clear cut.) In addition,…

I guess it depends on your team. We didn't have much trouble with Java guys picking up Scala very quickly. Scala performance is on par with Java if you keep your wits about you, but you do have to be mindful of the code you write. Scala collections (esp. maps, doubly so for immutable.Map, but also mutable.Map) are (currently) slower than the standard Java collections, but it's easy to use an implicit conversion wrapp…

If map performance is really an issue for you, you should look into using the parallel collections. For maps with less than 10k entries, I'm unable to see any difference between the immutable/mutable and ju.HashMap collections. For maps with >100k entries, it makes sense to farm out your iterating to multiple threads.

Re: Brand new Scala-lang.org

#44

The sbt site ( http://www.scala-sbt.org/ )is still impenetrable to anyone trying to understand wtf it does in under 15 minutes. (Why do I need this? How is it different than the scala compiler? Is it a package management system? Is it a REPL?)

[deleted]

Re: Brand new Scala-lang.org

#46
post #16

I recently installed Scala. I'm a PHP Dev, who plays around with Clojure on the side, but wants to be converted into the static typing camp. I also wanted to keep things functional (hence my love of Clojure, and my PHP code keeps things as immutable as possible), but also have a language that is usable if I were to go and get another programming job. Scala seemed a perfect fit. Until I looked at job boards for Brisba…

>but then Play as a framework looked very heavy for my usage. The terms "lightweight" and "heavyweight" and variants get thrown around alot describing frameworks, but can mean different things to different people: - size of framework codebase - size of app codebase - amount of code it takes to accomplish common tasks - memory footprint - deployment system - learning curve - feature list (barebones vs kitchen sink) et…

In my testing, I evaluated Play 2 (right on release), and Grails 2 (Groovy is nice).

My thing is, Play seemed to do literally everything. I think it would be brilliant if I knew Scala well, but my problem is I dont even know Java! Ill use that as a segue: I had the same issue with Groovy/Grails -- great framework, nice language, but my lack of Java experience hasn't.made things as productive as I expected based on the hype I've seen.

Play simply seemed like I was learning Play, not Scala. I felt the same way when using Rails, which I never took too. The only larger more fully featured framework I've used and enjoyed is Symfony2, and that is solely due to my expertise in PHP.

I hope that helps explain what I meant. What should I do?

Re: Brand new Scala-lang.org

#48
post #2

Nice to see the language page be as easy on the eyes as the language itself. There's almost no excuse not to use Scala if you're deploying on the JVM. On a related note, does anyone else see the Scala logo and confuse it for a symbol representing databases or hard disks? It just doesn't click with me

> There's almost no excuse not to use Scala if you're deploying on the JVM

- Poor tool support (refactoring regularly broken on both IDEA and Eclipse).

- Terrible backward compatibility story (want to use CoolLibrary v1.0, which was compiled with Scala 2.9 and you're using Scala 2.10? You're out of luck, you need the library to be compiled with the same version of the compiler).

- Very slow compilations, and getting worse at each version.

- The language is big (as big as C++) to the point where you must agree with your team on which subset to use.

- It's so big that nobody can agree on which idioms actually to stick to: pure immutability? Functional style? OO only? Use scalaz or not?

Shall I go on?

I like Scala, I use it every day on personal projects but putting it in production at work would be a terrible decision right now.

Re: Brand new Scala-lang.org

#49
post #28

Earlier quoted context omitted.

"There's almost no excuse not to use Scala if you're deploying on the JVM. " There is one incredibly good reason - possibly the most important reason. How easy is it to find a Scala developer if you need to expand your team compared to a Java developer? I'd put it the other way around: what excuse do you have for spending more per developer? (There are some excuses here, but they're far from clear cut.) In addition,…

Do companies actually restrict themselves to people who already have experience in a certain language when hiring? I've never encountered this practice. It is fairly hard to find a good developer, but once you find one you can tell him or her to write Scala or Java or OCaml or whatever you like.

Recruiter here, and unfortunately many companies still won't look at people without having specific language experience (and often a specific amount of language experience). I find this has traditionally been more true in the Java world, where I've had clients ask for x years of Java and > n years of a specific framework.

I spent most of my 15 years working almost exclusively with Java shops that were often this specific. In working with Ruby, Python and Scala/Clojure shops over the past couple years, I find they are much less concerned with which languages you know today. I'm not sure if this is a function of a programming culture in these shops, or if it has more to do with the huge amount of Java developers available and the perception of more limited number of available talent in some other languages (do Python shops hire non-Python programmers because they 'have to'?).

Re: Brand new Scala-lang.org

#50
post #28

Earlier quoted context omitted.

"There's almost no excuse not to use Scala if you're deploying on the JVM. " There is one incredibly good reason - possibly the most important reason. How easy is it to find a Scala developer if you need to expand your team compared to a Java developer? I'd put it the other way around: what excuse do you have for spending more per developer? (There are some excuses here, but they're far from clear cut.) In addition,…

Someone had this argument (can't find the link) - for every ace Java developer out there you have hundreds of companies with a relevant position to compete over her / him. For a Scala developer position, you are competing with less companies, so you might as well be able to fill the Scala developer position faster than the Java one. Regarding speed, I don't mind about the runtime speed as much as compile speed, runti…

As a recruiter, I think I'd have an easier time filling a Scala position because the demand for Scala jobs (primarily among those with little professional experience) has outstripped supply in the past couple years. If I post a Scala or Clojure job, I will get applicants from across the country. My Java job postings don't get nearly that much attention on a national level, because they are more common. People generally don't have to move for a Java position, but many are willing to move for a Scala/Clojure job.
Post reply on HN