Flexible syntax is a big part of it, but combined with operator override,
it's a potential hole for understanding.
  They will never officially do that because one big use-case for scala is
DSLs, in which this is an advantage (and the main scala team just got a
reasonably large funding from a group that is interested in using Scala as
DSLs).

  I'm with Richard, only strict coding standards will move Scala into
mainstream (ok ok, there are a FEW mainstream projects, but I mean
MAINmainstream).  I'm not sure why it was never officially proposed yet...

    []s Gus


On Wed, Jan 19, 2011 at 7:22 AM, Martin Makundi <
martin.maku...@koodaripalvelut.com> wrote:

> The only thing that bugs me about scala is its flexibility of
> accepting different kind of notation. It's that what was the
> "downfall" of html: making complilers flexible to allow various human
> input and as end result none of the browsers work correctly because
> the truth is only "in the eye of the beholder" (or creator only, in
> this case).
>
> Scala maybe needs a bit more syntactical canonicity?
>
> **
> Martin
>
> 2011/1/19 richard emberson <richard.ember...@gmail.com>:
> > Yea,
> >
> > I have consistently advocated using Scala with strong coding
> > standards - standards that are actually believed in and enforced.
> > I have referred to it as OO Scala, Scala which is strong on the
> > Java-like Object-Oriented features plus functional programming
> > in-the-small, but refrains from using functional programming
> > in-the-large, many of Scala's "functional goodies" and advanced
> > type capabilities (and if any of these really have to be used, they
> > should be approved by the group and be documented in detail).
> >
> > The reasons for Scala and using it with limitation are:
> >  Scala is a better Java and
> >  The use of Scala's "advanced features" must be controlled so that
> >  code is understandable, maintainable and, most importantly, so that
> >  one can access the existing programmer labor pool and not have to
> >  limit one self to the very small number of FP programmers out there.
> >
> > Those who advocate the use of Scala's advanced features on large
> > projects are really advocating that Scala be only a niche language.
> >
> > Richard
> >
> > On 01/18/2011 11:02 PM, Liam Clarke-Hutchinson wrote:
> >>
> >> Hey mate,
> >>
> >> I code Java for my day job, and write my fun code in Scala. I just love
> >> the
> >> flexibility of Scala combined with the power to use all my existing Java
> >> libraries. That said,
> >> I don't see Scala overcoming Java anytime soon because it offers
> >> developers
> >> _too much_ freedom. I had a real bad time using
> >> http://dispatch.databinder.net for a project, because it fully utilized
> a
> >> lot of Scala features to offer a really shit API. Java makes everyone
> >> conform to a base level while preventing soaring, and it's a base level
> >> that's sane. And when it comes to writing  business code, as in "Code
> that
> >> makes money", Scala's freedom doesn't offer overly much compared to
> Java's
> >> enforced conformity.
> >>
> >> Don't get me wrong, I<3 Scala, but while half of me wants to use it at
> >> work, the other half is terrified of what the Java developers who write
> >> Spring code like this:
> >>
> >> <bean id="something class="java.lang.String">
> >>     <constructor-arg index="0">
> >>         <value>${someProperty}</value>
> >>     </constructor-arg>
> >> </bean>
> >>
> >> Would do with the power of Scala at their finger tips. (PS, that's real
> >> Spring code that I saw (and refactored) today.)
> >>
> >> On Tue, Jan 18, 2011 at 5:33 PM, richard emberson<
> >> richard.ember...@gmail.com>  wrote:
> >>
> >>> I originally mentioned the Kuhn book in the context of the politics of
> >>> change.  Altering the focus, you brought up *the truth* as the view
> >>> held by those resisting change, which I believe is not the larger
> >>> insight to be gained from his book.  It is still my contention that my
> >>> original interpretation is valid; Scala faces resistance to change and
> >>> the structure of that resistance, maps into those structures
> >>> identified by Kuhn.
> >>>
> >>> Using a term you earlier used, I think it would be naive to believe
> >>> that entrenched business forces will stop the emergence of a new,
> >>> major development language. Such forces were aligned against C, C++
> >>> and Java, but the forces were overcome.  In each case, rational
> >>> examination of the languages revealed advantages as well as
> >>> non-rational forces, such as Sun's marketing and glitter in the case
> >>> of Java, strengthening the prospects of the language's adaption. I
> >>> hope we can both agree that change will come.
> >>>
> >>> But, I do not believe the change will be revolutionary but, rather,
> >>> evolutionary. A language that evolves from an existing ecosystem has a
> >>> much greater likelihood of becoming significant than a green field
> >>> language.
> >>>
> >>> I paint and sculpt as well as do mathematics and physics and, for me,
> >>> language selection is far closer to math and physics than to the play
> >>> of colors or shape and form. I, thus, do not agree that choosing a
> >>> programming language is an exercise in artistry, but rather, its a
> >>> more rational process.  And, if beauty is involved, then it is
> >>> scientific beauty and not artistic beauty.  Are you Picasso? Maybe
> >>> even Mondrian? Hopefully, not Pollock.
> >>>
> >>> Concerning the languages you listed as "the way forward", an important
> >>> criteria must be: where are the programmers coming from?  One can wait
> >>> for a new generation or one can see if any existing programmers will
> >>> migrate from their current language to a new language.  Some language
> >>> usages from the web:
> >>>    Java         18%
> >>>    C            16%
> >>>    C++           9%
> >>>    Python        6%
> >>>    C#            6%
> >>>    Objective-C   3%
> >>>    Ruby          2%
> >>>    Lisp          1%
> >>>    Scheme       ~0.5%
> >>>    Haskell      ~0.3%
> >>>    Scala        ~0.3%
> >>>    Eiffel<0.1%
> >>>    Clojure      ~0.0%
> >>>
> >>> So, where might future Haskell or Clojure or Eiffel or Scala
> >>> programmers come from?
> >>>
> >>> # So, what about Eiffel?
> >>>
> >>> Eiffel (with DbC, "design by contract") is a 25 year old language and
> >>> its usage stats are down in the noise - well below Scala, Clojure and
> >>> Haskell - and showing its age. Hard to see a ground swell of C or Java
> >>> programmers switching to Eiffel.
> >>>
> >>> Eiffel's grasp exceeded what could be supported; its notion of
> >>> "contract" was so big, it was hard to find a wrapper around it all.
> >>> Category Theory may provide for a pragmatic approach to reasoning
> >>> about interfaces (contracts) which might not encompass all possible
> >>> rely/guarantee predicates, but many.  As such, the three laws of
> >>> Monads from Category Theory might yield a more coherent, reasoned
> >>> approach to DbC and interface design.  Curiously, this has been
> >>> discussed by the author of Scala as a possible approach to adding DbC
> >>> to Scala. For the Scala-CLR binding there is native support for such
> >>> constructs while for the Scala-JVM binding, it would have to be done
> >>> with code.
> >>>
> >>>
> >>> # So, what about Haskell?
> >>>
> >>> Haskell is the flag ship FP testbed which has been out there for close
> >>> to 20 years. There are no large enterprise applications written in
> >>> Haskell. It has certainly not taking the programming world by storm
> >>> whatever its merits.  In addition, for Haskell, and all FP languages
> >>> for that matter, the world view required is not shared by most people,
> >>> Folks do not see the world as math functions (program mangers and
> >>> customers certainly don't); functional programming in-the-large is an
> >>> unnatural mapping of external objects and relationship to a FP design.
> >>> (That said, Category Theory is being used more in Physics and
> >>> non-computer Mathematics as a means of providing some guidance by
> >>> helping to find higher level relationships between areas of research,
> >>> but those are rather rarefied endeavors.) Again, where are the
> >>> converts to Haskell coming from?  Just an occasional graduate student.
> >>>
> >>>
> >>> # So, what about Clojure?
> >>>
> >>> Clojure is an interesting case; its immutable data structures are a
> >>> strength but as soon as you allow users to call into Java libraries
> >>> any program-level reasoning due to such data structures are suspect -
> >>> an issue with any FP language which is not 100% pure.  In addition,
> >>> where is the pool of potential converts?  Clojure is a rather large
> >>> leap for the 20% of programmers using Java (or for that matter for the
> >>> 20% using C/C++) Converts would likely come from the Lisp (1% usage)
> >>> and Scheme (usage levels in the noise) community.
> >>>
> >>> As an aside, I had considered porting the Clojure runtime to Scala.
> >>> There would have been many advantages over the Java-based
> >>> runtime, e.g.:
> >>>  Scala with its immutable data structures would be a good fit,
> >>>  Scala's coming parallelized data structures targeted to
> >>>    multi-core environments saving the Clojure group much development
> >>>    effort.
> >>>  Scala would have given the Clojure community delimited continuations
> >>>    which the Scheme folks would like and understand.
> >>> But, such a port, while interesting and I would certainly have
> >>> learned Clojure, would not have appreciably increased the number
> >>> of Scala users - so I choice Wicket.
> >>>
> >>>
> >>> # So, what about Scala?
> >>>
> >>> I recently came upon a discussion of Joshua Bloch's "Effective Java",
> >>> its list of recommended practices and how they map into Scala.
> >>> Curiously, in each case, the article pointed out that Scala made
> >>> simpler or completely eliminated the need for the "Effective Java"
> >>> better-coding-practice. So, if one thinks that "Effective Java" makes
> >>> sense, so does, at least at the level of the recommendations, a switch
> >>> to Scala - the state of art has moved on from Java. As I have been
> >>> advocating, Scala is a better Java; switching from OO Java to OO Scala
> >>> is relatively easy and certainly Java's warts have become very
> >>> glaring.
> >>>
> >>> As with any language and development team, one needs development
> >>> standards. In this, Scala is no different than Java, C++, C, etc.  To
> >>> not let programmers use Scala because one don't trust them and that
> >>> the team's development practices are not being followed or are
> >>> inadequate is not a problem with the language but rather with those in
> >>> positions of authority and/or respect for failing to set the proper
> >>> environment.
> >>>
> >>> Scala does allow users to access the existing, significant base of
> >>> Java libraries so that a whole universe of supporting libraries does
> >>> not have to be re-created for Scala.  Also, if the use of its
> >>> functional and extended type capabilities are controlled, it offers a
> >>> relatively easy migration for the average Java programmer (or any of
> >>> the other OO languages listed above - a large pool of potential
> >>> converts).
> >>>
> >>>
> >>> The rate of change is increasing, A 100 years ago, change occurred much
> >>> slower than today.  The establishment 100 years ago, those forces that
> >>> resist change as described by Kuhn, suffered few consequences for
> >>> their recalcitrance.  But, now, change on the order of a few years is
> >>> the new constant, and it is only getting shorter (we are, in fact,
> >>> approaching the singularity).  So, yesterday's guru, technical
> >>> innovator is today's stick-in-the-mud detractor - unless one rises
> >>> above the recurring drama Knuth discussed.  Now a day, one might say,
> >>> Go Meta young man or become a Dunsel.
> >>>
> >>>
> >>> Quis custodiet ipsos custodes
> >>>
> >>
> >
> > --
> > Quis custodiet ipsos custodes
> >
>

Reply via email to