- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
The Scala community
Here's a recent mail on reddit, which we should take very seriously.
I agree with the points in the mail. I think the community has a major job to do to help people get into the language instead being obscure and riding academic high horses.
I would like to start with this list. Please everyone, remember: This list is for helping people getting into Scala and getting their questions answered. That's the primary purpose of scala-user. If you are after intellectual arguments, no problem, but please use scala-debate. If you want to force an intellectual argument on a newbie that asked a simple question, that's just bad style.
Thanks
-- Martin
=======================================================================
I tried to use Scala, and found it has one major disadvantage going for it, the community.
Most of the developers for Scala and community members I interacted with were very focused on being right from a computer science perspective, and from their own view on how things should be done. They were not at all focused on helping developers actually get work done. This extended to the libraries that come with Scala. If they didn't like how you did something, they made the libraries much harder to accomplish that task with. As an example, appending to a list requires a rather cryptic syntax (myList :::= "something").
Along with that, Scala seems to be in love with symbols. They use them everywhere, and many times portions of the syntax are optional, so you can see different incarnations of the same syntax look very different in different places.
Also Scala has a very high learning curve for traditional Java developers. Instead of making this curve workable by gradually introducing developers to advanced features, the Scala libraries and all it's documentation force you to see all the concepts all at once. They often do a very poor job of explaining why they force you to do things their way, and just tell you to do them.
While the Scala language technically lets you program in a way similar to Java, but with advanced features as needed, the libraries are written in a way to make this nearly impossible.
What all this means is that a developer from any traditional OOP language, or less complex language is going to have a very very hard time learning Scala, and in the end the time you lost learning won't make up for any advantage Scala's 'way' provides.
As long as the Scala community is so obtuse and focused on being right their way, as opposed to helping developers get into the language, Scala will remain a nitch language.










Re: The Scala community
Stack Overflow and blog posts were BY FAR my best source of
information. I didn't even learn that these mailing lists existed
until a few months ago, and that was only after searching through the
http://www.scala-lang.org website quite a bit. It's quite intimidating
to ask questions here because it seems like everyone else is on a much
higher level than me. SO doesn't have that feel, and is already a
wonderful knowledge repository. IMO the Scala portion of SO already
does the job of scala-beginner. Programming in Scala online edition
was also a massive help.
That being said, when I first started learning Scala, I often looked
to the Code Examples sections of scala-lang.org to try and find my
answers and they were unhelpful, to say the least. Most of the code
examples haven't been updated in three years (many still use the
deprecated Application), and many have no documentation attached to
them. For instance, http://www.scala-lang.org/node/230. The only
comment is completely useless in helping me learn what's going on in
that example. The other examples are similar. I also looked to the
examples under "A tour of Scala" and those were completely beyond me.
For instance, http://www.scala-lang.org/node/124. I still have no idea
what an explicitly typed self-reference is. I'm sure I could
understand it after some research, but I think a significant number of
people are going to use the examples in the official Scala website as
their first resource.
Thanks,
Xiaohan Zhang
p5wscala.wordpress.com/about-me/
On Oct 6, 12:56 am, martin wrote:
> Here's a recent mail on reddit, which we should take very seriously.
>
> I agree with the points in the mail. I think the community has a major job
> to do to help people get into the language instead being obscure and riding
> academic high horses.
>
> I would like to start with this list. Please everyone, remember: This list
> is for helping people getting into Scala and getting their questions
> answered. That's the primary purpose of scala-user. If you are after
> intellectual arguments, no problem, but please use scala-debate. If you want
> to force an intellectual argument on a newbie that asked a simple question,
> that's just bad style.
>
> Thanks
>
Re: Re: The Scala community
Have you ever looked at Simply Scala (http://www.simplyscala.com/)? It
seems no one learning Scala learns of it, and I always thought it is
probably the best first impression of Scala that can be had.
On Tue, Oct 11, 2011 at 22:48, Xiaohan Zhang wrote:
> Stack Overflow and blog posts were BY FAR my best source of
> information. I didn't even learn that these mailing lists existed
> until a few months ago, and that was only after searching through the
> http://www.scala-lang.org website quite a bit. It's quite intimidating
> to ask questions here because it seems like everyone else is on a much
> higher level than me. SO doesn't have that feel, and is already a
> wonderful knowledge repository. IMO the Scala portion of SO already
> does the job of scala-beginner. Programming in Scala online edition
> was also a massive help.
>
> That being said, when I first started learning Scala, I often looked
> to the Code Examples sections of scala-lang.org to try and find my
> answers and they were unhelpful, to say the least. Most of the code
> examples haven't been updated in three years (many still use the
> deprecated Application), and many have no documentation attached to
> them. For instance, http://www.scala-lang.org/node/230. The only
> comment is completely useless in helping me learn what's going on in
> that example. The other examples are similar. I also looked to the
> examples under "A tour of Scala" and those were completely beyond me.
> For instance, http://www.scala-lang.org/node/124. I still have no idea
> what an explicitly typed self-reference is. I'm sure I could
> understand it after some research, but I think a significant number of
> people are going to use the examples in the official Scala website as
> their first resource.
>
> Thanks,
> Xiaohan Zhang
> p5wscala.wordpress.com/about-me/
>
> On Oct 6, 12:56 am, martin wrote:
>> Here's a recent mail on reddit, which we should take very seriously.
>>
>> I agree with the points in the mail. I think the community has a major job
>> to do to help people get into the language instead being obscure and riding
>> academic high horses.
>>
>> I would like to start with this list. Please everyone, remember: This list
>> is for helping people getting into Scala and getting their questions
>> answered. That's the primary purpose of scala-user. If you are after
>> intellectual arguments, no problem, but please use scala-debate. If you want
>> to force an intellectual argument on a newbie that asked a simple question,
>> that's just bad style.
>>
>> Thanks
>>
>> -- Martin
>>
>> =======================================================================
>>
>> I tried to use Scala, and found it has one major disadvantage going for it,
>> the community.
>>
>> Most of the developers for Scala and community members I interacted with
>> were very focused on being right from a computer science perspective, and
>> from their own view on how things should be done. They were not at all
>> focused on helping developers actually get work done. This extended to the
>> libraries that come with Scala. If they didn't like how you did something,
>> they made the libraries much harder to accomplish that task with. As an
>> example, appending to a list requires a rather cryptic syntax (myList :::=
>> "something").
>>
>> Along with that, Scala seems to be in love with symbols. They use them
>> everywhere, and many times portions of the syntax are optional, so you can
>> see different incarnations of the same syntax look very different in
>> different places.
>>
>> Also Scala has a very high learning curve for traditional Java developers.
>> Instead of making this curve workable by gradually introducing developers to
>> advanced features, the Scala libraries and all it's documentation force you
>> to see all the concepts all at once. They often do a very poor job of
>> explaining why they force you to do things their way, and just tell you to
>> do them.
>>
>> While the Scala language technically lets you program in a way similar to
>> Java, but with advanced features as needed, the libraries are written in a
>> way to make this nearly impossible.
>>
>> What all this means is that a developer from any traditional OOP language,
>> or less complex language is going to have a very very hard time learning
>> Scala, and in the end the time you lost learning won't make up for any
>> advantage Scala's 'way' provides.
>>
>> As long as the Scala community is so obtuse and focused on being right their
>> way, as opposed to helping developers get into the language, Scala will
>> remain a nitch language.
>
Re: The Scala community
I do remember stumbling upon it early on, and then promptly forgetting
what it was :)
Thanks,
Xiaohan Zhang
p5wscala.wordpress.com/about-me/
On Oct 12, 10:22 am, Daniel Sobral wrote:
> Have you ever looked at Simply Scala (http://www.simplyscala.com/)?It
> seems no one learning Scala learns of it, and I always thought it is
> probably the best first impression of Scala that can be had.
>
>
>
>
>
>
>
>
>
> On Tue, Oct 11, 2011 at 22:48, Xiaohan Zhang wrote:
> > Stack Overflow and blog posts were BY FAR my best source of
> > information. I didn't even learn that these mailing lists existed
> > until a few months ago, and that was only after searching through the
> >http://www.scala-lang.orgwebsite quite a bit. It's quite intimidating
> > to ask questions here because it seems like everyone else is on a much
> > higher level than me. SO doesn't have that feel, and is already a
> > wonderful knowledge repository. IMO the Scala portion of SO already
> > does the job of scala-beginner. Programming in Scala online edition
> > was also a massive help.
>
> > That being said, when I first started learning Scala, I often looked
> > to the Code Examples sections of scala-lang.org to try and find my
> > answers and they were unhelpful, to say the least. Most of the code
> > examples haven't been updated in three years (many still use the
> > deprecated Application), and many have no documentation attached to
> > them. For instance,http://www.scala-lang.org/node/230. The only
> > comment is completely useless in helping me learn what's going on in
> > that example. The other examples are similar. I also looked to the
> > examples under "A tour of Scala" and those were completely beyond me.
> > For instance,http://www.scala-lang.org/node/124. I still have no idea
> > what an explicitly typed self-reference is. I'm sure I could
> > understand it after some research, but I think a significant number of
> > people are going to use the examples in the official Scala website as
> > their first resource.
>
> > Thanks,
> > Xiaohan Zhang
> > p5wscala.wordpress.com/about-me/
>
> > On Oct 6, 12:56 am, martin wrote:
> >> Here's a recent mail on reddit, which we should take very seriously.
>
> >> I agree with the points in the mail. I think the community has a major job
> >> to do to help people get into the language instead being obscure and riding
> >> academic high horses.
>
> >> I would like to start with this list. Please everyone, remember: This list
> >> is for helping people getting into Scala and getting their questions
> >> answered. That's the primary purpose of scala-user. If you are after
> >> intellectual arguments, no problem, but please use scala-debate. If you want
> >> to force an intellectual argument on a newbie that asked a simple question,
> >> that's just bad style.
>
> >> Thanks
>
> >> -- Martin
>
> >> =======================================================================
>
> >> I tried to use Scala, and found it has one major disadvantage going for it,
> >> the community.
>
> >> Most of the developers for Scala and community members I interacted with
> >> were very focused on being right from a computer science perspective, and
> >> from their own view on how things should be done. They were not at all
> >> focused on helping developers actually get work done. This extended to the
> >> libraries that come with Scala. If they didn't like how you did something,
> >> they made the libraries much harder to accomplish that task with. As an
> >> example, appending to a list requires a rather cryptic syntax (myList :::=
> >> "something").
>
> >> Along with that, Scala seems to be in love with symbols. They use them
> >> everywhere, and many times portions of the syntax are optional, so you can
> >> see different incarnations of the same syntax look very different in
> >> different places.
>
> >> Also Scala has a very high learning curve for traditional Java developers.
> >> Instead of making this curve workable by gradually introducing developers to
> >> advanced features, the Scala libraries and all it's documentation force you
> >> to see all the concepts all at once. They often do a very poor job of
> >> explaining why they force you to do things their way, and just tell you to
> >> do them.
>
> >> While the Scala language technically lets you program in a way similar to
> >> Java, but with advanced features as needed, the libraries are written in a
> >> way to make this nearly impossible.
>
> >> What all this means is that a developer from any traditional OOP language,
> >> or less complex language is going to have a very very hard time learning
> >> Scala, and in the end the time you lost learning won't make up for any
> >> advantage Scala's 'way' provides.
>
> >> As long as the Scala community is so obtuse and focused on being right their
> >> way, as opposed to helping developers get into the language, Scala will
> >> remain a nitch language.
>
> --
> Daniel C. Sobral
>
> I travel to the future all the time.
Re: The Scala community
In the light of Martin's mail I just want to reproduce the feedback of some of
my peers when I asked them if they already took a look at scala-the-language
(over the last 1.5 years - so some of the answers might be different today,
but its hard to push the "retry" button on someone who has already turned
away).
Context: people who toyed with scala did so out of curiosity in their spare
time.
The main feedback was kind of
"I tried it - but hey, there is so much about that language to learn and look
into... I just gave up."
When I queried further it boiled down to (most often to least often):
* difficulties to find a comprehensive introduction which got them (from java
background) to speed and provided a satisfying "first contact" experience.
"There where lots of things in the web - but the more I read the more I got
confused. I just didn't get the picture..."
* difficulties to see where scala could be useful (without jobs in the
pipeline)
"Sure, it's looking nice - but what could I do with it?"
* Bad impression from the API
"I surfed the API. It didn't manage to introduce me sufficiently to its
concepts or use cases. So I dropped it (the language) as waste of time".
* Only one refered to the "academic" air (also with some stronger words). I
suppose he got biten somehow directly or read something which sparked his
rejection (I didn't ask further). Unfortunately he's someone I would consider
a key player in adoption.
Bottom line: the community is very important. And it can drive people away for
sure. If the wrong one are hit that can be bad.
But my impression is that the failure to sustain the "hobbyist's" interest
that was sparked once is more tied to the state of documentation.
People just had too hard a time to find the right resource to get them going
or not enough "advertisment" to show them what a crazy tool the get once they
master the first step.
Note: I can't estimate however how serious these "first contacts" were.
Note: with "hobbyist" I mean battle tested java people with an initial
interest in scala
What to do about it?
* better API documentation => currently under way. Find a way to have some
package "overview" pages.
* "official" compilation of suggested reading tracks (preferably online stuff
- book references is more for those who really get going)
* try to collect reasons why people turn away (I know - scala will not fit
every bill. But it's not good to loose the wrong ones and it's even worse not
to know at all, why people turn away).
* Showcases - scala is useful!
=> hey, the REPL is an amazing tool on its own. Let's showcase the power of
the language and collection API by sharing small day-to-day scripting
solutions as copy-and-modify starters.
Just my private 2 cents
best wishes
Bernd
Re: The Scala community
On 10 October 2011 22:22, Bernd Johannes <bjohanns [at] bacon [dot] de> wrote:
I find scaladoc as a tool/environment better than javadoc. However, the content is at least as important. I know some people don't like the idea, but to hook these people it would be great to have code snippets in the scaladoc for each user-facing class that they can try out there and then. Ideally, it should be (linked to?) something you can paste into the REPL and run there and then. It doesn't need to be complex, just anything at all that lets them use the class and key methods.
Matthew
--
Dr Matthew PocockIntegrative Bioinformatics Group, School of Computing Science, Newcastle Universitymailto: turingatemyhamster [at] gmail [dot] com gchat: turingatemyhamster [at] gmail [dot] commsn: matthew_pocock [at] yahoo [dot] co [dot] uk irc.freenode.net: drdozertel: (0191) 2566550mob: +447535664143
Re: The Scala community
On Tue, Oct 11, 2011 at 06:30, Matthew Pocock
wrote:
>
> I find scaladoc as a tool/environment better than javadoc. However, the
> content is at least as important. I know some people don't like the idea,
> but to hook these people it would be great to have code snippets in the
> scaladoc for each user-facing class that they can try out there and then.
> Ideally, it should be (linked to?) something you can paste into the REPL and
> run there and then. It doesn't need to be complex, just anything at all that
> lets them use the class and key methods.
I'm with you. I'd *love* for ScalaDoc to somehow be able to provide an
integrated SimplyScala.
RE: The Scala community
:)
http://bit.ly/oEUB6O
note the "try now" button at the bottom...
to quote a new piece of code, start from www.tryscala.com and use the little
"Witty" link at the bottom-right.
You could obviously use https://gist.github.com/ as well, but it doesn't
have the "try now" button :)
This is all using the http://github.com/razie/scripster project, so someone
could stick it directly into scaladoc, and automatically generate the
links...
I will see about adding a "doc" button to generate the scaladoc snippets
automatically and report back.
There is obviously a small issue: only select libraries are included in the
classpath of this server. Each library provider must run its own "tryme"
service - no biggie, since it's all public and ... rather the reason for it
:)
Cheers,
Razie
-----Original Message-----
From: scala-user [at] googlegroups [dot] com [mailto:scala-user [at] googlegroups [dot] com] On
Behalf Of Daniel Sobral
Sent: October-12-11 1:20 PM
To: Matthew Pocock
Cc: Bernd Johannes; martin; scala-user [at] googlegroups [dot] com
Subject: Re: [scala-user] The Scala community
On Tue, Oct 11, 2011 at 06:30, Matthew Pocock
wrote:
>
> I find scaladoc as a tool/environment better than javadoc. However,
> the content is at least as important. I know some people don't like
> the idea, but to hook these people it would be great to have code
> snippets in the scaladoc for each user-facing class that they can try out
there and then.
> Ideally, it should be (linked to?) something you can paste into the
> REPL and run there and then. It doesn't need to be complex, just
> anything at all that lets them use the class and key methods.
I'm with you. I'd *love* for ScalaDoc to somehow be able to provide an
integrated SimplyScala.
--
Daniel C. Sobral
I travel to the future all the time.
RE: The Scala community
Done.
Start from http://cw.razie.com, edit the code and click the "Link" link at
the bottom. After eventually getting the Link, you'll also see the
copy/paste for scaladoc.
If anyone is interested in modifying scaladoc itself, let me know: I can add
an API so that portion can be invoked automatically by scaladoc and instead
print a beautified HTML containing the html syntax-colored code and the
short link for "try now".
Cheers,
Razie
-----Original Message-----
From: Razvan Cojocaru [mailto:pub [at] razie [dot] com]
Sent: October-12-11 9:01 PM
To: 'Daniel Sobral'; 'Matthew Pocock'
Cc: 'Bernd Johannes'; 'martin'; scala-user [at] googlegroups [dot] com
Subject: RE: [scala-user] The Scala community
:)
http://bit.ly/oEUB6O
note the "try now" button at the bottom...
to quote a new piece of code, start from www.tryscala.com and use the little
"Witty" link at the bottom-right.
You could obviously use https://gist.github.com/ as well, but it doesn't
have the "try now" button :)
This is all using the http://github.com/razie/scripster project, so someone
could stick it directly into scaladoc, and automatically generate the
links...
I will see about adding a "doc" button to generate the scaladoc snippets
automatically and report back.
There is obviously a small issue: only select libraries are included in the
classpath of this server. Each library provider must run its own "tryme"
service - no biggie, since it's all public and ... rather the reason for it
:)
Cheers,
Razie
-----Original Message-----
From: scala-user [at] googlegroups [dot] com [mailto:scala-user [at] googlegroups [dot] com] On
Behalf Of Daniel Sobral
Sent: October-12-11 1:20 PM
To: Matthew Pocock
Cc: Bernd Johannes; martin; scala-user [at] googlegroups [dot] com
Subject: Re: [scala-user] The Scala community
On Tue, Oct 11, 2011 at 06:30, Matthew Pocock
wrote:
>
> I find scaladoc as a tool/environment better than javadoc. However,
> the content is at least as important. I know some people don't like
> the idea, but to hook these people it would be great to have code
> snippets in the scaladoc for each user-facing class that they can try
> out
there and then.
> Ideally, it should be (linked to?) something you can paste into the
> REPL and run there and then. It doesn't need to be complex, just
> anything at all that lets them use the class and key methods.
I'm with you. I'd *love* for ScalaDoc to somehow be able to provide an
integrated SimplyScala.
--
Daniel C. Sobral
I travel to the future all the time.
Re: The Scala community
IIRC PHP's docs on the site have user comments on bottom. Which makes
me think that a way to implement your idea is not by directly adding
them to the scala sources but rather have a way to get extra related
content from the web dynamically. Such content could include code
samples and/or links.
One (poor man's) implementation could be as a bookmarklet that's not
actually part of the scaladocs...
On 10/11/11, Matthew Pocock wrote:
> HI,
>
> On 10 October 2011 22:22, Bernd Johannes wrote:
>
>> In the light of Martin's mail I just want to reproduce the feedback of
>> some
>> of
>> my peers when I asked them if they already took a look at
>> scala-the-language
>> (over the last 1.5 years - so some of the answers might be different
>> today,
>> but its hard to push the "retry" button on someone who has already turned
>> away).
>>
>> Context: people who toyed with scala did so out of curiosity in their
>> spare
>> time.
>>
>> The main feedback was kind of
>> "I tried it - but hey, there is so much about that language to learn and
>> look
>> into... I just gave up."
>>
>> When I queried further it boiled down to (most often to least often):
>>
>
>
>>
>> * Bad impression from the API
>> "I surfed the API. It didn't manage to introduce me sufficiently to its
>> concepts or use cases. So I dropped it (the language) as waste of time".
>>
>>
> I find scaladoc as a tool/environment better than javadoc. However, the
> content is at least as important. I know some people don't like the idea,
> but to hook these people it would be great to have code snippets in the
> scaladoc for each user-facing class that they can try out there and then.
> Ideally, it should be (linked to?) something you can paste into the REPL and
> run there and then. It doesn't need to be complex, just anything at all that
> lets them use the class and key methods.
>
> Matthew
>
>
>> Just my private 2 cents
>> best wishes
>> Bernd
>>
>
>
>
> --
> Dr Matthew Pocock
> Integrative Bioinformatics Group, School of Computing Science, Newcastle
> University
> mailto: turingatemyhamster [at] gmail [dot] com
> gchat: turingatemyhamster [at] gmail [dot] com
> msn: matthew_pocock [at] yahoo [dot] co [dot] uk
> irc.freenode.net: drdozer
> tel: (0191) 2566550
> mob: +447535664143
>
Re: The Scala community
2011/10/10 Bernd Johannes <bjohanns [at] bacon [dot] de>
On that particular point, Scala has that problem (to me, a strong point) that the "crazy tools" it brings don't do in an easier way what mainstream languages (i.e. java) already do. Scala do these things in its own specific way, but the biggest advantages of Scala aren't there. Scala brings up new possibilities (immutability, functional style, etc), brings up concepts that are mostly unknown too the average programmer. It's like selling a mirror to the blind, it's quite hard. Resources exist, but newcomers should be oriented to it, and the benefits of the theoretical bones of Scala should be advertised too, not only code.
The scala lists are incredibly helpful, but there is an orientation problem. If I post something about a problem that I'm struggling with, I may get answers ranging from "you're doing it the wrong way, do it THAT way" to "look at scalaz.BestCategoryEver". Generally, all answers are correct, but it's hard to find the answer that match your level in Scala,your level in language theory AND your global programming level. If anything should be improved in these lists, that would be orientation. And that was my 2 cents of the day.
--
Alex REPAIN
ENSEIRB-MATMECA - student
TECHNICOLOR R&D - intern
BORDEAUX I - master's student
SCALA - enthusiast
Re: The Scala community
Hi Martin,
On Thu, Oct 6, 2011 at 9:56 AM, martin wrote:
[cut]
> If you want
> to force an intellectual argument on a newbie that asked a simple question,
> that's just bad style.
[cut]
As a newbie, this is just my "Quote of the day". :-)
I've been lurking this mailing list for a while as I'm planning to
learn Scala. Let's see what happens.
Re: The Scala community
1) I have _never_ liked the names of the various scala groups. They were confusing to me when I came in, and are still confusing, the the same manner, to newcomers. Seriously, how should it be obvious that "scala-lang" is a "more advanced" group than "scala-user"? Thank goodness we at least have a separate "scalaz". My suggestions: - scala-newcomer - scala-user - scala-typing - scala-development
And on the IDE from, please change "scala-ide" to "scala-eclipse" OR allow it to function as its name promises, and discussion forum for Scala and IDEs.
On Thursday, October 6, 2011 2:56:41 AM UTC-5, martin wrote:I've found that somewhat true, but not to the extent of the writer. Point out that symbols are used (fairly) consistently, and are in the Scaladoc. Well, I've given a number of informal presentations to Java devs, and always start with showing how a Scala def of a Complex type can vastly reduce boilerplate, and then present one or two simply examples of Scala typing to take the fear out of it :-). Again, I think this would be solved by have a "scala-newcomers" groups.
I don't really know where that complaint comes from. It wasn't my experience. Partially disagree. It's very easy to learn to use Scala like Java. More difficult to learn the more advance stuff (no surprise), but that's a reason for user groups at various levels. This is true for some developers, but I certainly haven't found it true for most.
Re: The Scala community
On 08/10/2011 20:31, Ken McDonald wrote:
> 1) I have _never_ liked the names of the various scala groups. They were
> confusing to me when I came in, and are still confusing, the the same
> manner, to newcomers. Seriously, how should it be obvious that
> "scala-lang" is a "more advanced" group than "scala-user"?
Looked quite obvious the first time I came across them. But then again,
I see some newbies questions in scala-language, so I agree it might not
be so obvious to everybody.
> My suggestions:
> - scala-newcomer
Too restrictive
> - scala-user
Too generic: everybody is a Scala user, including M. Odersky, Phillips, etc.
> - scala-typing
Everybody type on a keyboard to write Scala code, no?
Ah, as in type system? Isn't it too restrictive? You use types everywhere.
> - scala-development
Ambiguous. Everybody (in the community) do development with Scala. If
that's Scala language (compiler) development, it should be more
explicit. At least Scala implementation(s) is clear.
Re: Re: The Scala community
ding ding, round two!
scala-basicsFormerly known as scala-user. Because everybody has basic questions now and again, even an "advanced" user may suddenly find themselves using parsers for the first time. It also serves as an indication for the nature of suitable replies.
scala-languageAs opposed to scala-nightclub, scala-cafe, etc.
scala-theoryFor asking (and answering) questions about underlying concepts. Consider this to be an "advanced" group!
scala-debateUnchanged
scala-internalsUnchanged
On 9 October 2011 10:26, Philippe Lhoste <PhiLho [at] gmx [dot] net> wrote:
Re: Re: The Scala community
Martin's original email and the message he quoted have *nothing* to do with mailing-lists. It was about attitudes, personalities and the general atmosphere of the Scala community.
-- Cédric
On Sun, Oct 9, 2011 at 2:43 AM, Kevin Wright <kev [dot] lee [dot] wright [at] gmail [dot] com> wrote:
Re: Re: The Scala community
The discussion then quickly honed in of the fact that, maybe, part of the issue is that the selection of lists available (and their names) don't give a particularly clear indication as to what content is expected - especially on scala-user and scala-lang.
2011/10/9 Cédric Beust ♔ <cedric [at] beust [dot] com>
Re: Re: The Scala community
On Sun, Oct 9, 2011 at 11:43 AM, Kevin Wright wrote:
>
> ding ding, round two!
> scala-basics
> Formerly known as scala-user. Because everybody has basic questions now and
> again, even an "advanced" user may suddenly find themselves using parsers
> for the first time. It also serves as an indication for the nature of
> suitable replies.
> scala-language
> As opposed to scala-nightclub, scala-cafe, etc.
> scala-theory
> For asking (and answering) questions about underlying concepts. Consider
> this to be an "advanced" group!
> scala-debate
> Unchanged
> scala-internals
> Unchanged
>
I think we'll just leave it for now. Not to say that some other
categoization does not have merit, but every change comes with a high
cost, and I do not see sufficient advantages to balance the
inconveniences of changing things around.
We should come back to this matter if/when traffic on scala-user
starts to become unmanagable. Right now we have not yet reached this
point, IMO.
Cheers
Re: The Scala community
On 09/10/2011 14:03, martin odersky wrote:
> On Sun, Oct 9, 2011 at 11:43 AM, Kevin Wright wrote:
>> ding ding, round two!
>> scala-basics
>> Formerly known as scala-user. Because everybody has basic questions now and
>> again, even an "advanced" user may suddenly find themselves using parsers
>> for the first time. It also serves as an indication for the nature of
>> suitable replies.
>> scala-language
>> As opposed to scala-nightclub, scala-cafe, etc.
>> scala-theory
>> For asking (and answering) questions about underlying concepts. Consider
>> this to be an "advanced" group!
>> scala-debate
>> Unchanged
>> scala-internals
>> Unchanged
Not bad.
> I think we'll just leave it for now. Not to say that some other
> categoization does not have merit, but every change comes with a high
> cost, and I do not see sufficient advantages to balance the
> inconveniences of changing things around.
>
> We should come back to this matter if/when traffic on scala-user
> starts to become unmanagable. Right now we have not yet reached this
> point, IMO.
Perhaps slightly improve the descriptions of the lists, to discourage
newbies question in scala-language. Moving up the scala-user was already
a good idea, anyway. And one advantage of this name is that it is quite
common in the mailing list world (that, and -general).
Re: Re: The Scala community
i would like to state as plainly as possible, theory is not necessarily "advanced." In many ways theory is less advanced than pragmatic programming because it removes much of the complexity of real world situations and considers models, toys, abstractions, etc. The demands on attention are lesser, not greater. This is the point of theory!
From another perspective, what you get exposed to early will seem simple and what you get exposed to later will seem more complex. i've made it a point to expose youngsters to theoretical computing and abstract mathematics and have had excellent results. i've taught 13 yrs olds both Milner's π-calculus and the lambda calculus. i've taught 4th and 5th graders the essence of Conway Games. Just last spring i had a little 4th grade girl go up to the board and do calculations with infinitary games. They don't come with preconceptions that it's "hard" or "advanced" and i don't tell them that it is and they find their way in -- because wonder at the beauty of the order of the world and desire to engage it is our birthright.
People who come to Scala come because they are seeking a better way to engage their computational work. They have a clue that Scala is organized around different principles. It is insulting to human beings and our potential to exclude discussion of those principles -- especially so that these seekers can judge for themselves whether or not those principles and their particular application in Scala provide a useful organization of computation. The current discussion sometimes reminds me of a certain large software company in Redmond, WA, profiling their market in terms of "Mort" the programmer, who is clueless in a not particularly useful way. Please don't Mort-ify the beginning (Scala) programmer.
Being a Beginner is in no way a statement about intelligence, capability, endurance, strength of will, etc. It's merely a statement about where one is in a process. Maintaining the qualities of a Beginner, including openness to new ideas, willingness to listen, willingness to ask for help, willingness to revisit assumptions, is something i strive to do and that sort of perpetual cluelessness is not only useful in practical programming, it turns out it is at the heart of mathematics. The mathematician strives to maintain naivety. And, if you look around, not just the mathematician, but anyone who wants to go deeper. i submit we want to encourage a Scala community of people who are supported to go deeper.
Best wishes,
--greg
On Sun, Oct 9, 2011 at 5:32 AM, Philippe Lhoste <PhiLho [at] gmx [dot] net> wrote:
Re: Re: The Scala community
i would like to state as plainly as possible, theory is not necessarily "advanced." In many ways theory is less advanced than pragmatic programming because it removes much of the complexity of real world situations and considers models, toys, abstractions, etc. The demands on attention are lesser, not greater. This is the point of theory!
From another perspective, what you get exposed to early will seem simple and what you get exposed to later will seem more complex. i've made it a point to expose youngsters to theoretical computing and abstract mathematics and have had excellent results. i've taught 13 yrs olds both Milner's π-calculus and the lambda calculus. i've taught 4th and 5th graders the essence of Conway Games. Just last spring i had a little 4th grade girl go up to the board and do calculations with infinitary games. They don't come with preconceptions that it's "hard" or "advanced" and i don't tell them that it is and they find their way in -- because wonder at the beauty of the order of the world and desire to engage it is our birthright.
People who come to Scala come because they are seeking a better way to engage their computational work. They have a clue that Scala is organized around different principles. It is insulting to human beings and our potential to exclude discussion of those principles -- especially so that these seekers can judge for themselves whether or not those principles and their particular application in Scala provide a useful organization of computation. The current discussion sometimes reminds me of a certain large software company in Redmond, WA, profiling their market in terms of "Mort" the programmer, who is clueless in a not particularly useful way. Please don't Mort-ify the beginning (Scala) programmer.
Being a Beginner is in no way a statement about intelligence, capability, endurance, strength of will, etc. It's merely a statement about where one is in a process. Maintaining the qualities of a Beginner, including openness to new ideas, willingness to listen, willingness to ask for help, willingness to revisit assumptions, is something i strive to do and that sort of perpetual cluelessness is not only useful in practical programming, it turns out it is at the heart of mathematics. The mathematician strives to maintain naivety. And, if you look around, not just the mathematician, but anyone who wants to go deeper. i submit we want to encourage a Scala community of people who are supported to go deeper.
Best wishes,
--greg
On Sun, Oct 9, 2011 at 5:32 AM, Philippe Lhoste <PhiLho [at] gmx [dot] net> wrote:
Re: Re: Re: The Scala community
On Sun, Oct 9, 2011 at 11:49 AM, Meredith Gregory <lgreg [dot] meredith [at] gmail [dot] com> wrote:
Re: Re: Re: The Scala community
On Sun, Oct 9, 2011 at 11:49 AM, Meredith Gregory <lgreg [dot] meredith [at] gmail [dot] com> wrote:
Re: Re: Re: The Scala community
Brilliant! Well observed!
Best wishes,
--greg
On Mon, Oct 10, 2011 at 1:06 AM, Naftoli Gugenheim <naftoligug [at] gmail [dot] com> wrote:
Re: Re: Re: The Scala community
Brilliant! Well observed!
Best wishes,
--greg
On Mon, Oct 10, 2011 at 1:06 AM, Naftoli Gugenheim <naftoligug [at] gmail [dot] com> wrote:
Re: Re: Re: The Scala community
On Sun, Oct 9, 2011 at 8:49 AM, Meredith Gregory
wrote:
> i would like to state as plainly as possible, theory is not necessarily
> "advanced." In many ways theory is less advanced than pragmatic programming
> because it removes much of the complexity of real world situations and
> considers models, toys, abstractions, etc.
Hey, I thought that was my little secret.
Re: Re: The Scala community
So when's that book going to be done to help us overcome our preconceptions and go deeper? :-)
On Sunday, October 9, 2011 11:49:28 AM UTC-4, leithaus wrote:
Re: Re: Re: The Scala community
Thank you for your inquiry! The continued queries and promptings are a source of inspiration. Bill Venners announced to the Scala mailing list a rough schedule for the EAP and release of the book. Please consult that email. In the meantime keep watching the biosimilarity.blogspot.com channel for excerpts from the material.
Also, a little company in CA, call Protegra, runs a conference they call SDEC. i'll be running some MDP4tW sessions there. i have a really fun little web app illustrating some of the points that people can get their hands on and play with at the conference. i used Abramsky's Computational Interpretations of Linear Logic -- which completely changed my whole approach to computing -- as a principal source of inspiration for the app. It should be a blast for those who are attending. i know i'm prepared to have fun!
Best wishes,
--greg
On Sun, Oct 9, 2011 at 10:39 AM, Erik Engbrecht <erik [dot] engbrecht [at] gmail [dot] com> wrote:
Re: Re: Re: The Scala community
In practice though, I'd anticipate a theory group to attract more advanced questions :)
On 9 October 2011 16:49, Meredith Gregory <lgreg [dot] meredith [at] gmail [dot] com> wrote:
Re: Re: Re: The Scala community
In practice though, I'd anticipate a theory group to attract more advanced questions :)
On 9 October 2011 16:49, Meredith Gregory <lgreg [dot] meredith [at] gmail [dot] com> wrote:
Re: Re: The Scala community
By the way, I checked List and counted 10 methods with symbols (one
mixed, 9 purely symbolic) out of almost 150 methods, not counting
overloads.
So the accusation of being operator-happy is hardly accurate.
On Sat, Oct 8, 2011 at 15:31, Ken McDonald wrote:
> I agree with some of what the poster (not Martin, the other guy) says, and
> disagree with some of it. First, some general comments
> 1) I have _never_ liked the names of the various scala groups. They were
> confusing to me when I came in, and are still confusing, the the same
> manner, to newcomers. Seriously, how should it be obvious that "scala-lang"
> is a "more advanced" group than "scala-user"? Thank goodness we at least
> have a separate "scalaz". My suggestions:
> - scala-newcomer
> - scala-user
> - scala-typing
> - scala-development
> And on the IDE from, please change "scala-ide" to "scala-eclipse" OR allow
> it to function as its name promises, and discussion forum for Scala and
> IDEs.
>
> On Thursday, October 6, 2011 2:56:41 AM UTC-5, martin wrote:
>>
>> Here's a recent mail on reddit, which we should take very seriously.
>>
>> I agree with the points in the mail. I think the community has a major job
>> to do to help people get into the language instead being obscure and riding
>> academic high horses.
>>
>> I would like to start with this list. Please everyone, remember: This list
>> is for helping people getting into Scala and getting their questions
>> answered. That's the primary purpose of scala-user. If you are after
>> intellectual arguments, no problem, but please use scala-debate. If you want
>> to force an intellectual argument on a newbie that asked a simple question,
>> that's just bad style.
>>
>> Thanks
>>
>> -- Martin
>>
>> =======================================================================
>>
>> I tried to use Scala, and found it has one major disadvantage going for
>> it, the community.
>>
>> Most of the developers for Scala and community members I interacted with
>> were very focused on being right from a computer science perspective, and
>> from their own view on how things should be done. They were not at all
>> focused on helping developers actually get work done. This extended to the
>> libraries that come with Scala. If they didn't like how you did something,
>> they made the libraries much harder to accomplish that task with. As an
>> example, appending to a list requires a rather cryptic syntax (myList :::=
>> "something").
>
> I've found that somewhat true, but not to the extent of the writer.
>
>>
>> Along with that, Scala seems to be in love with symbols. They use them
>> everywhere, and many times portions of the syntax are optional, so you can
>> see different incarnations of the same syntax look very different in
>> different places.
>
> Point out that symbols are used (fairly) consistently, and are in the
> Scaladoc.
>
>>
>> Also Scala has a very high learning curve for traditional Java developers.
>> Instead of making this curve workable by gradually introducing developers to
>> advanced features, the Scala libraries and all it's documentation force you
>> to see all the concepts all at once. They often do a very poor job of
>> explaining why they force you to do things their way, and just tell you to
>> do them.
>
> Well, I've given a number of informal presentations to Java devs, and always
> start with showing how a Scala def of a Complex type can vastly reduce
> boilerplate, and then present one or two simply examples of Scala typing to
> take the fear out of it :-). Again, I think this would be solved by have a
> "scala-newcomers" groups.
>>
>> While the Scala language technically lets you program in a way similar to
>> Java, but with advanced features as needed, the libraries are written in a
>> way to make this nearly impossible.
>
> I don't really know where that complaint comes from. It wasn't my
> experience.
>
>>
>> What all this means is that a developer from any traditional OOP language,
>> or less complex language is going to have a very very hard time learning
>> Scala, and in the end the time you lost learning won't make up for any
>> advantage Scala's 'way' provides.
>
> Partially disagree. It's very easy to learn to use Scala like Java. More
> difficult to learn the more advance stuff (no surprise), but that's a reason
> for user groups at various levels.
>
>>
>> As long as the Scala community is so obtuse and focused on being right
>> their way, as opposed to helping developers get into the language, Scala
>> will remain a nitch language.
>
> This is true for some developers, but I certainly haven't found it true for
> most.
Re: The Scala community
I appreciate for the person on the other end of Tony's wrath that it might not have been pleasant, but I don't think he was the only person at fault in the exchange(s) either and care should be taken that his message is not lost in the delivery. The mailing list is not Stack Overflow, you cannot be down-voted if you give a bad answer. If you rush to reply, yours is the message that people will see first and potentially the only message they read. Therefore there is a certain amount of responsibility here when you decide to type up a reply. It seems like if the only outcome of that thread is "Tony was at fault and he needs to change his approach and be more civil and then everything will be fine," you are simultaneously saying "it is better to be polite than right." Being that this group is a source of information, I think correctness is important and people should be encouraged to take his points on board and balance their eagerness to help people with being absolutely sure that they know what they're talking about.
I also do not like the idea to split up the mailing lists into beginner and advanced. The question which prompted all of this was, on the surface, a beginner question, and how many "advanced" Scala users learnt something? Quite a lot it seemed. As a complete beginner there is also significant value in just being exposed to more advanced concepts, a learning by proxy if you will. Even if it just to sews the seed of a new idea or advanced concepts, it can be extremely useful. I think a split would be damaging to the value of a beginner list, if all the experience minds took their interesting discussions and potentially more insightful replies elsewhere.
Re: The Scala community
OMG you people are sure vocal - less than 24 hours and I cannot keep up
with it all.
Personally I find there is too much stuff on scala-user that is 'WAY
over my head' but is it interesting to learn how much I do not understand.
There is too much stuff on scala-user that should be on scala-debate
(that I also read).
Please just keep scala-user for newbies and innocent questions. Please
be kind and patient to people on scala-user. Please direct people to
scala-debate for more serious stuff. If I am stupid enough to say
something on scala-debate please feel free to flame on at me as much as
you want - I already know I am in the deep end of the intelligence pool :-)
Cheers, Eric
Re: Re: The Scala community
On 07/10/11 15:14, Eric Kolotyluk wrote:
> I already know I am in the deep end of the intelligence pool
No you're not. Don't let the bullies who are obsessed with perceived
intelligence convince you otherwise. Struggle on.
Re: Re: The Scala community
On Fri, 2011-10-07 at 15:18 +1000, Tony Morris wrote:
> On 07/10/11 15:14, Eric Kolotyluk wrote:
> > I already know I am in the deep end of the intelligence pool
>
> No you're not. Don't let the bullies who are obsessed with perceived
> intelligence convince you otherwise. Struggle on.
+10^10^2
Re: Re: The Scala community
On 07/10/2011 00:42, David McLaughlin wrote:
> you are simultaneously saying "it is better to be polite than right."
They aren't exclusive options.
Re: Re: The Scala community
Am 07.10.2011 02:05, schrieb Alan Burlison:
> On 07/10/2011 00:42, David McLaughlin wrote:
>
>> you are simultaneously saying "it is better to be polite than right."
>
> They aren't exclusive options.
>
scala-user-polite [at] googlegroups [dot] com ;)
Re: The Scala community
Re: The Scala community
I absolutely agree with that. But I disagree with almost every point in the email otherwise. However, if the community did a better job to help people get into the language, I don't think the writer would have made most of the other points.
This isn't mutually exclusive, but it is essential to show developers _why_ doing things the "right way" from a computer science perspective actually helps developers get their work done. It doesn't necessarily let developers get their work done without having to learn anything new, but I think there is plenty of room for non-Scala languages that enable the most obvious approach even though that approach has serious flaws.
This is a perfect example--if you don't show the elegance of
a :: b :: c :: rest
and how naturally it looks like the list, instead of
rest.prepend(c).prepend(b).prepend(a)
and then explain how more colons is a natural way to join lists
xs ::: ys
and then explain how handy it is to have whatever= be a shortcut for x = x whatever y, of course it will look like gibberish.
But after that is explained and internalized, it makes Scala dramatically more readable than, say, the equivalent Java.
There are equally good reasons for most of these.
More explanation is valuable, agreed.
I'm not sure what the complaint is here. Java interop is pretty good; one can use Java collections if one wants. If the complaint is that Scala should have the same limited collections libraries that Java does in order to avoid making Java programmers feel that they have a lot to learn, I completely disagree.
This would only be true for someone who doesn't spend much time programming.
The writer seems to be conflating two things--library and language design, and how friendly the community might be to people who start out being grumpy about Scala not being Java, and therefore having a lot to learn.
The easy but usually wrong way to approach this is to be grumpy back.
The harder but usually more beneficial way is to explain why Scala is the way it is with well-crafted examples that show a case where something is _actually much easier in Scala_. There are too many examples that show cases where it is _harder_ in Scala and then handwavy statements about how this has superior properties. (Functional I/O examples strike me as almost _always_ having that flaw; fortunately, Scala doesn't include functional I/O in the core library and expect people to use it without clear examples.) For someone who wants to get things done, the tutorial has to go all the way to the point where it demonstrates clear benefit, not just so that it demonstrates a feature and then only describes a clear benefit.
Anyway, in summary, my points are
* Scala is mostly fine as it is
* Be good-natured towards newcomers even if they seem unreasonably grumpy
* Point to or write examples that show a compelling case for the "right" way to do things
--Rex
Re: The Scala community
1) It is important to understand the funnel developers go to adopt Scala...and make that funnel frictionless so the benefits of Scala can flow more freely. Learn-by-example documentation, IDE integration with SBT, best practices, etc. are example points of friction. What are the top 10?
2) A helpful way to change culture is to recognize those who exhibit the "good" behavior. There are many on this list, Stack Overflow, and dozens of Scala lists that are both very bright *and* very helpful to beginners. Who are the top 10?
Re: Re: The Scala community
On 06/10/2011 15:04, eptx wrote:
> Thank you for sharing this valuable feedback Martin. A few thoughts to
> help:
> [...]
> 2) A helpful way to change culture is to recognize those who exhibit
> the "good" behavior. There are many on this list, Stack Overflow, and
> dozens of Scala lists that are both very bright *and* very helpful to
> beginners. Who are the top 10?
That's strange, because for me, Tony and Paulp would be up in that top
10: they make me learn *a lot* of things. But it seems that their way of
answering is disliked by most. Well, they were not the only one, and
other people like Daniel Sobral or Meredith Gregory were also very very
helpful.
Perhaps there is *also* a problem with they way questions are asked, and
answer are heard (and studied). Well, all that to say: you can't just
ask people who spent their time trying to help other people to be nice
and kind and etc if people who asked question dismiss answer because
they don't want to invest some time to understand what is said, the
contracts must be on both parts.
Thanks,
RE: The Scala community
I don’t follow reddit – did anyone reply there that ListBuffer has methods like myList.append(x) and myList.appendAll(otherList), which are quite intuitive? I use += all the time… when using mutables J
It is however true that I got mixed up in the :: and ::: in the beginning, if using the immutables… for some reason, they dind’t work as nicely with all the types as they should. I guess there is also union()…
List(1,2,3).union(List(4,5,6))
I have seen this argument before that it’s not easy to figure out how to do something. This were true if people were using VIM but with Eclipse, there’s no excuse, although the plugin misses often and shows Object’s generic methods in the drop-down…
From: scala-user [at] googlegroups [dot] com [mailto:scala-user [at] googlegroups [dot] com] On Behalf Of martin
Sent: October-06-11 3:57 AM
To: scala-user [at] googlegroups [dot] com
Subject: [scala-user] The Scala community
Here's a recent mail on reddit, which we should take very seriously.
I agree with the points in the mail. I think the community has a major job to do to help people get into the language instead being obscure and riding academic high horses.
I would like to start with this list. Please everyone, remember: This list is for helping people getting into Scala and getting their questions answered. That's the primary purpose of scala-user. If you are after intellectual arguments, no problem, but please use scala-debate. If you want to force an intellectual argument on a newbie that asked a simple question, that's just bad style.
Thanks
-- Martin
=======================================================================
I tried to use Scala, and found it has one major disadvantage going for it, the community.
Most of the developers for Scala and community members I interacted with were very focused on being right from a computer science perspective, and from their own view on how things should be done. They were not at all focused on helping developers actually get work done. This extended to the libraries that come with Scala. If they didn't like how you did something, they made the libraries much harder to accomplish that task with. As an example, appending to a list requires a rather cryptic syntax (myList :::= "something").
Along with that, Scala seems to be in love with symbols. They use them everywhere, and many times portions of the syntax are optional, so you can see different incarnations of the same syntax look very different in different places.
Also Scala has a very high learning curve for traditional Java developers. Instead of making this curve workable by gradually introducing developers to advanced features, the Scala libraries and all it's documentation force you to see all the concepts all at once. They often do a very poor job of explaining why they force you to do things their way, and just tell you to do them.
While the Scala language technically lets you program in a way similar to Java, but with advanced features as needed, the libraries are written in a way to make this nearly impossible.
What all this means is that a developer from any traditional OOP language, or less complex language is going to have a very very hard time learning Scala, and in the end the time you lost learning won't make up for any advantage Scala's 'way' provides.
As long as the Scala community is so obtuse and focused on being right their way, as opposed to helping developers get into the language, Scala will remain a nitch language.
Re: The Scala community
Thank-you.
And as a counterpoint, I'd like to say I've had some very helpful
replies (on and off-list) from several notables in the Scala community
and which definitely helped sustain my interest in Scala. Thank-you to
those people as well.
Re: The Scala community
Matthew
On 6 October 2011 11:30, Alan Burlison <alan [dot] burlison [at] gmail [dot] com> wrote:
RE: The Scala community
Thank you, Martin, for this reprehension which indeed should be
taken seriously. Everyone should meditate by himself about what
that could mean for him.
OTOH, as considering myself such a non-academic Java guy who tries
to grok the Scala world, and working ten years now in a commercial
environment together with a good bunch of other average Java developers,
the original mail gave me a bad aftertaste.
From my perspective it is understandable but should not be taken
without a thorough differenciation.
While here every once in a while a thread comes up about the
uselessness and arrogance of some answers, I feel nevertheless
on the Java side often a resistance to step away from the way
how Java does things and how Java looks at problems.
I feel a resistance to approach to Scala as a different language
instead of Just-Another-Java.
For me as an non-academic every day Java developer Scala is indeed
not a learn-on-weekend switch-Java-with-Scala language, but it is
a gate to step into another room full of new approaches to some
problems or even to programming in general.
And I become sad when I meet Java-people who expect the entrance
hall of a new first-class hotel to look as familiar as their home's
living room.
If Scala people not being "focused on being right" involves designing
libraries in a worse way -against the authors knowledge- only to attact
people that keep thinking in Java language, then something is utterly wrong.
That said, I do not agree with the way the original poster laments
about the un-Java-ness of Scala's libraries by throwing that back upon
the community as "bad attitude", especially not the community as a whole,
which consists of many people I really appreciate.
The statement, that the effort to learn Scala does not pay back simply
is wrong. Learning Scala indeed changed the way I look on my own Java
code, approach problems and structure my solutions.
I feel like I did not simply "learn" Scala but much more "studied" it
to get there, and I am not finished!
Once again, yes community, watch your attitudes, but I could not let
that original post stand uncommented.
KR
Dirk Detering
> -----Original Message-----
> From: scala-user [at] googlegroups [dot] com [mailto:scala-user [at] googlegroups [dot] com]
> On Behalf Of martin
> Sent: Thursday, October 06, 2011 9:57 AM
> To: scala-user [at] googlegroups [dot] com
> Subject: [scala-user] The Scala community
>
> Here's a recent mail on reddit, which we should take very seriously.
>
>
> I agree with the points in the mail. I think the community has a major
> job to do to help people get into the language instead being obscure
> and riding academic high horses.
>
>
> I would like to start with this list. Please everyone, remember: This
> list is for helping people getting into Scala and getting their
> questions answered. That's the primary purpose of scala-user. If you
> are after intellectual arguments, no problem, but please use scala-
> debate. If you want to force an intellectual argument on a newbie that
> asked a simple question, that's just bad style.
>
>
> Thanks
>
Re: The Scala community
On 06/10/2011 11:21, Detering Dirk wrote:
> Thank you, Martin, for this reprehension which indeed should be
> taken seriously. Everyone should meditate by himself about what
> that could mean for him.
>
> [...]
> The statement, that the effort to learn Scala does not pay back simply
> is wrong. Learning Scala indeed changed the way I look on my own Java
> code, approach problems and structure my solutions.
> I feel like I did not simply "learn" Scala but much more "studied" it
> to get there, and I am not finished!
>
> Once again, yes community, watch your attitudes, but I could not let
> that original post stand uncommented.
Thank you really much for your mail, that thread was starting to make me
sad (I discovered it an hour ago, that's a bunch a things to read).
I also recognized what you are living with my own experience 4 years
ago, and so my fear that the Scala community, that I found at the time
so helpful and bright and open-midding has so much radically changed. So
now, I know that it's just that their more people comming with different
expectation that what mine and seems to be yours.
I also see a bunch of people full of ideas about how to handle these new
kinds of people, and since it seems that they are more likelly than us
to understand what they expect, why they don't just do something ? If a
forum is such a necessity for these newcomer, well, why not just set-up
one and handle it as they think it should be ? I know for sure that I
can't be the good person for such a task, because I don't see the point
to forum. And I believe that most old people of that list are more or
less in the same un-understanding about that - that's just not how our
brain works.
Thanks,
Re: The Scala community
Please, do send the exact email you sent as a reminder once in a while.
My view:scala-user is for the plain-old-user (We are *all* such users. Let me say it again: We are ALL such users)scala-debate is for the user with a higher-order (or higher-kinded) curiosity [please excuse the parlance].
Thanks,Christos
On Oct 6, 2011, at 10:56, martin wrote:
-- __~O -\ <, Christos KK Loverdos(*)/ (*) http://stepsinscala.com
Re: The Scala community
to pour in my experience:
* the community was mostly helpful to me. in most cases, i got some academic and some pragmatic answers. the pragmatic ones are the ones i wanted and needed at first.
later, as my understanding grew, the academic ones became more interesting.
* my biggest obstacle when learning scala coming from java were to understand "method signature rampages". immutable datastructures where quite easy, the collections were easy to use, and closures were easy to understand.
-------- Original-Nachricht --------
> Datum: Thu, 6 Oct 2011 00:56:41 -0700 (PDT)
> Von: martin
> An: scala-user [at] googlegroups [dot] com
> Betreff: [scala-user] The Scala community
>
>
> Here's a recent mail on reddit, which we should take very seriously.
>
> I agree with the points in the mail. I think the community has a major job
> to do to help people get into the language instead being obscure and
> riding
> academic high horses.
>
> I would like to start with this list. Please everyone, remember: This list
> is for helping people getting into Scala and getting their questions
> answered. That's the primary purpose of scala-user. If you are after
> intellectual arguments, no problem, but please use scala-debate. If you
> want
> to force an intellectual argument on a newbie that asked a simple
> question,
> that's just bad style.
>
> Thanks
>
Re: The Scala community
another thing that came to my mind:
what i missed was a really easy tutorial that shows scala's features step by step, islolated from each other. on scala-lang.org, i found documentation/examples about lots of features, but most of them required me to already know about other features.
you can tutorial someone about many features isolated from each other:
closures (start at anonymous classes, then go to closure, then go to "use method as parameter that becomes a closure)
match (simple version, without unapply)
tuples
type parameter variance
case classes (auto equals & hashcode, maybe intrudoce unapply here)
automatic fields in classes (a contructor parameter automatically becoming a field)
collections (start at arraybuffer, listbuffer and mutable hashmap since they are the most common ones used in OOP, then go to immutable collections)
_ (by _ i really mean _, the wildcard thing. i do not meant _ as a wildcard in a sense of "anything else". i literally meant _)
then the libary builder / DSL stuff:
implicits, manifests, currying....
-------- Original-Nachricht --------
> Datum: Thu, 06 Oct 2011 11:19:32 +0200
> Von: "Dennis Haupt"
> An: scala-user [at] googlegroups [dot] com, scala-user [at] googlegroups [dot] com
> Betreff: Re: [scala-user] The Scala community
> to pour in my experience:
> * the community was mostly helpful to me. in most cases, i got some
> academic and some pragmatic answers. the pragmatic ones are the ones i wanted and
> needed at first.
> later, as my understanding grew, the academic ones became more
> interesting.
>
> * my biggest obstacle when learning scala coming from java were to
> understand "method signature rampages". immutable datastructures where quite easy,
> the collections were easy to use, and closures were easy to understand.
>
> -------- Original-Nachricht --------
> > Datum: Thu, 6 Oct 2011 00:56:41 -0700 (PDT)
> > Von: martin
> > An: scala-user [at] googlegroups [dot] com
> > Betreff: [scala-user] The Scala community
>
> >
> >
> > Here's a recent mail on reddit, which we should take very seriously.
> >
> > I agree with the points in the mail. I think the community has a major
> job
> > to do to help people get into the language instead being obscure and
> > riding
> > academic high horses.
> >
> > I would like to start with this list. Please everyone, remember: This
> list
> > is for helping people getting into Scala and getting their questions
> > answered. That's the primary purpose of scala-user. If you are after
> > intellectual arguments, no problem, but please use scala-debate. If you
> > want
> > to force an intellectual argument on a newbie that asked a simple
> > question,
> > that's just bad style.
> >
> > Thanks
> >
> > -- Martin
> >
> > =======================================================================
> >
> > I tried to use Scala, and found it has one major disadvantage going for
> > it,
> > the community.
> >
> > Most of the developers for Scala and community members I interacted with
> > were very focused on being right from a computer science perspective,
> and
> > from their own view on how things should be done. They were not at all
> > focused on helping developers actually get work done. This extended to
> the
> > libraries that come with Scala. If they didn't like how you did
> something,
> > they made the libraries much harder to accomplish that task with. As an
> > example, appending to a list requires a rather cryptic syntax (myList
> :::=
> > "something").
> >
> > Along with that, Scala seems to be in love with symbols. They use them
> > everywhere, and many times portions of the syntax are optional, so you
> can
> > see different incarnations of the same syntax look very different in
> > different places.
> >
> > Also Scala has a very high learning curve for traditional Java
> developers.
> > Instead of making this curve workable by gradually introducing
> developers
> > to
> > advanced features, the Scala libraries and all it's documentation force
> > you
> > to see all the concepts all at once. They often do a very poor job of
> > explaining why they force you to do things their way, and just tell you
> to
> > do them.
> >
> > While the Scala language technically lets you program in a way similar
> to
> > Java, but with advanced features as needed, the libraries are written in
> a
> > way to make this nearly impossible.
> >
> > What all this means is that a developer from any traditional OOP
> language,
> > or less complex language is going to have a very very hard time learning
> > Scala, and in the end the time you lost learning won't make up for any
> > advantage Scala's 'way' provides.
> >
> > As long as the Scala community is so obtuse and focused on being right
> > their
> > way, as opposed to helping developers get into the language, Scala will
> > remain a nitch language.
Re: The Scala community
Thanks so much for your continued attention to nourishing and maintaining the community! This is vital. i would like to add that many times those of us who come to computing from a background in maths and logic come with humility. i continually find computers and languages bafflingly complex. Moreover, i've watched codebase after codebase cease to serve their original intentions because of increasing complexity cost. The spirit -- if not always the practice -- of formal methods is all about finding that core or inner simplicity -- call it abstraction or design pattern or what you will -- inside the phenomena we are engaging computationally. This is just as real as production code -- precisely because of the earlier point: technical debt can wipe away years of blood, sweat and toil. i'm willing to bet that everybody on this list has had some experience with this.
i submit that it is right at the beginner "monkey see, monkey do" stage that the spirit of finding simplicity needs to be introduced. Holding that simultaneously with holding the intention to write working code that serves a real purpose is -- in my experience -- what makes for quality, long-lasting code. It's harder. Yes, it requires more work. Yes, at the beginning (middle and end) it can feel like it takes more time. Yet, this sort of slowing down has the benefit -- when it's working -- of appearing as though the programmer is moving at light speed because the consequences of the code so written are so far reaching. Further, i am convinced that everyone can do it -- from theorem-hugging purists to ruggedly pragmatic hackers. Everyone has their challenges when approaching quality.
An open forum which includes calls (as difficult as they may be to hear) for simplicity, precision and practical code that serves a purpose will serve the beginner, the journeyman and the master programmer -- stations we are all likely to visit now and again.
Best wishes,
--greg
On Thu, Oct 6, 2011 at 4:25 AM, Dennis Haupt <h-star [at] gmx [dot] de> wrote:
--
L.G. Meredith
Managing Partner
Biosimilarity LLC
7329 39th Ave SWSeattle, WA 98136
+1 206.650.3740
http://biosimilarity.blogspot.com
RE: The Scala community
I found this to be an excellent introduction, back when I started. I think a lot of people could do much worse than starting here as well?
http://www.codecommit.com/blog/scala/roundup-scala-for-java-refugees
it could use some updating and simplification / cleanup, but overall I think it accomplishes its goal...
-----Original Message-----
From: scala-user [at] googlegroups [dot] com [mailto:scala-user [at] googlegroups [dot] com] On Behalf Of Dennis Haupt
Sent: October-06-11 7:26 AM
To: Dennis Haupt; scala-user [at] googlegroups [dot] com; scala-user [at] googlegroups [dot] com
Subject: Re: [scala-user] The Scala community
another thing that came to my mind:
what i missed was a really easy tutorial that shows scala's features step by step, islolated from each other. on scala-lang.org, i found documentation/examples about lots of features, but most of them required me to already know about other features.
you can tutorial someone about many features isolated from each other:
closures (start at anonymous classes, then go to closure, then go to "use method as parameter that becomes a closure) match (simple version, without unapply) tuples type parameter variance case classes (auto equals & hashcode, maybe intrudoce unapply here) automatic fields in classes (a contructor parameter automatically becoming a field) collections (start at arraybuffer, listbuffer and mutable hashmap since they are the most common ones used in OOP, then go to immutable collections) _ (by _ i really mean _, the wildcard thing. i do not meant _ as a wildcard in a sense of "anything else". i literally meant _)
then the libary builder / DSL stuff:
implicits, manifests, currying....
-------- Original-Nachricht --------
> Datum: Thu, 06 Oct 2011 11:19:32 +0200
> Von: "Dennis Haupt"
> An: scala-user [at] googlegroups [dot] com, scala-user [at] googlegroups [dot] com
> Betreff: Re: [scala-user] The Scala community
> to pour in my experience:
> * the community was mostly helpful to me. in most cases, i got some
> academic and some pragmatic answers. the pragmatic ones are the ones i
> wanted and needed at first.
> later, as my understanding grew, the academic ones became more
> interesting.
>
> * my biggest obstacle when learning scala coming from java were to
> understand "method signature rampages". immutable datastructures where
> quite easy, the collections were easy to use, and closures were easy to understand.
>
> -------- Original-Nachricht --------
> > Datum: Thu, 6 Oct 2011 00:56:41 -0700 (PDT)
> > Von: martin
> > An: scala-user [at] googlegroups [dot] com
> > Betreff: [scala-user] The Scala community
>
> >
> >
> > Here's a recent mail on reddit, which we should take very seriously.
> >
> > I agree with the points in the mail. I think the community has a
> > major
> job
> > to do to help people get into the language instead being obscure and
> > riding academic high horses.
> >
> > I would like to start with this list. Please everyone, remember:
> > This
> list
> > is for helping people getting into Scala and getting their questions
> > answered. That's the primary purpose of scala-user. If you are after
> > intellectual arguments, no problem, but please use scala-debate. If
> > you want to force an intellectual argument on a newbie that asked a
> > simple question, that's just bad style.
> >
> > Thanks
> >
> > -- Martin
> >
> > ====================================================================
> > ===
> >
> > I tried to use Scala, and found it has one major disadvantage going
> > for it, the community.
> >
> > Most of the developers for Scala and community members I interacted
> > with were very focused on being right from a computer science
> > perspective,
> and
> > from their own view on how things should be done. They were not at
> > all focused on helping developers actually get work done. This
> > extended to
> the
> > libraries that come with Scala. If they didn't like how you did
> something,
> > they made the libraries much harder to accomplish that task with. As
> > an example, appending to a list requires a rather cryptic syntax
> > (myList
> :::=
> > "something").
> >
> > Along with that, Scala seems to be in love with symbols. They use
> > them everywhere, and many times portions of the syntax are optional,
> > so you
> can
> > see different incarnations of the same syntax look very different in
> > different places.
> >
> > Also Scala has a very high learning curve for traditional Java
> developers.
> > Instead of making this curve workable by gradually introducing
> developers
> > to
> > advanced features, the Scala libraries and all it's documentation
> > force you to see all the concepts all at once. They often do a very
> > poor job of explaining why they force you to do things their way,
> > and just tell you
> to
> > do them.
> >
> > While the Scala language technically lets you program in a way
> > similar
> to
> > Java, but with advanced features as needed, the libraries are
> > written in
> a
> > way to make this nearly impossible.
> >
> > What all this means is that a developer from any traditional OOP
> language,
> > or less complex language is going to have a very very hard time
> > learning Scala, and in the end the time you lost learning won't make
> > up for any advantage Scala's 'way' provides.
> >
> > As long as the Scala community is so obtuse and focused on being
> > right their way, as opposed to helping developers get into the
> > language, Scala will remain a nitch language.