great overview of the recent Scala criticism. I have no Scala experience, but I was following Scala many years. Scala is a great modern language, but I wouldn't choose it for industrial JVM-based project, unless it becomes mainstream (read Typesafe acquired by Oracle). This language is too complex to be successfully supported by a small entity. Most of my programming carrier I was a C++ developer and I know, that at large companies people don't use C++, but a strict small subset of C++ (i.e. no multiple inheritance, no template meta-programming, use specific kind of exceptions, etc.). Even if Scala will succeed, what people will use is "castrated Scala". I see no point in developed complex language if in the end people will use only subset of it. From this point Scala remind a language designed by a committee.
I see Clojure as much safer choice for the JVM. No complex syntax to learn and aso built on solid foundation of LISP family of languages. Off-course unlike Scala it's a dynamic language and might look much more exotic than Scala for corporate decision makers.
BTW: the only high profile open source project in Scala I know is Kestrel (webframeworks do not count, unless they something like Rails or Django). The reason I invested in Clojure is because of excellent project named Storm, which is something like "Hadoop for Realtime Processing").
On Mon, Dec 26, 2011 at 8:28 PM, Shai Berger <s...@platonix.com> wrote: > On 26/12/2011, 19:26, Yardena Meymann wrote: > > I don't really have industrial experience with Scala, I only used it for > > research, but I'm going to try and judge it applying the common sense > > earned by many years in the industry.
> > Regarding Stephen's blog-post,
> The most serious criticism raised lately at Scala was not Stephen's -- his > posts paint his position as more emotional than rational -- but the one > from > Yammer's Coda Hale [0]. And indeed, the most pertinent of his points have > very > little to do with Scala-the-language, and everything to do with using > Scala in > an industrial setting.
> I'll repeat, for reference and brevity, summaries of these points:
> 1) Lacking standards for good or idiomatic code (searching online got them > to > a "best practice" of ignoring the community);
> 2) Mild hostility towards non-Scala-specific build tools (culminating in > removal of scalac's incremental compilation feature, rather than fixing its > bugs) -- and SBT, like all wheel reinventions, doesn't solve well many of > the > problems that have been solved well in Ant and Maven;
> 3) No backward compatibility between major versions, leading to a > fragmented > ecosystem;
> 4) A steep learning curve -- you can, as advertised, start by just writing > "Java with less boilerplate", but the code written that way is "funky" > (Coda's > word), and experienced Scala developers see it as a maintenance problem > (this, > to some extent, contradicts point 1, but it is easily possible not to > agree on > the best practices while still agreeing on bad ones);
> 5) Last and, in most settings, least: The current implementation of some > key > features -- notably closures, collections and accessors -- carries a > significant performance overhead.
> According to Coda Hale, these (mostly) made Yammer decide to go from Scala > back to Java. Which I find a little jarring (pun unintended). I would love > to > see some refutations of these points, or any other comments you may have.
> --------------------------------------------------------------------------- -------------------------- > You received this message because you are subscribed to the Google > Groups "sayeret-lambda" group. > To post to this group, send email to sayeret-lambda@googlegroups.com > To unsubscribe from this group, send email to > sayeret-lambda+unsubscribe@googlegroups.com
On Mon, Dec 26, 2011 at 8:58 PM, Zvi Avraham <zvi.avra...@gmail.com> wrote: > Shai,
> great overview of the recent Scala criticism. > I have no Scala experience, but I was following Scala many years. > Scala is a great modern language, but I wouldn't choose it for industrial > JVM-based project, unless it becomes mainstream (read Typesafe acquired by > Oracle). This language is too complex to be successfully supported by a > small entity. > Most of my programming carrier I was a C++ developer and I know, that at > large companies people don't use C++, but a strict small subset of C++ > (i.e. no multiple inheritance, no template meta-programming, use specific > kind of exceptions, etc.). > Even if Scala will succeed, what people will use is "castrated Scala". I > see no point in developed complex language if in the end people will use > only subset of it. From this point Scala remind a language designed by a > committee.
> I see Clojure as much safer choice for the JVM. No complex syntax to learn > and aso built on solid foundation of LISP family of languages. Off-course > unlike Scala it's a dynamic language and might look much more exotic than > Scala for corporate decision makers.
> BTW: the only high profile open source project in Scala I know is Kestrel > (webframeworks do not count, unless they something like Rails or Django). > The reason I invested in Clojure is because of excellent project named > Storm, which is something like "Hadoop for Realtime Processing").
> Zvi
> On Mon, Dec 26, 2011 at 8:28 PM, Shai Berger <s...@platonix.com> wrote:
>> On 26/12/2011, 19:26, Yardena Meymann wrote: >> > I don't really have industrial experience with Scala, I only used it for >> > research, but I'm going to try and judge it applying the common sense >> > earned by many years in the industry.
>> > Regarding Stephen's blog-post,
>> The most serious criticism raised lately at Scala was not Stephen's -- his >> posts paint his position as more emotional than rational -- but the one >> from >> Yammer's Coda Hale [0]. And indeed, the most pertinent of his points have >> very >> little to do with Scala-the-language, and everything to do with using >> Scala in >> an industrial setting.
>> I'll repeat, for reference and brevity, summaries of these points:
>> 1) Lacking standards for good or idiomatic code (searching online got >> them to >> a "best practice" of ignoring the community);
>> 2) Mild hostility towards non-Scala-specific build tools (culminating in >> removal of scalac's incremental compilation feature, rather than fixing >> its >> bugs) -- and SBT, like all wheel reinventions, doesn't solve well many of >> the >> problems that have been solved well in Ant and Maven;
>> 3) No backward compatibility between major versions, leading to a >> fragmented >> ecosystem;
>> 4) A steep learning curve -- you can, as advertised, start by just writing >> "Java with less boilerplate", but the code written that way is "funky" >> (Coda's >> word), and experienced Scala developers see it as a maintenance problem >> (this, >> to some extent, contradicts point 1, but it is easily possible not to >> agree on >> the best practices while still agreeing on bad ones);
>> 5) Last and, in most settings, least: The current implementation of some >> key >> features -- notably closures, collections and accessors -- carries a >> significant performance overhead.
>> According to Coda Hale, these (mostly) made Yammer decide to go from Scala >> back to Java. Which I find a little jarring (pun unintended). I would >> love to >> see some refutations of these points, or any other comments you may have.
>> --------------------------------------------------------------------------- -------------------------- >> You received this message because you are subscribed to the Google >> Groups "sayeret-lambda" group. >> To post to this group, send email to sayeret-lambda@googlegroups.com >> To unsubscribe from this group, send email to >> sayeret-lambda+unsubscribe@googlegroups.com
> --
> --------------------------------------------------------------------------- -------------------------- > You received this message because you are subscribed to the Google > Groups "sayeret-lambda" group. > To post to this group, send email to sayeret-lambda@googlegroups.com > To unsubscribe from this group, send email to > sayeret-lambda+unsubscribe@googlegroups.com
great overview of the recent Scala criticism.
I have no Scala experience, but I was following Scala
many years.
Scala is a great modern language, but I wouldn't choose
it for industrial JVM-based project, unless it becomes
mainstream (read Typesafe acquired by Oracle). This
language is too complex to be successfully supported by
a small entity.
Most of my programming carrier I was a C++ developer and
I know, that at large companies people don't use C++,
but a strict small subset of C++ (i.e. no multiple
inheritance, no template meta-programming, use specific
kind of exceptions, etc.).
Even if Scala will succeed, what people will use is
"castrated Scala". I see no point in developed complex
language if in the end people will use only subset of
it. From this point Scala remind a language designed by
a committee.
I see Clojure as much safer choice for the JVM. No
complex syntax to learn and aso built on solid
foundation of LISP family of languages. Off-course
unlike Scala it's a dynamic language and might look much
more exotic than Scala for corporate decision makers.
BTW: the only high profile open source project in Scala
I know is Kestrel (webframeworks do not count, unless
they something like Rails or Django).
The reason I invested in Clojure is because of excellent
project named Storm, which is something like "Hadoop for
Realtime Processing").
Zvi
On Mon, Dec 26, 2011 at
8:28 PM, Shai Berger <shai@platonix.com>
wrote:
On 26/12/2011, 19:26, Yardena Meymann
wrote:
> I don't really have industrial experience
with Scala, I only used it for
> research, but I'm going to try and judge
it applying the common sense
> earned by many years in the industry.
>
> Regarding Stephen's blog-post,
The most serious criticism raised lately at
Scala was not Stephen's -- his
posts paint his position as more emotional than
rational -- but the one from
Yammer's Coda Hale [0]. And indeed, the most
pertinent of his points have very
little to do with Scala-the-language, and
everything to do with using Scala in
an industrial setting.
I'll repeat, for reference and brevity,
summaries of these points:
1) Lacking standards for good or idiomatic code
(searching online got them to
a "best practice" of ignoring the community);
2) Mild hostility towards non-Scala-specific
build tools (culminating in
removal of scalac's incremental compilation
feature, rather than fixing its
bugs) -- and SBT, like all wheel reinventions,
doesn't solve well many of the
problems that have been solved well in Ant and
Maven;
3) No backward compatibility between major
versions, leading to a fragmented
ecosystem;
4) A steep learning curve -- you can, as
advertised, start by just writing
"Java with less boilerplate", but the code
written that way is "funky" (Coda's
word), and experienced Scala developers see it
as a maintenance problem (this,
to some extent, contradicts point 1, but it is
easily possible not to agree on
the best practices while still agreeing on bad
ones);
5) Last and, in most settings, least: The
current implementation of some key
features -- notably closures, collections and
accessors -- carries a
significant performance overhead.
According to Coda Hale, these (mostly) made
Yammer decide to go from Scala
back to Java. Which I find a little jarring (pun
unintended). I would love to
see some refutations of these points, or any
other comments you may have.
--
-----------------------------------------------------------------------------------------------------
You received this message because you are
subscribed to the Google
Groups "sayeret-lambda" group.
To post to this group, send email to sayeret-lambda@googlegroups.com
To unsubscribe from this group, send email
to sayeret-lambda+unsubscribe@googlegroups.com
--
-----------------------------------------------------------------------------------------------------
You received this message because you are subscribed
to the Google
Groups "sayeret-lambda" group.
To post to this group, send email to
On Mon, Dec 26, 2011 at 9:19 PM, Ittay Dror <ittay.d...@gmail.com> wrote: > Lift is more complex than Rails, but a lift application will perform much > better than Rails.
> If you want to compare, I'd look at Play!
> Ittay
> Bill Burdick wrote:
> Lift compares quite well to Rails, from what I've heard.
> Bill
> On Mon, Dec 26, 2011 at 8:58 PM, Zvi Avraham <zvi.avra...@gmail.com>wrote:
>> Shai,
>> great overview of the recent Scala criticism. >> I have no Scala experience, but I was following Scala many years. >> Scala is a great modern language, but I wouldn't choose it for industrial >> JVM-based project, unless it becomes mainstream (read Typesafe acquired by >> Oracle). This language is too complex to be successfully supported by a >> small entity. >> Most of my programming carrier I was a C++ developer and I know, that at >> large companies people don't use C++, but a strict small subset of C++ >> (i.e. no multiple inheritance, no template meta-programming, use specific >> kind of exceptions, etc.). >> Even if Scala will succeed, what people will use is "castrated Scala". I >> see no point in developed complex language if in the end people will use >> only subset of it. From this point Scala remind a language designed by a >> committee.
>> I see Clojure as much safer choice for the JVM. No complex syntax to >> learn and aso built on solid foundation of LISP family of languages. >> Off-course unlike Scala it's a dynamic language and might look much more >> exotic than Scala for corporate decision makers.
>> BTW: the only high profile open source project in Scala I know is Kestrel >> (webframeworks do not count, unless they something like Rails or Django). >> The reason I invested in Clojure is because of excellent project named >> Storm, which is something like "Hadoop for Realtime Processing").
>> Zvi
>> On Mon, Dec 26, 2011 at 8:28 PM, Shai Berger <s...@platonix.com> wrote:
>>> On 26/12/2011, 19:26, Yardena Meymann wrote: >>> > I don't really have industrial experience with Scala, I only used it >>> for >>> > research, but I'm going to try and judge it applying the common sense >>> > earned by many years in the industry.
>>> > Regarding Stephen's blog-post,
>>> The most serious criticism raised lately at Scala was not Stephen's -- >>> his >>> posts paint his position as more emotional than rational -- but the one >>> from >>> Yammer's Coda Hale [0]. And indeed, the most pertinent of his points >>> have very >>> little to do with Scala-the-language, and everything to do with using >>> Scala in >>> an industrial setting.
>>> I'll repeat, for reference and brevity, summaries of these points:
>>> 1) Lacking standards for good or idiomatic code (searching online got >>> them to >>> a "best practice" of ignoring the community);
>>> 2) Mild hostility towards non-Scala-specific build tools (culminating in >>> removal of scalac's incremental compilation feature, rather than fixing >>> its >>> bugs) -- and SBT, like all wheel reinventions, doesn't solve well many >>> of the >>> problems that have been solved well in Ant and Maven;
>>> 3) No backward compatibility between major versions, leading to a >>> fragmented >>> ecosystem;
>>> 4) A steep learning curve -- you can, as advertised, start by just >>> writing >>> "Java with less boilerplate", but the code written that way is "funky" >>> (Coda's >>> word), and experienced Scala developers see it as a maintenance problem >>> (this, >>> to some extent, contradicts point 1, but it is easily possible not to >>> agree on >>> the best practices while still agreeing on bad ones);
>>> 5) Last and, in most settings, least: The current implementation of some >>> key >>> features -- notably closures, collections and accessors -- carries a >>> significant performance overhead.
>>> According to Coda Hale, these (mostly) made Yammer decide to go from >>> Scala >>> back to Java. Which I find a little jarring (pun unintended). I would >>> love to >>> see some refutations of these points, or any other comments you may have.
>>> --------------------------------------------------------------------------- -------------------------- >>> You received this message because you are subscribed to the Google >>> Groups "sayeret-lambda" group. >>> To post to this group, send email to sayeret-lambda@googlegroups.com >>> To unsubscribe from this group, send email to >>> sayeret-lambda+unsubscribe@googlegroups.com
>> --
>> --------------------------------------------------------------------------- -------------------------- >> You received this message because you are subscribed to the Google >> Groups "sayeret-lambda" group. >> To post to this group, send email to sayeret-lambda@googlegroups.com >> To unsubscribe from this group, send email to >> sayeret-lambda+unsubscribe@googlegroups.com
> --
> --------------------------------------------------------------------------- -------------------------- > You received this message because you are subscribed to the Google > Groups "sayeret-lambda" group. > To post to this group, send email to sayeret-lambda@googlegroups.com > To unsubscribe from this group, send email to > sayeret-lambda+unsubscribe@googlegroups.com
> --
> --------------------------------------------------------------------------- -------------------------- > You received this message because you are subscribed to the Google > Groups "sayeret-lambda" group. > To post to this group, send email to sayeret-lambda@googlegroups.com > To unsubscribe from this group, send email to > sayeret-lambda+unsubscribe@googlegroups.com
Agree, Play is more Rails like. I'm working on a scala on play project for a while now and aside of some issues I have with anorm (hope they would get fixed at play2), I really like it. My friends at 4sq say that most of their new engineers are new to scala, lift and git. Of them all, lift is the #1 complexity and scalability issue.
On Dec 26, 2011, at 11:19 AM, Ittay Dror <ittay.d...@gmail.com> wrote:
> Lift is more complex than Rails, but a lift application will perform much better than Rails.
> If you want to compare, I'd look at Play!
> Ittay
> Bill Burdick wrote:
>> Lift compares quite well to Rails, from what I've heard.
>> Bill
>> On Mon, Dec 26, 2011 at 8:58 PM, Zvi Avraham <zvi.avra...@gmail.com> wrote: >> Shai,
>> great overview of the recent Scala criticism. >> I have no Scala experience, but I was following Scala many years. >> Scala is a great modern language, but I wouldn't choose it for industrial JVM-based project, unless it becomes mainstream (read Typesafe acquired by Oracle). This language is too complex to be successfully supported by a small entity. >> Most of my programming carrier I was a C++ developer and I know, that at large companies people don't use C++, but a strict small subset of C++ (i.e. no multiple inheritance, no template meta-programming, use specific kind of exceptions, etc.). >> Even if Scala will succeed, what people will use is "castrated Scala". I see no point in developed complex language if in the end people will use only subset of it. From this point Scala remind a language designed by a committee.
>> I see Clojure as much safer choice for the JVM. No complex syntax to learn and aso built on solid foundation of LISP family of languages. Off-course unlike Scala it's a dynamic language and might look much more exotic than Scala for corporate decision makers.
>> BTW: the only high profile open source project in Scala I know is Kestrel (webframeworks do not count, unless they something like Rails or Django). >> The reason I invested in Clojure is because of excellent project named Storm, which is something like "Hadoop for Realtime Processing").
>> Zvi
>> On Mon, Dec 26, 2011 at 8:28 PM, Shai Berger <s...@platonix.com> wrote: >> On 26/12/2011, 19:26, Yardena Meymann wrote: >> > I don't really have industrial experience with Scala, I only used it for >> > research, but I'm going to try and judge it applying the common sense >> > earned by many years in the industry.
>> > Regarding Stephen's blog-post,
>> The most serious criticism raised lately at Scala was not Stephen's -- his >> posts paint his position as more emotional than rational -- but the one from >> Yammer's Coda Hale [0]. And indeed, the most pertinent of his points have very >> little to do with Scala-the-language, and everything to do with using Scala in >> an industrial setting.
>> I'll repeat, for reference and brevity, summaries of these points:
>> 1) Lacking standards for good or idiomatic code (searching online got them to >> a "best practice" of ignoring the community);
>> 2) Mild hostility towards non-Scala-specific build tools (culminating in >> removal of scalac's incremental compilation feature, rather than fixing its >> bugs) -- and SBT, like all wheel reinventions, doesn't solve well many of the >> problems that have been solved well in Ant and Maven;
>> 3) No backward compatibility between major versions, leading to a fragmented >> ecosystem;
>> 4) A steep learning curve -- you can, as advertised, start by just writing >> "Java with less boilerplate", but the code written that way is "funky" (Coda's >> word), and experienced Scala developers see it as a maintenance problem (this, >> to some extent, contradicts point 1, but it is easily possible not to agree on >> the best practices while still agreeing on bad ones);
>> 5) Last and, in most settings, least: The current implementation of some key >> features -- notably closures, collections and accessors -- carries a >> significant performance overhead.
>> According to Coda Hale, these (mostly) made Yammer decide to go from Scala >> back to Java. Which I find a little jarring (pun unintended). I would love to >> see some refutations of these points, or any other comments you may have.
>> -- >> --------------------------------------------------------------------------- -------------------------- >> You received this message because you are subscribed to the Google >> Groups "sayeret-lambda" group. >> To post to this group, send email to sayeret-lambda@googlegroups.com >> To unsubscribe from this group, send email to >> sayeret-lambda+unsubscribe@googlegroups.com
>> -- >> --------------------------------------------------------------------------- -------------------------- >> You received this message because you are subscribed to the Google >> Groups "sayeret-lambda" group. >> To post to this group, send email to sayeret-lambda@googlegroups.com >> To unsubscribe from this group, send email to >> sayeret-lambda+unsubscribe@googlegroups.com
>> -- >> --------------------------------------------------------------------------- -------------------------- >> You received this message because you are subscribed to the Google >> Groups "sayeret-lambda" group. >> To post to this group, send email to sayeret-lambda@googlegroups.com >> To unsubscribe from this group, send email to >> sayeret-lambda+unsubscribe@googlegroups.com > -- > --------------------------------------------------------------------------- -------------------------- > You received this message because you are subscribed to the Google > Groups "sayeret-lambda" group. > To post to this group, send email to sayeret-lambda@googlegroups.com > To unsubscribe from this group, send email to > sayeret-lambda+unsubscribe@googlegroups.com
> On Mon, Dec 26, 2011 at 9:19 PM, Ittay Dror <ittay.d...@gmail.com> wrote: > Lift is more complex than Rails, but a lift application will perform much better than Rails.
> If you want to compare, I'd look at Play!
> Ittay
> Bill Burdick wrote:
>> Lift compares quite well to Rails, from what I've heard.
>> Bill
>> On Mon, Dec 26, 2011 at 8:58 PM, Zvi Avraham <zvi.avra...@gmail.com> wrote: >> Shai,
>> great overview of the recent Scala criticism. >> I have no Scala experience, but I was following Scala many years. >> Scala is a great modern language, but I wouldn't choose it for industrial JVM-based project, unless it becomes mainstream (read Typesafe acquired by Oracle). This language is too complex to be successfully supported by a small entity. >> Most of my programming carrier I was a C++ developer and I know, that at large companies people don't use C++, but a strict small subset of C++ (i.e. no multiple inheritance, no template meta-programming, use specific kind of exceptions, etc.). >> Even if Scala will succeed, what people will use is "castrated Scala". I see no point in developed complex language if in the end people will use only subset of it. From this point Scala remind a language designed by a committee.
>> I see Clojure as much safer choice for the JVM. No complex syntax to learn and aso built on solid foundation of LISP family of languages. Off-course unlike Scala it's a dynamic language and might look much more exotic than Scala for corporate decision makers.
>> BTW: the only high profile open source project in Scala I know is Kestrel (webframeworks do not count, unless they something like Rails or Django). >> The reason I invested in Clojure is because of excellent project named Storm, which is something like "Hadoop for Realtime Processing").
>> Zvi
>> On Mon, Dec 26, 2011 at 8:28 PM, Shai Berger <s...@platonix.com> wrote: >> On 26/12/2011, 19:26, Yardena Meymann wrote: >> > I don't really have industrial experience with Scala, I only used it for >> > research, but I'm going to try and judge it applying the common sense >> > earned by many years in the industry.
>> > Regarding Stephen's blog-post,
>> The most serious criticism raised lately at Scala was not Stephen's -- his >> posts paint his position as more emotional than rational -- but the one from >> Yammer's Coda Hale [0]. And indeed, the most pertinent of his points have very >> little to do with Scala-the-language, and everything to do with using Scala in >> an industrial setting.
>> I'll repeat, for reference and brevity, summaries of these points:
>> 1) Lacking standards for good or idiomatic code (searching online got them to >> a "best practice" of ignoring the community);
>> 2) Mild hostility towards non-Scala-specific build tools (culminating in >> removal of scalac's incremental compilation feature, rather than fixing its >> bugs) -- and SBT, like all wheel reinventions, doesn't solve well many of the >> problems that have been solved well in Ant and Maven;
>> 3) No backward compatibility between major versions, leading to a fragmented >> ecosystem;
>> 4) A steep learning curve -- you can, as advertised, start by just writing >> "Java with less boilerplate", but the code written that way is "funky" (Coda's >> word), and experienced Scala developers see it as a maintenance problem (this, >> to some extent, contradicts point 1, but it is easily possible not to agree on >> the best practices while still agreeing on bad ones);
>> 5) Last and, in most settings, least: The current implementation of some key >> features -- notably closures, collections and accessors -- carries a >> significant performance overhead.
>> According to Coda Hale, these (mostly) made Yammer decide to go from Scala >> back to Java. Which I find a little jarring (pun unintended). I would love to >> see some refutations of these points, or any other comments you may have.
>> -- >> --------------------------------------------------------------------------- -------------------------- >> You received this message because you are subscribed to the Google >> Groups "sayeret-lambda" group. >> To post to this group, send email to sayeret-lambda@googlegroups.com >> To unsubscribe from this group, send email to >> sayeret-lambda+unsubscribe@googlegroups.com
>> -- >> --------------------------------------------------------------------------- -------------------------- >> You received this message because you are subscribed to the Google >> Groups "sayeret-lambda" group. >> To post to this group, send email to sayeret-lambda@googlegroups.com >> To unsubscribe from this group, send email to >> sayeret-lambda+unsubscribe@googlegroups.com
>> -- >> --------------------------------------------------------------------------- -------------------------- >> You received this message because you are subscribed to the Google >> Groups "sayeret-lambda" group. >> To post to this group, send email to sayeret-lambda@googlegroups.com >> To unsubscribe from this group, send email to >> sayeret-lambda+unsubscribe@googlegroups.com
> -- > --------------------------------------------------------------------------- -------------------------- > You received this message because you are subscribed to the Google > Groups "sayeret-lambda" group. > To post to this group, send email to sayeret-lambda@googlegroups.com > To unsubscribe from this group, send email to > sayeret-lambda+unsubscribe@googlegroups.com
> -- > --------------------------------------------------------------------------- -------------------------- > You received this message because you are subscribed to the Google > Groups "sayeret-lambda" group. > To post to this group, send email to sayeret-lambda@googlegroups.com > To unsubscribe from this group, send email to > sayeret-lambda+unsubscribe@googlegroups.com
great overview of the recent Scala criticism.
I have no Scala experience, but I was following Scala many
years.
Scala is a great modern language, but I wouldn't choose it for
industrial JVM-based project, unless it becomes mainstream (read
Typesafe acquired by Oracle). This language is too complex to be
successfully supported by a small entity.
Most of my programming carrier I was a C++ developer and I know,
that at large companies people don't use C++, but a strict small
subset of C++ (i.e. no multiple inheritance, no template
meta-programming, use specific kind of exceptions, etc.).
Even if Scala will succeed, what people will use is "castrated
Scala". I see no point in developed complex language if in the
end people will use only subset of it. From this point Scala
remind a language designed by a committee.
I've worked for 2 years on a core of a product that is center to a
system of a very big company and is indirectly used by its clients.
The core was a rewrite of a Java framework (that was a rewrite of a
.Net one). It is stable and with better performance than the Java
one even though the older version is 3 times older (so there was
more time in tweaking it).
The team is 4-6 people, who are good, but not geniuses. Except for
myself, they didn't care much for the choice of language (and I was
against Scala to begin with). Yet, they were immediately productive
(within a week).
The rule of 20-80 holds for Scala as it does for anything. You use
20% of the features, 80% of the time. Not because of complexity of
the language, but because most of the time the tasks at hand don't
require a great deal of sophistication. And yet these 20% of
features, that are easy to learn, give a productivity boost.
As said, many features are used rarely. But in those cases where
they are required, the code becomes cleaner/modular/safer/quicker.
If someone is new to Scala, he can avoid using these features and
stay with the easy 20%. He'll have better productivity, but the
design and safety of his code will be like Java. Yet there will
always be a chance that he'll learn more and improve.
My recommendation to succeed with Scala is to avoid hiring those
geniuses that will use every bit of it. They will make a mess of the
code because they will use features not for the right reasons. If
you hire "normal" good programmers, with maybe one language buff, I
think you'll do great. This is where I think Yammer failed.
Having said that, not every program domain will benefit from Scala.
I'm currently working on a Java product that will not benefit from
Scala because it really doesn't require much in terms of language
sophistication, but relies heavily on tooling, which is better
supported in Java. I'd say the rule of thumb is that if you do a lot
of data manipulation, Scala is an excellent choice.
Ittay
I see Clojure as much safer choice for the JVM. No complex
syntax to learn and aso built on solid foundation of LISP family
of languages. Off-course unlike Scala it's a dynamic language
and might look much more exotic than Scala for corporate
decision makers.
BTW: the only high profile open source project in Scala I know
is Kestrel (webframeworks do not count, unless they something
like Rails or Django).
The reason I invested in Clojure is because of
excellent project named Storm, which is something like "Hadoop
for Realtime Processing").
Zvi
On Mon, Dec 26, 2011 at 8:28 PM, Shai
Berger <shai@platonix.com>
wrote:
On 26/12/2011, 19:26, Yardena Meymann wrote:
> I don't really have industrial experience with Scala,
I only used it for
> research, but I'm going to try and judge it applying
the common sense
> earned by many years in the industry.
>
> Regarding Stephen's blog-post,
The most serious criticism raised lately at Scala was not
Stephen's -- his
posts paint his position as more emotional than rational --
but the one from
Yammer's Coda Hale [0]. And indeed, the most pertinent of
his points have very
little to do with Scala-the-language, and everything to do
with using Scala in
an industrial setting.
I'll repeat, for reference and brevity, summaries of these
points:
1) Lacking standards for good or idiomatic code (searching
online got them to
a "best practice" of ignoring the community);
2) Mild hostility towards non-Scala-specific build tools
(culminating in
removal of scalac's incremental compilation feature, rather
than fixing its
bugs) -- and SBT, like all wheel reinventions, doesn't solve
well many of the
problems that have been solved well in Ant and Maven;
3) No backward compatibility between major versions, leading
to a fragmented
ecosystem;
4) A steep learning curve -- you can, as advertised, start
by just writing
"Java with less boilerplate", but the code written that way
is "funky" (Coda's
word), and experienced Scala developers see it as a
maintenance problem (this,
to some extent, contradicts point 1, but it is easily
possible not to agree on
the best practices while still agreeing on bad ones);
5) Last and, in most settings, least: The current
implementation of some key
features -- notably closures, collections and accessors --
carries a
significant performance overhead.
According to Coda Hale, these (mostly) made Yammer decide to
go from Scala
back to Java. Which I find a little jarring (pun
unintended). I would love to
see some refutations of these points, or any other comments
you may have.
--
-----------------------------------------------------------------------------------------------------
You received this message because you are subscribed to
the Google
Groups "sayeret-lambda" group.
To post to this group, send email to sayeret-lambda@googlegroups.com
To unsubscribe from this group, send email to sayeret-lambda+unsubscribe@googlegroups.com
--
-----------------------------------------------------------------------------------------------------
You received this message because you are subscribed to the Google
Groups "sayeret-lambda" group.
To post to this group,
> Lift compares quite well to Rails, from what I've heard.
> Bill
> On Mon, Dec 26, 2011 at 8:58 PM, Zvi Avraham <zvi.avra...@gmail.com>wrote:
>> Shai,
>> great overview of the recent Scala criticism. >> I have no Scala experience, but I was following Scala many years. >> Scala is a great modern language, but I wouldn't choose it for industrial >> JVM-based project, unless it becomes mainstream (read Typesafe acquired by >> Oracle). This language is too complex to be successfully supported by a >> small entity. >> Most of my programming carrier I was a C++ developer and I know, that at >> large companies people don't use C++, but a strict small subset of C++ >> (i.e. no multiple inheritance, no template meta-programming, use specific >> kind of exceptions, etc.). >> Even if Scala will succeed, what people will use is "castrated Scala". I >> see no point in developed complex language if in the end people will use >> only subset of it. From this point Scala remind a language designed by a >> committee.
>> I see Clojure as much safer choice for the JVM. No complex syntax to >> learn and aso built on solid foundation of LISP family of languages. >> Off-course unlike Scala it's a dynamic language and might look much more >> exotic than Scala for corporate decision makers.
>> BTW: the only high profile open source project in Scala I know is Kestrel >> (webframeworks do not count, unless they something like Rails or Django). >> The reason I invested in Clojure is because of excellent project named >> Storm, which is something like "Hadoop for Realtime Processing").
>> Zvi
>> On Mon, Dec 26, 2011 at 8:28 PM, Shai Berger <s...@platonix.com> wrote:
>>> On 26/12/2011, 19:26, Yardena Meymann wrote: >>> > I don't really have industrial experience with Scala, I only used it >>> for >>> > research, but I'm going to try and judge it applying the common sense >>> > earned by many years in the industry.
>>> > Regarding Stephen's blog-post,
>>> The most serious criticism raised lately at Scala was not Stephen's -- >>> his >>> posts paint his position as more emotional than rational -- but the one >>> from >>> Yammer's Coda Hale [0]. And indeed, the most pertinent of his points >>> have very >>> little to do with Scala-the-language, and everything to do with using >>> Scala in >>> an industrial setting.
>>> I'll repeat, for reference and brevity, summaries of these points:
>>> 1) Lacking standards for good or idiomatic code (searching online got >>> them to >>> a "best practice" of ignoring the community);
>>> 2) Mild hostility towards non-Scala-specific build tools (culminating in >>> removal of scalac's incremental compilation feature, rather than fixing >>> its >>> bugs) -- and SBT, like all wheel reinventions, doesn't solve well many >>> of the >>> problems that have been solved well in Ant and Maven;
>>> 3) No backward compatibility between major versions, leading to a >>> fragmented >>> ecosystem;
>>> 4) A steep learning curve -- you can, as advertised, start by just >>> writing >>> "Java with less boilerplate", but the code written that way is "funky" >>> (Coda's >>> word), and experienced Scala developers see it as a maintenance problem >>> (this, >>> to some extent, contradicts point 1, but it is easily possible not to >>> agree on >>> the best practices while still agreeing on bad ones);
>>> 5) Last and, in most settings, least: The current implementation of some >>> key >>> features -- notably closures, collections and accessors -- carries a >>> significant performance overhead.
>>> According to Coda Hale, these (mostly) made Yammer decide to go from >>> Scala >>> back to Java. Which I find a little jarring (pun unintended). I would >>> love to >>> see some refutations of these points, or any other comments you may have.
>>> --------------------------------------------------------------------------- -------------------------- >>> You received this message because you are subscribed to the Google >>> Groups "sayeret-lambda" group. >>> To post to this group, send email to sayeret-lambda@googlegroups.com >>> To unsubscribe from this group, send email to >>> sayeret-lambda+unsubscribe@googlegroups.com
>> --
>> --------------------------------------------------------------------------- -------------------------- >> You received this message because you are subscribed to the Google >> Groups "sayeret-lambda" group. >> To post to this group, send email to sayeret-lambda@googlegroups.com >> To unsubscribe from this group, send email to >> sayeret-lambda+unsubscribe@googlegroups.com
> --
> --------------------------------------------------------------------------- -------------------------- > You received this message because you are subscribed to the Google > Groups "sayeret-lambda" group. > To post to this group, send email to sayeret-lambda@googlegroups.com > To unsubscribe from this group, send email to > sayeret-lambda+unsubscribe@googlegroups.com
The only thing that concerns me about "brutal" criticise is that people who object to change may use it as a weapon to prevent progress,
Iv been told many times that Groovy is a bad language because it performs slower then Java, no matter that the code in which I wanted to apply it on had no hard performance requirements (configuration),
It sounds funny but I think that our real challenge it not if Scala Groovy Clojure or Fantom are the best (there is no absolute best) but how we move the industry forward.
I see all the time the push back of developers to learn new things, somehow the Java dominance killed the industry ability to understand that a language is a mean to an end and not the goal itself.
Id like the world to leave Java and move forward, Ronen
On Mon, Dec 26, 2011 at 10:12 PM, Zvi Avraham <zvi.avra...@gmail.com> wrote: > My point was not to mention webframeworks, unless they as popular as Rails > or Django. > Lift is not as popular as Rails or Django, nor Play.
> On Mon, Dec 26, 2011 at 9:18 PM, Bill Burdick <bill.burd...@gmail.com>wrote:
>> Lift compares quite well to Rails, from what I've heard.
>> Bill
>> On Mon, Dec 26, 2011 at 8:58 PM, Zvi Avraham <zvi.avra...@gmail.com>wrote:
>>> Shai,
>>> great overview of the recent Scala criticism. >>> I have no Scala experience, but I was following Scala many years. >>> Scala is a great modern language, but I wouldn't choose it for >>> industrial JVM-based project, unless it becomes mainstream (read Typesafe >>> acquired by Oracle). This language is too complex to be successfully >>> supported by a small entity. >>> Most of my programming carrier I was a C++ developer and I know, that at >>> large companies people don't use C++, but a strict small subset of C++ >>> (i.e. no multiple inheritance, no template meta-programming, use specific >>> kind of exceptions, etc.). >>> Even if Scala will succeed, what people will use is "castrated Scala". I >>> see no point in developed complex language if in the end people will use >>> only subset of it. From this point Scala remind a language designed by a >>> committee.
>>> I see Clojure as much safer choice for the JVM. No complex syntax to >>> learn and aso built on solid foundation of LISP family of languages. >>> Off-course unlike Scala it's a dynamic language and might look much more >>> exotic than Scala for corporate decision makers.
>>> BTW: the only high profile open source project in Scala I know is >>> Kestrel (webframeworks do not count, unless they something like Rails or >>> Django). >>> The reason I invested in Clojure is because of excellent project named >>> Storm, which is something like "Hadoop for Realtime Processing").
>>> Zvi
>>> On Mon, Dec 26, 2011 at 8:28 PM, Shai Berger <s...@platonix.com> wrote:
>>>> On 26/12/2011, 19:26, Yardena Meymann wrote: >>>> > I don't really have industrial experience with Scala, I only used it >>>> for >>>> > research, but I'm going to try and judge it applying the common sense >>>> > earned by many years in the industry.
>>>> > Regarding Stephen's blog-post,
>>>> The most serious criticism raised lately at Scala was not Stephen's -- >>>> his >>>> posts paint his position as more emotional than rational -- but the one >>>> from >>>> Yammer's Coda Hale [0]. And indeed, the most pertinent of his points >>>> have very >>>> little to do with Scala-the-language, and everything to do with using >>>> Scala in >>>> an industrial setting.
>>>> I'll repeat, for reference and brevity, summaries of these points:
>>>> 1) Lacking standards for good or idiomatic code (searching online got >>>> them to >>>> a "best practice" of ignoring the community);
>>>> 2) Mild hostility towards non-Scala-specific build tools (culminating in >>>> removal of scalac's incremental compilation feature, rather than fixing >>>> its >>>> bugs) -- and SBT, like all wheel reinventions, doesn't solve well many >>>> of the >>>> problems that have been solved well in Ant and Maven;
>>>> 3) No backward compatibility between major versions, leading to a >>>> fragmented >>>> ecosystem;
>>>> 4) A steep learning curve -- you can, as advertised, start by just >>>> writing >>>> "Java with less boilerplate", but the code written that way is "funky" >>>> (Coda's >>>> word), and experienced Scala developers see it as a maintenance problem >>>> (this, >>>> to some extent, contradicts point 1, but it is easily possible not to >>>> agree on >>>> the best practices while still agreeing on bad ones);
>>>> 5) Last and, in most settings, least: The current implementation of >>>> some key >>>> features -- notably closures, collections and accessors -- carries a >>>> significant performance overhead.
>>>> According to Coda Hale, these (mostly) made Yammer decide to go from >>>> Scala >>>> back to Java. Which I find a little jarring (pun unintended). I would >>>> love to >>>> see some refutations of these points, or any other comments you may >>>> have.
>>>> --------------------------------------------------------------------------- -------------------------- >>>> You received this message because you are subscribed to the Google >>>> Groups "sayeret-lambda" group. >>>> To post to this group, send email to sayeret-lambda@googlegroups.com >>>> To unsubscribe from this group, send email to >>>> sayeret-lambda+unsubscribe@googlegroups.com
>>> --
>>> --------------------------------------------------------------------------- -------------------------- >>> You received this message because you are subscribed to the Google >>> Groups "sayeret-lambda" group. >>> To post to this group, send email to sayeret-lambda@googlegroups.com >>> To unsubscribe from this group, send email to >>> sayeret-lambda+unsubscribe@googlegroups.com
>> --
>> --------------------------------------------------------------------------- -------------------------- >> You received this message because you are subscribed to the Google >> Groups "sayeret-lambda" group. >> To post to this group, send email to sayeret-lambda@googlegroups.com >> To unsubscribe from this group, send email to >> sayeret-lambda+unsubscribe@googlegroups.com
> --
> --------------------------------------------------------------------------- -------------------------- > You received this message because you are subscribed to the Google > Groups "sayeret-lambda" group. > To post to this group, send email to sayeret-lambda@googlegroups.com > To unsubscribe from this group, send email to > sayeret-lambda+unsubscribe@googlegroups.com
Wow you are absolutly right, the programmers are last to adopt a new technology and mostly progress happens when a generation of programmers simply die. I would defenatly reccomend this 2 hour lecture about the history of programming http://youtube.com/watch?v=JxAXlJEmNMg Cheers! Leon.
On Dec 26, 2011, at 23:00, Ronen Narkis <nark...@gmail.com> wrote:
> The only thing that concerns me about "brutal" criticise is that people who object to change may use it as a weapon to prevent progress,
> Iv been told many times that Groovy is a bad language because it performs slower then Java, no matter that the code in which I wanted to apply it on had no hard performance requirements (configuration),
> It sounds funny but I think that our real challenge it not if Scala Groovy Clojure or Fantom are the best (there is no absolute best) but how we move the industry forward.
> I see all the time the push back of developers to learn new things, somehow the Java dominance killed the industry ability to understand that a language is a mean to an end and not the goal itself.
> Id like the world to leave Java and move forward, > Ronen
> On Mon, Dec 26, 2011 at 10:12 PM, Zvi Avraham <zvi.avra...@gmail.com> wrote: > My point was not to mention webframeworks, unless they as popular as Rails or Django. > Lift is not as popular as Rails or Django, nor Play.
> On Mon, Dec 26, 2011 at 9:18 PM, Bill Burdick <bill.burd...@gmail.com> wrote: > Lift compares quite well to Rails, from what I've heard.
> Bill
> On Mon, Dec 26, 2011 at 8:58 PM, Zvi Avraham <zvi.avra...@gmail.com> wrote: > Shai,
> great overview of the recent Scala criticism. > I have no Scala experience, but I was following Scala many years. > Scala is a great modern language, but I wouldn't choose it for industrial JVM-based project, unless it becomes mainstream (read Typesafe acquired by Oracle). This language is too complex to be successfully supported by a small entity. > Most of my programming carrier I was a C++ developer and I know, that at large companies people don't use C++, but a strict small subset of C++ (i.e. no multiple inheritance, no template meta-programming, use specific kind of exceptions, etc.). > Even if Scala will succeed, what people will use is "castrated Scala". I see no point in developed complex language if in the end people will use only subset of it. From this point Scala remind a language designed by a committee.
> I see Clojure as much safer choice for the JVM. No complex syntax to learn and aso built on solid foundation of LISP family of languages. Off-course unlike Scala it's a dynamic language and might look much more exotic than Scala for corporate decision makers.
> BTW: the only high profile open source project in Scala I know is Kestrel (webframeworks do not count, unless they something like Rails or Django). > The reason I invested in Clojure is because of excellent project named Storm, which is something like "Hadoop for Realtime Processing").
> Zvi
> On Mon, Dec 26, 2011 at 8:28 PM, Shai Berger <s...@platonix.com> wrote: > On 26/12/2011, 19:26, Yardena Meymann wrote: > > I don't really have industrial experience with Scala, I only used it for > > research, but I'm going to try and judge it applying the common sense > > earned by many years in the industry.
> > Regarding Stephen's blog-post,
> The most serious criticism raised lately at Scala was not Stephen's -- his > posts paint his position as more emotional than rational -- but the one from > Yammer's Coda Hale [0]. And indeed, the most pertinent of his points have very > little to do with Scala-the-language, and everything to do with using Scala in > an industrial setting.
> I'll repeat, for reference and brevity, summaries of these points:
> 1) Lacking standards for good or idiomatic code (searching online got them to > a "best practice" of ignoring the community);
> 2) Mild hostility towards non-Scala-specific build tools (culminating in > removal of scalac's incremental compilation feature, rather than fixing its > bugs) -- and SBT, like all wheel reinventions, doesn't solve well many of the > problems that have been solved well in Ant and Maven;
> 3) No backward compatibility between major versions, leading to a fragmented > ecosystem;
> 4) A steep learning curve -- you can, as advertised, start by just writing > "Java with less boilerplate", but the code written that way is "funky" (Coda's > word), and experienced Scala developers see it as a maintenance problem (this, > to some extent, contradicts point 1, but it is easily possible not to agree on > the best practices while still agreeing on bad ones);
> 5) Last and, in most settings, least: The current implementation of some key > features -- notably closures, collections and accessors -- carries a > significant performance overhead.
> According to Coda Hale, these (mostly) made Yammer decide to go from Scala > back to Java. Which I find a little jarring (pun unintended). I would love to > see some refutations of these points, or any other comments you may have.
> -- > --------------------------------------------------------------------------- -------------------------- > You received this message because you are subscribed to the Google > Groups "sayeret-lambda" group. > To post to this group, send email to sayeret-lambda@googlegroups.com > To unsubscribe from this group, send email to > sayeret-lambda+unsubscribe@googlegroups.com
> -- > --------------------------------------------------------------------------- -------------------------- > You received this message because you are subscribed to the Google > Groups "sayeret-lambda" group. > To post to this group, send email to sayeret-lambda@googlegroups.com > To unsubscribe from this group, send email to > sayeret-lambda+unsubscribe@googlegroups.com
> -- > --------------------------------------------------------------------------- -------------------------- > You received this message because you are subscribed to the Google > Groups "sayeret-lambda" group. > To post to this group, send email to sayeret-lambda@googlegroups.com > To unsubscribe from this group, send email to > sayeret-lambda+unsubscribe@googlegroups.com
> -- > --------------------------------------------------------------------------- -------------------------- > You received this message because you are subscribed to the Google > Groups "sayeret-lambda" group. > To post to this group, send email to sayeret-lambda@googlegroups.com > To unsubscribe from this group, send email to > sayeret-lambda+unsubscribe@googlegroups.com
> -- > --------------------------------------------------------------------------- -------------------------- > You received this message because you are subscribed to the Google > Groups "sayeret-lambda" group. > To post to this group, send email to sayeret-lambda@googlegroups.com > To unsubscribe from this group, send email to > sayeret-lambda+unsubscribe@googlegroups.com
Polyglot programming (and polyglot database / NoSQL) trends do not move industry forward. I would say they move our industry sideways and in some cases even backwards. At the end it doesn't matter if you use OOP or FP, Scala or Erlang, Cassandra or Riak. The biggest problem is we still need to program machines, instead of machines becoming smarter and start programming themselves. In the 80s everybody though Declarative Programming and AI is the future, yet we still use such low abstractions as object, actors, closures, currying, message passing, map/reduce, etc.
On Mon, Dec 26, 2011 at 11:00 PM, Ronen Narkis <nark...@gmail.com> wrote: > The only thing that concerns me about "brutal" criticise is that people > who object to change may use it as a weapon to prevent progress,
> Iv been told many times that Groovy is a bad language because it performs > slower then Java, no matter that the code in which I wanted to apply it on > had no hard performance requirements (configuration),
> It sounds funny but I think that our real challenge it not if Scala Groovy > Clojure or Fantom are the best (there is no absolute best) but how we move > the industry forward.
> I see all the time the push back of developers to learn new things, > somehow the Java dominance killed the industry ability to understand that a > language is a mean to an end and not the goal itself.
> Id like the world to leave Java and move forward, > Ronen
> On Mon, Dec 26, 2011 at 10:12 PM, Zvi Avraham <zvi.avra...@gmail.com>wrote:
>> My point was not to mention webframeworks, unless they as popular as >> Rails or Django. >> Lift is not as popular as Rails or Django, nor Play.
>> On Mon, Dec 26, 2011 at 9:18 PM, Bill Burdick <bill.burd...@gmail.com>wrote:
>>> Lift compares quite well to Rails, from what I've heard.
>>> Bill
>>> On Mon, Dec 26, 2011 at 8:58 PM, Zvi Avraham <zvi.avra...@gmail.com>wrote:
>>>> Shai,
>>>> great overview of the recent Scala criticism. >>>> I have no Scala experience, but I was following Scala many years. >>>> Scala is a great modern language, but I wouldn't choose it for >>>> industrial JVM-based project, unless it becomes mainstream (read Typesafe >>>> acquired by Oracle). This language is too complex to be successfully >>>> supported by a small entity. >>>> Most of my programming carrier I was a C++ developer and I know, that >>>> at large companies people don't use C++, but a strict small subset of C++ >>>> (i.e. no multiple inheritance, no template meta-programming, use specific >>>> kind of exceptions, etc.). >>>> Even if Scala will succeed, what people will use is "castrated Scala". >>>> I see no point in developed complex language if in the end people will use >>>> only subset of it. From this point Scala remind a language designed by a >>>> committee.
>>>> I see Clojure as much safer choice for the JVM. No complex syntax to >>>> learn and aso built on solid foundation of LISP family of languages. >>>> Off-course unlike Scala it's a dynamic language and might look much more >>>> exotic than Scala for corporate decision makers.
>>>> BTW: the only high profile open source project in Scala I know is >>>> Kestrel (webframeworks do not count, unless they something like Rails or >>>> Django). >>>> The reason I invested in Clojure is because of excellent project named >>>> Storm, which is something like "Hadoop for Realtime Processing").
>>>> Zvi
>>>> On Mon, Dec 26, 2011 at 8:28 PM, Shai Berger <s...@platonix.com> wrote:
>>>>> On 26/12/2011, 19:26, Yardena Meymann wrote: >>>>> > I don't really have industrial experience with Scala, I only used it >>>>> for >>>>> > research, but I'm going to try and judge it applying the common sense >>>>> > earned by many years in the industry.
>>>>> > Regarding Stephen's blog-post,
>>>>> The most serious criticism raised lately at Scala was not Stephen's -- >>>>> his >>>>> posts paint his position as more emotional than rational -- but the >>>>> one from >>>>> Yammer's Coda Hale [0]. And indeed, the most pertinent of his points >>>>> have very >>>>> little to do with Scala-the-language, and everything to do with using >>>>> Scala in >>>>> an industrial setting.
>>>>> I'll repeat, for reference and brevity, summaries of these points:
>>>>> 1) Lacking standards for good or idiomatic code (searching online got >>>>> them to >>>>> a "best practice" of ignoring the community);
>>>>> 2) Mild hostility towards non-Scala-specific build tools (culminating >>>>> in >>>>> removal of scalac's incremental compilation feature, rather than >>>>> fixing its >>>>> bugs) -- and SBT, like all wheel reinventions, doesn't solve well many >>>>> of the >>>>> problems that have been solved well in Ant and Maven;
>>>>> 3) No backward compatibility between major versions, leading to a >>>>> fragmented >>>>> ecosystem;
>>>>> 4) A steep learning curve -- you can, as advertised, start by just >>>>> writing >>>>> "Java with less boilerplate", but the code written that way is "funky" >>>>> (Coda's >>>>> word), and experienced Scala developers see it as a maintenance >>>>> problem (this, >>>>> to some extent, contradicts point 1, but it is easily possible not to >>>>> agree on >>>>> the best practices while still agreeing on bad ones);
>>>>> 5) Last and, in most settings, least: The current implementation of >>>>> some key >>>>> features -- notably closures, collections and accessors -- carries a >>>>> significant performance overhead.
>>>>> According to Coda Hale, these (mostly) made Yammer decide to go from >>>>> Scala >>>>> back to Java. Which I find a little jarring (pun unintended). I would >>>>> love to >>>>> see some refutations of these points, or any other comments you may >>>>> have.
>>>>> --------------------------------------------------------------------------- -------------------------- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "sayeret-lambda" group. >>>>> To post to this group, send email to sayeret-lambda@googlegroups.com >>>>> To unsubscribe from this group, send email to >>>>> sayeret-lambda+unsubscribe@googlegroups.com
>>>> --
>>>> --------------------------------------------------------------------------- -------------------------- >>>> You received this message because you are subscribed to the Google >>>> Groups "sayeret-lambda" group. >>>> To post to this group, send email to sayeret-lambda@googlegroups.com >>>> To unsubscribe from this group, send email to >>>> sayeret-lambda+unsubscribe@googlegroups.com
>>> --
>>> --------------------------------------------------------------------------- -------------------------- >>> You received this message because you are subscribed to the Google >>> Groups "sayeret-lambda" group. >>> To post to this group, send email to sayeret-lambda@googlegroups.com >>> To unsubscribe from this group, send email to >>> sayeret-lambda+unsubscribe@googlegroups.com
>> --
>> --------------------------------------------------------------------------- -------------------------- >> You received this message because you are subscribed to the Google >> Groups "sayeret-lambda" group. >> To post to this group, send email to sayeret-lambda@googlegroups.com >> To unsubscribe from this group, send email to >> sayeret-lambda+unsubscribe@googlegroups.com
> --
> --------------------------------------------------------------------------- -------------------------- > You received this message because you are subscribed to the Google > Groups "sayeret-lambda" group. > To post to this group, send email to sayeret-lambda@googlegroups.com > To unsubscribe from this group, send email to > sayeret-lambda+unsubscribe@googlegroups.com
There's an interesting book on this subject. I think it's called "software factories". On Dec 26, 2011 11:23 PM, "Zvi Avraham" <zvi.avra...@gmail.com> wrote:
> Polyglot programming (and polyglot database / NoSQL) trends do not move > industry forward. > I would say they move our industry sideways and in some cases even > backwards. > At the end it doesn't matter if you use OOP or FP, Scala or Erlang, > Cassandra or Riak. > The biggest problem is we still need to program machines, instead of > machines becoming smarter and start programming themselves. In the 80s > everybody though Declarative Programming and AI is the future, yet we still > use such low abstractions as object, actors, closures, currying, message > passing, map/reduce, etc.
> Zvi
> On Mon, Dec 26, 2011 at 11:00 PM, Ronen Narkis <nark...@gmail.com> wrote:
>> The only thing that concerns me about "brutal" criticise is that people >> who object to change may use it as a weapon to prevent progress,
>> Iv been told many times that Groovy is a bad language because it performs >> slower then Java, no matter that the code in which I wanted to apply it on >> had no hard performance requirements (configuration),
>> It sounds funny but I think that our real challenge it not if Scala >> Groovy Clojure or Fantom are the best (there is no absolute best) but how >> we move the industry forward.
>> I see all the time the push back of developers to learn new things, >> somehow the Java dominance killed the industry ability to understand that a >> language is a mean to an end and not the goal itself.
>> Id like the world to leave Java and move forward, >> Ronen
>> On Mon, Dec 26, 2011 at 10:12 PM, Zvi Avraham <zvi.avra...@gmail.com>wrote:
>>> My point was not to mention webframeworks, unless they as popular as >>> Rails or Django. >>> Lift is not as popular as Rails or Django, nor Play.
>>> On Mon, Dec 26, 2011 at 9:18 PM, Bill Burdick <bill.burd...@gmail.com>wrote:
>>>> Lift compares quite well to Rails, from what I've heard.
>>>> Bill
>>>> On Mon, Dec 26, 2011 at 8:58 PM, Zvi Avraham <zvi.avra...@gmail.com>wrote:
>>>>> Shai,
>>>>> great overview of the recent Scala criticism. >>>>> I have no Scala experience, but I was following Scala many years. >>>>> Scala is a great modern language, but I wouldn't choose it for >>>>> industrial JVM-based project, unless it becomes mainstream (read Typesafe >>>>> acquired by Oracle). This language is too complex to be successfully >>>>> supported by a small entity. >>>>> Most of my programming carrier I was a C++ developer and I know, that >>>>> at large companies people don't use C++, but a strict small subset of C++ >>>>> (i.e. no multiple inheritance, no template meta-programming, use specific >>>>> kind of exceptions, etc.). >>>>> Even if Scala will succeed, what people will use is "castrated Scala". >>>>> I see no point in developed complex language if in the end people will use >>>>> only subset of it. From this point Scala remind a language designed by a >>>>> committee.
>>>>> I see Clojure as much safer choice for the JVM. No complex syntax to >>>>> learn and aso built on solid foundation of LISP family of languages. >>>>> Off-course unlike Scala it's a dynamic language and might look much more >>>>> exotic than Scala for corporate decision makers.
>>>>> BTW: the only high profile open source project in Scala I know is >>>>> Kestrel (webframeworks do not count, unless they something like Rails or >>>>> Django). >>>>> The reason I invested in Clojure is because of excellent project named >>>>> Storm, which is something like "Hadoop for Realtime Processing").
>>>>> Zvi
>>>>> On Mon, Dec 26, 2011 at 8:28 PM, Shai Berger <s...@platonix.com>wrote:
>>>>>> On 26/12/2011, 19:26, Yardena Meymann wrote: >>>>>> > I don't really have industrial experience with Scala, I only used >>>>>> it for >>>>>> > research, but I'm going to try and judge it applying the common >>>>>> sense >>>>>> > earned by many years in the industry.
>>>>>> > Regarding Stephen's blog-post,
>>>>>> The most serious criticism raised lately at Scala was not Stephen's >>>>>> -- his >>>>>> posts paint his position as more emotional than rational -- but the >>>>>> one from >>>>>> Yammer's Coda Hale [0]. And indeed, the most pertinent of his points >>>>>> have very >>>>>> little to do with Scala-the-language, and everything to do with using >>>>>> Scala in >>>>>> an industrial setting.
>>>>>> I'll repeat, for reference and brevity, summaries of these points:
>>>>>> 1) Lacking standards for good or idiomatic code (searching online got >>>>>> them to >>>>>> a "best practice" of ignoring the community);
>>>>>> 2) Mild hostility towards non-Scala-specific build tools (culminating >>>>>> in >>>>>> removal of scalac's incremental compilation feature, rather than >>>>>> fixing its >>>>>> bugs) -- and SBT, like all wheel reinventions, doesn't solve well >>>>>> many of the >>>>>> problems that have been solved well in Ant and Maven;
>>>>>> 3) No backward compatibility between major versions, leading to a >>>>>> fragmented >>>>>> ecosystem;
>>>>>> 4) A steep learning curve -- you can, as advertised, start by just >>>>>> writing >>>>>> "Java with less boilerplate", but the code written that way is >>>>>> "funky" (Coda's >>>>>> word), and experienced Scala developers see it as a maintenance >>>>>> problem (this, >>>>>> to some extent, contradicts point 1, but it is easily possible not to >>>>>> agree on >>>>>> the best practices while still agreeing on bad ones);
>>>>>> 5) Last and, in most settings, least: The current implementation of >>>>>> some key >>>>>> features -- notably closures, collections and accessors -- carries a >>>>>> significant performance overhead.
>>>>>> According to Coda Hale, these (mostly) made Yammer decide to go from >>>>>> Scala >>>>>> back to Java. Which I find a little jarring (pun unintended). I would >>>>>> love to >>>>>> see some refutations of these points, or any other comments you may >>>>>> have.
>>>>>> --------------------------------------------------------------------------- -------------------------- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "sayeret-lambda" group. >>>>>> To post to this group, send email to sayeret-lambda@googlegroups.com >>>>>> To unsubscribe from this group, send email to >>>>>> sayeret-lambda+unsubscribe@googlegroups.com
>>>>> --
>>>>> --------------------------------------------------------------------------- -------------------------- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "sayeret-lambda" group. >>>>> To post to this group, send email to sayeret-lambda@googlegroups.com >>>>> To unsubscribe from this group, send email to >>>>> sayeret-lambda+unsubscribe@googlegroups.com
>>>> --
>>>> --------------------------------------------------------------------------- -------------------------- >>>> You received this message because you are subscribed to the Google >>>> Groups "sayeret-lambda" group. >>>> To post to this group, send email to sayeret-lambda@googlegroups.com >>>> To unsubscribe from this group, send email to >>>> sayeret-lambda+unsubscribe@googlegroups.com
>>> --
>>> --------------------------------------------------------------------------- -------------------------- >>> You received this message because you are subscribed to the Google >>> Groups "sayeret-lambda" group. >>> To post to this group, send email to sayeret-lambda@googlegroups.com >>> To unsubscribe from this group, send email to >>> sayeret-lambda+unsubscribe@googlegroups.com
>> --
>> --------------------------------------------------------------------------- -------------------------- >> You received this message because you are subscribed to the Google >> Groups "sayeret-lambda" group. >> To post to this group, send email to sayeret-lambda@googlegroups.com >> To unsubscribe from this group, send email to >> sayeret-lambda+unsubscribe@googlegroups.com
> --
> --------------------------------------------------------------------------- -------------------------- > You received this message because you are subscribed to the Google > Groups "sayeret-lambda" group. > To post to this group, send email to sayeret-lambda@googlegroups.com > To unsubscribe from this group, send email to > sayeret-lambda+unsubscribe@googlegroups.com
Zvi, the move back and forward is expected, its evolution
Won't you agree that Erlang for distributed system is a huge progress over C?
Im still amazed how badly we learn from our past, for example, how much logic programming is applied in our industry?
How many distributed systems use Erlang? How many multi core applications use Clojure?
Developers and companies do what they do best, brute force the tools they know and have close by, this is why C++ and Java took the world by storm.
I don't think that there will be a magic bullet, we will have smarter machines but the process must go through the historical chain like any other revolution
Thanks for the book and presentation pointers Ronen
On Mon, Dec 26, 2011 at 11:26 PM, Adi Baron <baron....@gmail.com> wrote: > There's an interesting book on this subject. I think it's called "software > factories". > On Dec 26, 2011 11:23 PM, "Zvi Avraham" <zvi.avra...@gmail.com> wrote:
>> Ronen,
>> Polyglot programming (and polyglot database / NoSQL) trends do not move >> industry forward. >> I would say they move our industry sideways and in some cases even >> backwards. >> At the end it doesn't matter if you use OOP or FP, Scala or Erlang, >> Cassandra or Riak. >> The biggest problem is we still need to program machines, instead of >> machines becoming smarter and start programming themselves. In the 80s >> everybody though Declarative Programming and AI is the future, yet we still >> use such low abstractions as object, actors, closures, currying, message >> passing, map/reduce, etc.
>> Zvi
>> On Mon, Dec 26, 2011 at 11:00 PM, Ronen Narkis <nark...@gmail.com> wrote:
>>> The only thing that concerns me about "brutal" criticise is that people >>> who object to change may use it as a weapon to prevent progress,
>>> Iv been told many times that Groovy is a bad language because it >>> performs slower then Java, no matter that the code in which I wanted to >>> apply it on had no hard performance requirements (configuration),
>>> It sounds funny but I think that our real challenge it not if Scala >>> Groovy Clojure or Fantom are the best (there is no absolute best) but how >>> we move the industry forward.
>>> I see all the time the push back of developers to learn new things, >>> somehow the Java dominance killed the industry ability to understand that a >>> language is a mean to an end and not the goal itself.
>>> Id like the world to leave Java and move forward, >>> Ronen
>>> On Mon, Dec 26, 2011 at 10:12 PM, Zvi Avraham <zvi.avra...@gmail.com>wrote:
>>>> My point was not to mention webframeworks, unless they as popular as >>>> Rails or Django. >>>> Lift is not as popular as Rails or Django, nor Play.
>>>> On Mon, Dec 26, 2011 at 9:18 PM, Bill Burdick <bill.burd...@gmail.com>wrote:
>>>>> Lift compares quite well to Rails, from what I've heard.
>>>>> Bill
>>>>> On Mon, Dec 26, 2011 at 8:58 PM, Zvi Avraham <zvi.avra...@gmail.com>wrote:
>>>>>> Shai,
>>>>>> great overview of the recent Scala criticism. >>>>>> I have no Scala experience, but I was following Scala many years. >>>>>> Scala is a great modern language, but I wouldn't choose it for >>>>>> industrial JVM-based project, unless it becomes mainstream (read Typesafe >>>>>> acquired by Oracle). This language is too complex to be successfully >>>>>> supported by a small entity. >>>>>> Most of my programming carrier I was a C++ developer and I know, that >>>>>> at large companies people don't use C++, but a strict small subset of C++ >>>>>> (i.e. no multiple inheritance, no template meta-programming, use specific >>>>>> kind of exceptions, etc.). >>>>>> Even if Scala will succeed, what people will use is "castrated >>>>>> Scala". I see no point in developed complex language if in the end people >>>>>> will use only subset of it. From this point Scala remind a language >>>>>> designed by a committee.
>>>>>> I see Clojure as much safer choice for the JVM. No complex syntax to >>>>>> learn and aso built on solid foundation of LISP family of languages. >>>>>> Off-course unlike Scala it's a dynamic language and might look much more >>>>>> exotic than Scala for corporate decision makers.
>>>>>> BTW: the only high profile open source project in Scala I know is >>>>>> Kestrel (webframeworks do not count, unless they something like Rails or >>>>>> Django). >>>>>> The reason I invested in Clojure is because of excellent project >>>>>> named Storm, which is something like "Hadoop for Realtime Processing").
>>>>>> Zvi
>>>>>> On Mon, Dec 26, 2011 at 8:28 PM, Shai Berger <s...@platonix.com>wrote:
>>>>>>> On 26/12/2011, 19:26, Yardena Meymann wrote: >>>>>>> > I don't really have industrial experience with Scala, I only used >>>>>>> it for >>>>>>> > research, but I'm going to try and judge it applying the common >>>>>>> sense >>>>>>> > earned by many years in the industry.
>>>>>>> > Regarding Stephen's blog-post,
>>>>>>> The most serious criticism raised lately at Scala was not Stephen's >>>>>>> -- his >>>>>>> posts paint his position as more emotional than rational -- but the >>>>>>> one from >>>>>>> Yammer's Coda Hale [0]. And indeed, the most pertinent of his points >>>>>>> have very >>>>>>> little to do with Scala-the-language, and everything to do with >>>>>>> using Scala in >>>>>>> an industrial setting.
>>>>>>> I'll repeat, for reference and brevity, summaries of these points:
>>>>>>> 1) Lacking standards for good or idiomatic code (searching online >>>>>>> got them to >>>>>>> a "best practice" of ignoring the community);
>>>>>>> 2) Mild hostility towards non-Scala-specific build tools >>>>>>> (culminating in >>>>>>> removal of scalac's incremental compilation feature, rather than >>>>>>> fixing its >>>>>>> bugs) -- and SBT, like all wheel reinventions, doesn't solve well >>>>>>> many of the >>>>>>> problems that have been solved well in Ant and Maven;
>>>>>>> 3) No backward compatibility between major versions, leading to a >>>>>>> fragmented >>>>>>> ecosystem;
>>>>>>> 4) A steep learning curve -- you can, as advertised, start by just >>>>>>> writing >>>>>>> "Java with less boilerplate", but the code written that way is >>>>>>> "funky" (Coda's >>>>>>> word), and experienced Scala developers see it as a maintenance >>>>>>> problem (this, >>>>>>> to some extent, contradicts point 1, but it is easily possible not >>>>>>> to agree on >>>>>>> the best practices while still agreeing on bad ones);
>>>>>>> 5) Last and, in most settings, least: The current implementation of >>>>>>> some key >>>>>>> features -- notably closures, collections and accessors -- carries a >>>>>>> significant performance overhead.
>>>>>>> According to Coda Hale, these (mostly) made Yammer decide to go from >>>>>>> Scala >>>>>>> back to Java. Which I find a little jarring (pun unintended). I >>>>>>> would love to >>>>>>> see some refutations of these points, or any other comments you may >>>>>>> have.
>>>>>>> --------------------------------------------------------------------------- -------------------------- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "sayeret-lambda" group. >>>>>>> To post to this group, send email to sayeret-lambda@googlegroups.com >>>>>>> To unsubscribe from this group, send email to >>>>>>> sayeret-lambda+unsubscribe@googlegroups.com
>>>>>> --
>>>>>> --------------------------------------------------------------------------- -------------------------- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "sayeret-lambda" group. >>>>>> To post to this group, send email to sayeret-lambda@googlegroups.com >>>>>> To unsubscribe from this group, send email to >>>>>> sayeret-lambda+unsubscribe@googlegroups.com
>>>>> --
>>>>> --------------------------------------------------------------------------- -------------------------- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "sayeret-lambda" group. >>>>> To post to this group, send email to sayeret-lambda@googlegroups.com >>>>> To unsubscribe from this group, send email to >>>>> sayeret-lambda+unsubscribe@googlegroups.com
>>>> --
>>>> --------------------------------------------------------------------------- -------------------------- >>>> You received this message because you are subscribed to the Google >>>> Groups "sayeret-lambda" group. >>>> To post to this group, send email to sayeret-lambda@googlegroups.com >>>> To unsubscribe from this group, send email to >>>> sayeret-lambda+unsubscribe@googlegroups.com
>>> --
>>> --------------------------------------------------------------------------- -------------------------- >>> You received this message because you are subscribed to the Google >>> Groups "sayeret-lambda" group. >>> To post to this group, send email to sayeret-lambda@googlegroups.com >>> To unsubscribe from this group, send email to >>> sayeret-lambda+unsubscribe@googlegroups.com
>> --
>> --------------------------------------------------------------------------- -------------------------- >> You received this message because you are subscribed to the Google >> Groups "sayeret-lambda" group. >> To post to this group, send email to sayeret-lambda@googlegroups.com >> To unsubscribe from this group, send email to >> sayeret-lambda+unsubscribe@googlegroups.com
> --
> --------------------------------------------------------------------------- -------------------------- > You received this message because you are
Polyglot programming may not be the *only* thing moving the industry forward, but it certainly has its place. In my view, polyglot programmers are a kind of idea hub that facilitate a commerce of ideas. They tend to take principles and patterns found in different languages and apply them to others.
They "cross-breed" programming languages and this benefits the industry. Most people in a Java or C# shop, for example, will trudge along happily in their environment, hardly aware that so many of the APIs and language constructs they use are manifestations of ideas borrowed from other languages. I would even make the case that they can do this so obliviously *because* polyglot programming made it possible. Polyglots simply have a broader view.
However, I can't argue with the idea that our programming paradigms are still in their infancy. I often feel like our modern brew of programming languages are nothing more than childish thought experiments writ large, but I take the (mostly) optimistic view that as we get smarter, so do our machines.
On Mon, Dec 26, 2011 at 23:23, Zvi Avraham <zvi.avra...@gmail.com> wrote: > Ronen,
> Polyglot programming (and polyglot database / NoSQL) trends do not move > industry forward. > I would say they move our industry sideways and in some cases even > backwards. > At the end it doesn't matter if you use OOP or FP, Scala or Erlang, > Cassandra or Riak. > The biggest problem is we still need to program machines, instead of > machines becoming smarter and start programming themselves. In the 80s > everybody though Declarative Programming and AI is the future, yet we still > use such low abstractions as object, actors, closures, currying, message > passing, map/reduce, etc.
> Zvi
> On Mon, Dec 26, 2011 at 11:00 PM, Ronen Narkis <nark...@gmail.com> wrote:
>> The only thing that concerns me about "brutal" criticise is that people >> who object to change may use it as a weapon to prevent progress,
>> Iv been told many times that Groovy is a bad language because it performs >> slower then Java, no matter that the code in which I wanted to apply it on >> had no hard performance requirements (configuration),
>> It sounds funny but I think that our real challenge it not if Scala >> Groovy Clojure or Fantom are the best (there is no absolute best) but how >> we move the industry forward.
>> I see all the time the push back of developers to learn new things, >> somehow the Java dominance killed the industry ability to understand that a >> language is a mean to an end and not the goal itself.
>> Id like the world to leave Java and move forward, >> Ronen
>> On Mon, Dec 26, 2011 at 10:12 PM, Zvi Avraham <zvi.avra...@gmail.com>wrote:
>>> My point was not to mention webframeworks, unless they as popular as >>> Rails or Django. >>> Lift is not as popular as Rails or Django, nor Play.
>>> On Mon, Dec 26, 2011 at 9:18 PM, Bill Burdick <bill.burd...@gmail.com>wrote:
>>>> Lift compares quite well to Rails, from what I've heard.
>>>> Bill
>>>> On Mon, Dec 26, 2011 at 8:58 PM, Zvi Avraham <zvi.avra...@gmail.com>wrote:
>>>>> Shai,
>>>>> great overview of the recent Scala criticism. >>>>> I have no Scala experience, but I was following Scala many years. >>>>> Scala is a great modern language, but I wouldn't choose it for >>>>> industrial JVM-based project, unless it becomes mainstream (read Typesafe >>>>> acquired by Oracle). This language is too complex to be successfully >>>>> supported by a small entity. >>>>> Most of my programming carrier I was a C++ developer and I know, that >>>>> at large companies people don't use C++, but a strict small subset of C++ >>>>> (i.e. no multiple inheritance, no template meta-programming, use specific >>>>> kind of exceptions, etc.). >>>>> Even if Scala will succeed, what people will use is "castrated Scala". >>>>> I see no point in developed complex language if in the end people will use >>>>> only subset of it. From this point Scala remind a language designed by a >>>>> committee.
>>>>> I see Clojure as much safer choice for the JVM. No complex syntax to >>>>> learn and aso built on solid foundation of LISP family of languages. >>>>> Off-course unlike Scala it's a dynamic language and might look much more >>>>> exotic than Scala for corporate decision makers.
>>>>> BTW: the only high profile open source project in Scala I know is >>>>> Kestrel (webframeworks do not count, unless they something like Rails or >>>>> Django). >>>>> The reason I invested in Clojure is because of excellent project named >>>>> Storm, which is something like "Hadoop for Realtime Processing").
>>>>> Zvi
>>>>> On Mon, Dec 26, 2011 at 8:28 PM, Shai Berger <s...@platonix.com>wrote:
>>>>>> On 26/12/2011, 19:26, Yardena Meymann wrote: >>>>>> > I don't really have industrial experience with Scala, I only used >>>>>> it for >>>>>> > research, but I'm going to try and judge it applying the common >>>>>> sense >>>>>> > earned by many years in the industry.
>>>>>> > Regarding Stephen's blog-post,
>>>>>> The most serious criticism raised lately at Scala was not Stephen's >>>>>> -- his >>>>>> posts paint his position as more emotional than rational -- but the >>>>>> one from >>>>>> Yammer's Coda Hale [0]. And indeed, the most pertinent of his points >>>>>> have very >>>>>> little to do with Scala-the-language, and everything to do with using >>>>>> Scala in >>>>>> an industrial setting.
>>>>>> I'll repeat, for reference and brevity, summaries of these points:
>>>>>> 1) Lacking standards for good or idiomatic code (searching online got >>>>>> them to >>>>>> a "best practice" of ignoring the community);
>>>>>> 2) Mild hostility towards non-Scala-specific build tools (culminating >>>>>> in >>>>>> removal of scalac's incremental compilation feature, rather than >>>>>> fixing its >>>>>> bugs) -- and SBT, like all wheel reinventions, doesn't solve well >>>>>> many of the >>>>>> problems that have been solved well in Ant and Maven;
>>>>>> 3) No backward compatibility between major versions, leading to a >>>>>> fragmented >>>>>> ecosystem;
>>>>>> 4) A steep learning curve -- you can, as advertised, start by just >>>>>> writing >>>>>> "Java with less boilerplate", but the code written that way is >>>>>> "funky" (Coda's >>>>>> word), and experienced Scala developers see it as a maintenance >>>>>> problem (this, >>>>>> to some extent, contradicts point 1, but it is easily possible not to >>>>>> agree on >>>>>> the best practices while still agreeing on bad ones);
>>>>>> 5) Last and, in most settings, least: The current implementation of >>>>>> some key >>>>>> features -- notably closures, collections and accessors -- carries a >>>>>> significant performance overhead.
>>>>>> According to Coda Hale, these (mostly) made Yammer decide to go from >>>>>> Scala >>>>>> back to Java. Which I find a little jarring (pun unintended). I would >>>>>> love to >>>>>> see some refutations of these points, or any other comments you may >>>>>> have.
>>>>>> --------------------------------------------------------------------------- -------------------------- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "sayeret-lambda" group. >>>>>> To post to this group, send email to sayeret-lambda@googlegroups.com >>>>>> To unsubscribe from this group, send email to >>>>>> sayeret-lambda+unsubscribe@googlegroups.com
>>>>> --
>>>>> --------------------------------------------------------------------------- -------------------------- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "sayeret-lambda" group. >>>>> To post to this group, send email to sayeret-lambda@googlegroups.com >>>>> To unsubscribe from this group, send email to >>>>> sayeret-lambda+unsubscribe@googlegroups.com
>>>> --
>>>> --------------------------------------------------------------------------- -------------------------- >>>> You received this message because you are subscribed to the Google >>>> Groups "sayeret-lambda" group. >>>> To post to this group, send email to sayeret-lambda@googlegroups.com >>>> To unsubscribe from this group, send email to >>>> sayeret-lambda+unsubscribe@googlegroups.com
>>> --
>>> --------------------------------------------------------------------------- -------------------------- >>> You received this message because you are subscribed to the Google >>> Groups "sayeret-lambda" group. >>> To post to this group, send email to sayeret-lambda@googlegroups.com >>> To unsubscribe from this group, send email to >>> sayeret-lambda+unsubscribe@googlegroups.com
>> --
>> --------------------------------------------------------------------------- -------------------------- >> You received this message because you are subscribed to the Google >> Groups "sayeret-lambda" group. >> To post to this group, send email to sayeret-lambda@googlegroups.com >> To unsubscribe from this group, send email to >> sayeret-lambda+unsubscribe@googlegroups.com
> --
> --------------------------------------------------------------------------- -------------------------- > You received this message because you are subscribed to the Google > Groups "sayeret-lambda" group. > To post to this group, send email to sayeret-lambda@googlegroups.com > To unsubscribe from this group, send email to > sayeret-lambda+unsubscribe@googlegroups.com
On 26 December 2011 23:49, Ronen Narkis <nark...@gmail.com> wrote:
> I don't think that there will be a magic bullet, we will have smarter > machines but the process must go through the historical chain like any > other revolution
The revolution is already slowly gaining steam. There is a reason Ruby, Scala, F# are gaining so much press coverage and even some industry deployments in the same landscape that was so boring just 5 years ago. I see this as a revenge of the nerds, who revolt against having their tools artificially reduced to the least common denominator. Someone said that nerds are the driving force of the engineering, and I agree, so I have high hopes for this revolution. And while I can't see Scala ascending to the mainstream, my bets are on its more civilized successor with a tie and corporate backing (S#, anyone?).
I've used a variety of leading-edge (at the time) languages and implemented a few of them when we needed them, as well, and I've been very interested in how to improve productivity and quality over the past couple decades (still am). I think the choice of language and tools will vary heavily, depending on things like
programmer expertise: we have always had experts in our companies, but this is not always possible
team size/number of teams
environmental constraints: this includes deployment platform, politics, integration concerns, ...
Saying something like X is bad because it is too complex may not matter if you have expert programmers, particularly if the complicated feature reduces error and/or increases productivity. We used Smalltalk for over 10 years and were marvelously productive with it. We met the concerns people had about performance, single threadedness, etc. with performance they couldn't believe.
To my surprise (at the time), developer tools were the major factor in productivity for us. Ralph Johnson and co's Smalltalk refactoring browser was a huge leap forward. We used VisualJava as soon as it came out in 1997 and saw that through its evolution to Eclipse. Eclipse went way past the refactoring browser and (much to my dismay) made programming in Java much more productive for me than programming in Smalltalk -- particularly with its tools that apply to the entire software development process. But maybe this isn't news to anyone here.
Language/framework/tool popularity matters, but not always that much. Language/tool complexity matters, but not always that much -- these depend on environmental concerns, among other things. Our company has been the exception to many peoples' rules about these things for more than 20 years. In my work, I normally use Java, Scala, AWK, SED, and, in some situations (but not all), whatever else I choose to use (I've used C, PHP, PERL, Groovy, and others). So, for some people, the choices are very open and they are concerned with how well the language or tools fit them or their team. For others, there is no choice at all -- they have their languages and tools dictated to them from above. A lot of people are in the middle, with some freedom of choice and some constraints.
But this thread has seemed to be all about what happens in the workplace, so far. I'd like you all to turn a bit toward open source, if you would. This is where programmers have freedom to try whatever they want and see for themselves what works for them or their teams and what doesn't. In the commercial world, I do a lot of programming under extremely strict licenses that permit no sharing, but I do a fair amount of open source work. This is where I experiment with new ideas and languages.
The talk I will give on the 3rd is about my open source JavaScript Untyped Lambda Calculus engine, for instance. Working on this has helped me to understand (and explain) some deep FP concepts. I'm using this understanding to help with an open source Haskell video game and I'm also taking some of this learning and applying it to my work; I may be writing the next version of our technology in Scala (or I may not).
On Tue, Dec 27, 2011 at 12:51 AM, kirillkh <kiril...@gmail.com> wrote:
> On 26 December 2011 23:49, Ronen Narkis <nark...@gmail.com> wrote:
>> I don't think that there will be a magic bullet, we will have smarter >> machines but the process must go through the historical chain like any >> other revolution
> The revolution is already slowly gaining steam. There is a reason Ruby, > Scala, F# are gaining so much press coverage and even some industry > deployments in the same landscape that was so boring just 5 years ago. I > see this as a revenge of the nerds, who revolt against having their tools > artificially reduced to the least common denominator. Someone said that > nerds are the driving force of the engineering, and I agree, so I have high > hopes for this revolution. And while I can't see Scala ascending to the > mainstream, my bets are on its more civilized successor with a tie and > corporate backing (S#, anyone?).
> --
> --------------------------------------------------------------------------- -------------------------- > You received this message because you are subscribed to the Google > Groups "sayeret-lambda" group. > To post to this group, send email to sayeret-lambda@googlegroups.com > To unsubscribe from this group, send email to > sayeret-lambda+unsubscribe@googlegroups.com
I was re-reading this discussion and realized I sounded anti-polyglot.
For those who don't know me - I work in polyglot shop, but I'm not
happy about it.
I'm pragmatic and just choose the best technology for the task.
In our previous project we used: Erlang, OpenCL, C, C++,
Octave(Matlab), Javascript, Java, Python, Tcl, VBScript, bash
In the latest project we used: Erlang, C/C++, Python,
Javascript, Lua, R, bash, perl
In the new project we'll use: Erlang, C/C++, R, Javascript and/
or Coffescript, Clojure and Java, Python and/or Ruby, bash
Zvi
On Dec 27 2011, 12:51 am, kirillkh <kiril...@gmail.com> wrote:
> On 26 December 2011 23:49, Ronen Narkis <nark...@gmail.com> wrote:
> > I don't think that there will be a magic bullet, we will have smarter
> > machines but the process must go through the historical chain like any
> > other revolution
> The revolution is already slowly gaining steam. There is a reason Ruby,
> Scala, F# are gaining so much press coverage and even some industry
> deployments in the same landscape that was so boring just 5 years ago. I
> see this as a revenge of the nerds, who revolt against having their tools
> artificially reduced to the least common denominator. Someone said that
> nerds are the driving force of the engineering, and I agree, so I have high
> hopes for this revolution. And while I can't see Scala ascending to the
> mainstream, my bets are on its more civilized successor with a tie and
> corporate backing (S#, anyone?).