06 Jul
Posted by suresk as Technology, Enterprise Development, Websites, Scala, Lift
I’ve played around with Scala off and on for over a year now, and also looked at Lift once or twice during that time. After going to David Pollak’s session at JavaOne about Lift, I decided to buckle down and actually create something with Scala and Lift, as I usually learn new things best by trying to create something useful. Looking around, I noticed there weren’t any Scala-specific job sites and thought it might be nice to create one.
The site is here: ScalaCareers.com, and you can follow on Twitter for announcements of new jobs posted and other things @scalacareers
In my opinion, jobs for a new language are extremely important in helping it get to the next level of adoption. Scala is already pretty popular and Lift is gaining in popularity, so I hope we start to see a lot more jobs that involve Scala and Lift.
I’m going to be posting some short tutorials and other things related to my experience in the coming weeks, but I thought I would share a few quick, high-level thoughts.
1) Lift is a solid, production-ready framework. I was able to learn enough of it to build a functional, albeit small, web application over the 4th of July weekend. Despite using a snapshot of the 1.1 release, I didn’t run into any bugs or severely out-of-date documentation. I mention this because it has been a slight problem when I’ve been an early adopter of frameworks in the past.
2) The Lift community is incredibly friendly and helpful. Going back through several months of activity on the Google Group, they are generally accepting of criticism, quick to offer help, and even commit changes to the trunk quickly to help folks out. A good community is very important to newcomers to a new language or framework.
3) Using Lift requires a good knowledge of Scala to really be effective. Don’t get me wrong - learning Scala is well worth the effort - but it was a bit of a change for me, coming from Grails where I was able to sort of ease into it.
4) IDE support for Scala is still a little disappointing. Even though I love Groovy, I generally prefer static typed languages to dynamic typed ones, which is why I was interested in Scala in the first place. One of the big benefits of static typed languages is that you can theoretically get better IDE support. I shelled out a few hundred bucks for IntelliJ for this purpose, and while it was marginally better than the others, I still found lots of cases where auto-complete simply didn’t work and plenty more cases where it didn’t catch compile errors. It probably cost me a few hours on the project. A good IDE doesn’t make you a better developer, but it does make you faster :)
Overall, I think Scala and Lift have bright futures and are worth checking out.
7 Responses
Shaun
July 8th, 2009 at 10:21 am
1Did you run into the problem with the (scala community) Java Rebel license being expired as of July 1? I was a week into my own Lift project when I was broadsided by this. The one mention I found of it on Google groups indicated no immediate solution, so I scrapped Lift and restarted my project in Python. I’d like to give it another go, but am now a little gun shy about all the 3rd party dependencies the project relies on.
suresk
July 8th, 2009 at 10:34 am
2I didn’t run into the problem with JavaRebel, but there was a resolution for it pretty quickly:
http://bit.ly/11MH7U
JavaRebel is nice for reducing turnaround when developing Lift apps, but it certainly isn’t required - I didn’t use it at all. What other 3rd party dependencies did you run into?
Shaun
July 8th, 2009 at 10:43 am
3I wasn’t using JavaRebel either, but couldn’t even issue a mvn clean command with the license expired.
I really haven’t run into any issues with other dependencies, but worry about what else may be lurking in there. I’ve never really been a Maven fan to begin with and it seems you end up pulling down a lot of junk when using it. Its probably an unfounded concern, but I was none too happy about the JavaRebel thing.
suresk
July 8th, 2009 at 10:58 am
4Yeah, it probably wasn’t such a great idea to include javarebel support by default, and it looks like the latest version of the installer lets you choose whether or not to use JavaRebel.
On a side note - if you are concerned about project dependencies, one of the nice things about Maven is that it is really easy to see what dependencies your project has and where they come from. Doing:
mvn dependency:tree
should show you all dependencies for the project.
Elik
July 8th, 2009 at 4:26 pm
5Is the write-test cycle as good as it is in grails (or rails)? is there a need to restart the server upon every change?
Thanks
Eric
July 8th, 2009 at 6:30 pm
6Hi Spencer, a tip from Daniel Spiewak (via Twitter):
You should add the meta to allow browser detection of that RSS feed. For example: http://bit.ly/i3NmV.
Eric.
suresk
July 8th, 2009 at 8:02 pm
7@Elik - Sort of. Normally recompiling the code would require you to restart the server, but with JavaRebel (they offer a free license for use with Scala), you can redeploy code without restarting the server.
@Eric - Thanks!
RSS feed for comments on this post · TrackBack URI
Leave a reply
Categories
Archives
Links
Meta
Recent Entries
Recent Comments
Most Commented
SpencerUresk is proudly powered by WordPress - BloggingPro theme by: DesignDisease