Note that there are some explanatory texts on larger screens.

plurals
  1. POIs the Scala 2.8 collections library a case of "the longest suicide note in history"?
    text
    copied!<p>I have just started to look at the <a href="http://lampsvn.epfl.ch/trac/scala/browser/scala/trunk/src/library/scala/collection" rel="noreferrer">Scala collections library re-implementation</a> which is coming in the imminent <strong>2.8</strong> release. Those familiar with the library from 2.7 will notice that the library, from a usage perspective, has changed little. For example...</p> <pre><code>&gt; List("Paris", "London").map(_.length) res0: List[Int] List(5, 6) </code></pre> <p>...would work in either versions. <strong>The library is eminently useable</strong>: in fact it's fantastic. However, those previously unfamiliar with Scala and <em>poking around to get a feel for the language</em> now have to make sense of method signatures like:</p> <pre><code>def map[B, That](f: A =&gt; B)(implicit bf: CanBuildFrom[Repr, B, That]): That </code></pre> <p>For such simple functionality, this is a daunting signature and one which I find myself struggling to understand. <strong>Not that I think Scala was ever likely to be the next Java</strong> (or /C/C++/C#) - I don't believe its creators were aiming it at that market - but I think it is/was certainly feasible for Scala to become the next Ruby or Python (i.e. to gain a significant commercial user-base)</p> <ul> <li>Is this going to put people off coming to Scala?</li> <li>Is this going to give Scala a bad name in the commercial world as an <em>academic plaything</em> that only dedicated PhD students can understand? Are <a href="http://en.wikipedia.org/wiki/Chief_technical_officer" rel="noreferrer">CTO</a>s and heads of software going to get scared off?</li> <li>Was the library re-design a sensible idea?</li> <li>If you're using Scala commercially, are you worried about this? Are you planning to adopt 2.8 immediately or wait to see what happens?</li> </ul> <p><a href="http://en.wikipedia.org/wiki/Steve_Yegge" rel="noreferrer">Steve Yegge</a> <a href="http://steve-yegge.blogspot.com/2008/06/rhinos-and-tigers.html" rel="noreferrer">once attacked Scala</a> (mistakenly in my opinion) for what he saw as its overcomplicated type-system. I worry that someone is going to have a field day spreading <a href="http://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt" rel="noreferrer">FUD</a> with this API (similarly to how Josh Bloch scared the <a href="http://en.wikipedia.org/wiki/Java_Community_Process" rel="noreferrer">JCP</a> out of adding closures to Java).</p> <p><strong>Note</strong> - <em>I should be clear that, whilst I believe that <a href="https://en.wikipedia.org/wiki/Joshua_Bloch" rel="noreferrer">Joshua Bloch</a> was influential in the rejection of the BGGA closures proposal, I don't ascribe this to anything other than his honestly-held beliefs that the proposal represented a mistake.</em></p> <hr/> <p>Despite whatever my wife and coworkers keep telling me, I don't think I'm an idiot: I have a good degree in mathematics from the <a href="http://www.ox.ac.uk/" rel="noreferrer">University of Oxford</a>, and I've been programming commercially for almost 12 years and in <a href="http://en.wikipedia.org/wiki/Scala_%28programming_language%29" rel="noreferrer">Scala</a> for about a year (also commercially).</p> <p><em>Note the inflammatory subject title is a <a href="http://en.wikipedia.org/wiki/The_longest_suicide_note_in_history" rel="noreferrer">quotation made about the manifesto of a UK political party</a> in the early 1980s</em>. This question is subjective but it is a genuine question, I've made it CW and I'd like some opinions on the matter.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload