The state of the website and documentation (Why I don't work on scala-lang.org&friends anymore)

9,549 views
Skip to first unread message

Simon Ochsenreither

unread,
Oct 16, 2016, 7:10:35 AM10/16/16
to scala-internals
Because many people asked me in private, here is the dump of the core issues and my thoughts for posterity.

A selection of issues with the documentation

  • Many documentation pages are complete gobbledygok to beginners, starting right with the subtitle on the frontpage.
  • None of the websites mention the existence of Scala.js. This is especially ridiculous given that "competitors" have openly advertise their own, non-working implementations while we can't even get the word out on Scala.js which has been rock-solid for years.
  • None of the websites mention the existence of Scala on Android, despite the effort that went into it. Many parts are much better than Google's own Gradle-based infrastructure, but we keep ignoring it completely.
  • None of the websites mention the existence of Scala-Native.
  • The website doesn't allow devs to try out the language in their browser.
  • Some languages have better presentations about changes and improvements in minor versions than we have for our major versions.
  • There is no information about which editors and IDEs support Scala.
  • There is no consistent branding or design between the different sites, and there are almost no links that could tie the different parts together.
  • The documentation has no clear overall structure, one can't provide a link to a beginner and tell him/her "just read this to get started".
  • There is basically no information about how Scala is usually built, how dependencies are managed, or any other kind of important information.
  • There is no FAQ that can be used as an authoritative source to answer the most common questions about Scala and its ecosystem.
  • There is no effort to address popular misconceptions and counter recurring themes of FUD.
  • The download page is completely misleading, offering a download of Scala that is a complete waste of time and only adds to the confusion of users after learning about the existence of SBT ("Do I even need this? I already installed Scala! ... Why does it download Scala again? Didn't I already download and install Scala?")
  • The downloads (and all the other documentation) are transmitted over an unencrypted connection.
  • The documentation is spread over four different sites. This makes it hard for user to find information and hard for anyone who wants to contribute. Many contributions come from external contributors (great!), which usually fix some spelling or grammar, maybe provide a translation or add an event, and are never seen again after that (very bad!). I think some of the poor retention can be attributed to this.
  • The build instructions for the different websites required slightly different and/or completely outdated versions of software, forcing contributors to deal with bugs that have been fixed years ago.
  • The glossary is almost 4 major versions out of date.
  • wiki.scala-lang.org still exists. This thing should have been shut down years ago.
  • scala-lang.org/old still exists and confuses people because it has been showing up in search results.

Many of these issues could have been fixed a long time ago, but contributions are rejected with hair-rising excuses. This has been going on for roughly five years and I decided to not suffer this any longer in 2015.


It breaks my heart too see that we don't realize Scala's full potential by not getting the word out. Scala-the-technology is amazing, but somehow Scala-the-documentation/marketing is in utter disrepair and some people don't even seem to realize it.

We can't keep doing this – many languages out there are far ahead in terms of user experience and ease of on-boarding new developers. We can't win with technical superiority alone if we frustrate beginners enough that they just drop the language before they see the good parts and learn something else instead.

We are basically filtering our audience down to people who can either invest plenty of time (to wade through the documentation/ask for help on the mailing lists and gitter), money (to pay for training or attend conferences) or both. This disproportionally discriminates against specific groups of people. I believe that our field, our profession and our language is still in its early days – we can't just accept the potential loss of so many talented people.


Why?


I think it wouldn't be charitable to think that the state of documentation is a result of the involved parties' massive conflict of interest, as Lightbend (has partners that sell training), EPFL and ScalaCenter (receive money from commercial Coursera courses) all profit from the current situation financially.


The core issue why these issues haven't been addressed seems to be much simpler: Do people in charge simply don't care?


A lack of time and resources can be understood and is a perfectly fine reason. But any open-source developer that has lost interest in working on his/her project would be delighted to hear that other people are interested in taking over. The original developer would give the contributors the necessary access, move on and everyone would be happy. This is not happening.


What's baffling is actively preventing contributors from getting anything done combined with the disrespect and complete denial that anything could be improved from EPFL/ScalaCenter/Lightblend:


On the topic of considering how the website can be made more friendly for beginners:

Scala is fairly well-known by now. There are no beginners out there, because everyone already knows Scala. No need for better beginner documentation.


On the topic of taking other programming languages' websites into consideration when thinking about how user experience can be improved:

scala-lang.org is better than java.com, that's all I care to say.


On the topic of making sure that the website provides useful and accurate information to devs who want to learn the language:

Why don't people just google?


I won't associate these comments with names, but if the people who said this feel I misrepresented their stance they can feel free to step forward and correct my misunderstanding. (It's not that I'm short on broken promises and ridiculous excuses that I had to hear over the last few years and can cite here.)


Conclusion


Given stances such as this, will these issues ever be addressed? Are the website and all the other documentation effectively abandoned, with the occasional poor soul thrown in who tries to improve something and gets through?

There are no thoughts about how the website and documentation can improve the life of beginners (and experts), which changes need to be made for that ... or any other kind of vision of how our documentation needs to look like to attract more developers and strengthen adoption (independently of current hypes like Spark).


I think this is very sad given how much Scala could improve the lives of developers, but doesn't, as we fail to get the right information in front of them.


This is all. I hope you can figure out a way to move forward and wish you the best, but I'm done with it.

Simon Schäfer

unread,
Oct 16, 2016, 1:09:14 PM10/16/16
to scala-internals
I don't want to address the points mentioned in this post but I would like to add one:

I think the main reason why there is not a huge interest in improving documentation (or in general in making lives easier for developers that are new to the ecosystem) is because there is simply no money to make in this area (or that people do not believe that money can be made). People do want to get more efficient as developers but to invest some of the money that is the result of higher efficiency back to the ecosystem is not what generally occurs to people. This isn't just peoples fault, it is of course also the fault of the ecosystem, since it fails to provide an easy and straightforward way to invest and to see the results of the investment. It is a chicken or egg dilemma and therefore in general not a problem only Scala has, it is a shared problem among all programming language ecosystems. Some may do better because they simply have more users or some investor who beliefs that it is of a benefit to invest in that area. For Scala there is now Scala Center that wants to improve in this area but what they manage to accomplish in the long term needs to be seen.

Naftoli Gugenheim

unread,
Oct 16, 2016, 5:53:40 PM10/16/16
to scala-i...@googlegroups.com
Very very well said.

It's really unbelievable, and it's very frustrating that I can't get co-workers into Scala because the effort to learn it is too great.

If lightbend really cares about Scala, then how about instead of investing money in name changes and Java enterprise frameworks, they take care of something that every other language understands is THE most fundamental thing.

I won't be as critical of Scala Center because it's so new, but really this should be the first thing on their list. There should be a single free online "book" that's written in plain English and gets you through all the important things to know (without getting too far into the weeds). This would make such a huge difference it's impossible to understate.




--
You received this message because you are subscribed to the Google Groups "scala-internals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-interna...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Michael Slinn

unread,
Oct 17, 2016, 1:24:59 AM10/17/16
to scala-internals
We have offered (publicly and privately) at various times to make our online Scala training available for free, if a sponsor would provide funding. Both of our two Scala courses have the equivalent of a 500-page O'Reilly book, plus videos, sample code and exercises, and the material is kept up-to-date on a daily basis. We'd even continue to offer student support, if the sponsor(s) would ante up. Check out what we offer and the accolades.

To date there has been no response from any potential sponsor or other organization.

Mike
scalacourses.com
Cell: 650-678-2285

iulian dragos

unread,
Oct 17, 2016, 4:09:08 AM10/17/16
to scala-i...@googlegroups.com
On Sun, Oct 16, 2016 at 11:53 PM, Naftoli Gugenheim <nafto...@gmail.com> wrote:
Very very well said.

It's really unbelievable, and it's very frustrating that I can't get co-workers into Scala because the effort to learn it is too great.

I agree there is a problem, the "first 5 minutes" (unless you spend them all on reading a blog without seeing a line of code) can be confusing. At the end of the blog you're dropped on the docs page, which could act as a good reference, but only for returning customers. I think a first-time user wouldn't know exactly where to click next.

 
If lightbend really cares about Scala, then how about instead of investing money in name changes and Java enterprise frameworks, they take care of something that every other language understands is THE most fundamental thing.

I think it's unfair to expect everything to come from Lightbend, especially since they are a sponsor of the Scala Center and have been funding the Scala compiler development for the past 5 years. I'm guessing the Scala Center may take over documentation, judging by their mission statement ("For Open Source. For Eduction").
 

I won't be as critical of Scala Center because it's so new, but really this should be the first thing on their list. There should be a single free online "book" that's written in plain English and gets you through all the important things to know (without getting too far into the weeds). This would make such a huge difference it's impossible to understate.

I think the material is already written, it would be great if it was just "translated" to GitBook or plain HTML as a first step. My favorite is Scala by Example, but the 20-pages introduction for Java programmers might be the better choice. Of course, there's still the issue of making it discoverable.

iulian
 




To unsubscribe from this group and stop receiving emails from it, send an email to scala-internals+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "scala-internals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-internals+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
« Je déteste la montagne, ça cache le paysage »
Alphonse Allais

Oliver Ruebenacker

unread,
Oct 17, 2016, 9:45:23 AM10/17/16
to scala-i...@googlegroups.com

     Hello,

  I agree with everything you said!

  Except that I (and many others) actually find the download page useful to get the latest version of Scala (the version provided by the Fedora Linux repositories is usually quite ancient).

  When I have a Java/JVM problem, there are the highly polished, up-to-date and accurate tutorials sponsored by Oracle. When I have a Scala problem, I find someone's blog post in Google, and bets are a bit off regarding whether it is up-to-date or otherwise accurate. But it is good enough to survive in most cases, and where Doctor Google fails, we have Scala User group.

     Best, Oliver

--
You received this message because you are subscribed to the Google Groups "scala-internals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-internals+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Oliver Ruebenacker
Senior Software Engineer, Diabetes Portal, Broad Institute

Seth Tisue

unread,
Oct 17, 2016, 1:21:20 PM10/17/16
to scala-internals
Ideally the sites would get a sweeping rework. Perhaps that will happen eventually through the Scala Center. Has anyone submitted a proposal for that? To my knowledge, nobody has. Why not? Formal proposals is how the Scala Center works; see the advisory board meeting notes at https://scala.epfl.ch/records.html for examples of things that have recently been proposed, discussed, and voted on by the board. There are now two community representatives on the board, Bill Venners and Lars Hupel.

re: Lightbend, I second Iulian's and Simon S's remarks (just speaking for myself, not for the team or the company).

Short of a full redesign and reorganization, there's a great deal that can be done to improve the websites, right now, today, by anyone who's interested. The sites are open for pull requests at https://github.com/scala/scala-lang/pulls and https://github.com/scala/scala.github.com/pulls . It has certainly happened from time to time that a pull request wasn't accepted, like any open source project. But nearly everything that anyone has ever submitted has been merged.

See also recent discussion on Gitter, starting at https://gitter.im/scala/center?at=5804e35048292577612f7ba4

Seth Tisue / Scala team / Lightbend, Inc.

Ronald Petty

unread,
Oct 17, 2016, 7:46:25 PM10/17/16
to scala-internals
Hi.  I like to take the other side of this.  There are plenty of companies that make money in essence cleaning up the figurative docs.  What I mean by that, many consulting companies take the time to understand the mess that is documentation (not just open source) and in turn produce understandable docs/tutorials.  Scala (and co) are far from the only area this is true.  To rephrase, a bulk of my income comes from understanding other people's messes and cleaning them up.  I totally believe there is money to be made here, maybe by not updating the 'official' docs at this point, but by forking and fixing.  If you do that, and your interested in consulting, people will find you, as you are the expert (the person who took the time to understand the mess.)

There is always room for improvement, and it might not be with the 'official' location.  Room for competition.  In a perfect world, we would improve/centralize, etc. things like the docs; but that is not always the answer.

Ron

Adriaan Moors

unread,
Oct 17, 2016, 9:24:40 PM10/17/16
to scala-internals
Thanks for sharing your perspective, Ron. I appreciate the positivity :-) The official docs is absolutely the right place to contribute!

While I agree with some of Simon's points, I regret it sounds like he's painting unnamed individuals and even whole organizations in a negative light. Worst of all, I would hate for this to discourage anyone from contributing. I'm sure that's not Simon's intention. It certainly is his right to express his frustration with our lack of progress here. I am aware I could have done a better job here. He has poured many hours into improving Scala in many important ways. I appreciate his dedication and passion.

However, I disagree with his (perceived) implications about our lack of good will in allowing progress.

I believe we all have the best intentions. While we may disagree on how to best implement our vision for Scala, I hope we'll strive towards compromise from the assumption that we are in this together. Because we are.

Cheers,
Adriaan / Scala team lead at Lightbend
--
You received this message because you are subscribed to the Google Groups "scala-internals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-interna...@googlegroups.com.

Tianhao Li

unread,
Oct 18, 2016, 1:52:04 AM10/18/16
to scala-internals

I think we should add this in. It's really a good getting started guide for Scala.
Message has been deleted

Simon Ochsenreither

unread,
Oct 18, 2016, 8:52:11 AM10/18/16
to scala-internals
Ideally the sites would get a sweeping rework.

It got one, 11 months ago. The PR is there for everyone to read, if anyone needs an impression how that worked out exactly.


While I agree with some of Simon's points, I regret it sounds like he's painting unnamed individuals and even whole organizations in a negative light. Worst of all, I would hate for this to discourage anyone from contributing.

If simply quoting people paints them in a bad light, maybe it's not the painter who is to blame.

I think it's kind of telling that instead of having a discussion about the issues at hand, people have been more focused over the last few days to shift blame, make tone arguments, do statistics over my past PRs and invent new issues regarding my old proposals.
Constructive proposals all came from "external" contributors.

If 5 years of begging people to let me do the work they are not interested in doing (I still remember the screenshots I sent with drawings marking the most egregious issues with the website, desperately hoping that someone would take note), a diff close to 20000 lines and months spent on ironing out issues doesn't qualify me for a few candid words, I would really love to know what else is expected from me.

martin odersky

unread,
Oct 18, 2016, 12:01:24 PM10/18/16
to scala-internals
Hi Simon,

I just had a look at get-scala.org. Nice work! But it's a shame that there are two sites not one, and I understand that's frustrating for you and everyone involved. 

If I compare the two sites, there are elements in each that I like. 

- The headings in scala-lang.org feel a bit more solid and timeless; I would be careful not to mention Android and Native in the headline. It's a matter of opinion, sure, but I can fully understand that you will get some resistance there from the site maintainers.

- The Scala in a Nutshell section is not very essential, so I think I prefer the shorter version in scala-lang. 

- I really liked the IDE and tooling parts of get-scala.org. They give important information where to get started.

- I think it's a good idea to link to .JS and Android in the platforms band, as get-scala does. On the fence for native, because it's really not at the same level of maturity as the others.

The rest looks the same to me, except for some style elements and fonts. My personal preference is for the somewhat stronger contrast in get-scala, but that's probably because my eyes are less good than they used to. So others might have different preferences.

I think everyone would profit if we could merge the two sites. Why don't you submit a couple of PRs that give the biggest bang for the buck and see what happens?

My biggest gripe with both sites is actually not the front page but the syntax highlighting rules in the code examples of the blog. They are far too dark, which renders the code next to unreadable. I hope that can also be fixed soon. 

Thanks

 - Martin


Michael Slinn

unread,
Oct 18, 2016, 12:37:50 PM10/18/16
to scala-internals, martin....@epfl.ch
Further @odersky's post above, on May 6 I said the code examples on @odersdy's blog posting earlier that day were hard to read. I followed up with a stylesheet modifications that day and the next, and included instructions on how to apply them using Firefox and Chrome. On September 8 I followed up with PR #467, which fixes all code examples on scala-lang.org. The fix is not fancy, but it improves legibility considerably. Looks like that PR was merged today.

As the person behind the original getscala.com, I was wondering about get-scala.org. I agree that it would be best if that site was merged back into scala-lang.org. I would also like to suggest that in the interim, a prominent message be posted on get-scala.org that says something like "Looking for getscala.com?", with a link to that site.

Mike

Seth Tisue

unread,
Oct 18, 2016, 12:37:51 PM10/18/16
to scala-i...@googlegroups.com
On Tue, Oct 18, 2016 at 5:52 AM, Simon Ochsenreither <simon.och...@gmail.com> wrote:
Ideally the sites would get a sweeping rework.

It got one, 11 months ago. The PR is there for everyone to read, if anyone needs an impression how that worked out exactly.

Most of it would have been accepted, and would still be accepted, if submitted as individual, targeted PRs. This is how basically every open source project I know of works.

I agree with Martin that there are lots of good changes on get-scala.org. I hope those changes will be submitted as individual PRs to the main site — either by you or by others.

On the topic of merging the two sites, there is now some discussion (and links to previous discussion) at https://github.com/scala/scala-lang/issues/493

re: the issue with the code snippets in blog posts, there is an open PR with an apparent fix at https://github.com/scala/scala-lang/pull/467 . Can someone who knows CSS review it?

Seth

Adriaan Moors

unread,
Oct 18, 2016, 12:47:57 PM10/18/16
to scala-i...@googlegroups.com
If simply quoting people paints them in a bad light, maybe it's not the painter who is to blame.
Ok, Simon, that's enough. This is not the first time I've had to remind you of the rules of our forums. My previous message was meant as a gentle reminder – perhaps a little too gentle.

This is a forum for technical discussion grounded in fact. It's fine to disagree about design, criticize code or question elements of roadmaps. I'm glad this thread is continuing about its technical topic, as documentation is very important.

However, appropriate social behavior is at least as important. It is never acceptable to attack people, named or not, explicitly or implicitly. I aim for our forums to be inclusive of all technical opinions, but that doesn't extend to personal attacks. If you have a problem with someone, talk to them about it privately. If that doesn't work, ask a third party to mediate your conversation.

Thank you
Adriaan / Scala tech lead at Lightbend

Seth Tisue

unread,
Oct 18, 2016, 12:57:31 PM10/18/16
to scala-i...@googlegroups.com
On Tue, Oct 18, 2016 at 9:37 AM, Seth Tisue <seth....@lightbend.com> wrote:
On the topic of merging the two sites, there is now some discussion (and links to previous discussion) at https://github.com/scala/scala-lang/issues/493

(Oh, I see I was a bit confused here between two possible meanings of "merging the two sites". One meaning is "merge scala-lang and get-scala", another is "merge scala-lang and docs.scala-lang". The quoted link is about the latter, Martin was referring to the former.)
 

martin odersky

unread,
Oct 18, 2016, 3:44:04 PM10/18/16
to scala-internals
I want to add something which I think is important: Both scala-lang.org and (by proxy) get-scala.org are really beautiful websites. In fact I get congratulated all the time from outsiders how beautiful scala-lang.org is and then they want to know which company we contracted for this so that they can get the same for their site. Then I tell them, no company, it was "just" Heather who did this.

The Scala community should be proud and thankful for what we have here. I find it saddening and demotivating that instead we get so much expressions of negativity. We need to address this problem as a community. This is urgent, or key contributors will simply walk away.

Thanks

 - Martin

--
You received this message because you are subscribed to the Google Groups "scala-internals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-internals+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--

Martin Odersky
EPFL and Lightbend

Adriaan Moors

unread,
Oct 18, 2016, 4:11:12 PM10/18/16
to scala-i...@googlegroups.com
Indeed! I too am grateful for all the hard work that went into our websites, documentation, teaching materials, online courses -- to name a few.

Thank you, Heather & team!

To unsubscribe from this group and stop receiving emails from it, send an email to scala-interna...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
--

Martin Odersky
EPFL and Lightbend

--
You received this message because you are subscribed to the Google Groups "scala-internals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-interna...@googlegroups.com.

Hanns Holger Rutz

unread,
Oct 18, 2016, 5:40:02 PM10/18/16
to scala-i...@googlegroups.com
i second this. i also think we have one of the best looking front pages
for programming languages. it strikes a great balance between
clean/professional/creative/fun imho.

best, .h.h.

Hanns Holger Rutz

unread,
Oct 18, 2016, 5:41:48 PM10/18/16
to scala-i...@googlegroups.com
p.s. i also agree with what martin said before -- we should selectively
merge things from simon's work; i also like a lot the platforms +
editors part.

Naftoli Gugenheim

unread,
Oct 18, 2016, 11:46:03 PM10/18/16
to scala-i...@googlegroups.com
On Mon, Oct 17, 2016 at 4:09 AM iulian dragos <jagu...@gmail.com> wrote:
On Sun, Oct 16, 2016 at 11:53 PM, Naftoli Gugenheim <nafto...@gmail.com> wrote:
Very very well said.

It's really unbelievable, and it's very frustrating that I can't get co-workers into Scala because the effort to learn it is too great.

I agree there is a problem, the "first 5 minutes"

of what?
 
(unless you spend them all on reading a blog without seeing a line of code)

I guess you mean, in which case it's confusing for more than five minutes?
 
can be confusing. At the end of the blog you're dropped on the docs page,

which blog and which docs page?
 
which could act as a good reference, but only for returning customers. I think a first-time user wouldn't know exactly where to click next.

I'm not sure what you mean by that, but I would generally not point anyone to docs.scala-lang.org.

 

 
If lightbend really cares about Scala, then how about instead of investing money in name changes and Java enterprise frameworks, they take care of something that every other language understands is THE most fundamental thing.

I think it's unfair to expect everything to come from Lightbend, especially since they are a sponsor of the Scala Center and have been funding the Scala compiler development for the past 5 years. I'm guessing the Scala Center may take over documentation, judging by their mission statement ("For Open Source. For Eduction").

To clarify, I'm not blaming anyone or implying that anyone's intentions are less than pure.
But when Typesafe was founded, the impression that I got is that it had a very simple purpose. Scala was growing, and having a company to back it would allow Scala's value to support its own growth. Again, I am not implying that anyone's as fault, and maybe my understanding was completely wrong, but somehow today where at the point that "funding the Scala compiler development for the past 5 years" is like a favor that they're doing us and we should be satisfied with.
Anyway that's just life, and I'm just expressing disappointment. Let's not lose sight of the important thread: what is the extent of the documentation shortfall and what can be done today?
 
 

I won't be as critical of Scala Center because it's so new, but really this should be the first thing on their list. There should be a single free online "book" that's written in plain English and gets you through all the important things to know (without getting too far into the weeds). This would make such a huge difference it's impossible to understate.

I think the material is already written, it would be great if it was just "translated" to GitBook or plain HTML as a first step. My favorite is Scala by Example, but the 20-pages introduction for Java programmers might be the better choice. Of course, there's still the issue of making it discoverable.

Yeah, I mean something more comprehensive and broken down though...
 

iulian
 




To unsubscribe from this group and stop receiving emails from it, send an email to scala-interna...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "scala-internals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-interna...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
« Je déteste la montagne, ça cache le paysage »
Alphonse Allais

--
You received this message because you are subscribed to the Google Groups "scala-internals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-interna...@googlegroups.com.

iulian dragos

unread,
Oct 19, 2016, 9:09:11 AM10/19/16
to scala-i...@googlegroups.com
On Wed, Oct 19, 2016 at 5:45 AM, Naftoli Gugenheim <nafto...@gmail.com> wrote:


On Mon, Oct 17, 2016 at 4:09 AM iulian dragos <jagu...@gmail.com> wrote:
On Sun, Oct 16, 2016 at 11:53 PM, Naftoli Gugenheim <nafto...@gmail.com> wrote:
Very very well said.

It's really unbelievable, and it's very frustrating that I can't get co-workers into Scala because the effort to learn it is too great.

I agree there is a problem, the "first 5 minutes"

of what?

Of a person getting "into Scala" by visiting the scala-lang.org website for the first time. I hoped the context I provided ("effort to learn is too great") and the general subject of this thread would be clear enough. Apologies for assuming too much.
 
 
(unless you spend them all on reading a blog without seeing a line of code)

I guess you mean, in which case it's confusing for more than five minutes?

I guess it's a rhetorical question and leave it at that. I don't find this kind of remarks encouraging nor constructive, though.
 
 
can be confusing. At the end of the blog you're dropped on the docs page,

which blog and which docs page?

I assumed a beginner would click on the "learn more" button, below the tag line. That takes you to a blog entry about Scala, without any code examples. At the very end, there's an invitation:

> If you haven’t yet, try it out! Here are some resources to get started.

The link takes you http://scala-lang.org/documentation/, which is daunting for someone how is just trying to get a taste of Scala.

If lightbend really cares about Scala, then how about instead of investing money in name changes and Java enterprise frameworks, they take care of something that every other language understands is THE most fundamental thing.

I think it's unfair to expect everything to come from Lightbend, especially since they are a sponsor of the Scala Center and have been funding the Scala compiler development for the past 5 years. I'm guessing the Scala Center may take over documentation, judging by their mission statement ("For Open Source. For Eduction").

To clarify, I'm not blaming anyone or implying that anyone's intentions are less than pure.
But when Typesafe was founded, the impression that I got is that it had a very simple purpose. Scala was growing, and having a company to back it would allow Scala's value to support its own growth. Again, I am not implying that anyone's as fault, and maybe my understanding was completely wrong, but somehow today where at the point that "funding the Scala compiler development for the past 5 years" is like a favor that they're doing us and we should be satisfied with.

I'll let Lightbend speak for itself (or, to be really precise, people working for Lightbend).

iulian

Naftoli Gugenheim

unread,
Oct 19, 2016, 11:32:26 AM10/19/16
to scala-i...@googlegroups.com


On Wed, Oct 19, 2016, 9:09 AM iulian dragos <jagu...@gmail.com> wrote:
On Wed, Oct 19, 2016 at 5:45 AM, Naftoli Gugenheim <nafto...@gmail.com> wrote:


On Mon, Oct 17, 2016 at 4:09 AM iulian dragos <jagu...@gmail.com> wrote:
On Sun, Oct 16, 2016 at 11:53 PM, Naftoli Gugenheim <nafto...@gmail.com> wrote:
Very very well said.

It's really unbelievable, and it's very frustrating that I can't get co-workers into Scala because the effort to learn it is too great.

I agree there is a problem, the "first 5 minutes"

of what?

Of a person getting "into Scala" by visiting the scala-lang.org website for the first time. I hoped the context I provided ("effort to learn is too great") and the general subject of this thread would be clear enough. Apologies for assuming too much.
 
 
(unless you spend them all on reading a blog without seeing a line of code)

I guess you mean, in which case it's confusing for more than five minutes?

I guess it's a rhetorical question and leave it at that. I don't find this kind of remarks encouraging nor constructive, though.

It was certainly not rhetorical, though I guess I understand what you were trying to say better, now that I have more of the context.


 
 
can be confusing. At the end of the blog you're dropped on the docs page,

which blog and which docs page?

I assumed a beginner would click on the "learn more" button, below the tag line. That takes you to a blog entry about Scala, without any code examples. At the very end, there's an invitation:

> If you haven’t yet, try it out! Here are some resources to get started.

The link takes you http://scala-lang.org/documentation/, which is daunting for someone how is just trying to get a taste of Scala.

If lightbend really cares about Scala, then how about instead of investing money in name changes and Java enterprise frameworks, they take care of something that every other language understands is THE most fundamental thing.

I think it's unfair to expect everything to come from Lightbend, especially since they are a sponsor of the Scala Center and have been funding the Scala compiler development for the past 5 years. I'm guessing the Scala Center may take over documentation, judging by their mission statement ("For Open Source. For Eduction").

To clarify, I'm not blaming anyone or implying that anyone's intentions are less than pure.
But when Typesafe was founded, the impression that I got is that it had a very simple purpose. Scala was growing, and having a company to back it would allow Scala's value to support its own growth. Again, I am not implying that anyone's as fault, and maybe my understanding was completely wrong, but somehow today where at the point that "funding the Scala compiler development for the past 5 years" is like a favor that they're doing us and we should be satisfied with.

I'll let Lightbend speak for itself (or, to be really precise, people working for Lightbend).

iulian

Seth Tisue

unread,
Oct 19, 2016, 3:30:28 PM10/19/16
to scala-internals
On Wednesday, October 19, 2016 at 6:09:11 AM UTC-7, Iulian Dragos wrote:

I'll let Lightbend speak for itself (or, to be really precise, people working for Lightbend).

re: Lightbend's mission, a statement from Adriaan, earlier this year: https://groups.google.com/d/msg/scala-user/a1LSONWGW4I/YxJTMCOMAgAJ

But this is off-topic for scala-internals. The place for further talk in this vein would be scala-debate.

Simon Ochsenreither

unread,
Oct 20, 2016, 5:54:19 AM10/20/16
to scala-internals, martin....@epfl.ch

I just had a look at get-scala.org. Nice work! But it's a shame that there are two sites not one, and I understand that's frustrating for you and everyone involved.

Thanks for having a look, there are a lot of additional improvements like the reworked documentation, the FAQ, the not-four-versions-out-of-date glossary, the integrated spec.
I expect that the sites will grow further apart when I replace the download page with my own special binaries.

Simon Ochsenreither

unread,
Oct 20, 2016, 5:57:04 AM10/20/16
to scala-internals

Ideally the sites would get a sweeping rework.

It got one, 11 months ago. The PR is there for everyone to read, if anyone needs an impression how that worked out exactly.

Most of it would have been accepted, and would still be accepted, if submitted as individual, targeted PRs. This is how basically every open source project I know of works.

Just a correction for Seth's comment: Why did a simple thing snowball into this size in the first place?

Because after I had done a single thing, people found new requirements or simply pronounced that things were not technically possible, which led to me investing even more time showing that in fact the issues are fixable, and look, I indeed fixed them.
Then suddenly, after a simple improvement turned into "prove that you can fix all the issues docs.scala-lang.org ever had" the squashed changes were too large.

This was never about "these changes are great, let's think how we can split them up" and my expectation was never about "you have to merge this verbatim" (it even said "prototype" right in the first comment).
(I had many more commits which I didn't even bother to present at this time.)
Message has been deleted

Simon Ochsenreither

unread,
Oct 20, 2016, 6:39:22 AM10/20/16
to scala-internals, martin....@epfl.ch
Hi,

a lot of people have done a lot of amazing work, especially the design of the website, and many other things. I think we all agree on that.

But this was not the purpose of the email that started this thread.
I didn't write this email to put focus on why I'm staying and why everything is great, I wrote the email

  • to tell the community why I'm giving up [DONE]

Given the response I received I'd also like to

  • express my personal disappointment about how criticism is handled
  • the problems with the website are only a symptom of the real issue

in the following paragraphs.



Dealing with criticism

Stop shooting the messenger

Every well-run company wants to have exit interviews with their employees to figure out why they are leaving.
Despite the fact that I never received or expected anything for the work I have done, I have decided to offer my opinions and insights, purely out of professional courtesy to the benefit of the community.

Have a look at the response I got, here on this list and elsewhere: There was more interest in shooting the messenger, doing damage control on social media, getting into fights trying to assign responsibilities to each other and mischaracterizing my contributions than any kind of consideration of what could have went wrong.

Just imagine how this looks like to Scala developers out there and people who haven't decided whether to learn Scala or not.

If this is how criticism is (not) accepted, I'm fairly certain I have a good idea why many other people (that came and talked to me) have given up silently instead pointing out issues and being at the receiving end of this.


More people have walked away than leadership is aware of


key contributors will simply walk away

Well-known community leaders have not only given up on the hope for improving things, they have given up on whole the idea that anything that could improve the situation will ever happen. I know this, because they talked to me.
Scala devs ran a predecessor of the first mail by their colleagues and came to the conclusion that it's solely in the hands of the community to make a difference, because we can't rely on the "official" channels stepping aside ... that's a terrible level of despair.
Yes, it's saddening and demotivating to listen to, if people in charge are not aware what the issues are, they need to listen to those who have a story to tell.
I could keep going on, because I have dozens of reports like this and they use a lot of stronger wording than I have ever done.


Start listening to people

Well before I started working on the documentation, I sought people out and asked them "what are the bad parts of Scala?" and was willing to listen. That painted a very bleak picture and was the reason why I tried improving things.

I talked to some leaders in charge at ScalaDays about the things I considered issues (and offering to do the work necessary).
The sheer disinterest and dismissiveness I received was the final straw that has led to my decision to call it quits. This is not simply frustration about a single PR that went wrong, this is about preserving a few remaining bits of self-respect after I literally begged people for letting me do work for free.


The problems with the website are only a symptom of the real issue

Maybe it's hard to get a straight answer from beginners when "famous Scala people", like those participating on this list, talk to them. They might be embarrassed and don't want to bother people with issues they blame on themselves. Being open and listening to them reveals that it's not just the website that has issues, but that there are many symptoms of the underlying root cause.

Here are just a few:
  • The introduction/workshop/tutorial story. I have to resort to asking conference organizers to tell that those who signed up for the workshop and had issues with the setup should skip their coffee/lunch break and arrive earlier so we can solve the issues before the workshop. Imagine what impression people get from Scala. The only more embarrassing thing than having to tell that to the whole conference attendees is when half of the workshop attendees actually show up. This could be blamed totally on me, if I didn't have to also start helping other people doing Scala workshops fixing attendees' installs to prevent their workshop from turning into chaos.
  • The versioning story. I think everyone agrees that preserving "3" for Dotty is really intellectually satisfying, but is it worth the continued, self-inflected wound, all the pain and confusion when working with people on the ground? It's needlessly scaring people away. I think this really shows how the priorities don't reflect the actual issues we suffer from on the ground.
  • The download story. As misguided as the download/install instructions are, a beginner might follow them ... now just count the individual steps we expect from them to get a working install of Scala. This wouldn't even be acceptable if the instructions weren't wrong.
  • The Lightbend story: The frontpage of the website fails to display important components (events/training) without a local PHP install. To display the information, JavaScript calls PHP scripts, those PHP scripts call Lightbend servers, receive data, turn it over to the site's JavaScript and display it. I raised this issue 11 months ago, and it has been bounced between at least 5 people. Nothing has happened.
  • The ScalaDays story: Even after I had given up and closed the PR request everyone likes to talk about, I offered to put the past experience behind me and have a fresh start. At ScalaDays I suggested to the person in charge to identify those parts that were considered acceptable, mail me, and I would do the work and provide a self-contained PR. I have never gotten a reply.
  • The PR story: The whole PR thing is so inept that I'm already happy if some Lightbend announcement doesn't cause outright celebration in Kotlin channels like it happened with past announcements.
Absolutely no thought is being given about how we can get the right information to beginners, how we want to present and position Scala, how we convey our plans, what are the long-term strategies etc. There is no coherent communication. This is the level of not-knowing-what-we-are doing we should talk about.

We need to consider how language adoption works and has worked for decades. No level of technical superiority will keep a language afloat if communication/marketing/
whatever-you-want-to-name-it continually sends us into the next iceberg.


Conclusion

It's not wrong to celebrate what we got right, and we should do it, but we should also accept that not everything is perfect and make a decision to stop ignoring problems.

Ignoring problems doesn't make them go away, it only makes people go away that are interested in fixing them. As has happened here, and probably hundred of times before, judging from the amount of people which turn to me to express their frustration.

If leadership wants to fix this, it needs to address the root causes, not dress up the symptoms.




Cheers,

Simon

Hanns Holger Rutz

unread,
Oct 20, 2016, 7:02:58 AM10/20/16
to scala-i...@googlegroups.com
From my fairly outsider position, I don't really understand why some
Scala folks are all so deep into this drama stuff. You almost sound like
a well known former contributor to Scala. "versioning story", "chaos",
"terrible level of despair", "damage control". What d'ya all talkin
about? Can we not get to an adult level of communication instead of this
soap opera.

Should we really have a civil war about whether Dotty in three or four
or whatever years is called Scala 2.15 or 3.0 or 4.0? What's the
"download story"; if there are issues, can we not address them in calm
way and seek to improve them, without getting into personal battles.
What the heck? And all the "people say", "the person", ... Is this
really the forum to share this conspiracy stuff?

Dealing with criticism involves two sides. From what I can read here and
elsewhere, the Scala team, while not always making promises and
embracing every suggestion, at least stays friendly and tries to resolve
things constructively. Writing in rage is seldom a good idea.

best, .h.h.


On 20/10/16 12:38, Simon Ochsenreither wrote:
> Hi,
>
> a lot of people have done a lot of amazing work, especially the design
> of the website, and many other things. I think we all agree on that.
>
> But this was not the purpose of the email that started this thread.
> I didn't write this email to put focus on why I'm staying and why
> everything is great, I wrote the email
>
> * to tell the community why I'm giving up *[DONE]*
>
>
> Given the response I received I'd also like to
>
> * express my personal disappointment about how criticism is handled
> * the problems with the website are only a symptom of the real issue
> * The introduction/workshop/tutorial story. I have to resort to asking
> conference organizers to tell that those who signed up for the
> workshop and had issues with the setup should skip their
> coffee/lunch break and arrive earlier so we can solve the issues
> before the workshop. Imagine what impression people get from Scala.
> The only more embarrassing thing than having to tell that to the
> whole conference attendees is when half of the workshop attendees
> actually show up. This could be blamed totally on me, if I didn't
> have to also start helping other people doing Scala workshops fixing
> attendees' installs to prevent their workshop from turning into chaos.
>
> * The versioning story. I think everyone agrees that preserving "3"
> for Dotty is really intellectually satisfying, but is it worth the
> continued, self-inflected wound, all the pain and confusion when
> working with people on the ground? It's needlessly scaring people
> away. I think this really shows how the priorities don't reflect the
> actual issues we suffer from on the ground.
>
> * The download story. As misguided as the download/install
> instructions are, a beginner might follow them ... now just count
> the individual steps we expect from them to get a working install of
> Scala. This wouldn't even be acceptable if the instructions weren't
> wrong.
>
> * The Lightbend story: The frontpage of the website fails to display
> important components (events/training) without a local PHP install.
> To display the information, JavaScript calls PHP scripts, those PHP
> scripts call Lightbend servers, receive data, turn it over to the
> site's JavaScript and display it. I raised this issue 11 months ago,
> and it has been bounced between at least 5 people. Nothing has happened.
>
> * The ScalaDays story: Even after I had given up and closed the PR
> request everyone likes to talk about, I offered to put the past
> experience behind me and have a fresh start. At ScalaDays I
> suggested to the person in charge to identify those parts that were
> considered acceptable, mail me, and I would do the work and provide
> a self-contained PR. I have never gotten a reply.
>
> * The PR story: The whole PR thing is so inept that I'm already happy
> if some Lightbend announcement doesn't cause outright celebration in
> Kotlin channels like it happened with past announcements.
>
> Absolutely no thought is being given about how we can get the right
> information to beginners, how we want to present and position Scala, how
> we convey our plans, what are the long-term strategies etc. There is no
> coherent communication. This is the level of not-knowing-what-we-are
> doing we should talk about.
>
> We need to consider how language adoption works and has worked for
> decades. No level of technical superiority will keep a language afloat
> if communication/marketing/whatever-you-want-to-name-it continually
> sends us into the next iceberg.
>
>
> Conclusion
>
> It's not wrong to celebrate what we got right, and we should do it, but
> we should also accept that not everything is perfect and make a decision
> to stop ignoring problems.
>
> Ignoring problems doesn't make them go away, it only makes people go
> away that are interested in fixing them. As has happened here, and
> probably hundred of times before, judging from the amount of people
> which turn to me to express their frustration.
>
> If leadership wants to fix this, it needs to address the root causes,
> not dress up the symptoms.
>
>
>
>
> Cheers,
>
> Simon
>
> --
> You received this message because you are subscribed to the Google
> Groups "scala-internals" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to scala-interna...@googlegroups.com
> <mailto:scala-interna...@googlegroups.com>.

Simon Ochsenreither

unread,
Oct 20, 2016, 8:30:29 AM10/20/16
to scala-internals
Ok, so just to make sure I understand this:

Is there any way I'm allowed to relay issues without them being summarily dismissed based on how I word them?
If I'm precise and provide quotes I'm blamed for attacking people, and when I merely describe what people say I'm called a liar? Please correct me if I misunderstood what you wrote.

I tried the other options you suggested in the past. I think my posts gave quite a few examples of that. Feel free to (re-)read them. If anything had happened, we wouldn't even have this discussion today.

martin odersky

unread,
Oct 20, 2016, 9:49:27 AM10/20/16
to scala-internals
I tried to show you a path forward, Simon, inviting you to do constructive PRs. That's the only currency that counts for me. Ranting and complaining is just offputting. I don't have the time or energy to deal with this.

 - Martin


Simon Ochsenreither

unread,
Oct 20, 2016, 10:12:01 AM10/20/16
to scala-internals, martin....@epfl.ch
Understood. I'm sad to hear that nothing is going to change. I have spent too much time, effort and work with largely zero results over the years, and with the end of this discussion I am now fairly certain that I have exhausted all options I had.

Cheers,

Simon

Adriaan Moors

unread,
Oct 20, 2016, 12:30:56 PM10/20/16
to scala-internals, martin....@epfl.ch
We're listening. We will change where it's for the good of the whole community. From where I sit, the community has never been more productive. We've moved to sbt to build Scala and made it super easy to use an IDE, we keep improving our docs and openness around our process. The Scala Center was founded. The Typelevel project is moving along at a healthy speed, with mutual respect and benefit. Just to name a few things that make me happy about our recent progress.

If anyone feels differently, feel free to reach out to me directly. I'll listen and I'll do what I can to address your concerns.

Maybe it is time for you to move on, Simon. I wish you the best, but I'm very close to done with your insinuations and drama. Where do you get the confidence to say nothing will change or that we don't care? Also, have you considered how you may be hurting the Scala community with your claims?

I assure you we are constantly thinking about how to involve the community more and how to make Scala better for everybody. We have a limited amount of hours to spend every day. Choices have to be made. If you don't agree, fine -- let's discuss, but let's not waste time on name calling.

Speaking of which, polite discourse is a sign of respect exactly because it takes energy to put yourself in someone else shoes and express yourself carefully.

Cheers
Adriaan
--
You received this message because you are subscribed to the Google Groups "scala-internals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-interna...@googlegroups.com.

Simon Ochsenreither

unread,
Oct 20, 2016, 12:57:32 PM10/20/16
to scala-internals
I think I have nothing more to add, except recommending Simon Schäfer's excellent comment on scala-debate.

Simon Ochsenreither

unread,
Oct 20, 2016, 2:40:43 PM10/20/16
to scala-internals
(Not because I couldn't offer answers; but given how this thread went, I don't believe that I can present any facts without them being disregarded and making myself a target of further abuse.)

Christian Schmitt

unread,
Oct 20, 2016, 5:27:42 PM10/20/16
to scala-internals
Well I never contributed to Scala and I probably never will.
However I think this whole debate is probably not constructive.

People have different opinions and it's sad to see some people get mad so fast, it's not like the roman empire existed within a day.

I mean a lot of points he wrote are write.
The scala-lang.org site is bad, even the API's Docs are worse than, before I think. The reason for that in my opinion is that scala tries to have a shiny css filled site / api docs. that is completly bad. it's not easy to browse use or anything at all? why don't you look at golang or rust? they have a simple site with only a few images / colors. not a lot of css is involved there, their sites is as simple as it could get. 
I mean who do you want to attract with that site? Devlopers, Managers, Students? Why do you think this shiny thing is usable? 
I'm not sticking to all of the points of soc, since I think a lot of them are just not a good idea. However I guess we all agree that It could be better, which doesn't mean we should try to rush that thing and change something directly, that's the worst we possible can do, since rushed changes mostly fail.

The next thing is that I think a lot of this discussion should've been done in private. The reason is probably that not everything is true and everybody here has a different set of opinions and at the end things got unconstructive.
I mean, yeah sharing his opinion publicy is a fine thing, but before something like that is done, it should've been weighted if this harmed more than it resolved. 
Just look at HN: https://news.ycombinator.com/item?id=12727339 two of the four top-top level comments, just saying harmful things about the community. and a lot of comments probably just say anything about the community not about the documentary/scala-lang site problem at all.
yeah sometimes we need to express ourself and find people that listen, that's cool but I think in most cases a smaller group of listeners are probably better.

It's sad if soc would stop doing anything with scala and I at least use one of his libraries. So it would be really sad, especially for me.
But as a general I started to work on Play! at the early of the year and I must say that I found the people really really helpful in the scala community, even about Documentation, Guidelines, etc. I started as somebody without a lot of experience (I guess) and I quickly found myself still welcome. 
Even in the whole scala community. I mean I only got in contact with Seth, the Play Team and some Akka Guys (yet), but I never feeled unwelcomed, even when asking "stupid" questions.

Well to at least address two of your things:

> but contributions are rejected with hair-rising excuses

Well I think that sometimes it just feels as a excuse, but I learned the hard way that one rejection more could've saved the day later.

> A lack of time and resources can be understood and is a perfectly fine reason. But any open-source developer that has lost interest in working on his/her project would be delighted to hear
> that other people are interested in taking over. The original developer would give the contributors the necessary access, move on and everyone would be happy.

Well A lack of time is mostly there in every project, however what would happen if people would give access to new contributors? I mean either the new person in charge would actually start pushing his own opinion, forward or it would probably stay the same, neither of these things is acceptable.
I think over time, most issue's will be solved if people can be dedicated to something, since at some point a decision just needs to be made and hopefully over time more people also come across an issue and also shared their opinion, if they are not dedicated enough, just move on, that's probably the best thing one could do.

tl;dr: I'm said how the story looked from the outside and I hope that sooner or later we can get our opinions together and make scala even better.

This is all. I hope you can figure out a way to move forward and wish you the best, but I'm done with it.

fanf

unread,
Oct 21, 2016, 6:30:45 PM10/21/16
to scala-internals

Hello,

I don't want to talk about anything but just the quoted part below on contribution, because thanks to other open source projects and the experiment of people like Pieter Hintjens (rip), we have what is approaching social science and hard data on the topic. So I encourage anybody running a an open source community to read all of Hintjens books (or starting with the long summary here:Building Online Communities - Hintjens.com
hintjens.com/blog:117 ), and on the precise topic of commits rights to read that short article about how well it xorks to apply the C4.1 process (and so allows more people to have commits rights) :http://hintjens.com/blog:93

(but really, any article on the subject may apply here, like " Optimistic Merging Works Better" - Hintjens.com
hintjens.com/blog:106  And an example outside Hintjens projects: http://jakewins.com/p/click bait )

Hope it helps,

François

Le jeudi 20 octobre 2016 23:27:42 UTC+2, Christian Schmitt a écrit :
[...]
 
.> A lack of time and resources can be understood and is a perfectly fine reason. But any open-source developer that has lost interest in working on his/her project would be delighted to hear
> that other people are interested in taking over. The original developer would give the contributors the necessary access, move on and everyone would be happy.

Well A lack of time is mostly there in every project, however what would happen if people would give access to new contributors? I mean either the new person in charge would actually start pushing his own opinion, forward or it would probably stay the same, neither of these things is acceptable.
I think over time, most issue's will be solved if people can be dedicated to something, since at some point a decision just needs to be made and hopefully over time more people also come across an issue and also shared their opinion, if they are not dedicated enough, just move on, that's probably the best thing one could do.
ct

 

Oliver Ruebenacker

unread,
Oct 24, 2016, 10:15:09 AM10/24/16
to scala-i...@googlegroups.com

     Hello,

  It might help community distributions if the community feels like they own it, because it is community governed.

     Best, Oliver


--
You received this message because you are subscribed to the Google Groups "scala-internals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-internals+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Oliver Ruebenacker
Senior Software Engineer, Diabetes Portal, Broad Institute

dmitriy.c...@rallyhealth.com

unread,
Oct 26, 2016, 4:45:21 PM10/26/16
to scala-internals
Anyone who thinks Simon is 'not being constructive' and that everything is great for beginners like myself should try and take Martin Odersky's own Scala course. I got so frustrated with online documentation that I decided to pay $79 for the course, only to discover that it is just as poorly organized, at least part 1. The setup creates the first impression.  For example, the Mac setup video transcript does not correspond to what the person is talking about. Videos are not in synch with lectures. Nothing I typed in from the video transcript actually worked either. In short, the MacOS installation video and online scala docs were useless to me as a beginner. Wasted a whole day, at the end of which I could not get either the Intellij or Eclipse installation going without issues. The former keeps failing to load dependencies and the latter won't recognize worksheets. And you gotta love the SBT installation instructions: "unpack the archive". That's it. 
Martin, the problem is exactly because you "don't have time" for complaints. Maybe if you did and addressed them, people would switch to your supposedly wonderful language from Java or elsewhere. 
What makes me stay is that I have 3 Scala devs sitting right next to me, so I'm going to finish this first part and see whether Scala as a technology is worth it, but I tell you, THE FIRST IMPRESSION WAS NOT GREAT. 
As a comparison, when I started with Python, my setup time was under half an hour, without any video instructions. 

You guys in charge of these websites should really get organized and get rock-solid setup/beginner tutorial going. That includes you, Martin, and your Coursera gig. 

Simon Ochsenreither

unread,
Oct 26, 2016, 8:11:06 PM10/26/16
to scala-internals
Hi Dmitriy,

I'm sorry that you had such a poor experience. I also think that there are a lot of possible improvements.

In fact, my plan is to do a wholesale replacement of all download options for get-scala.org with sbs after 2.12 shipped.

In terms of being constructive, I already implemented a small prototype of sbs that turns the twenty-something steps to get a working Scala install into a single step.
I haven't compiled/tested it on macOS, but if you have a Linux install somewhere, I encourage you to try https://github.com/soc/sbs and tell me what you think!

It handles downloading and decompressing a JDK, setting up SBT and drops you directly into an sbt console.

sbs' speed on first startup is only limited by your network connection (at my home this means ~30 seconds for downloading the JDK, ~1 second for the SBT launcher, plus the time it takes for SBT to bootstrap itself). Later startups have no overhead and are as fast as starting sbt itself.
From my perspective, the only bottleneck that remains is the SBT bootstrap. I hope SBT devs can be convinced in the future to offer some "fat-jar" download that ships with all the necessary dependencies for SBT, instead of doing the extremely slow dependency resolution at the first run.

As it is only a prototype, it doesn't support all the intended options, but the plan is that developers have a choice whether they want to specify an exact version of the JDK they want to use in their build.properties file, let sbs pick the latest stable version, or instruct sbs to use an existing JDK install from the host system if available. This should provide the best experience for both beginners and experts and should make it easier to have reliable, repeatable builds and testing across multiple JDK versions without laborious and error-prone manual setup.

Development is currently on hold, as I want to assess the Scala-Native situation before I decide whether I keep using Rust (limited developer pool, slow development speed) or switch to Scala-Native (larger developer pool, fast development speed, but still experimental).

After this is done, I intend to investigate ways how the setup of JDK, SBT and Scala can be further extended to include a working, ready-to-use editor/IDE setup of the user's choice.

Cheers,

Simon

Rex Kerr

unread,
Oct 26, 2016, 8:53:04 PM10/26/16
to scala-i...@googlegroups.com
On Wed, Oct 26, 2016 at 5:11 PM, Simon Ochsenreither <simon.och...@gmail.com> wrote:

Development is currently on hold, as I want to assess the Scala-Native situation before I decide whether I keep using Rust (limited developer pool, slow development speed) or switch to Scala-Native (larger developer pool, fast development speed, but still experimental).

This is likely true if you mean "developers who care to work on this".

If you're just counting Rustaceans vs um, Native Scalists?, Scala Native has a real uphill climb to catch Rust's number of developers.  Maybe it can, maybe not, but it will be years before we can tell.  Please don't wait that long!

 --Rex


Simon Ochsenreither

unread,
Oct 26, 2016, 9:17:00 PM10/26/16
to scala-internals

This is likely true if you mean "developers who care to work on this".

Exactly, "Rustaceans interested in writing Rust for Scala tooling vs. Scalascans(?) interested in writing Scala-Native for Scala tooling" is what I had in mind.


Please don't wait that long!

Hopefully it won't take too long. :-)

I'm currently working on making java.time available on all three platforms (JVM, JavaScript, Native) which in turn lead to porting a regex engine to Scala-Native which required implementing ArrayList which in turn required fixing floating point handling in the Scala-Native compiler: https://github.com/scala-native/scala-native/pull/356

Getting java.time to work will hopefully either shake out a lot of bugs in Scala-Native (or prove the their absence) and should increase the overall maturity and confidence in Scala-Native for writing native applications.

Rex Kerr

unread,
Oct 26, 2016, 11:24:20 PM10/26/16
to scala-i...@googlegroups.com
On Wed, Oct 26, 2016 at 6:17 PM, Simon Ochsenreither <simon.och...@gmail.com> wrote:

This is likely true if you mean "developers who care to work on this".

Exactly, "Rustaceans interested in writing Rust for Scala tooling vs. Scalascans(?) interested in writing Scala-Native for Scala tooling" is what I had in mind.

Please don't wait that long!

Hopefully it won't take too long. :-)

I'm currently working on making java.time available on all three platforms (JVM, JavaScript, Native) which in turn lead to porting a regex engine to Scala-Native which required implementing ArrayList which in turn required fixing floating point handling in the Scala-Native compiler: https://github.com/scala-native/scala-native/pull/356


You're practically getting into Rube Goldberg territory there!
 
Getting java.time to work will hopefully either shake out a lot of bugs in Scala-Native (or prove the their absence) and should increase the overall maturity and confidence in Scala-Native for writing native applications.

The entire java.time specification (including all timezones and everything) is pretty big.  Are you able to implement enough of it for practical work, and do so without falling afoul of any licensing/copyright issues?  Keep in mind that java.time is GPL2ed, as far as I know, which means a straight port probably isn't allowable.

  --Rex
 

Rex Kerr

unread,
Oct 27, 2016, 12:21:30 AM10/27/16
to scala-i...@googlegroups.com
I guess you can port from Joda Time and just fix up the (minor) API differences, since Joda Time is Apache 2.

  --Rex

Alexandru Nedelcu

unread,
Oct 27, 2016, 1:41:22 AM10/27/16
to scala-i...@googlegroups.com
Hi Dmitriy,

In my opinion, even in criticism, we have to be respectful of other people's feelings and time. Nobody here has an actual obligation to do anything and many are volunteers that aren't in this for financial gains. Because as this thread shows, this begets other harsh criticism, which imho doesn't end up being constructive, even if it's meant to be.

You didn't have to pay $79 for the course. Last I checked that was only for getting the certification, but the content should be freely available and most followers of that course are not paying for it, or am I mistaken?

As for Python, it works, but that's because it is already installed everywhere except for Windows. However if you want to experience frustration, try installing Python's PostgreSQL client, for maximum effect on OS X. Then compare with doing the same with SBT & Scala.

Also, I'm guessing that with Python you're using a simpler text editor, along with its REPL, so why not do the same with Scala? For learning, you don't need a full fledged IDE. As I like saying, learning a new language is a pretty big deal and having to learn the whole toolchain in parallel is pretty overkill.  IntelliJ IDEA should work out of the box though. If it doesn't, it's probably a bug that you should report.  

As an alternative that builds on SBT, you might want to try Lightbend's Activator. I'm not a fan, but it is meant for beginners.

Cheers,

--
Alexandru Nedelcu
--
You received this message because you are subscribed to the Google Groups "scala-internals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-interna...@googlegroups.com.

Naftoli Gugenheim

unread,
Oct 27, 2016, 2:02:20 AM10/27/16
to scala-i...@googlegroups.com


On Thu, Oct 27, 2016, 1:41 AM Alexandru Nedelcu <gro...@a1.alexn.org> wrote:
Hi Dmitriy,

In my opinion, even in criticism, we have to be respectful of other people's feelings and time. Nobody here has an actual obligation to do anything and many are volunteers that aren't in this for financial gains. Because as this thread shows, this begets other harsh criticism, which imho doesn't end up being constructive, even if it's meant to be.

Please let's stay focused on how we can improve.


You didn't have to pay $79 for the course. Last I checked that was only for getting the certification, but the content should be freely available and most followers of that course are not paying for it, or am I mistaken?

Yes but it's not very obvious. I'm sure a lot of people paid that would not have. I'm assuming this is coursera's fault and not something Scala Center can fix though.


As for Python, it works, but that's because it is already installed everywhere except for Windows. However if you want to experience frustration, try installing Python's PostgreSQL client, for maximum effect on OS X. Then compare with doing the same with SBT & Scala.

We're not trying to score points here, the point is the installation could be made smoother (starting with the download instructions). At least Simon is working on a solution, but I'm sure he would welcome contributions or competition.

Simon Ochsenreither

unread,
Oct 27, 2016, 3:25:31 PM10/27/16
to scala-internals
I have a complete implementation of java.time derived from the BSD-licensed reference implementation.

60.000 lines of Scala code. Complete test suite passes on JVM, for JS I have implemented basic TestNG support that needs to be improved to run all tests in JS. Native support as described.

Cheers,

Simon

Seth Tisue

unread,
Oct 27, 2016, 3:57:15 PM10/27/16
to scala-internals
On Thursday, October 27, 2016 at 12:25:31 PM UTC-7, Simon Ochsenreither wrote:
I have a complete implementation of java.time derived from the BSD-licensed reference implementation.

Sounds great. Let's move any further discussion on that to a new thread.

Jorge Vicente

unread,
Oct 28, 2016, 5:29:37 AM10/28/16
to scala-internals
Thanks for quoting this.

The Scala Platform process, whose draft will be released soon and I'm in charge of as a Scala Center employee, is directly inspired by Hintjens and his books.

I wanted to bring his successful community to Scalaland, and I want to see what results from this experiment. I'm planning to release the draft to the Community soon to gather feedback and improve it.

Best,

Francois Armand

unread,
Oct 30, 2016, 4:16:26 PM10/30/16
to scala-i...@googlegroups.com

That's for a very positive a priori!

Thanks for the feedback and I will love to see these drafts!


--
You received this message because you are subscribed to the Google Groups "scala-internals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-internals+unsubscribe@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages