Live data from Hacker News

Scala 2.13 is now available

scala-lang.org

51–60 of 87 posts

Re: Scala 2.13 is now available

#51
> Standard library: Future is faster and more robust. Elsewhere, useful classes and methods have been added.

This is a pretty huge deal. Our backend API depends pretty much exclusively on these, and everything is wrapped in them. Performance enhancements for these will bubble into basically every Scala Play app.

Re: Scala 2.13 is now available

#52
post #47
post #7

Extremely excited with the release! I work at a fashion renting company and our backends are built on top of Scala stack. Contrary to popular belief, Scala is actually quite a simple language. Most of our engineers came from PHP or Python, or Ruby and all have expressed how type safety gave them great assurances that everything works if it compiles. On top of that the behaviour of the language is very predictable! We…

You mentioned PHP or Python, or Ruby devs. How was your experience on-boarding programmers with no Scala experience?

If you keep the Scala feature you use minimal, it should not get too complicated.

First step was to learn SBT, which in itself is simple (building projects, dependencies, plugins).

Later we have them do scala exercises (scala-exercises.org) to understand Scala basics, and the philosophy behind Scala, onboard on Framework (Play/Lagom).

Then we move on to Slick, and then Future API, error handling with Try, for yield comprehension, map and flatMap, collections, and of course implicits.

The rest would be comments on pull request.

Re: Scala 2.13 is now available

#53
post #16
post #7

Extremely excited with the release! I work at a fashion renting company and our backends are built on top of Scala stack. Contrary to popular belief, Scala is actually quite a simple language. Most of our engineers came from PHP or Python, or Ruby and all have expressed how type safety gave them great assurances that everything works if it compiles. On top of that the behaviour of the language is very predictable! We…

To me this is possibly the biggest attraction, Scala feels solidly build and still somehow manages to resemble the fun of using a scripting languages.

As a matter of fact Scala and Clojure are every where were Perl was at one point in time.

And for the same reasons.

Re: Scala 2.13 is now available

#54
post #24

I work at a major online fashion aggregator and my team uses Scala extensively for our search API (with Twitter's Finatra) and also in several of our data pipeline systems (Akka, Spark). When I joined a few years ago, I was honestly not most excited about working with Scala, but the more I got into it, the more I realised that Scala got a lot of things just right. In particular, I really miss working with the collect…

I used Scala five-ish years ago, and I loved it, but I had two qualms: 1. The community was terribly split between FP purists who wanted to write Haskell on the JVM and pragmatists who leaned more towards the "better Java" side of things. Plus the occasional ex-Rubyists who came up with method names consisting solely of interpunction ("embedded DSL!"). Has any side won? It would be nice to have anything resembling "i…

I would disagree that there isn’t idiomatic scala. Probably the most dominant style of programming scala is flatish class hierarchies with pure functions inherited and overrided as necessary.

In idiomatic example of this style is the ByteString library that is used by akka.

Re: Scala 2.13 is now available

#55
post #6

Earlier quoted context omitted.

I heard that some are fearmongering that Scala 3 will be as big of the change like Perl 6 and as a result no one will ever use it. I'm not familiar with dotty but somehow it doesn't make sense that Scala core devs would be stupid enough to repeat the same mistakes that Perl did.

A few differences between Scala2-to-3 and Perl5-to-6 or Python 2-to-3: * Scala 2.14 and Scala 3 will be binary compatible (via an intermediate form called TASTY) * The Scala 3.0 compiler will accept most Scala 2.14 source minus some deprecations that have been coming for a while * Scala is a compiled language and a statically typed one at that, so any source incompatibility or library API incompatibility will be caug…

FWIW, The Perl 6 Module "Inline::Perl5" allows you to use any Perl 6 library inside Perl 6. After having installed "Inline::Perl5", you only need to add ":from" to your -use- statement, e.g. "use Benchmark:from".

Re: Scala 2.13 is now available

#57
post #42

Earlier quoted context omitted.

I used Scala five-ish years ago, and I loved it, but I had two qualms: 1. The community was terribly split between FP purists who wanted to write Haskell on the JVM and pragmatists who leaned more towards the "better Java" side of things. Plus the occasional ex-Rubyists who came up with method names consisting solely of interpunction ("embedded DSL!"). Has any side won? It would be nice to have anything resembling "i…

I don't think any side has won, but from what I gather Odersky thinks pragmatic functional is the way to go, i.e. only mutate when it brings substantial benefits to code clarity over a pure approach. That is, the default should always be functional, but use an imperative style where it makes sense.

This is my engineering org's philosophy as well. New engineers who have a java background tend to have some difficulty getting used to it, but all it takes is a light switch in their head.

For example, the other day there was a PR for creating a simple csv report and they wrote something like

  val buffer = new StringBuffer()
  buffer.add(header)
  buffer.add("\n")
  someList.forEach { item =>
    val values: List[String] = someTransformation(item)
    buffer.add(values.mkString(","))
    buffer.add("\n")
  }
  buffer.toString
which is fine and readable, but it doesn't really seem like having side-effects (even though the scope was contained in the function and there weren't any worries about thread safety) aren't worth it over doing something like

  val rows: List[String] = someList.map { item =>
    val values: List[String] = someTransformation(item)
    values.mkString(",")
  }
  (header :: rows).mkString("\n") + "\n" // I forgot whether they appended the string with a line break or not...

Re: Scala 2.13 is now available

#58
post #50
post #28

Interesting that so many fashion companies use scala :)

And all of them are Zalando. =)

There may be something to what you say, speaking of newer generation fashion busineess that try a newer technology. As an architect in this area during one phase in my career, numerous fashion heavy weights ran SAP gobally. Oracle too must have a good footprint.

Re: Scala 2.13 is now available

#59

Earlier quoted context omitted.

Except Gradle is worst ...

Gradle is so much better than maven it's not even funny. Every time I check out a project in maven these days, I flinch.

Every time I get to do a Gradle build I have enough time to go out for lunch.
Post reply on HN