What can make scala more popular?

#58

I was just looking to see if StackExchange or Github had an API for apps. If so someone could create a comment system using that, to allow users to login and comment which would greatly reduce the likely hood of spam comments as people could reference them in their resume’s.

Scala is a complex language, so out of all languages, it would by far benefit from in depth Java like documentation.

I like the Programming in Scala book but documentation it is not. It is a great book to learn the basics and is full of facts but it is in no way a replacement for true documentation. I need a quick easy searchable way to find information about things like Traits for example. Plus my desk is small I already have 4 scala books on it and notes and other stuff, I have to look over to see the monitor.

I am sure after many years of use I would memorize all the stuff if I did only Scala, but in a few years I will probably be using something else. Plus I am using lots of Javascript. Doing Scala and Javascript at the same time is a huge mental taxation. They can look very similar, especially the functional stuff. That is why the functional parts of Scala are a breeze for me, 10 years of Javascript. I saw Higher Order Functions in Scala and I was like THANK GOD!!! I will do as little OOP Scala as possible, only the mutative parts.

So I love Scala, I just hate the lack of documentation and it seems no one cares. Alvinalexander.com is the best resource of facts I have found yet. I don’t waste time on classes etc.

I have not seen comment sections in other languages, just PHP, but it was one of my most favorite time saving features.

#59

For a long time, the Scala site used to allow comments using Disqus. It seemed like a lot of work to maintain. There was an experiment to move them to Discourse, but it didn’t work out for a number of reasons.

I’m sure a proposal to use a different comment system would be entertained.

3 Likes
#60

Yeah disqus has no real world ties into anything so random people from random places can troll and comment. Something more personalized would be needed. Maybe a system where people login with their Github account. Then the system needs a minimal admin panel and a reputation system. Without a reputation system and admins it is a free for all and arguments etc become a plague. It is work for sure. But it would be worth it in the end for the community. Either that or real documentation.

#61

I can vouch for that.

I don’t think we should add a comment system of any kind, tbh, but perhaps the site could do a better job of directing people to places they can ask questions and discuss things. Right now we just have the “Problem with this page? Please help us fix it!” link, which is a good start, but maybe we could also link to https://scala-lang.org/community/ , something like that?

4 Likes
#62

Please don’t be discouraged! More/better/polished documentation is crucial for Scala’s continued growth. As the Scala team lead at Lightbend, I commit my team’s help to make sure nothing stands in anyone’s way when working on the docs.

I can’t speak for others, but my team is very busy with PR reviews, bug fixing, implementing the roadmap. Unfortunately, that leaves no time to lead documentation efforts, but we are always happy to help where we can for documentation.

I am working on writing up our plans for 2.14 this week. One related topic that I will explain in more depth there, but I want to already mention in this thread is that we plan to reserve the summer for improving the newcomer experience and overall polish, before we switch full-time to core 2.14 development.

9 Likes
#63

I think here is a good example which demonstrate that standard documentation is hard to do more friendly.

Also I think that there should be clear facts where scala is just the best.
Some time ago it is was absolutely enough to say:

  • string interpolation
  • macros
    :slight_smile:

It seems for me that scala take inspiration in big data processing
https://www.scala-lang.org/blog/2019/05/21/news-from-the-scala-moocs.html

It can be undeniable fact.

But I really do not understand how the language can be the best in data processing until it does not have the best intergration with data bases, for example one of the next our most desirable features is better sql intergration.
It is very sad that we do not have tools to make the best integration:

Our average table has more than twenty columns. Sql integration and queries are a headache for us.

See also: named arguments in pattern matching

#64

IMHO: Named access in dsl is a killer feature.

1 Like
#65

I really like the idea of having a proper “The Scala Book” reference. I’m sure it would help a lot to onboard new people. I also think many would be willing to contribute — I would be, though I do not have time to lead such an effort, unfortunately.

Perhaps we could even just copy the structure of the Rust book, and adapt it for Scala. Or maybe “Programming In Scala” could be open-sourced, updated to Scala 3, and put on a website?

4 Likes
#66

I wonder if there are a way to make contribution more easy. I had made contributions to scala specication it is not fast for beginners :)) I am not ready to repeat it for less important things. But good documentation consists of many unimportant “well known” things.

The structure is very important, but good feedback can be more important.
There are many stuff for that:

  • comments
  • wiki
  • wysiwyg editors

I just cannot see good feedback:

It is not critique. I understand that it is a matter of available resources.
I just wonder is it possible to make documentation writing\changing\getting feedback more easy.

2 Likes
#67

This is not true.

I actually can’t tell if you are just using this as an example of some FUD you saw on the web, or if it’s something you’re still genuinely unsure about yourself.

Regardless of how you meant it, I have seen this FUD floating around too, so I want to be sure it’s absolutely clear to everyone on this thread:

It is absolutely not true at all that Twitter has somehow diminished their use of Scala or moved away from Scala.

Ask any of the Scala folks on Twitter, for example Stu Hood, who recently confirmed that “Twitter has about 10 million lines of Scala code” (!!) (reference: https://scala.epfl.ch/minutes/2019/03/06/march-6-2019.html). I’ve also heard him say, in a recent conference talk, that the company’s Scala codebase is still growing faster than its Java codebase.

4 Likes
#68

If we ended up with something like The Rust Book but for Scala, and available free online, that would be amazing.

We do have several excellent Scala intro books, that cost money, have remained in print and been updated for new Scala versions for some years now; further updates are already in the works. The most frequently recommended are “Programming in Scala” (Odersky/Venners/Spoon, from Artima) and “Programming Scala” (Wampler/Payne, from O’Reilly).

In the free-online-book space, check out Underscore’s series at https://underscore.io/books/ . It includes two language intro books, Essential Scala (for people who can code already) and Creative Scala (for new coders).

For reference documentation, this link has already been mentioned, but I want to highlight it again:

There is a great deal there already; there is also great room for improvement. Updates to existing sections are welcome via https://github.com/scala/docs.scala-lang/pulls .

Also welcome are entire new sections. There are multiple guides on that page only exist because some individual saw a need, wrote them, and submitted them.

I don’t want to dismiss any talk about longer term solutions (e.g. about how documentation work could be better funded) and grander schemes (about writing entire new books). I just want to also emphasize that a structure is already in place where interested individuals can make useful improvements now, today.

4 Likes
#69

I would also add that a lot of the work on Scala 2.13 was, in fact, documentation work; this work was done by partly by Scala Center engineers, partly by Lightbend engineers, and partly by the community. See the links in the 2.13 release notes.

I just hate the lack of documentation and it seems no one cares

That is absolutely not the case.

3 Likes
#70

http://www.artima.com/pins1ed/

http://underscore.io/books/

Regardless of what your definition of “documentation” is or isn’t, those are high quality freely available educational resources that stand up to anything else available for any language.

4 Likes
#71

Simple ,make a coin/currency with Scala :slight_smile: like libra in rust.

#72

For what I know, there are many guys in China learn Go for qiniu or toutiao are using that as their main language and they want to join those company for good salary.

Alibaba and pdd are mostly Java based.

Tencent is using Spark and Flink as their bigdata platform base.

Even I know there are some guy who can using Scala do do real thing at alibaba, but for maintains, we had to using Java even we are using Akka and know Scala.

What I want to say is that’s not the problem of books or free books, but good salary or/and killer frameworks.

When bigdata was hot ,people went to learn Spark and Scala, even their code was so bad, but that can get them well paid ,so they can “learn” it.

So, killers, come on more.

#73

I have been developing a framework for ERP system on scala.
Scala have many great feature for that. And I think the main power of scala is in area of dsl frameworks(IMHO Kotlin and java win in lower level).

I hope that after dotty release there will be improvements in language which allows to do more better frameworks.
Scala have dropped some feature which would be able to be very important in frameworks. I don’t say it is wrong decision. But it is step back in area of frameworks.

1 Like
#74

I don’t know if it would be considered high quality documentation (though a publisher recently offered to buy it from me), but I’ll be glad to donate my “Hello, Scala” book to the documentation cause. If it doesn’t fit what people initially want in a “book,” maybe it can be used as something to start from. The free, online version of it is currently available at hello-scala.com. I’ll be glad to donate it to the scala-lang.org website if people are interested.

10 Likes
#75

That’s very generous, thank you! Personally, I think it should take the prime spot on https://docs.scala-lang.org/

We could move the introduction for Java programmers to a separate section that has a list of docs like that indexed by the language newcomers already know.

3 Likes
#76

Thank you. I’m open to whatever you (all) would like. When I was talking to a publisher we talked about renaming the book, so if you’re interested in a different name (or names), I’m open. It’s basically a light but hopefully thorough introduction to Scala.

If you all want to proceed, or want to discuss it more, just let me know what you’d like/need. I’ll be glad to help however I can. Thanks again.

1 Like
#77

Thanks for the second link. I have the third edition of the book. In documentation I mean something that explains the language constructs in a little more depth, almost like the Tour but with a little extra info.
@SethTisue
It is going to be confusing for example if Scala 3 allows Traits to have constructors/arguments and that is not documented. Then users find old information saying that Traits can’t have constructors then they see Traits with constructors etc. That is what I mean by facts and documentation. A searchable language spec would be useful.

I think the problem is when you google any construct of Scala you find the Tour and it seems like Documentation( because that is what the search result says), but then you are like where are the missing parts.

It doesn’t help that when you search google for say "Scala Traits"scala traits The first link in Google says “Traits | Scala Documentation” you click it and you are in something called a tour, but you don’t really notice it says tour because it just said Documentation.

It is not so much the actual page that says Documentation, but the confusing way google searches the site and shows the results. I am not sure how much of what is new as far as design go’s.

1 Like