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.
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.
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.
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 Community | The Scala Programming Language , something like that?
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.
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
It seems for me that scala take inspiration in big data processing
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:
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?
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:
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.
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: March 6 2019). 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.
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:
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.
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
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.
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.
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.
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.
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.
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.
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.