About "derevo" -- yes, scala3 has special syntax called "derives" but it has no built-in derivation for case class etc. So you need something like derevo to actually derive your type classes
refined and scala-newtypes can be both replaced by zio-prelude newtypes implementation. Before zio-prelude existence, I was used to combine refined types (from refined) and newtypes (from scala-newtypes). It's was working but verbose and annoying to use. Zio-prelude's newtype combines refined types and newtypes so replaces these 2 libs and make the use of these 2 concepts way nicer.
Hi Vlad, a question from a patreon, what do you think about the last John De Goes article about Scala ecosystem vision? could you make a video or shorts about that..?
I try to avoid politics so I'm not planning to make a video about this. That said IMHO, JDG is a very successful entrepreneur and therefore when he talks about business I listen. He is not wrong in pointing out that there are issues. Scala has been around for almost 20 years at this point and we still have issues like academia vs industry or tooling even though some of it has gotten better. Tooling was getting up-to-speed, but after the Scala 3 release the tooling team essentially needed to maintain 2 code bases, and the bandwidth issues are noticeable. Scala 4 might happen but not for another 8-10 years so I think we're good there. I hope it helps. Cheers and happy coding! :)
I was introduced to scala back in 2016 when i had to work on Spark. i didn't like it because it looked complex but after some time i developed liking for it so much so that i tried to replicate the same in C#. tried scala in commercial project too. time passed on, switched jobs, now working at a much higher level where I don't do programming everyday. i still love scala but I'm very doubtful about the future of it. Now I do not recommend doing any commercial work in scala. there are very few programmers in fact rare. java got many features and is better. I see companies moving away from it because their codebases became unmaintainable baggage. so they are in process of translating code into other languages. does anyone share the same view?
The only problem I see at the moment is branching of the community. Basically, there are several groups that develop their own ecosystems, duplicating the efforts. Scala as language is powerful enough that you can utilize it in a very different ways. In other languages there exist also different frameworks/approaches to get things done, but in most cases there's a clear dominant approach (e.g. Spring in Java) which most people base their solutions on, thus reducing the duplication of work. Maybe, if the lang has a large market share that wouldn't be a problem at all, but in case of scala, this causes problems with adoption
I haven't used most of the zio eco system yet so I'm not too familiar with it apart from ZIO itself. This video was about utility libraries. All of them can be used in combination with ZIO.
Best library or tool is this channel!! xD Thank you!
"raw dog", that's the most explicit content I've ever heard on this channel :-D
00:00 Intro
01:25 The Scala Language Itself
01:36 The Scala Standard Library
01:50 cats-core
02:29 refined
02:52 iron
03:14 chimney
04:00 ducktape
04:28 scala-newtype / AnyVal / Opaque Type Aliases
05:12 monocle / quicklens
06:10 enumeratum
06:48 derevo / derives / typeclasses / polymorphism
09:09 macwire / jam
09:43 context-applied
10:21 PPrint
10:42 spells
12:00 sbt-thank-you-stars
12:24 demo
16:38 Outro
Libs I forgot to mention:
github.com/monix/newtypes
About "derevo" -- yes, scala3 has special syntax called "derives" but it has no built-in derivation for case class etc. So you need something like derevo to actually derive your type classes
That's true. Derevo often delegates the derivation to other libraries anyway though...
Thank you!
Thanks man! This is very helpful 👌
refined and scala-newtypes can be both replaced by zio-prelude newtypes implementation.
Before zio-prelude existence, I was used to combine refined types (from refined) and newtypes (from scala-newtypes). It's was working but verbose and annoying to use.
Zio-prelude's newtype combines refined types and newtypes so replaces these 2 libs and make the use of these 2 concepts way nicer.
Cool, I'll check it out. Thanks!
Hi Vlad, a question from a patreon, what do you think about the last John De Goes article about Scala ecosystem vision? could you make a video or shorts about that..?
I try to avoid politics so I'm not planning to make a video about this. That said IMHO, JDG is a very successful entrepreneur and therefore when he talks about business I listen. He is not wrong in pointing out that there are issues. Scala has been around for almost 20 years at this point and we still have issues like academia vs industry or tooling even though some of it has gotten better. Tooling was getting up-to-speed, but after the Scala 3 release the tooling team essentially needed to maintain 2 code bases, and the bandwidth issues are noticeable. Scala 4 might happen but not for another 8-10 years so I think we're good there. I hope it helps. Cheers and happy coding! :)
Chimney now supports Scala 3 🎉
no distage? kek you! :)
I was introduced to scala back in 2016 when i had to work on Spark. i didn't like it because it looked complex but after some time i developed liking for it so much so that i tried to replicate the same in C#. tried scala in commercial project too.
time passed on, switched jobs, now working at a much higher level where I don't do programming everyday. i still love scala but I'm very doubtful about the future of it. Now I do not recommend doing any commercial work in scala. there are very few programmers in fact rare. java got many features and is better. I see companies moving away from it because their codebases became unmaintainable baggage. so they are in process of translating code into other languages.
does anyone share the same view?
There is indeed some concern about this, but I'm a glass half full kinda guy so I'm hopeful.
The only problem I see at the moment is branching of the community. Basically, there are several groups that develop their own ecosystems, duplicating the efforts. Scala as language is powerful enough that you can utilize it in a very different ways. In other languages there exist also different frameworks/approaches to get things done, but in most cases there's a clear dominant approach (e.g. Spring in Java) which most people base their solutions on, thus reducing the duplication of work. Maybe, if the lang has a large market share that wouldn't be a problem at all, but in case of scala, this causes problems with adoption
Nice!
ZIO?! Why isn't this on your list. I am sure I could write at top 10 Scala libraries with at least 8 or 9 from the ZIO ecosystem
I haven't used most of the zio eco system yet so I'm not too familiar with it apart from ZIO itself. This video was about utility libraries. All of them can be used in combination with ZIO.
thank you
Tofu?
Yep
Так цікаво, коли купа Укрїнців спілкуються між собою англійською😄