Tag Archives: Scala

Scala training from Escalate Software coming to Ann Arbor in May

Bill Venners, co-author of Programming in Scala 2nd Edition, and Dick Wall, Scala aficionado and podcaster extraordinare, will be coming to Ann Arbor from May 23-27 to teach their intensive hands-on Scala course.  You can attend the beginner course (3 days) or the advance course (2 days) or both.  You don’t need to be a functional programming guru to attend.  The assumption is that you have had exposure to one or more object-oriented languages.  C# or Java experience might be helpful but is not required.

Bill and Dick have previously taught this class in the Bay Area, but this is the first time that they will offer it outside of that region.   I’m thrilled that they have chosen Ann Arbor for the class!

You can get more information about the workshop on the registration page. The page includes recommendations from previous attendees as well as travel information for the Ann Arbor class.  Registration is now live.  Early bird pricing goes through March 22.

I know that I’m looking forward to the course.  I hope that you will join us!

CodeMash Recap: Scala Koans Precompiler

Was it just last year that I attended Joe O’Brien’s Ruby Koans precompiler at CodeMash?  Koans are little exercises, designed to provide tidbits of knowledge that when bundled together provide an in-depth understanding.  What an awesome way to learn a programming language!

Last year at CodeMash (January 2010), Dick Wall and a few other people got together to work on koans for other languages.  This year, there was some interest in a Scala precompiler.  Since Dick wasn’t able to make the precompiler, I started looking for folks to help.  I hosted “Six Weeks of Scala” at the SRT offices in October and November, and many koans were written there, with the help of several attendees (notably Jeff Hoover).  Nilanjan Raychaudhuri and Daniel Hinojosa, both selected as CodeMash speakers, agreed to pitch in as well.

The idea of koans is that the student has to make only a very small, seemingly insignificant change to make each koan work.  By crafting koans around language features, students gain focused knowledge around the individual features.  The Ruby Koans set the bar REALLY high.  The EdgeCase folks have made their koans fun, even amusing.  Those who have done either set will agree with the inside joke that the Scala koans are still on their journey toward the path to enlightenment.

On the other hand, the koans were well-received.  We had a half-day precompiler session and we seemed able to keep 20 or 30 people amused and interested.  Many others tweeted after the fact that they too were doing the Scala Koans.  The best compliment we could have ever gotten was the guy who came up to me afterward and said that our koans had changed his opinion of Scala.  That he had thought he hated the language, but that he know thinks it’s “not that bad”.  He said that was quite a change in his thinking.  I’ll attribute it to his open mind, and the mantra of CodeMash, which is “Free Your Mind”.

If you want to try the koans, they currently live in 2 places.  We’ll ultimately consolidate them with the Functional Koans on GitHub, but for now you can find the “solutions set” at https://bitbucket.org/dickwall/scala-koans and the student exercises at https://bitbucket.org/dmarsh/scalakoansexercises.

The Ruby Koans have a script that generate the exercises from the working solutions set, but we’re not there yet.

To run the koans, you just need a JDK (1.6+).  We provided the precompiler attendees with sbt and a script that packaged everything that they needed to get started.

Just run:

sbt

~test-quick org.functionalkoans.forscala.PathToEnlightenment

From that point on, you will be able to edit the Scala files and make appropriate changes to get the tests to work. sbt will run the tests when you make changes.  Scroll back through the messages to the first error and make the change to fix the error.

The wiki includes a list of changes that we’re working on, as well as instructions of how to run the koans.

Enjoy!

4 More Weeks of Six Weeks of Scala

There are still 4 weeks left of our Six Weeks of Scala series.  There’s still plenty of time to join in, particularly since this has been organized as independent sessions to allow people to come and go, as it fits their schedules.

We will meet at SRT Solutions on Monday evenings (11/1, 11/8, 11/15, and 11/22), sometime after 5 pm (most people seem to be arriving at around 6), and work on Scala for about 2-2.5 hrs.  The first few weeks, we worked on a variety of things, getting used to the language.  We played around with collections in the first week, and pattern matching & functional decomposition of problems last week.

On Monday, November 1, we are going to start working with the Scala Koans, modeled after the Ruby Koans.  We’ll be working with Dick Wall’s fork of the Koans, and hopefully contributing to them.  Please join us.

SRT Solutions is at 206 S. Fifth Ave., Suite 200 in Ann Arbor.  This is at the intersection of Washington and Fifth Avenue.  The entrance is from Fifth Avenue.  Metered parking is free in Ann Arbor after 6 pm, so if you can find a space, feed the meter til 6.   Alternatively, the closest parking structure is at Fourth Avenue and Washington.

Get your Scala on …

Is Scala too hard for the average developer, or just right?  Make your own assessment over the next 6 weeks, at Six Weeks of Scala or attend my talk at 1DevDay on Saturday where this will be the topic of discussion.

Tonight, we’re kicking off the “Six Weeks of Scala” at SRT.  Starting at 5 pm, we’ll be gathering to do some coding on Scala.  Everyone is welcome.  If you’re a newbie (or not yet committed to Scala development), the Scala interpreter is a simple way to get started with the language.  If you want to do some test-driven development, you might prefer to come with an IDE and plugin installed.  We’ll self-organize into groups based on goals for our six weeks.  You don’t need to commit to all six weeks.  Just come when you can (free and open to all).

On Saturday, the organizers of 1DevDay have invited me to talk about Scala.  Here’s the abstract for my talk:

Scala: Too Hard for the Average Developer?

Scala has gotten a lot of press in the past few years.  Some people love it for its support of functional programming.  Others think it’s a completely awesome replacement for Java.  But others think it’s way too complex for the average developer.  Let’s put it all out there.  In this talk, we’ll look at the syntax together and decide what there is to love and what there is to hate.

By the end of this talk, you will have enough exposure to the language to make up your own mind about Scala. We’ll leave it up to you to decide if you’re an average developer or not!

I’m scheduled to speak from 10:15-11:15. Dennis Burton, also from SRT Solutions, is speaking on MongoDB at the same time.  I’m also looking forward to finally meeting Matt Stine, of the Memphis Java User Group and No Fluff Just Stuff, who is speaking on Polyglot OSGi and Grails/YUI.  Nilanjan Raychaudhuri is speaking on Play, a Scala/Java Web Framework, Gordon Dickens is talking about Spring Roo and Joel Hawkins is talking about Hadoop.  If that’s not enough to interest you, Chris Judd of the Cleveland Java User Group is talking about Beginning iOS development, and Nayan Hajratwala is running a full day Code Retreat.  Saturday should be a fun day indeed!

Six Weeks of Scala delayed start until Monday, October 18

Our family has been sick this week, and I’m the latest to come down with a fever.  So, we’ll get started with “Six Weeks of Scala” next Monday, October 18.  I’m sorry for any inconvenience!

We will hold the informal “Six Weeks of Scala” at SRT Solutions, 206 S. Fifth Ave., Suite 200, Ann Arbor. We’ll get started at around 5 pm and go until around 7 pm.  Everyone who wants to learn or share what they’ve learned about Scala is welcome.  Please join us whether you can make it only 1 week or all 6.

Free and open to the public.

More information on Six Weeks of Scala

I mentioned earlier this week that SRT will be hosting “Six Weeks of Scala”, starting on Monday, October 11, from 5-7 pm.  This will be a loosely structured event, designed so that people who want to write some code in Scala have a supportive, collaborative environment.  Come once or come weekly: we’ll be here, and you are welcome.  This event is free and open to the public.

I’ve been getting a lot of questions about what to install prior to the first session.  My comments about coming with an IDE were targeted toward those who want to write Scala in a test-driven way.  But one of the great things about Scala is that you can learn a lot in a low-friction way, by working in the interactive shell.  So, particularly if you are new to Scala, this is a great way to start.  Simply install Scala 2.8 (sometime BEFORE Monday at SRT so that you don’t take down our internet) and get started.

If you want to use an IDE, you have several choices: NetBeans, IntelliJ’s IDEA, and Eclipse.  Each of these have Scala plugins.  I’ve been using NetBeans lately, but a lot of people who came to the Scala Code Retreat a few weeks ago were happily using Eclipse.  One guy had IDEA.  Choose your favorite, or wait to see what others are using and why they like them.

We haven’t identified a single goal of what we want to build.  Certainly, groups may form who would like to do that.  Others may just want to experiment.  Please don’t feel that you have to commit to the entire 6 weeks in order to participate.  This is not a structured class that makes that necessary.

Six Weeks of Scala: Join us starting next Monday

The Scala Code Retreat, held at SRT Solutions on September 25 was a lot of fun and quite interesting.  So I decided to extend the invitation over the next 6 weeks to see if people would be interested in stopping by after work on Mondays, from 5-7 to write some Scala code.  We’ll probably spend some time on the Scala Koans, perhaps do some more exploring with the Game Of Life (as we did in the Code Retreat), and mainly just get used to the language.

Folks can work independently, but it may be fun to pair.   Given the short amount of time available, please come with an IDE installed on your laptop.  While you may get some help with configuration, the plan is for this to be mainly a coding get-together.

So, join us starting next Monday, October 11 from 5-7 pm.  We’ll continue to get together for 6 consecutive Mondays.  This won’t be a training session, nor is anyone required to show up every week.  This is about enjoying our time with this language, and with one another.  Join us when you can.

SRT’s address is 206 S. Fifth Avenue, Suite 200 in Ann Arbor.  That’s at the corner of Fifth Avenue, and Washington, half a block north of Liberty.  Entrance is from Fifth Avenue.

Scala Code Retreat on Saturday, September 25 at SRT

Please join us in Ann Arbor at SRT Solutions, 206 S. Fifth Avenue, Suite 200, for a Scala Code Retreat this Saturday, September 25 from 9 am – 5 pm.  The format is well defined, here: http://coderetreat.com/how-it-works.html.

Basically, we’ll be working together on the same problem.  Novice and advanced Scala developers are welcome.  There will be no IDE wars (we’ll all just use vi … OK, I’m joking).

In any case, SRT is sponsoring a continental breakfast, and lunch is on your own.  There’s no cost to attend.

To register, go to http://coderetreat.ning.com/events/scala-code-retreat-ann-arbor

Scala now or JDK 8 (much) later

If you were waiting for the JDK 7 release in preference to Scala for things like lambdas, parts of Project Coin (small language changes), or Jigsaw (modularized JDK), your wait is over.  That’s over as in not gonna happen til the middle of 2012.

Maybe that’s too long.  Maybe you’re curious about what Scala can do now.  If you are, the Ann Arbor Scala Code Retreat is happening at a good time.  Join us on Saturday, September 25.  We’ll be at SRT Solutions, 206 S. Fifth Ave., Suite 200, from 9-5.  That’s at the corner of Fifth Avenue and Washington in downtown Ann Arbor.  Everyone is welcome: novice to advanced.  This won’t be a tutorial; it will be an active coding session.

It’s time to look at Scala

If you haven’t already considered Scala, it’s time.

Scala 2.8 is at Release Candidate 6. With impressive features including named and default arguments and a redesigned collections library (and many more), and several choices for IDE’s, it’s time to make the move from Java.

I’m working on a new project in Scala.  We’ll be using 2.8, and I’m looking forward to it immensely.

See Also