Softinio's Notes on Software Engineering - Issue 4
It has been an exciting few weeks since the last issue of this newsletter.
Scala 3 was released with great amount excitement and enthusiasm from the Scala community. It has certainly got off to a great start with a lot of the popular 3rd party libraries already updated to support Scala 3.
Apple's WWDC2021 conference was this week. Exciting times for the Swift Programming Language adding many new concurrency features to the language such as Actors & Async Await. I watched a few of the talks and was really impressed by the quality. I will be busy next few weeks trying to catch up and watch more of them.
Scala
Scala 3 is here!🎉🎉🎉 | The Scala Programming Language — www.scala-lang.org After 8 years of work, 28,000 commits, 7,400 pull requests, 4,100 closed issues – Scala 3 is finally out. Since the first commit on December 6th 2012, more than a hundred people have contributed to the project. Today, Scala 3 incorporates the latest research in type theory as well as the industry experience of Scala 2. We’ve seen what worked well (or not so well) for the community in Scala 2. Based on this experience we’ve created the third iteration of Scala – easy to use, learn, and scale.


Its also time to add JDK17 to your scala builds, great success with the community build with a the few issues being resolved and fixed
Scala community build on JDK 17 - Announcements - Scala Contributors — contributors.scala-lang.org I encourage all Scala open-source maintainers to add JDK 17 to their CI matrices. Now’s a good time, since 17 is feature-frozen, the final release is expected in September, and it will be a “LTS” (long-term support) rele…
Really pleased to see Typelevel migrating to Discord complementing the already established Scala Discord server.
Typelevel.scala | Discord Migration Let the Scala compiler work for you. We provide type classes, instances, conversions, testing, supplements to the standard library, and much more.
On the subject of Scala discord server. There is now a channel for content creators. If you have any suggestions for a topic to be covered, join in the conversation.
Join the Scala Discord Server! — discord.com the Scala programming language | 1,826 members
Dean Wampler updated 3rd edition of his book Programming Scala covering Scala 3 is out now in all formats including print. Fun fact the second edition of this book was the first book I bought and read to learn Scala. Its a great book from a great author.
Programming Scala Programming Scala, Third Edition covers Scala 3. It was published June, 2021 by O'Reilly Media. You can read it on the O'Reilly online learning platform or purchase ebook or print copies from these sellers:
Gabriel Volpe also published the second edition of his popular book: Practical FP in Scala. Its still in my backlog of books to read but everyone I speak keeps telling how great it is.
Practical FP in Scala: A… by Gabriel Volpe [PDF/iPad/Kindle] — leanpub.com A practical book aimed for those familiar with functional programming in Scala who are yet not confident about architecting an application from scratch. Together, we will develop a purely functional application using the best libraries in the Cats ecosystem, while learning about design patterns and best practices.
A New course on Coursera called Effective Programming in Scala was launched thanks to the efforts of the Scala Center and Julien Richard-Foy
Effective Programming in Scala | Coursera — www.coursera.org 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.
I was excited to find a new resource for learning about Cats Effect. I am really disappointed at myself for not knowing about this sooner
GitHub - slouc/concurrency-in-scala-with-ce: Introduction to concepts of asynchronous and concurrent programming in Scala, based on the Cats Effect library. — github.com Introduction to concepts of asynchronous and concurrent programming in Scala, based on the Cats Effect library. - slouc/concurrency-in-scala-with-ce
Chris Kipp started a monthly event on twitch called Tooling talks where he interviews and talks about tooling. The first edition of this event kicked off with an interview with Ólafur Páll Geirsson which was very insightful.
Looking to migrate from Scala 2 to Scala 3, here is a talk on this very topic by Meriam Lachkar of the Scala Center
Swift
One of the most exciting announcements at WWDC2021 was the addition of Async/Await and Actors to the Swift programming language.
What‘s new in Swift - WWDC21 - Videos - Apple Developer — developer.apple.com Join us for an update on Swift. Discover the latest language advancements that make your code easier to read and write. Explore the...
Meet async/await in Swift - WWDC21 - Videos - Apple Developer — developer.apple.com Swift now supports asynchronous functions — a pattern commonly known as async/await. Discover how the new syntax can make your code...
Protect mutable state with Swift actors - WWDC21 - Videos - Apple Developer — developer.apple.com Data races occur when two separate threads concurrently access the same mutable state. They are trivial to construct, but are notoriously...
Other
Immutability Changes Everything - ACM Queue There is an inexorable trend toward storing and sending immutable data. We need immutability to coordinate at a distance, and we can afford immutability as storage gets cheaper. This article is an amuse-bouche sampling the repeated patterns of computing that leverage immutability. Climbing up and down the compute stack really does yield a sense of déjà vu all over again.
Functors and Monads For People Who Have Read Too Many "Tutorials" - iRi Title is literally true. This may not be the best place to learn about these concepts for the first time, because I'm going to focus on knocking down the misconceptions about them.