We’ve been running our recommended Sunday Reads since Sunday 1st October 2017 and we’ve been blown away with how well the Scala community has responded to it. We have a healthy number of subscribers; a few people have started submitted their own work and even writing articles specifically for our blog! So, we thought whether you’ve just joined us or been a fan from the start, you would love to know the best-loved Scala articles in 2017. Enjoy and don’t forget to subscribe below to receive these, every Sunday, before anyone else to have you armed with fresh knowledge ready to kick start your working week with an educational Scala bang!
Our 25 most popular Scala Sunday Reads of 2017 were:
A very direct piece by Gabriel Claramunt on ‘Basic Category Theory for (Scala) Programmers (Part I)’
The Why of Go by Carmen Andoh provides the historical context around the technical decisions of the Go language to better understand its concurrency primitives, garbage collection, and small standard library.
Scala real life matters: when to use Akka and also RabbitMQ by Maarten Koopmans is a thorough read, design-like and architectural in nature.
An interview with Scala Creator Martin Odersky which details the difference between the original concept and design of Scala compared with the current state of this programming language.
Why Everyone Should Build Their Next Blockchain in Scala by Zihe Huang explores the importance of blockchain and building on Scorex 2.
An exclusive interview with ScalaQuest Founder, Alejandro Lujan. ScalaQuest is the great new game which makes learning Scala, fun! We love the concept of ScalaQuest, so we asked Alejandro all about this superb game and his passion for Scala too. Read the exclusive interview and please support this brilliant initiative.
Controversial read: Docker, Inc is dead by Chris Short has already divided opinions within the Scala community and received significant backlash and it’s only 24 hours old! Do you think Docker is dead?
Windowing data in Akka Streams by Adam Warski will answer all questions around implementing time-based data windowing in Akka Streams and the flexibility given in all aspects of the windowing operation.
Introducing Conduit by William Morgan is a new open source service mesh for Kubernetes.
How to build amazing image filters with Python— Median filter, by Enzo Lizama. A fun and straightforward Sunday Read.
10 things Idris improved over Haskell is a brilliant post detailing some of the pleasant surprises you get testing the water with Idris, coming from the Haskell world.
Getting Into Other People’s Code By Richard Dallaway is a detailed approach to getting into an alien code base and focusses on key items for a successful code audit.
This is a must read and watch for all things #Akka by the Scala savvy Hugh McKee: Akka Revealed: A JVM Architect’s Journey From Resilient Actors To Scalable Clusters. Enjoy this comprehensive overview of Akka.
Getting Started with Phantom is a great simple way to interact with Cassandra – a truly awesome and informative read.
If you find it a struggle to get through the ins and outs of Category Theory, What is a functor anyway? is the reading material, and perfect explanation for you by Artem Pyanykh.
Kris Nuttycombe was one of many highlights at Scala World as he described data with just types in Scala. Kris covered REAL issues that every developer deals with. Here’s the library being shown.
The case against annotations by Adam Warski is a controversial piece to some, but fantastic read which challenges our heavy reliance on annotations.
Software Engineering is different from Programming by Samer Buna – although they are frequently used interchangeably, this piece highlights why all software engineers can program, but not all programmers can engineer software.
Use Lambdas and Combinators to improve your API by Leif Batterman, is an insightful and easy to follow write up, with thorough examples given by Leif.
The Limitations of Type Classes as Subtyped Implicits by Adelbert Chang, is a whitepaper which highlights the natural type class encoding for Scala is inadequate for general use.
Scala real life matters: the biggest pitfall of them all by Maarten Koopmans.
Should You Write Comments? Developer Dan Newton, posits that comments should only be reserved for special occasions.
Speed Up Compile Times with Zinc 1.0’ by Jorge Vicente Cantero, highlights why performance matters in functional programming with Zinc being the incremental compiler for Scala.
Quill-spark: A type-safe Scala API for Spark SQL by Flavio Brasil explains since Spark’s initial release, it has had multiple iterations of its APIs to enable optimization of the job execution. This push to achieve better performance and efficiency came at the cost of a less intuitive and less type-safe API, which is not ideal for the Scala community since one of the most essential characteristics of the language is type safety.
Typesafety 102: How safe, type-safe you want (your code) to be? by Saheb Motiani, is aimed at guiding inexperienced programmers, but should be common sense for experienced programmers. Code Snippets and Data Types are in Scala, but the concepts are applicable to other languages as well.
Top 3 Videos:
Nelson: Rigorous Deployment for a Functional World by Tim Perrett is his highly acclaimed talk on Nelson, principled systems and graph theory from Scale By the Bay, now online.
Plain Functional Programming by Martin Odersky was Martin’s Devoxx 2017 talk. “Software systems get replaced not when they wear out, but when they crumble under their own weight because they have become too complex.” Watch it now!
The Scala Center's Heather Mill gave this eye-opening talk about Open Source, and what it means for Scala.
If you’re craving more, check out last week’s recommended reading material here.
Also, if you have any feedback or any recommendations for our upcoming Sunday Reads, please email Billie firstname.lastname@example.org and feel free to promote your own work too!
Are you enjoying our recommended reads? Subscribe below to our Scala Sunday Reads and stay ahead of the game!