Message from discussion
At last, Scala in SA :)
Received: by 10.68.224.230 with SMTP id rf6mr1051366pbc.4.1330376102391;
Mon, 27 Feb 2012 12:55:02 -0800 (PST)
X-BeenThere: south-africa-scala-user-group@googlegroups.com
Received: by 10.68.222.37 with SMTP id qj5ls19054200pbc.9.gmail; Mon, 27 Feb
2012 12:55:02 -0800 (PST)
Received: by 10.68.132.69 with SMTP id os5mr5801399pbb.6.1330376102108;
Mon, 27 Feb 2012 12:55:02 -0800 (PST)
Received: by 10.68.132.69 with SMTP id os5mr5801397pbb.6.1330376102082;
Mon, 27 Feb 2012 12:55:02 -0800 (PST)
Return-Path: <mnets...@gmail.com>
Received: from mail-pz0-f46.google.com (mail-pz0-f46.google.com [209.85.210.46])
by gmr-mx.google.com with ESMTPS id e6si19464426pbt.1.2012.02.27.12.55.02
(version=TLSv1/SSLv3 cipher=OTHER);
Mon, 27 Feb 2012 12:55:02 -0800 (PST)
Received-SPF: pass (google.com: domain of mnets...@gmail.com designates 209.85.210.46 as permitted sender) client-ip=209.85.210.46;
Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of mnets...@gmail.com designates 209.85.210.46 as permitted sender) smtp.mail=mnets...@gmail.com; dkim=pass header...@gmail.com
Received: by mail-pz0-f46.google.com with SMTP id d14so1608367dae.5
for <south-africa-scala-user-group@googlegroups.com>; Mon, 27 Feb 2012 12:55:02 -0800 (PST)
Return-Path: <mnets...@gmail.com>
Received-SPF: pass (google.com: domain of mnets...@gmail.com designates 10.68.201.101 as permitted sender) client-ip=10.68.201.101;
Received: from mr.google.com ([10.68.201.101])
by 10.68.201.101 with SMTP id jz5mr45000942pbc.152.1330376102061 (num_hops = 1);
Mon, 27 Feb 2012 12:55:02 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=gamma;
h=mime-version:in-reply-to:references:date:message-id:subject:from:to
:content-type;
bh=824WLbEB0coohn1//ETYc8xYwIPyyeN8S47OPHEf9Oo=;
b=LdKClvLmgiYSNvafXLWedSWfjFKiMtE1EhuuXV8D5DDAprgRA+gjeYWS37ImqQlS3g
qr2RWYQGkf5bPTQvfEATKJIfQLvqH2Dc27VVd7j8iHulxNjiBTzHoODtUSE9KXOMbOzp
S2dHSwdrgjLtjASVPZOak2FdDXrkCzPkS5D6c=
MIME-Version: 1.0
Received: by 10.68.201.101 with SMTP id jz5mr38011019pbc.152.1330376101957;
Mon, 27 Feb 2012 12:55:01 -0800 (PST)
Received: by 10.68.48.198 with HTTP; Mon, 27 Feb 2012 12:55:01 -0800 (PST)
In-Reply-To: <14708632.2147.1330285313257.JavaMail.geo-discussion-forums@vbtb2>
References: <14708632.2147.1330285313257.JavaMail.geo-discussion-forums@vbtb2>
Date: Mon, 27 Feb 2012 22:55:01 +0200
Message-ID: <CAB4K4H_VzotdE9Cf-EcQ51NaQZPheZy1dOUZipu4yirS+8W...@mail.gmail.com>
Subject: Re: At last, Scala in SA :)
From: mnetship <mnets...@gmail.com>
To: south-africa-scala-user-group@googlegroups.com
Content-Type: multipart/alternative; boundary=047d7b15af7bf9905704b9f85210
--047d7b15af7bf9905704b9f85210
Content-Type: text/plain; charset=ISO-8859-1
Hi,
Welcome, it is true this list is very quite, but it's something we can
change.
Here is a list of resources that should get you started:
Scala Schools -> http://twitter.github.com/scala_school/
Programming in Scala (2nd Edition) Buy the book, you won't regret it.
http://www.artima.com/shop/programming_in_scala
Scala Introduction from a Java Perspective ->
http://www.youtube.com/watch?feature=player_embedded&v=PKc5IwHG68k
Hilarious intro to Scala -> http://www.youtube.com/watch?v=LH75sJAR0hc
I currently working on a fun project using Akka, SBT, ScalaTest and Scalaz,
I've ha.
Regarding your question:
Lift is a very mature Scala framework, but the community is moving towards
Play! framework, it's part of the Typesafe stack.
For a new endevour i'd recommend using Play! instead of Lift. It also plays
nicely with Akka (another Typesafe product).
I have used *Hibernate + Spring* within Scala, they tend to feel javaish
but they are still good for the job.
A couple of gotchas : your bean properties must have setters & hence be
vars. (you could use @BeanProperty for setters)
If you decide to use *Circumflex* tell me how it goes, i've never used it.
*Cake* is good if you want wiring during compile time. you may also want to
check *SUBCUT* (Cake on steroids) https://github.com/dickwall/subcut
*Scala Redis* (I've never used this).
In Summary, this is what i'd recommend
*Play!* Framework http://www.playframework.org/
*Akka* http://www.akka.io
*Hibernate + Spring*
*Scala Redis* (If you are using Redis, it makes sense)
*SBT* https://github.com/harrah/xsbt/wiki (similar to Maven, with more
scala power)
Hope this helps.
Kind Regards
Michael
*I see the fun in functional*
On Sun, Feb 26, 2012 at 9:41 PM, Cornel Masson <cornel.mas...@googlemail.com
> wrote:
> I asked this question<http://www.quora.com/Scala/Has-anyone-in-South-Africa-started-using-Scala-even-if-just-in-an-exploratory-way> quite
> some time ago on Quora, and was finally referred to this group today: for a
> while there I thought I was the only Scalar Saffer.
>
> I'm a Java architect/developer and have been using Java for > 10 yrs in
> enterprise computing, websites, database-driven commerce, etc. I want to
> retain the scalability & capability of Java, but dearly want to move to the
> beauty of the Scala language. I haven't programmed anything in Scala yet:
> would the following architecture make sense for a large system:
>
> - *Scala *as general language
> - *Lift *as web framework (AFAIK it also supports
> AJAX/HTML5/Javascript interfaces, as well as RESTful web services)
> - *Circumflex *for object/relational mapping (can it cope with
> complexity/performance tuning similar to Hibernate?)
> - *Cake *pattern for dependency injection (replacing use of a library
> like Spring)
> - *Akka *for remoting (if applications need to inter-communicate)
> - *Scala-Redis* interface if using *Redis *as centralised application
> cache
>
> Thanks!
>
> Cornel Masson
> Stellenbosch
>
--047d7b15af7bf9905704b9f85210
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Hi,<br><br>Welcome, it is true this list is very quite, but it's someth=
ing we can change.<br><br>Here is a list of resources that should get you s=
tarted:<br><br>Scala Schools -> <a href=3D"http://twitter.github.com/sca=
la_school/">http://twitter.github.com/scala_school/</a><br>
Programming in Scala (2nd Edition) Buy the book, you won't regret it. <=
a href=3D"http://www.artima.com/shop/programming_in_scala">http://www.artim=
a.com/shop/programming_in_scala</a><br><br>Scala Introduction from a Java P=
erspective ->=A0 <a href=3D"http://www.youtube.com/watch?feature=3Dplaye=
r_embedded&v=3DPKc5IwHG68k">http://www.youtube.com/watch?feature=3Dplay=
er_embedded&v=3DPKc5IwHG68k</a><br>
Hilarious intro to Scala -> <a href=3D"http://www.youtube.com/watch?v=3D=
LH75sJAR0hc">http://www.youtube.com/watch?v=3DLH75sJAR0hc</a><br><br>I curr=
ently working on a fun project using Akka, SBT, ScalaTest and Scalaz, I'=
;ve ha. <br>
<br>Regarding your question:<br>Lift is a very mature Scala framework, but =
the community is moving towards Play! framework, it's part of the Types=
afe stack. <br>For a new endevour i'd recommend using Play! instead of =
Lift. It also plays nicely with Akka (another Typesafe product).<br>
<br>I have used <b>Hibernate + Spring</b> within Scala, they tend to feel j=
avaish but they are still good for the job. <br>A couple of gotchas : your =
bean properties must have setters & hence be vars. (you could use @Bean=
Property for setters)<br>
If you decide to use <b>Circumflex</b> tell me how it goes, i've never =
used it.<br><br><b>Cake</b> is good if you want wiring during compile time.=
you may also want to check <b>SUBCUT</b> (Cake on steroids) <a href=3D"htt=
ps://github.com/dickwall/subcut">https://github.com/dickwall/subcut</a> <br=
>
<br><b>Scala Redis</b> (I've never used this).<br><br>In Summary, this =
is what i'd recommend<br><br><b>Play!</b> Framework <a href=3D"http://w=
ww.playframework.org/">http://www.playframework.org/</a><br><b>Akka</b> <a =
href=3D"http://www.akka.io">http://www.akka.io</a><br>
<b>Hibernate + Spring</b><br><b>Scala Redis</b> (If you are using Redis, it=
makes sense)<br><b>SBT</b> <a href=3D"https://github.com/harrah/xsbt/wiki"=
>https://github.com/harrah/xsbt/wiki</a> (similar to Maven, with more scala=
power)<br>
<br>Hope this helps.<br><br><br>Kind Regards<br>Michael<br><i>I see the fun=
in functional</i><br><br><div class=3D"gmail_quote">On Sun, Feb 26, 2012 a=
t 9:41 PM, Cornel Masson <span dir=3D"ltr"><<a href=3D"mailto:cornel.mas=
s...@googlemail.com">cornel.mas...@googlemail.com</a>></span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">I asked=A0<a href=3D"http://www.quora.com/Sc=
ala/Has-anyone-in-South-Africa-started-using-Scala-even-if-just-in-an-explo=
ratory-way" target=3D"_blank">this question</a>=A0quite some time ago on Qu=
ora, and was finally referred to this group today: for a while there I thou=
ght I was the only Scalar Saffer.=A0<div>
<br></div><div>I'm a Java architect/developer and have been using Java =
for > 10 yrs in enterprise computing, websites, database-driven commerce=
, etc. I want to retain the scalability & capability of Java, but dearl=
y want to move to the beauty of the Scala language. I haven't programme=
d anything in Scala yet: would the following architecture make sense for a =
large system:</div>
<div><ul><li><span style=3D"line-height:normal"><b>Scala </b>as general lan=
guage</span></li><li><span style=3D"line-height:normal"><b>Lift </b>as web =
framework (AFAIK it also supports AJAX/HTML5/Javascript interfaces, as well=
as RESTful web services)</span></li>
<li><span style=3D"line-height:normal"><b>Circumflex </b>for object/relatio=
nal mapping (can it cope with complexity/performance tuning similar to Hibe=
rnate?)</span></li><li><span style=3D"line-height:normal"><b>Cake </b>patte=
rn for dependency injection (replacing use of a library like Spring)</span>=
</li>
<li><span style=3D"line-height:normal"><b>Akka </b>for remoting (if applica=
tions need to inter-communicate)</span></li><li><span style=3D"line-height:=
normal"><b>Scala-Redis</b> interface if using <i>Redis </i>as centralised a=
pplication cache</span></li>
</ul><div>Thanks!</div></div><span class=3D"HOEnZb"><font color=3D"#888888"=
><div><br></div><div>Cornel Masson</div><div>Stellenbosch</div></font></spa=
n></blockquote></div><br>
--047d7b15af7bf9905704b9f85210--