Effective Programming in Scala

share ›
‹ links

Below are the top discussions from Reddit that mention this online Coursera course from École Polytechnique Fédérale de Lausanne.

Offered by École Polytechnique Fédérale de Lausanne. Scala is an expressive, versatile, and safe programming language. In this course, you ... Enroll for free.

Reddsera may receive an affiliate commission if you enroll in a paid course after using these buttons to visit Coursera. Thank you for using these buttons to support Reddsera.

Taught by
Julien Richard-Foy
Computer Scientist
and 1 more instructor

Offered by
École Polytechnique Fédérale de Lausanne

Reddit Posts and Comments

0 posts • 5 mentions • top 4 shown below

r/scala • comment
8 points • Seth_Lightbend

The Scala Center also offers "Effective Scala", which is aimed a bit more directly at preparing you for an actual job: https://www.coursera.org/learn/effective-scala

But note that it teaches Scala 3, whereas most jobs currently are still in Scala 2. (You might reasonably decide you're okay with that, but it's worth being aware of.)

r/scala • comment
5 points • Odersky

I would start with the Scala courses on Coursera. In particular of one of these:



The first is my classic course on Functional Programming. It got recently revamped for Scala 3. The second is a faster paced introduction to practical Scala programming which bypasses some of the functional programming theory.

The courses show an easy, pragmatic way to approach functional programming.

r/scala • comment
4 points • GazingIntoTheVoid

On Coursera there are a couple of courses you might be interested in. The Specialisation "Functional programming in Scala" is partly taught by Martin Odersky himself. I've taken a precursor to this a couple of years ago and found it well put together and interesting.

This course looks interesting as well: Effective Programming in Scala

r/scala • comment
1 points • jackcviers

>SBT is way, way too complex and intimidating for the needs of 95% of users who are only going to have one module, few plugins at most and a bunch of dependencies. Look at Rust Cargo for a better direction and it's fast.

Compared to maven or gradle?

Here's the minimal maven pom: https://gist.github.com/torgeir/6742158

Here's gradle: https://gist.github.com/damienstanton/fb7c608e9883d57da34d4238b0ecaabf

Here's sbt: https://github.com/typesafehub/activator-minimal-scala/blob/master/build.sbt

Repositories are built into the scala build. Not so with gradle. Gradle doesn't need a name or org. Maven needs, well, everything.

As for running. sbt compile. sbt test. sbt package. sbt publish. Not sure you could get a more concise basic build out of anything else.

Where things get wonky is in adding all the plugin configurations, but that's an arbitrary mess in maven and gradle, too. They're in turn better than ANT, Rake, make, npm, and poetry, but the days of sbt APL-like builds are about 9 years ago. If everyone would follow the Best practices for plugins, life would be easier. Maybe we need an sbt lintPlugin task to make people conform?

You know what sbt really needs? A better cli prompt parser, so I don't have to type ; in between commands and don't need random quotes around commands that take arguments.

>which libraries are available

Scaladex: https://index.scala-lang.org/

Shows you exactly what you asked for. Though it does need to be integrated into sbt with something like sbt search.

>a microsite template that developers can use so that we have consistent, usable documentation across the ecosystem

Literally what scaladoc is, it comes with sbt. Although, it's better when enhanced with mdoc so that you get the standard microsite template like these. It would be nice to have an sbt serveDocs and if everyone would host their docs for external linking, but javadoc doesn't do that either.

>guides on how to use Scala

  • Programming Scala, Fifth Edition, book
  • Functional Programming in Scala for Mortals
  • Akka in Action
  • https://docs.scala-lang.org/getting-started/intellij-track/building-a-scala-project-with-intellij-and-sbt.html
  • https://docs.scala-lang.org/tutorials/scala-for-java-programmers.html
  • https://docs.scala-lang.org/tour/tour-of-scala.html
  • https://www.coursera.org/learn/effective-scala
  • Scala with Cats, book
  • https://www.manning.com/books/functional-and-reactive-domain-modeling, Book
  • The ZIOnomicon, Book
  • Dev Inside You, YouTube vlog, discord
  • All the library and language gitter and discord channels

And the readmes and tutorials written for the major libraries are some of the best, and most concise out there. Seriously, even the old stuff, like scalacheck's guide is really good. Compare that to hypothesis. The hypothesis uses readthedocs, but other than the window dressing, much better. Try to find similar concise guides for major Java projects outside of spring boot. They're all external to the projects, published on Baeldung.

As for complex syntax

>ScalaJS needs to be integrated into Scala, properly supported with far more end to end examples and the facades project

Agreed, ScalablyTyped has my vote for some ScalaCenter love, beyond the npm dependencies plugin. I'm using it currently outside of scalajs react, and it took a minute to translate the examples, and it needs to be available for maven, gradle, and mill as well as sbt.