- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
What is highest priority for Scala to succeed in corporate world (Should be in scala-debate?) ?
Even though this perhaps should be in scala-debate, I'm posting it here because: 1) It's really very important. 2) I've never seen a similar question posted.
This comes after reading a few of the "White elefant" posts.
The question is simple: List, in descending order of priority, what you feel needs to be addressed/fixed/whatever for Scala to succeed in the corporate (and hence IMHO ultimately the "real") world.
My list:
1. IDE Support. Scala must have rock-hard support in at least one IDE, and must have "pretty good" support in Eclipse, since it's the de facto standard. I don't think we're close yet. This alone could lose Scala the language wars.
2. Documentation. Scaladoc documentation needs to be expanded on greatly; at the same time Scaladoc itself could stand some enhancements, though exactly where is less obvious. I am complicit in this; I keep on intending to devote some serious time to enhancing scaladoc, and keep failing to do so, dangit!
3. A "Scala Cookbook". I'm amazed one isn't out or on the web already. I know, there's lots on stackoverflow and other sites but it's not the same. Scala is such a neat language, that a newcomer could easily get caught up and read for hours on a good cookbook, saying things like, "Wow, I can do it in just one line...".
And your suggestions? Recommended three or less because probably no one will read past the third one :-).
Ken
This comes after reading a few of the "White elefant" posts.
The question is simple: List, in descending order of priority, what you feel needs to be addressed/fixed/whatever for Scala to succeed in the corporate (and hence IMHO ultimately the "real") world.
My list:
1. IDE Support. Scala must have rock-hard support in at least one IDE, and must have "pretty good" support in Eclipse, since it's the de facto standard. I don't think we're close yet. This alone could lose Scala the language wars.
2. Documentation. Scaladoc documentation needs to be expanded on greatly; at the same time Scaladoc itself could stand some enhancements, though exactly where is less obvious. I am complicit in this; I keep on intending to devote some serious time to enhancing scaladoc, and keep failing to do so, dangit!
3. A "Scala Cookbook". I'm amazed one isn't out or on the web already. I know, there's lots on stackoverflow and other sites but it's not the same. Scala is such a neat language, that a newcomer could easily get caught up and read for hours on a good cookbook, saying things like, "Wow, I can do it in just one line...".
And your suggestions? Recommended three or less because probably no one will read past the third one :-).
Ken










Re: What is highest priority for Scala to succeed in corporate
Another thing that mitigiates the pains of binary incompatibility is
the the cross building capacity of SBT,
if I declare a dependency on, for example :
"com.weiglewilczek.slf4s" %% "slf4s" % "1.0.7"
then when I updrade scala version, things will happen painlessly,
provided that :
1) the maintainers of the libraries are quick to release their jars
when new Scala versions come out
2) the maintainers of the libraries use proper version naming scheme
to not break the magic
It's a big if, but I think most maintainers of libraries are aware of this.
Also what makes binary incompatibility less painfull for me as an
eclipse user is that I use SBT's eclipse plugin
to generate and update the project definition. My build config is the
single source of
truth in terms of versions, that are all agnostic of the Scala release.
I take the time to mention this, because I think there could be more
documentation out there
that explains the availability of a tool chain that can go a long way
in making the binary incompatibility
much more acceptable.
Right now the doc is on thres sites :
- ScalaIDE's site
- SBT's site
- SBT's eclipse plugin github page
I'm sure that most seasoned Scala devs are aware of this, but someone
starting Scala will
loose a lot of time if they don't discover this quickly.
Cheers
2011/11/11 Mirco Dotta :
> Francois, don't take it personally, I was simply reporting a fact.
>
> Going back to binary compatibility, I think that an important step has been made: Scala minor releases
> are now binary compatible.
> That demonstrates the problem is (1) relevant, and (2) work is being done to mitigate it.
>
> I agree with you when you say that a Java dev is not used to deal with binary incompatibilities, hence we
> need to make his (and our!) life easier.
>
> How can we do that? In my opinion, the first thing that is needed is a way to tell programmatically if a
> library is binary incompatible wrt the used scala library (the example you reported for Play! is a perfect
> use case).
>
> Just imagine the Scala IDE issuing an error when you add in the classpath a library that is not binary compatible.
> I bet that it would make binary compatibility a much simpler problem to deal with (for everyone).
> But for making this real we need help from the compiler. Specifically, we need to know with what Scala version
> a binary class is compiled.
>
> An additional important aspect is improving the documentation and understanding of how to evolve Scala
> code to ensure release-to-release binary compatibility. If library maintainers are given the tools to strive for
> binary compatible releases, then the whole problem will simply go away.
>
> Cheers,
> Mirco
>
> On Nov 11, 2011, at 10:27 PM, Francois wrote:
>
>> On 11/11/2011 21:55, Mirco Dotta wrote:
>>>> and Scala IDE came with 2.9.
>>> For the record, the Scala IDE supports both 2.8 and 2.9.
>>>
>>> http://download.scala-ide.org/releases-28/stable/site
>>> http://download.scala-ide.org/releases-29/stable/site
>>
>> I do know that, as I think any Scalaiste more than some days old do. What I wanted to report is that complettly newcomers, especially Java one, it was a surprise to have to care about binary compatibility between Scala version.
>>
>> Well, and it was just a report, I don't want to have to argue against fact. You can take care of them of not, it was just to contribute what might be an "highest priority for Scala to succeed in corporate world".
>>
>> Thanks,
>>
>> --
>> Francois ARMAND
>> http://fanf42.blogspot.com
>> http://www.normation.com
>>
>
>
Re: What is highest priority for Scala to succeed in corporate
Agreed. At the same time though, everyone, java or on any other platform, always cares about version compatibility between different libraries like JUNIT or LOG4J even so why is this such an issue?
The fact that you call it "binary" is a reference to the JVM binary compatibility, which only means that you can run the compiled bytecode on the JVM, not that it will still be compatible with whatever version of the whatever library. Which is the case here.
Also, from what I understand, things got a lot better starting FROM 2.9 which is when the compiler got stable enough.
You can see why I find it amazing that that was his biggest problem! Which is not even a problem... Anymore.
Sorry, don't want to seem confrontational but I am puzzled!
Thanks,
Razvan
On 2011-11-11, at 4:27 PM, Francois wrote:
> On 11/11/2011 21:55, Mirco Dotta wrote:
>>> and Scala IDE came with 2.9.
>> For the record, the Scala IDE supports both 2.8 and 2.9.
>>
>> http://download.scala-ide.org/releases-28/stable/site
>> http://download.scala-ide.org/releases-29/stable/site
>
> I do know that, as I think any Scalaiste more than some days old do. What I wanted to report is that complettly newcomers, especially Java one, it was a surprise to have to care about binary compatibility between Scala version.
>
> Well, and it was just a report, I don't want to have to argue against fact. You can take care of them of not, it was just to contribute what might be an "highest priority for Scala to succeed in corporate world".
>
> Thanks,
>
Re: What is highest priority for Scala to succeed in corporate w
I don't post often, but when I do...
This thread is becoming an IDE flame war, but in the meantime, take a
look at this article just published:
http://www.informationweek.com/news/software/info_management/231902645
The Big Data Stack is probably the next big thing to work its way into
large enterprises. What offering does Scala have here? Scala
ecosystem recently bet big on parallel collections, lang
virtualization, and absorbing AKKA (all truly amazing stuff). But,
these are just different directions than big enterprises are taking.
With the Big Data Stack, numerous industries are realizing the value
of a generic, supported framework for the storage and analysis of
unlimited data in structured and unstructured forms. This solves a
huge industry problem as general trend is more real-time results, more
introspection of your customer's data so you can sell or offer more
value than competitor, and of course it solves the data explosion
problem in an affordable, predictable way without vendor lock in.
I am consulting with a big financial center currently, so let me give
some background and context of the environment. There might be a
dozen or two of us who could write code in Scala right now. But the
other 10,000 developers will not have a clue how to read it, how to
get trained, how to get started, how to get Management to pay for all
their training and lost productivity while they train, rewrite, and
learn on the job. We'd no doubt see the range of Scala as it is very
flexible, making it very difficult to maintain and read. This
contradicts the process and control lock down big companies must have
to make sure strategy flows from top to bottom as it is translated
into execution. From a ground up perspective, the first time a
Manager who codes "Enterprise Style Java", risks his reputation (and
budget and bonus) on some smart consultant's Scala recommendation,
only to experience first hand a random long pauses using an IDE or has
an unexpected class explosion from specialization or a code review
with someone pushing the type system, he will shut it down and
vocalize his perception to other managers and that consultant is
booted.
In a big company, it is not uncommon to find millions of lines of code
written in Java, with huge chunks of it pre generics. I don't see
that code going anywhere. It is simple to read, buggy as heck to
modify beyond its intended extension points, but in Management's mind
it has powered the company for almost a decade so why change it? They
see so many other areas that would have a higher return on investment.
I think Scala could make inroads in another way. Big companies buy
smaller companies all the time. If eventually enough small companies
are ingested that are using Scala, the base make up of the big company
changes. Big companies also go with proven advantages from vendors or
open source, but they typically do not make big risky bets, and they
only change tooling and paradigms when competition forces change.
There's also ingestion in the small - great libraries.
But this would take a long time, and I suspect great progress is not
happing in this direction. Why? I'm not sure, but I don't see a
great migration in open source to replace Java for enterprise tooling
with Scala (I am aware of the contributions flowing from startups). I
do not see dozens of Apache projects banging out new libraries and
Java Enterprise API implementations using Scala, even where they are
small, lightweight subsets like JAXB and JAX-RS. So something is
amiss with the value proposition of Scala, such that it is not getting
ingested by the Java ecosystem in the small. There is some progress,
but not as much as I thought there would be at the "Apache" level.
How about in the large? The Big Data Stack is the next big thing, and
it has been incubating on the JVM almost as long as Scala has, yet I
see very little to no influence by Scala. If Scala is such a great
productive language, why are not all the new tools around the Big Data
Stack and pieces of the Big Data Stack written in Scala? Again, I'm
just not sure why this didn't happen, just that it appears not to be,
and thus ingestion as a mechanism to break out appears not to be
happening.
Then there is the operational requirements of big enterprise. How do
we constrain Scala for Enterprise? Enterprises follow a model that is
the opposite of Academia in terms of the composition and use of labor
(many cogs following directed, repeatable process to generate globally
usable artifacts vs Acadmia's accretion of new knowledge using search
and investigation to generate narrow use artifacts.) How would you
get 10,000 or maybe 1000 developers or 100 or 10 to follow an approved
subset of the language? Trust? Ugh. Scala has turing complete type
system (side stepping tractability issues) - amazing for research and
exploration of the possible - not so good for 9 to 5 coder who might
be proficient in 2004-2008 era Java writing code that any of those
other 10,000 devs must be able to read and modify.
I used to think Scala was going to crack the enterprise by 2009-2010
(been an avid follower since 2007). Then the great collection rewrite
showed us that type abstraction in Scala would allow us to do things
more correctly and keep type safety. However that type safety had a
cost and the collection API is now non-navigable or extendable by new
users. How do we make the same kinds of jumps in usability
abstraction?
In many ways Scala's direction appears to be the antithesis of big
enterprise tooling. But, every consumer having a ubiquitous computing
device that is always connected in their hand is forcing big
enterprises to increase capabilities or lose their relationship with
those customers. This is an opportunity for Scala, but maybe not the
Scala we all know and love. Maybe it is time to evaluate a Scala
"light"?
Scala's hypothesis of a scalable language fusing FP and OO was and
continues to be needed (thanks Martin), but what has been learned here
can certainly feed into a subset language that leverages Scala, but
answers another hypothesis: How do we bridge a scalable language to a
constrained environment to deliver value to the masses that don't grok
type theory, category theory/abstract algebra, and that don't have
much time to learn anything that does not fit their current analogies
or at least have obvious, predictable value model? I used to think
DSLs were the vehicle by which Scala would crack into the enterprise.
While they are targeted, and offer high levels of productivity - in
the end they require you must understand all of Scala to extend, grow,
and therefore require passing the enterprise test before they can be
used to bring the language in.
Is working with the constrained big enterprise something the Scala
community even wants to solve? It cuts into resources and that cuts
into all the great edge problems Scala allows us to interact with.
You could think of Scala as an incubator - somewhere between edge
research and somewhere between getting real stuff done at tomorrows
big companies (startups). These environments have a great deal in
common, and it isn't surprising Scala can thrive there. But
enterprise is a re-think if you want to target them. I don't think
providing more documentation or a flawless GUI based environment
solves the problem outright. Imagine one small team using modern day
fighter jet fighter for missions. The training, the documentation,
the hours to effectively use it are unreal so you have to be a top
student - but the result is very capable, fast, and far reaching
instrument a handful can use. Well, enterprises are more like big
battleships. slow to turn. lots of hands on deck taking orders in a
hierarchy to accomplish things. Sure battleships might have some cool
bolt-on technology, and some really smart people on board (and even
more 9-5er types). But, I don't think providing more doc, training,
or a flawless heads up display will turn battleship hands into jet
fighter pilots, let alone battleships into aircraft carriers. Maybe
it is time to reframe the problem.
Just some food for thought on this issue.
Kind Regards,
Jim Herber
Re: Re: What is highest priority for Scala to succeed in corpor
On Thu, Nov 10, 2011 at 9:24 AM, jherber wrote:
> In a big company, it is not uncommon to find millions of lines of code
> written in Java, with huge chunks of it pre generics.
(replying on scala-debate, not scala-user; I hope others will follow)
In 2050, when you and I are dead or our beards are long and gray, all
that Java code will still be Java and still maintained, just as today
in 2011 millions of lines of COBOL and Fortran code from decades past
is still with us.
Java is too big to fail. It's normal and not something Scala should be
wringing its hands over. We should look for opportunities where they
exist. Gradually Java will fade and new languages will grow. Let's
find fresh soil to grow in and not to be too obsessed with pulling up
existing plants.
(I'm agreeing, not disagreeing.)
Re: What is highest priority for Scala to succeed in corporate w
Seth,
although I haven't followed the original thread, i fundamentally agree
with your thoughts!
corporate world (taking a guess on what the original thread may have
been) - i guess from my personal perspective, byte code compatibility
between releases sounds pretty important. I know its a double edged
sword, but if I were to start using scala full scale, there would be
locally reusable components created that I won't want to recompile
every time a consuming project looks at upgrading scala version. But
like I said, that's just my personal opinion.
the other big thing, IMHO, is developer productivity - at the moment,
the learning curve to writing *quality code* in scala seems to be too
steep (as compared to for example RoR). Anything done to address that
would, IMHO, lead to better adoption.
Best regards
Aishwarya
On Nov 11, 6:24 pm, Seth Tisue wrote:
> On Thu, Nov 10, 2011 at 9:24 AM, jherber wrote:
> > In a big company, it is not uncommon to find millions of lines of code
> > written in Java, with huge chunks of it pre generics.
>
> (replying on scala-debate, not scala-user; I hope others will follow)
>
> In 2050, when you and I are dead or our beards are long and gray, all
> that Java code will still be Java and still maintained, just as today
> in 2011 millions of lines of COBOL and Fortran code from decades past
> is still with us.
>
> Java is too big to fail. It's normal and not something Scala should be
> wringing its hands over. We should look for opportunities where they
> exist. Gradually Java will fade and new languages will grow. Let's
> find fresh soil to grow in and not to be too obsessed with pulling up
> existing plants.
>
> (I'm agreeing, not disagreeing.)
>
> --
> Seth Tisue | Northwestern University |http://tisue.net
> lead developer, NetLogo:http://ccl.northwestern.edu/netlogo/
RE: Re: What is highest priority for Scala to succeed in corpor
WOW. I hear you and used to think so, but then I also find it amazing that
these "big companies" don't use Cobol that much anymore... that builds kind
of a contradiction there...
Our customers - many orders of magnitude larger than us, have vey funky
environments. I have seen all sorts of scripting environments known to man
(and a few in-house) in production all over the place.
Also - the moment I stopped pushing for it, some guys here started picking
it up... now we have at least one "official" project using an internal scala
DSL :)
Maybe the most important thing we all need to do is just chill... of course
a great UI won't hurt the chilling process!
------
About Big data - yeah. Kind'a easy to explain to someone: map-reduce this
sh!t. somehow that sounds better to the masses than "flat-map this sh!t"?
That however will be just a stepping stone kicking in new paradigms... Yo,
Greg - how's your book coming along?
------
To answer the original "what scala needs to succeed in the enterprise" ?
Karma!
Cheers,
RAzie
-----Original Message-----
From: scala-user [at] googlegroups [dot] com [mailto:scala-user [at] googlegroups [dot] com] On
Behalf Of jherber
Sent: November-10-11 9:24 AM
To: scala-user
Subject: [scala-user] Re: What is highest priority for Scala to succeed in
corporate world (Should be in scala-debate?) ?
I don't post often, but when I do...
This thread is becoming an IDE flame war, but in the meantime, take a look
at this article just published:
http://www.informationweek.com/news/software/info_management/231902645
The Big Data Stack is probably the next big thing to work its way into large
enterprises. What offering does Scala have here? Scala ecosystem recently
bet big on parallel collections, lang virtualization, and absorbing AKKA
(all truly amazing stuff). But, these are just different directions than
big enterprises are taking.
With the Big Data Stack, numerous industries are realizing the value of a
generic, supported framework for the storage and analysis of unlimited data
in structured and unstructured forms. This solves a huge industry problem
as general trend is more real-time results, more introspection of your
customer's data so you can sell or offer more value than competitor, and of
course it solves the data explosion problem in an affordable, predictable
way without vendor lock in.
I am consulting with a big financial center currently, so let me give some
background and context of the environment. There might be a dozen or two of
us who could write code in Scala right now. But the other 10,000 developers
will not have a clue how to read it, how to get trained, how to get started,
how to get Management to pay for all their training and lost productivity
while they train, rewrite, and learn on the job. We'd no doubt see the
range of Scala as it is very flexible, making it very difficult to maintain
and read. This contradicts the process and control lock down big companies
must have to make sure strategy flows from top to bottom as it is translated
into execution. From a ground up perspective, the first time a Manager who
codes "Enterprise Style Java", risks his reputation (and budget and bonus)
on some smart consultant's Scala recommendation, only to experience first
hand a random long pauses using an IDE or has an unexpected class explosion
from specialization or a code review with someone pushing the type system,
he will shut it down and vocalize his perception to other managers and that
consultant is booted.
In a big company, it is not uncommon to find millions of lines of code
written in Java, with huge chunks of it pre generics. I don't see that code
going anywhere. It is simple to read, buggy as heck to modify beyond its
intended extension points, but in Management's mind it has powered the
company for almost a decade so why change it? They see so many other areas
that would have a higher return on investment.
I think Scala could make inroads in another way. Big companies buy smaller
companies all the time. If eventually enough small companies are ingested
that are using Scala, the base make up of the big company changes. Big
companies also go with proven advantages from vendors or open source, but
they typically do not make big risky bets, and they only change tooling and
paradigms when competition forces change.
There's also ingestion in the small - great libraries.
But this would take a long time, and I suspect great progress is not happing
in this direction. Why? I'm not sure, but I don't see a great migration in
open source to replace Java for enterprise tooling with Scala (I am aware of
the contributions flowing from startups). I do not see dozens of Apache
projects banging out new libraries and Java Enterprise API implementations
using Scala, even where they are small, lightweight subsets like JAXB and
JAX-RS. So something is amiss with the value proposition of Scala, such
that it is not getting ingested by the Java ecosystem in the small. There
is some progress, but not as much as I thought there would be at the
"Apache" level.
How about in the large? The Big Data Stack is the next big thing, and it
has been incubating on the JVM almost as long as Scala has, yet I see very
little to no influence by Scala. If Scala is such a great productive
language, why are not all the new tools around the Big Data Stack and pieces
of the Big Data Stack written in Scala? Again, I'm just not sure why this
didn't happen, just that it appears not to be, and thus ingestion as a
mechanism to break out appears not to be happening.
Then there is the operational requirements of big enterprise. How do we
constrain Scala for Enterprise? Enterprises follow a model that is the
opposite of Academia in terms of the composition and use of labor (many cogs
following directed, repeatable process to generate globally usable artifacts
vs Acadmia's accretion of new knowledge using search and investigation to
generate narrow use artifacts.) How would you get 10,000 or maybe 1000
developers or 100 or 10 to follow an approved subset of the language?
Trust? Ugh. Scala has turing complete type system (side stepping
tractability issues) - amazing for research and exploration of the possible
- not so good for 9 to 5 coder who might be proficient in 2004-2008 era Java
writing code that any of those other 10,000 devs must be able to read and
modify.
I used to think Scala was going to crack the enterprise by 2009-2010 (been
an avid follower since 2007). Then the great collection rewrite showed us
that type abstraction in Scala would allow us to do things more correctly
and keep type safety. However that type safety had a cost and the
collection API is now non-navigable or extendable by new users. How do we
make the same kinds of jumps in usability abstraction?
In many ways Scala's direction appears to be the antithesis of big
enterprise tooling. But, every consumer having a ubiquitous computing
device that is always connected in their hand is forcing big enterprises to
increase capabilities or lose their relationship with those customers. This
is an opportunity for Scala, but maybe not the Scala we all know and love.
Maybe it is time to evaluate a Scala "light"?
Scala's hypothesis of a scalable language fusing FP and OO was and continues
to be needed (thanks Martin), but what has been learned here can certainly
feed into a subset language that leverages Scala, but answers another
hypothesis: How do we bridge a scalable language to a constrained
environment to deliver value to the masses that don't grok type theory,
category theory/abstract algebra, and that don't have much time to learn
anything that does not fit their current analogies or at least have obvious,
predictable value model? I used to think DSLs were the vehicle by which
Scala would crack into the enterprise.
While they are targeted, and offer high levels of productivity - in the end
they require you must understand all of Scala to extend, grow, and therefore
require passing the enterprise test before they can be used to bring the
language in.
Is working with the constrained big enterprise something the Scala community
even wants to solve? It cuts into resources and that cuts into all the
great edge problems Scala allows us to interact with.
You could think of Scala as an incubator - somewhere between edge research
and somewhere between getting real stuff done at tomorrows big companies
(startups). These environments have a great deal in common, and it isn't
surprising Scala can thrive there. But enterprise is a re-think if you want
to target them. I don't think providing more documentation or a flawless
GUI based environment solves the problem outright. Imagine one small team
using modern day fighter jet fighter for missions. The training, the
documentation, the hours to effectively use it are unreal so you have to be
a top student - but the result is very capable, fast, and far reaching
instrument a handful can use. Well, enterprises are more like big
battleships. slow to turn. lots of hands on deck taking orders in a
hierarchy to accomplish things. Sure battleships might have some cool
bolt-on technology, and some really smart people on board (and even more
9-5er types). But, I don't think providing more doc, training, or a
flawless heads up display will turn battleship hands into jet fighter
pilots, let alone battleships into aircraft carriers. Maybe it is time to
reframe the problem.
Just some food for thought on this issue.
Kind Regards,
Jim Herber
Re: What is highest priority for Scala to succeed in corporate
Le 05/11/2011 22:51, Ken McDonald a écrit :
[...]
> The question is simple: List, in descending order of priority, what you
> feel needs to be addressed/fixed/whatever for Scala to succeed in the
> corporate (and hence IMHO ultimately the "real") world.
>
> My list:
>
> 1. IDE Support. [...]
>
> 2. Documentation. [...]
>
> 3. A "Scala Cookbook". [...]
>
My shop list would be:
1. A compiler as fast as the java one. And a modular scala-lib. Yeah, I
now...
2. An as powerful and great library to deals with immutable data
structure modification as the collection one is for collection (lens,
zipper, etc)
3. Being able to use Scala for scripting. Than implies 1 and a better
starting time + something to include automagically dependencies,
essentially. And it will be so good to show how cool and powerful Scala
is in some little lines. I really would *love* to convert the sysadmin I
work with to use it as possible replacement of perl or python (or bash),
but for now, the lauching time are killing that possibility.
IDE support is reaching the point where Eclipse does not go in my way
anymore and is of real help for boring things (imports, completion of
long method names, formatting, things like that).
Documentation is OK, especially with so many books and blogs post online.
A "Scala Cookbook" could be intersting, but I would much more prefer a
repository of Scala scripts, if they were usable for real.
Cheers,
Re: What is highest priority for Scala to succeed in corporate
On 09/11/2011 23:30, Francois Armand wrote:
> A "Scala Cookbook" could be intersting, but I would much more prefer a
> repository of Scala scripts, if they were usable for real.
I'd find this useful too. I'd also be happy to contribute - for example
at the moment I'm writing a simple stand-alone J2EE servlet that allows
you to browse Mercurial history without running 'hg serve' for each
repo. Part of that involves parsing XML via a pipe and processing the
resulting scala.xml.Document - not rocket science but there's a couple
of bits that took some hunting around and reading of the library source
to figure out - for example the fact that BufferedSource sometimes
scribbles on stderr and that ProcessIO leaks file descriptors.
My concern is that I'm still learning Scala so I'm not sure my code is
exactly 'Best Scala Practice'. If such a script repository was set up I
think there'd need to be some vetting process for the content. Ideally
it would be possible to annotate the scripts with comments and
suggestions - for people learning Functional concepts, "why" is every
bit as important as "how".
Re: What is highest priority for Scala to succeed in corporate
On Fri, Nov 11, 2011 at 07:41, Alan Burlison wrote:
> On 09/11/2011 23:30, Francois Armand wrote:
>
>> A "Scala Cookbook" could be intersting, but I would much more prefer a
>> repository of Scala scripts, if they were usable for real.
>
> I'd find this useful too. I'd also be happy to contribute - for example at
It is VERY easy to contribute stuff to docs.scala-lang.com, through
the http://github.com/scala/scala.github.com repository. The syntax is
just wiki style, with just a small header you can almost copy&paste
from other files. For example:
---
layout: overview
title: Handling nulls
disqus: true
---
## Introduction
Instead of writing
if (o != null) { return func(o); } else { return somethingElse(); }
write
Option(o) map (func) getOrElse (somethingElse())
**DON'T DO THIS**
val x = Option(o)
if (o.nonEmpty) func(o.get) else somethingElse()
There. Put this in a file on the "tutorials" directory, and you'll
have made a page with a title, code with syntax highlighting, and some
bold text.
> the moment I'm writing a simple stand-alone J2EE servlet that allows you to
> browse Mercurial history without running 'hg serve' for each repo. Part of
> that involves parsing XML via a pipe and processing the resulting
> scala.xml.Document - not rocket science but there's a couple of bits that
> took some hunting around and reading of the library source to figure out -
> for example the fact that BufferedSource sometimes scribbles on stderr and
> that ProcessIO leaks file descriptors.
>
> My concern is that I'm still learning Scala so I'm not sure my code is
> exactly 'Best Scala Practice'. If such a script repository was set up I
> think there'd need to be some vetting process for the content. Ideally it
> would be possible to annotate the scripts with comments and suggestions -
> for people learning Functional concepts, "why" is every bit as important as
> "how".
>
> --
> Alan Burlison
> --
>
Re: What is highest priority for Scala to succeed in corporate
On 11/11/2011 19:20, Daniel Sobral wrote:
> It is VERY easy to contribute stuff to docs.scala-lang.com, through
http://docs.scala-lang.org/ I believe...
> the http://github.com/scala/scala.github.com repository. The syntax is
> just wiki style, with just a small header you can almost copy&paste
> from other files. For example:
I've read http://docs.scala-lang.org/contribute.html and I have a couple
of questions:
1. Is it possible to preview your new content somehow?
2. Would it be possible to set up a specific section for cookbook-style
examples on the site?
Thanks,
Re: What is highest priority for Scala to succeed in corporate
On Fri, Nov 11, 2011 at 22:57, Alan Burlison wrote:
> On 11/11/2011 19:20, Daniel Sobral wrote:
>
>> It is VERY easy to contribute stuff to docs.scala-lang.com, through
>
> http://docs.scala-lang.org/ I believe...
>
>> the http://github.com/scala/scala.github.com repository. The syntax is
>> just wiki style, with just a small header you can almost copy&paste
>> from other files. For example:
>
> I've read http://docs.scala-lang.org/contribute.html and I have a couple of
> questions:
>
> 1. Is it possible to preview your new content somehow?
Very easily. See the README on the github page -- you need to install
ruby gems and then use it to install jekyll -- assuming neither is
available. I agree this information could be at least linked to from
the contribute page you mentioned. That's something to contribute
already there. :-)
> 2. Would it be possible to set up a specific section for cookbook-style
> examples on the site?
The site is just starting. Everything is possible, but it is better to
add content to some place that might not be best and then move
everything latter than wait for all the proper sections and layout to
be done. See, for instance, the FAQ I added to tutorial -- definitely
not the place for a FAQ, but it's better than nothing for now. Also,
my initial contribution had serious formatting problems, which Heather
kindly fixed.
Re: What is highest priority for Scala to succeed in corporate
On 12/11/2011, Daniel Sobral wrote:
> On Fri, Nov 11, 2011 at 22:57, Alan Burlison
> wrote:
>> On 11/11/2011 19:20, Daniel Sobral wrote:
>>
>>> It is VERY easy to contribute stuff to docs.scala-lang.com, through
>>
>> http://docs.scala-lang.org/ I believe...
>>
>>> the http://github.com/scala/scala.github.com repository. The syntax is
>>> just wiki style, with just a small header you can almost copy&paste
>>> from other files. For example:
>>
>> I've read http://docs.scala-lang.org/contribute.html and I have a couple
>> of
>> questions:
>>
>> 1. Is it possible to preview your new content somehow?
>
> Very easily. See the README on the github page -- you need to install
> ruby gems and then use it to install jekyll
Very easy is: 1. load this url 2. type in this text area 3. done.
Very east is not: 1. pick platform-specific instruction list. 2.
Install applications x,y,z. 3. Edit stuff locally and then invoke
magical incantations to do something with it.
Come on people! In the age of google docs, AWS and wikipedia, we
should be able to do better at 'very easy' than this.
Matthew
>
> --
> Daniel C. Sobral
>
> I travel to the future all the time.
>
Re: What is highest priority for Scala to succeed in corporate w
On 12/11/2011 04:36, Daniel Sobral wrote:
>>> the http://github.com/scala/scala.github.com repository. The syntax is
>
> Very easily. See the README on the github page -- you need to install
> ruby gems and then use it to install jekyll -- assuming neither is
> available. I agree this information could be at least linked to from
Uh. So if you spot a typo and want to fix it, a Windows user have to
download and install Git, Ruby, Ruby Gems then Jekyll.
Suddenly, I see some value in Web-based applications... :-)
Git, OK, I already have it as it is useful to grab and update some open
source projects. But for the tooling, I wonder why it doesn't use
Scala-based software... :-P
It isn't a major problem, but needing to install lot of stuff just to
contribute something (and probably to register to GitHub as well?) can
be quite a high barrier for an occasional contributor, discouraging many.
I know that sometime I come across a project (freeware, open source) and
I want to mention an issue or two, without having the intent to get more
involved. If I have to register somewhere (forum...), I just go away: I
am already registered in too many places, including a good number I
already forgot...
(Now, Scala isn't a fix & forget product, you have to get involved in it
to be able to contribute something. Just saying...)
It is not a fundamental criticism of the process, which is already a big
progress with regard to nothing at all! I just point out some potential
issues.
To end on a positive note: if Ruby tools are needed only for
previsualization, one can indeed just fix what is needed, hope markup
syntax is OK, and rely on maintainer to fix formatting issue.
But still, putting up a small server with the Ruby tools where we can
paste some text with markup and see the result in the browser could be
quite useful.
Just a suggestion... :-)
Re: Re: What is highest priority for Scala to succeed in corpor
On Sat, Nov 12, 2011 at 06:37, Philippe Lhoste wrote:
> On 12/11/2011 04:36, Daniel Sobral wrote:
>>>>
>>>> the http://github.com/scala/scala.github.com repository. The syntax is
>>
>> Very easily. See the README on the github page -- you need to install
>> ruby gems and then use it to install jekyll -- assuming neither is
>> available. I agree this information could be at least linked to from
>
> Uh. So if you spot a typo and want to fix it, a Windows user have to
> download and install Git, Ruby, Ruby Gems then Jekyll.
> Suddenly, I see some value in Web-based applications... :-)
Well, if you are crippled... ;-)
I see your point, but installing Ruby is pretty easy. I have never
installed Gems on Windows, but I don't expect it to be hard. And using
gem to install Jekyll is trivial.
HOWEVER, if all you want is to fix a typo, there's still hope!
As it happens, Github supports markdown. I don't know if it supports
the full Maruku extensions, but you can get at least an approximation
by just visualizing the file on github.
AND, you can fork the project on github (you'd need to do that
anyway), and EDIT the file on github itself! Github even provides
limited syntax highlighting of markdown elements.
So, in fact, if all you want is to submit small corrections, all you
need is a browser.
See? I told you it was easy to contribute to it. :-)
>
> Git, OK, I already have it as it is useful to grab and update some open
> source projects. But for the tooling, I wonder why it doesn't use
> Scala-based software... :-P
>
> It isn't a major problem, but needing to install lot of stuff just to
> contribute something (and probably to register to GitHub as well?) can be
You do need to register to github. Of course, you could simply open an
issue with the contribution, but that would but a very high bar on
getting your contributions committed, and you'd still need to
register. Besides, you need to register to github only once, and then
you'll be able to contribute to thousands of different open source
projects, besides having a place to put your own projects and
snippets.
> quite a high barrier for an occasional contributor, discouraging many.
> I know that sometime I come across a project (freeware, open source) and I
> want to mention an issue or two, without having the intent to get more
> involved. If I have to register somewhere (forum...), I just go away: I am
> already registered in too many places, including a good number I already
> forgot...
> (Now, Scala isn't a fix & forget product, you have to get involved in it to
> be able to contribute something. Just saying...)
>
> It is not a fundamental criticism of the process, which is already a big
> progress with regard to nothing at all! I just point out some potential
> issues.
>
> To end on a positive note: if Ruby tools are needed only for
> previsualization, one can indeed just fix what is needed, hope markup syntax
> is OK, and rely on maintainer to fix formatting issue.
> But still, putting up a small server with the Ruby tools where we can paste
> some text with markup and see the result in the browser could be quite
> useful.
> Just a suggestion... :-)
>
> --
> Philippe Lhoste
Re: Re: What is highest priority for Scala to succeed in corpor
On Sat, Nov 12, 2011 at 09:37, Philippe Lhoste wrote:
> Uh. So if you spot a typo and want to fix it, ..
I don't know if this came up already in this thread, but if all you
want is to fix a typo, you can use the "Fork and edit this file"
button on GitHub.
Cheers,
Mirko
Re: What is highest priority for Scala to succeed in corporate w
> 3. Being able to use Scala for scripting. Than implies 1 and a better
> starting time + something to include automagically dependencies,
> essentially. And it will be so good to show how cool and powerful Scala
> is in some little lines. I really would *love* to convert the sysadmin I
> work with to use it as possible replacement of perl or python (or bash),
> but for now, the lauching time are killing that possibility.
My 2c.
System administrators, in general, have rather particular
requirements.
Here's a couple that I've observed:
1) Simplicity.
2) Stability.
3) Speed, but simplicity is much more important.
4) An API, (where applicable) which wraps OS level functionality in
simple fashion.
5) Can be installed, without playing version bingo, from the OS
package management system.
6) Fast code/test/deploy cycle, for a 200 line program, compile/
startup time of more than 2 seconds is too long.
7) Is Bourne, Python, Ruby or for those hangers on from the dot-com
boom, Perl.
System administrators, in general, don't like the following things.
1) Dynamic behaviour redefinition, think implicits.
2) Factory classes, design patterns, types, static typing.
3) Monads, Monoids, things that make more than 2 minutes to make sense
of.
4) Stuff that needs to constantly auto-update itself from some server
in Switzerland, every time you do a build.
I could be wrong....
Re: Re: What is highest priority for Scala to succeed in corpor
On Thu, Nov 10, 2011 at 10:22, bryan hunt wrote:
>> 3. Being able to use Scala for scripting. Than implies 1 and a better
>> starting time + something to include automagically dependencies,
>> essentially. And it will be so good to show how cool and powerful Scala
>> is in some little lines. I really would *love* to convert the sysadmin I
>> work with to use it as possible replacement of perl or python (or bash),
>> but for now, the lauching time are killing that possibility.
>
> My 2c.
>
> System administrators, in general, have rather particular
> requirements.
>
> Here's a couple that I've observed:
>
> 1) Simplicity.
> 2) Stability.
System administrators love stability from others. For their own
script, I have never seen one give a fig. And I think the wild ride
that are the scripting languages is proof enough of that attitude.
> 3) Speed, but simplicity is much more important.
If speed wasn't important, Perl would never have been born. Log files
can be HUGE, and handling them efficiently is important.
> 4) An API, (where applicable) which wraps OS level functionality in
> simple fashion.
I'd go even beyond that. They want "a library for that". CPAN is not
simply a result of Perl's popularity: it is an integral part of it. I
can *browse* the available libraries from CLI by typing "perl -MCPAN
-e shell". I can search for a Ruby library on shell with "gem search".
I'm not familiar with Python, but I bet it has the same thing.
So, while sbaz, as it is, doesn't work, having a working sbaz, and a
web site equivalent, would be fundamental in actually getting Scala
accepted as a system administrator tool.
> 5) Can be installed, without playing version bingo, from the OS
> package management system.
Well, they do like that, but I can tell you this is not a situation
one encounters that often. Again, this is true much more for stuff
sent by devel than stuff done by sysadmin themselves.
> 6) Fast code/test/deploy cycle, for a 200 line program, compile/
> startup time of more than 2 seconds is too long.
Well, there are third party solutions to that, but it can't be helped
except by having a JVM daemon running.
> 7) Is Bourne, Python, Ruby or for those hangers on from the dot-com
> boom, Perl.
>
> System administrators, in general, don't like the following things.
>
> 1) Dynamic behaviour redefinition, think implicits.
Actually, I think they'd love implicits.
> 2) Factory classes, design patterns, types, static typing.
Mostly (well, see stuff like Python-written Ganeti or Perl-written
OTRS for counter-examples). As for static typing, the problem is not
static typing, the problem is boilerplate. In fact, you could replace
that whole line with "boilerplate" and be done with it and be more
accurate, to boot.
> 3) Monads, Monoids, things that make more than 2 minutes to make sense
> of.
Word.
> 4) Stuff that needs to constantly auto-update itself from some server
> in Switzerland, every time you do a build.
As if there isn't a package manager that isn't download-happy. They
don't like being FORCED to update at a time they don't want to. Other
than that... business as usual.
Re: Re: What is highest priority for Scala to succeed in corpor
On 2011, Nov 10, at 1:22 PM, bryan hunt wrote:
>> is in some little lines. I really would *love* to convert the sysadmin I
>> work with to use it as possible replacement of perl or python (or bash),
>> but for now, the lauching time are killing that possibility.
> System administrators, in general, have rather particular
> requirements.
System administrators, in general, are not developers. They need a different toolset than us devvie guys do. I don't think it is possible to build a tool that does both well.
I would love to be proven wrong on this one, tough.
Geir
Re: Re: What is highest priority for Scala to succeed in corpor
On Thu, Nov 10, 2011 at 10:31, Geir Hedemark wrote:
> On 2011, Nov 10, at 1:22 PM, bryan hunt wrote:
>>> is in some little lines. I really would *love* to convert the sysadmin I
>>> work with to use it as possible replacement of perl or python (or bash),
>>> but for now, the lauching time are killing that possibility.
>> System administrators, in general, have rather particular
>> requirements.
>
> System administrators, in general, are not developers. They need a different toolset than us devvie guys do. I don't think it is possible to build a tool that does both well.
>
> I would love to be proven wrong on this one, tough.
Ruby and Python were born as system administration scripting
languages, as far as I know. I do know that my first contact with Ruby
was in such a role. And I think it is undeniable that Perl is the
ultimate system administrator tool. :-)
Which is more and more besides the point. Devops is here to stay.
Re: Re: What is highest priority for Scala to succeed in corpor
Am Donnerstag, 10. November 2011, 14:08:48 schrieb Daniel Sobral:
> On Thu, Nov 10, 2011 at 10:31, Geir Hedemark
wrote:
> > On 2011, Nov 10, at 1:22 PM, bryan hunt wrote:
> >>> is in some little lines. I really would *love* to convert the sysadmin
> >>> I work with to use it as possible replacement of perl or python (or
> >>> bash), but for now, the lauching time are killing that possibility.
> >>
> >> System administrators, in general, have rather particular
> >> requirements.
> >
> > System administrators, in general, are not developers. They need a
> > different toolset than us devvie guys do. I don't think it is possible
> > to build a tool that does both well.
> >
> > I would love to be proven wrong on this one, tough.
>
> Ruby and Python were born as system administration scripting
> languages, as far as I know. I do know that my first contact with Ruby
> was in such a role. And I think it is undeniable that Perl is the
> ultimate system administrator tool. :-)
>
I find myself using scala for "ad hoc" scripting more and more.
Speed aside (that's not the point for "ad hoc" usage) I find scala REPL
sessions SO MUCH MORE convenient than perl fuzzing.
The typical: I have to repeat this stupid thing now 1374 times - I could do it
manually - spending 2 days effort and producing lapse of concentration errors
on every ~100'th repeat.
Or I could do it perl - writing that thing from scratch for one-time-use.
Sprinkling around all kind of debug prints and data::dumper because I know it
won't work the first time... but at least it would be done considerably faster
in the end.
Or I could delegate it to a colleage who would try to get it done with Excel.
Or I can use the REPL and "find my way" interactively. And in the end I can
copy the "valuable" statements together (while the work is already done)
sprinkle some object { def main...} around it - a little polishing et voila:
another small script tool as jump-starter for the next similar problem.
And I'm getting it faster done than with perl.
And no: I don't think about types, monoids, monads, functors et al. in this
context. "It simply happens"...
Scala isn't always complex ;-)
And to satisfy the thread:
* more advertisment / good advertisment
Scala has many things to offer - we have just to show it...
Greetings
Bernd
RE: Re: What is highest priority for Scala to succeed in corpor
> I find myself using scala for "ad hoc" scripting more and more.
> Speed aside (that's not the point for "ad hoc" usage) I find scala REPL
> sessions SO MUCH MORE convenient than perl fuzzing.
>
> The typical: I have to repeat this stupid thing now 1374 times - I
> could do it
> manually - spending 2 days effort and producing lapse of concentration
> errors
> on every ~100'th repeat.
>
> Or I could do it perl - writing that thing from scratch for one-time-
> use.
[...]
> And no: I don't think about types, monoids, monads, functors et al. in
> this context. "It simply happens"...
Well, in my company we once introduced Groovy and made
good experience, because it has been easily adapted by
different people, allowing for easy embedding (GroovyConsole e.g.)
and fast RAD and scripting tasks.
Trying to push Scala as a replacement in this area here
would be absolutely void.
So even when trying to avoid a term like "language war", one has
to face the question "why not Groovy" one time.
(I indeed had recently.) But there is so much debate over
Scala vs. Java, that this question is silently avoided.
Regarding the original topic: I don't think that this area
adds to it. In general, scripting in Scala is possible, but
not its main selling point (IMO).
KR
Det
Re: Re: What is highest priority for Scala to succeed in corpor
Am Freitag, 11. November 2011, 08:48:36 schrieb Detering Dirk:
> > I find myself using scala for "ad hoc" scripting more and more.
> > Speed aside (that's not the point for "ad hoc" usage) I find scala REPL
> > sessions SO MUCH MORE convenient than perl fuzzing.
> >
> > The typical: I have to repeat this stupid thing now 1374 times - I
> > could do it
> > manually - spending 2 days effort and producing lapse of concentration
> > errors
> > on every ~100'th repeat.
> >
> > Or I could do it perl - writing that thing from scratch for one-time-
> > use.
>
> [...]
>
> > And no: I don't think about types, monoids, monads, functors et al. in
> > this context. "It simply happens"...
>
> Well, in my company we once introduced Groovy and made
> good experience, because it has been easily adapted by
> different people, allowing for easy embedding (GroovyConsole e.g.)
> and fast RAD and scripting tasks.
>
> Trying to push Scala as a replacement in this area here
> would be absolutely void.
I wouldn't try to push it - it's just natural to me (as a Groovy dyslexical)
to use Scala for scripting as this is possible.
The reasoning isn't: "scala is great for scripting - so promote its use as
such."
It's more the other way round: I selected scala as "complement" to Java
because it was the best match for my requirements (scala and closure where the
only contender on my short list). But as I discovered how great it fits my
scripting needs I adopted it for this, too.
I wouldn't have selected scala "just for scripting" alone. Nor Groovy or
something else because I was perfectly comfortable with perl until I came to
know scala...
> Regarding the original topic: I don't think that this area
> adds to it. In general, scripting in Scala is possible, but
> not its main selling point (IMO).
I agree: scripting is not scalas main selling point. But it doesn't hurt to
remind people that it is useful for that too (read: synergy).
Greetings
Bernd
RE: Re: What is highest priority for Scala to succeed in corpor
Hey - I like that "find my way interactively" - you could look at the
scripster: http://github.com/razie/scripster for administration of
java/scala-based server apps. That is its main objective - it's basically an
embeddable REPL session, with content assist, over the web or telnet.
I built it specifically so people can "find their way interactively" through
an application's admin objects, like say...
runtime.adapters.map (_.reconnect)
what's more, it has an embedded "quoting" ability (like a gist/pastie) so
you can easily send runnable admin scripts around...
So - scala should succeed in the enterprise for admins ! :) Given its DSL
capabilities and with something like the scripster, how can it be
out-featured?
cheers,
Razie
-----Original Message-----
From: scala-user [at] googlegroups [dot] com [mailto:scala-user [at] googlegroups [dot] com] On
Behalf Of Bernd Johannes
Sent: November-10-11 3:11 PM
To: scala-user [at] listes [dot] epfl [dot] ch
Cc: Daniel Sobral; Geir Hedemark; bryan hunt; scala-user
Subject: Re: [scala-user] Re: What is highest priority for Scala to succeed
in corporate world (Should be in scala-debate?) ?
Am Donnerstag, 10. November 2011, 14:08:48 schrieb Daniel Sobral:
> On Thu, Nov 10, 2011 at 10:31, Geir Hedemark
wrote:
> > On 2011, Nov 10, at 1:22 PM, bryan hunt wrote:
> >>> is in some little lines. I really would *love* to convert the
> >>> sysadmin I work with to use it as possible replacement of perl or
> >>> python (or bash), but for now, the lauching time are killing that
possibility.
> >>
> >> System administrators, in general, have rather particular
> >> requirements.
> >
> > System administrators, in general, are not developers. They need a
> > different toolset than us devvie guys do. I don't think it is
> > possible to build a tool that does both well.
> >
> > I would love to be proven wrong on this one, tough.
>
> Ruby and Python were born as system administration scripting
> languages, as far as I know. I do know that my first contact with Ruby
> was in such a role. And I think it is undeniable that Perl is the
> ultimate system administrator tool. :-)
>
I find myself using scala for "ad hoc" scripting more and more.
Speed aside (that's not the point for "ad hoc" usage) I find scala REPL
sessions SO MUCH MORE convenient than perl fuzzing.
The typical: I have to repeat this stupid thing now 1374 times - I could do
it manually - spending 2 days effort and producing lapse of concentration
errors on every ~100'th repeat.
Or I could do it perl - writing that thing from scratch for one-time-use.
Sprinkling around all kind of debug prints and data::dumper because I know
it won't work the first time... but at least it would be done considerably
faster in the end.
Or I could delegate it to a colleage who would try to get it done with
Excel.
Or I can use the REPL and "find my way" interactively. And in the end I can
copy the "valuable" statements together (while the work is already done)
sprinkle some object { def main...} around it - a little polishing et voila:
another small script tool as jump-starter for the next similar problem.
And I'm getting it faster done than with perl.
And no: I don't think about types, monoids, monads, functors et al. in this
context. "It simply happens"...
Scala isn't always complex ;-)
And to satisfy the thread:
* more advertisment / good advertisment
Scala has many things to offer - we have just to show it...
Greetings
Bernd
Re: What is highest priority for Scala to succeed in corporate
On Wed, Nov 9, 2011 at 21:30, Francois Armand wrote:
> Le 05/11/2011 22:51, Ken McDonald a écrit :
> [...]
>>
>> The question is simple: List, in descending order of priority, what you
>> feel needs to be addressed/fixed/whatever for Scala to succeed in the
>> corporate (and hence IMHO ultimately the "real") world.
>>
>> My list:
>>
>> 1. IDE Support. [...]
>>
>> 2. Documentation. [...]
>>
>> 3. A "Scala Cookbook". [...]
>>
>
>
> My shop list would be:
>
> 1. A compiler as fast as the java one. And a modular scala-lib. Yeah, I
> now...
> 2. An as powerful and great library to deals with immutable data structure
> modification as the collection one is for collection (lens, zipper, etc)
> 3. Being able to use Scala for scripting. Than implies 1 and a better
> starting time + something to include automagically dependencies,
> essentially. And it will be so good to show how cool and powerful Scala is
> in some little lines. I really would *love* to convert the sysadmin I work
> with to use it as possible replacement of perl or python (or bash), but for
> now, the lauching time are killing that possibility.
You mean like this?
#!/usr/bin/env scalas
!#
/***
scalaVersion := "2.9.0-1"
libraryDependencies ++= Seq(
"net.databinder" %% "dispatch-twitter" % "0.8.3",
"net.databinder" %% "dispatch-http" % "0.8.3"
)
*/
import dispatch.{ json, Http, Request }
import dispatch.twitter.Search
import json.{ Js, JsObject }
def process(param: JsObject) = {
val Search.text(txt) = param
val Search.from_user(usr) = param
val Search.created_at(time) = param
"(" + time + ")" + usr + ": " + txt
}
Http.x((Search("#scala") lang "en") ~> (_ map process foreach println))
See https://github.com/harrah/xsbt/wiki/Scripts. Works like a charm.
>
> IDE support is reaching the point where Eclipse does not go in my way
> anymore and is of real help for boring things (imports, completion of long
> method names, formatting, things like that).
>
> Documentation is OK, especially with so many books and blogs post online.
>
> A "Scala Cookbook" could be intersting, but I would much more prefer a
> repository of Scala scripts, if they were usable for real.
>
> Cheers,
>
> --
> Francois Armand
> http://fanf42.blogspot.com
>
Re: What is highest priority for Scala to succeed in corporate
Le 10/11/2011 00:39, Daniel Sobral a écrit :
> On Wed, Nov 9, 2011 at 21:30, Francois Armand wrote:
[...]
>> 3. Being able to use Scala for scripting. Than implies 1 and a better
>> starting time + something to include automagically dependencies,
>> essentially. And it will be so good to show how cool and powerful Scala is
>> in some little lines. I really would *love* to convert the sysadmin I work
>> with to use it as possible replacement of perl or python (or bash), but for
>> now, the lauching time are killing that possibility.
>
> You mean like this?
>
[...]
> See https://github.com/harrah/xsbt/wiki/Scripts. Works like a charm.
>
Exactly like this, thanks for pointing it !
Now, it only remains compiler speed and starting time :)
(wow, that's really cool, what a pity I missed that... Does it exists
for a long time ?)
Re: What is highest priority for Scala to succeed in corporate w
> The question is simple: List, in descending order of priority, what you
> feel needs to be addressed/fixed/whatever for Scala to succeed in the
> corporate (and hence IMHO ultimately the "real") world.
I'll only list 1: reliability.
As a software development manager, I recently shied away from Scala in
a newly starting project mainly because I judged the compiler to be
unreliable.
As for IDE support, while it is very important (even essential to
attract the Java lot), it is only an absolute must because the correct/
compile/run cycle is so slow. PHP, for example, is quite successful in
spite of having extremely poor IDE/tooling support.
--
Salut,
Jordi.
Re: Re: What is highest priority for Scala to succeed in corpor
On Tue, Nov 8, 2011 at 9:48 PM, Jordi Salvat i Alabart <jordi [dot] salvat [dot] i [dot] alabart [at] gmail [dot] com> wrote:
Why?
Re: Re: What is highest priority for Scala to succeed in corpor
As a result of that research I fell in love with the language and have been playing with it in personal projects since. A couple of months later, I've filed a total of 21 bug reports (my username is "jsalvata" in Jira, if you want to see the listing).
Of course some of those may be false positives, and many are at the edges (playing with Xexperimental, problems internal to the compiler, ...), but I still stand by my initial assessment: Scala is not ready for the industry at large, except possibly for specially complex problems where it provides significant advantage (such as Scala's flagship use in industry, Twitter's engine)
--
Salut,
Jordi.
2011/11/9 Naftoli Gugenheim <naftoligug [at] gmail [dot] com>
Re: Re: What is highest priority for Scala to succeed in corpor
I can certainly feel your pain. I have more than 100 issues in the tracker myself. But do I think Scala is “not ready for the industry at large” because of that? No, because it is pretty much what software engineering is in the end.
The only issue-free software is the one not in use anymore. I don't know from which language do you come from, but in my experience it is pretty much the same with Java (with the difference that bugs in Scala are handled much more transparently and the developers are much more responsive).
You can still crash the Java compiler quite easily, but is this a reason why Java shouldn't be used in industry? IMHO, no.
Keep up your great work and thank you for filing the bugs!
Simon
Re: Re: What is highest priority for Scala to succeed in corpor
I started using Scala in the "real world" more than 3 years ago, I think 4. We had a custom server over TCP, hundreds of clients, several databases and many other legacy servers using different custom communication protocols as well as some desktop applications for internal use and for clients... all of that was done in Java. One day we discovered Scala, thought it was cool, bought the first book the day it came out and started using it right away when we noticed we could mix Scala code with our current code base without much trouble. We ended up converting most of the code to Scala and only produced new code with it. We never looked back. I don't work there anymore but they still use Scala. There is no compelling reason not to use it in the "real world".
I never had a problem with documentation or the available books regarding the language itself. I never minded googling for stuff or browsing stack overflow. I never had a problem asking questions on the mailing list either.
Re: What is highest priority for Scala to succeed in corporate w
Thomas, Wow.
Have you been using Netbeans to compile real world projects? My
experience of Scala Netbeans integration is:
The guy who was maintaining the plug-in left 2 years ago and that it
currently chokes on anything more serious than Hello World.
Scala-IDE, the Eclipse plugin while not quite there compared to
Eclipse's Java support is still WAAAEEEEY ahead of the competition.
And yes, I use IDEA for ActionScript but it's Scala support is at
best, enthusiast grade.
I say this having written an approx 30,000 LOC Scala project last year
all of which parses and compiles (slowly) using Scala-IDE and/or
Maven.
Regards,
Bryan Hunt
Re: Re: What is highest priority for Scala to succeed in corpor
I find this very hard to believe. The JetBrains folks have been
working steadily on their plugin and they have made tremendous
progress in features and usability. In the beginning, it's syntax
parsing was often a bit sketchy but those problems have pretty much
disappeared and all of the IDEA niceties have started showing up.
I have found that IDEA vs Eclipse is a chocolate/vanilla or
purple/green question. I've had to use Eclipse a couple of times and I
just didn't like it.
Donald
On Wed, Nov 9, 2011 at 5:51 AM, bryan hunt wrote:
>
> Scala-IDE, the Eclipse plugin while not quite there compared to
> Eclipse's Java support is still WAAAEEEEY ahead of the competition.
>
> And yes, I use IDEA for ActionScript but it's Scala support is at
> best, enthusiast grade.
Re: Re: What is highest priority for Scala to succeed in corpor
On Wed, 2011-11-09 at 05:51 -0500, bryan hunt wrote:
> Thomas, Wow.
>
> Have you been using Netbeans to compile real world projects? My
> experience of Scala Netbeans integration is:
> The guy who was maintaining the plug-in left 2 years ago and that it
> currently chokes on anything more serious than Hello World.
I'm using NetBeans on a Scala project. It's not a huge project, but
definitely larger than "Hello, World." The Scala plugin is working fine.
It's a bit quirky but it gets the job done. I should say that I'm using
the latest version from the git repository compiled from source. The
person maintaining the plugin is still active with it, although activity
is light. The last commit was maybe a couple of months ago (I haven't
tried a pull recently though).
Peter
Re: What is highest priority for Scala to succeed in corporate w
> I'm using NetBeans on a Scala project. It's not a huge project, but
> definitely larger than "Hello, World." The Scala plugin is working fine.
> It's a bit quirky but it gets the job done. I should say that I'm using
> the latest version from the git repository compiled from source.
For the curious, the git repo is https://github.com/dcaoyuan/nbscala
Re: Re: What is highest priority for Scala to succeed in corpor
For example: val x = A(B(C(a, b, c)))If the type of x is something like A[X[Y[Z]]], then you are better off declaring it: val x = A[X[Y[Z]]](B(C(a, b, c)))
It may take a bit of extra work, at least with large existing projects, but it will make everything compile in reasonable amount of time.
This problem has been fixed for command line compilations, but it still makes Eclipse IDE eat up all ram and slow down to a crawl. My guess it will be fixed in Eclipse sometime soon as well.
On Wed, Nov 9, 2011 at 4:51 AM, bryan hunt <sentimental [dot] bryan [at] gmail [dot] com> wrote:
Re: Re: What is highest priority for Scala to succeed in corpor
Already tried that. Still barfs.
Re: Re: What is highest priority for Scala to succeed in corpor
On 2011, Nov 9, at 11:51 AM, bryan hunt wrote:
> Scala-IDE, the Eclipse plugin while not quite there compared to
> Eclipse's Java support is still WAAAEEEEY ahead of the competition.
>
> And yes, I use IDEA for ActionScript but it's Scala support is at
> best, enthusiast grade.
Oh, I dont know. My team all use intellij since last year or so. Eclipse just did not work out for us - it was too buggy.
We all seem to think intellij is good enough. So do the consultants I know around here who actively use Scala.
YMMV.
Geir
Re: What is highest priority for Scala to succeed in corporate w
Ok, an example, one of many, Scala-Query (the project) is not parsed
correctly by Intellij.
Having spent a number of years on theserverside.com, I'm well versed
in the world of AstroTurfing(TM).
I am for the record, a fully paid up, subscribed Intellij Enterprise
customer, but I keep a copy of Eclipse for when I need to do Scala.
Intellij cannot accurately parse more than about 20 (Scala) classes
without crapping itself, Java and Flex support are outstanding, even
if the UI is a bit sluggish.
Regards,
Bryan Hunt
On Nov 9, 12:04 pm, Geir Hedemark wrote:
> On 2011, Nov 9, at 11:51 AM, bryan hunt wrote:
>
> > Scala-IDE, the Eclipse plugin while not quite there compared to
> > Eclipse's Java support is still WAAAEEEEY ahead of the competition.
>
> > And yes, I use IDEA for ActionScript but it's Scala support is at
> > best, enthusiast grade.
>
> Oh, I dont know. My team all use intellij since last year or so. Eclipse just did not work out for us - it was too buggy.
>
> We all seem to think intellij is good enough. So do the consultants I know around here who actively use Scala.
>
> YMMV.
>
> Geir
Re: Re: What is highest priority for Scala to succeed in corpor
On 2011-11-10 13:08, bryan hunt wrote:
> Ok, an example, one of many, Scala-Query (the project) is not parsed
> correctly by Intellij.
What problems are you having with it? I have done most of the work on
ScalaQuery with IDEA 10 and didn't experience any major issues. I am
building with sbt though, never with the IDE.
-sz
Re: Re: What is highest priority for Scala to succeed in corpor
If I had to guess, I'd say that type-aware highlighting was enabled. I don't think it's good enough yet.
Best,Ismael
Re: Re: What is highest priority for Scala to succeed in corpor
Agreed.
It's not just how the IDE understands Scala itself, it's also about how the IDE integrates other features of the IDE in Scala-files/projects. IDEA is just fantastic here. My JPA-model written in Scala shows up in the "Show ER-diagram", my JPQL is highlighted correctly to give me code-completion in my JPQL working with JPA-entities written in Scala. SQL code-completion in scala-classes. Spring-integration for Scala is *almost* just as good as in JAVA. The list is long...
I use IDEA-11 EAP with the latest scala-plugin and I really don't consider IDE-support at all to be an issue anymore.
I only have one thing which I think is important to succeed in the corporate world:
1. Binary compatibility among version-upgrades
I have another nit-picking-list though:-)
- JAVA interoperability (yes, there are cases where they don't play nicely [1][2])
- Consistent handling of "val" (finals) [3]
[1] Should be able to use JAVA-enums and other "public static final" in annotation-parameters.
[2] https://issues.scala-lang.org/browse/SI-4549
[3] http://stackoverflow.com/questions/7762838/scala-forward-references-why-does-this-code-compile
Re: Re: What is highest priority for Scala to succeed in corpor
On 9 Nov 2011, at 20:21, Andreas Joseph Krogh wrote:
> I use IDEA-11 EAP with the latest scala-plugin and I really don't consider IDE-support at all to be an issue anymore.
This is also my experience too although I use IDEA-11 and Eclipse. The only thing that irritates me in IDEA is that one still needs to do a full compile occasionally to see if the red lines in editors are real problems or not. But a couple of bugs I submitted recently were fixed in 1 day which made the experience much better.
The IDE is simply not an issue any more, certainly not one that should prevent anyone from benefitting from Scala.
Re: What is highest priority for Scala to succeed in corporate w
Hi
I really like Hibernate (using (commercially) for over 4 years).
(For me) Scala is looking sexy too.
Is there a plan to port Hibernate to Scala? Similar porting like
NHibernate.
From my point of view: it (Hibernate port) would be a killer app for
Scala language. Lack of Scala version of Hibernate is a blocker for me
to think about Scala really seriously.
Take care,
Adaslaw
PS.
I wrote a post on Hibernate forum too:
https://forum.hibernate.org/viewtopic.php?f=1&t=1013408&p=2450419
Re: Re: What is highest priority for Scala to succeed in corpor
On 2011, Nov 28, at 2:36 PM, Adaslaw wrote:
> From my point of view: it (Hibernate port) would be a killer app for
> Scala language. Lack of Scala version of Hibernate is a blocker for me
> to think about Scala really seriously.
We are using hibernate and scala together in production here.
Why do you need a scala version of hibernate?
Geir
Re: Re: What is highest priority for Scala to succeed in corpor
There are several other native ORM frameworks available for Scala that are a far better fit:
https://wiki.scala-lang.org/display/SW/Tools+and+Libraries#ToolsandLibraries-DataStorage
and the whole community is watching to see what happens with scala-integrated-query, I expect great things from this project:
https://wiki.scala-lang.org/display/SW/ScalaDays+2011+Resources#ScalaDays2011Resources-ScalaIntegratedQuery-moreexpressivedatabasequeries
On Monday, 28 November 2011, Adaslaw wrote:
--
Kevin Wright
mail: kevin [dot] wright [at] scalatechnology [dot] com
gtalk / msn : kev [dot] lee [dot] wright [at] gmail [dot] com quora: http://www.quora.com/Kevin-Wrightgoogle+: http://gplus.to/thecoda
kev [dot] lee [dot] wright [at] gmail [dot] com twitter: @thecoda
vibe / skype: kev.lee.wrightsteam: kev_lee_wright
"My point today is that, if we wish to count lines of code, we should not regard them as "lines produced" but as "lines spent": the current conventional wisdom is so foolish as to book that count on the wrong side of the ledger" ~ Dijkstra
Sv: Re: What is highest priority for Scala to succeed in corpor
På mandag 28. november 2011 kl 14:36:06 skrev "Adaslaw" :
> Hi
>
> I really like Hibernate (using (commercially) for over 4 years).
> (For me) Scala is looking sexy too.
>
> Is there a plan to port Hibernate to Scala? Similar porting like
> NHibernate.
> From my point of view: it (Hibernate port) would be a killer app for
> Scala language. Lack of Scala version of Hibernate is a blocker for me
> to think about Scala really seriously.
Hibernate is perfectly usable from Scala. Example-project here: https://github.com/andreak/on-example-rpm
--
Andreas Joseph Krogh - mob: +47 909 56 963
Senior Software Developer / CTO - OfficeNet AS - http://www.officenet.no
Public key: http://home.officenet.no/~andreak/public_key.asc
Re: Re: What is highest priority for Scala to succeed in corpor
On Mon, Nov 28, 2011 at 8:47 AM, Andreas Joseph Krogh <andreak [at] officenet [dot] no> wrote:
RE: Re: What is highest priority for Scala to succeed in corpor
catch { case e => log.info("Fallen over with: %d".format(e)) }
I have become hypersensitive to checking my own format strings carefully, whereas with IDEA I needed only to be aware of the fact that they were not highlighted as malformed
Chris
> Subject: Re: [scala-user] Re: What is highest priority for Scala to succeed in corporate world (Should be in scala-debate?) ?
> From: channing [dot] walton [at] googlemail [dot] com
> Date: Wed, 9 Nov 2011 21:13:58 +0000
> To: scala-user [at] googlegroups [dot] com
>
>
> On 9 Nov 2011, at 20:21, Andreas Joseph Krogh wrote:
>
> > I use IDEA-11 EAP with the latest scala-plugin and I really don't consider IDE-support at all to be an issue anymore.
>
> This is also my experience too although I use IDEA-11 and Eclipse. The only thing that irritates me in IDEA is that one still needs to do a full compile occasionally to see if the red lines in editors are real problems or not. But a couple of bugs I submitted recently were fixed in 1 day which made the experience much better.
>
> The IDE is simply not an issue any more, certainly not one that should prevent anyone from benefitting from Scala.
>
Re: Re: What is highest priority for Scala to succeed in corpor
2011/11/9 Tomás Lázaro <tlazaro18 [at] gmail [dot] com>
I think Caoyuan is already using the presentation compiler, which is at the core of the Eclipse IDE. And so is ENSIME. Hopefully it will only take minor upgrade works to the latest version to get many improvements. The other large trend is that we are going to put more functionality out of the Eclipse SDT and into the presentation compiler. That should also help the other plugins.
Cheers
-- Martin
Re: Re: What is highest priority for Scala to succeed in corpor
The problem with eclipse scala-ide I found
1. Performance, too much heap memory usage , too slow.
2. Syntax color, I always see only two color, that is somewhat boring.
3.Coding express is not good enough. Code completion sometimes not available.
The problem with Netbeans
1.Swing seems not work well with linux.