[rules-dev] Scala

Michael Neale michael.neale at gmail.com
Tue Jan 13 05:20:44 EST 2009


well am just easing into it - don't want to shock anyone too much
(like Michael Rhoden said - could add a barrier to people
understanding the code).

but an isolated module, I am ok with (and I am trying to do more
things in isolated modules - have had enough with big coupled projects
!). Remember that scala just spits out a jar, with regular interfaces
to consume - so unless you need to mess in that dependency, you will
never see it.

Anyway, just thought people would be interested.

I have been doing things with spreadsheets. Scala allows me to do things like:

val cells = column.takeWhile(_.getContents != "WHEN")

Which allows me to slurp up the cells in a column until the first
value "WHEN" is found. That isn't that profound, but using that as a
basis allows you to do a lot of stuff very quickly without nested
loops and if statements (which on their own are simple, but adds up to
a mess when I just want to be declarative). Having written this code
before in java its much much harder work in java (and always making
silly off-by-one mistakes).

The main disappointing thing is the sorry state of the eclipse plugin
for scala - JDT sets such a high standard that we have come to take
for granted.



On Tue, Jan 13, 2009 at 8:40 PM, Michal Bali <michalbali at gmail.com> wrote:
> I like the idea of using Scala.
> And I am also looking forward to the fit-for-rules replacement! :)
>
> On Tue, Jan 13, 2009 at 5:55 AM, Michael Neale <michael.neale at gmail.com>
> wrote:
>>
>> Yes but then another format comes along ;)
>>
>>
>>
>> On Tue, Jan 13, 2009 at 4:34 PM, Michael Rhoden
>> <mrhoden at franklinamerican.com> wrote:
>> > While not just stay with Java? I don't understand the need to mix
>> > another
>> > language into codebase, which has little support compared to java. If
>> > it's
>> > just to make your efforts a little faster, I would argue you loose value
>> > in
>> > the project by having yet another aspect to the learning curve for every
>> > other developer.
>> >
>> > Betamax was better than VHS and laser disc was before it's time.
>> > Sometimes
>> > it pays to follow the masses, when you expect them to use your product
>> > ;)
>> >
>> >
>> > ----- Original Message -----
>> > From: "Michael Neale" <michael.neale at gmail.com>
>> > To: "Rules Dev List" <rules-dev at lists.jboss.org>
>> > Sent: Monday, January 12, 2009 6:41:42 PM GMT -06:00 US/Canada Central
>> > Subject: Re: [rules-dev] Scala
>> >
>> > Yeah netbeans is getting pretty decent scala support - improving all the
>> > time.
>> >
>> > people are using the eclipse one, so it is slowly getting better, its
>> > just that it is unstable that troubles me.
>> >
>> > yes, as Mark said, groovy is fine, but its quite a different language
>> > in semantics if not syntax. Whereas scala is probably more a 1 for 1
>> > replacement (although it can have a stepper learning curve in some
>> > areas) and a very fast powerful language (not that for this bit speed
>> > is too sensitive).
>> >
>> > Whilst initially there may not be automated refactorings, as it is a
>> > static language (you tend to never require reflection in it) it can
>> > cope with manual refactorings much better then java (as you get
>> > compile errors and warnings for any missed changes).
>> >
>> > Initially I am looking at it for a testing module that uses
>> > spreadsheets, so will see how that goes (its fairly isolated).
>> >
>> >
>> >
>> > On Mon, Jan 12, 2009 at 1:02 PM, Edson Tirelli <tirelli at post.com> wrote:
>> >>
>> >>    I like the functional aspect of scala and the way it promotes some
>> >> modeling good practices. The main worry is really, once we start
>> >> implementing things on it, to maintain that codebase, and for that
>> >> tooling
>> >> is paramount. So, if maven works well and IntelliJ can do some minimum
>> >> work
>> >> on refactories, I like the idea of an incremental inclusion of scala
>> >> components where they make sense.
>> >>
>> >>    []s
>> >>    Edson
>> >>
>> >> 2009/1/11 Michael Neale <michael.neale at gmail.com>
>> >>>
>> >>> Hey All. I have been looking into scala for sometime, and recently
>> >>> started using it for a testing tool (kind of a replacement for the
>> >>> "fit for rules" library).
>> >>> I have been quite impressed with it, the tool integration (with
>> >>> intelliJ) is outstanding, and it works nice with maven (even with
>> >>> mixed java source).
>> >>>
>> >>> Assuming this goes well, I am thinking of extending the usage of scala
>> >>> to the server side components of bits of guvnor (obviously the client
>> >>> is still GWT). Probably in a small way at first (I have found that
>> >>> common annoying bits of code in java can be much clearer in scala -
>> >>> examples to come !).
>> >>>
>> >>> I was interested in what people think about this? Does it make it
>> >>> harder for people to get into the code (I am not aiming to write the
>> >>> densest scala, just use it when approriate)?
>> >>>
>> >>> The main downsides I see are: Eclipse support - the plugin for eclipse
>> >>> for scala is not great at the moment (netbeans or intelliJ would be
>> >>> better), and general familiarity for people to read (although I
>> >>> personally think it would take anyone who reads this list minutes to
>> >>> learn enough to follow the simple things I would do).
>> >>>
>> >>> Thoughts? Objections?
>> >>>
>> >>> FAQ: Why scala? well its closer to java in intent then all other
>> >>> popular JVM languages (ie its static) and compiles down similarly to
>> >>> result in similar performance (better in some cases). I use "closures"
>> >>> a lot (thanks to GWT that got be in the habit) but the inner class way
>> >>> of doing it in java gets combersome.
>> >>>
>> >>> --
>> >>> Michael D Neale
>> >>> home: www.michaelneale.net
>> >>> blog: michaelneale.blogspot.com
>> >>> _______________________________________________
>> >>> rules-dev mailing list
>> >>> rules-dev at lists.jboss.org
>> >>> https://lists.jboss.org/mailman/listinfo/rules-dev
>> >>
>> >>
>> >>
>> >> --
>> >>  Edson Tirelli
>> >>  JBoss Drools Core Development
>> >>  JBoss, a division of Red Hat @ www.jboss.com
>> >>
>> >> _______________________________________________
>> >> rules-dev mailing list
>> >> rules-dev at lists.jboss.org
>> >> https://lists.jboss.org/mailman/listinfo/rules-dev
>> >>
>> >>
>> >
>> >
>> >
>> > --
>> > Michael D Neale
>> > home: www.michaelneale.net
>> > blog: michaelneale.blogspot.com
>> > _______________________________________________
>> > rules-dev mailing list
>> > rules-dev at lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/rules-dev
>> >
>> > _______________________________________________
>> > rules-dev mailing list
>> > rules-dev at lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/rules-dev
>> >
>> >
>>
>>
>>
>> --
>> Michael D Neale
>> home: www.michaelneale.net
>> blog: michaelneale.blogspot.com
>> _______________________________________________
>> rules-dev mailing list
>> rules-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-dev
>
>
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev
>
>



-- 
Michael D Neale
home: www.michaelneale.net
blog: michaelneale.blogspot.com



More information about the rules-dev mailing list