The Weekly Dev - 202316

Fast and Concurrent

The last decade has seen a paradigm shift in programming.

The CPU evolution has been towards multicore architectures.

That means in practice for programs that they can be faster by running multiple tasks in parallel.

Getting concurrency right is not straightforward with most traditional programming languages.

Also the Object Oriented dogma of the decades before is showing its limits, and when it comes to sharing mutable state, the trouble starts.

This is where the functional approach is shining, and getting some attention.

While this is the scenario new programming languages factor in, it can be pretty interesting how the old ones adapt.

The Way To Go

How to Publish Your Golang Binaries with Goreleaser discusses how to use Goreleaser to publish Golang binaries. Goreleaser is a tool that simplifies the process of building and releasing binaries for Golang projects. The article goes through the process of setting up a basic configuration file and using it to generate binaries for multiple platforms. It also covers how to integrate with services like GitHub Releases and Homebrew.

Source: kosli.com

Data Intensive Applications

A discussion on a new feature in the JDK (Java Development Kit) version 21: virtual threads. Virtual threads are a way to create lightweight threads in Java that don't correspond to system-level threads. This can lead to better performance and resource utilization in data-intensive applications. The article explains how virtual threads work and provides examples of how to use them. Virtual Threads Arrive in JDK 21, Ushering a New Era of Concurrency

Source: infoq.com

Data Presentation

This is an open-source mobile document scanner implemented in pure JavaScript called jscanify. The project aims to provide a simple and efficient way to scan documents using a mobile device's camera. The source code is available on GitHub for anyone to use and contribute to: jscanify

Source: github.com/ColonelParrot



[git] [programming] [golang] [java]