The world is concurrent with everything around us asynchronous and event oriented. Concurrency and the cloud are things every developer will have to deal with in the future, Joe Duffy claimed in his keynote at the recent QCon London conference. At the heart of this is communication, which is essential both for concurrent and distributed systems.
Google has solved the concurrency limitations introduced by the Global Interpreter Lock existent in CPython by creating a new Python runtime in Go.
Rags Srinivas caught up with engineering manager at Netflix, Mikey Cohen, regarding their major re-architecture of their Zuul gateway for microservices. Cohen talks about the journey and walks through the motivation and challenges of this significant effort.
In his presentation "Understanding Hardware Transactional Memory" at QCon New York 2016, Gil Tene introduces hardware transactional memory (HTM). Whereas the concept of HTM is not new, it is now finally available in commodity hardware. The purpose of HTM is to be able to write to multiple addresses in memory in an atomical way so that there cannot be inconsistencies in cooperation other threads.
At WWDC 2015, Apple engineers Doug Gregor and Bill Dudney reviewed Swift’s support for value types and explained how it can be used to build better apps by providing a flexible approach to immutability.
At CppCon 2014, Herb Sutter gave a talk about lock-free programming in C++ where he provided the fundamental concepts of lock-free programming, and presented three algorithms to show lock-free techniques. Here is a summary of the most relevant points in the talk.
Facebook has been working in the last two years to evolve the architecture of its iOS app with the goal of improving performance, abstractions, and the underlying development model. Adam Ernst and Arl Grant, software engineers at Facebook, explained what issues they had to solve and how they did in a @Scale 2014 talk.
Facebook has open-sourced its AsyncDisplayKit, a framework originally built for Facebook's Paper app that promises to make it easier to keep apps smooth and responsive even on older devices.
Contemplate's ThreadSafe version 1.3.1 featuring a new deadlock detection rule for finding code that can deadlock because of the order that locks are acquired is now available. When deadlocks are detected, ThreadSafe reports which locks are held for each lock acquisition.
Facebook has open-sourced Haxl, a library for efficient, concurrent data-access. The library leverages the traditional strengths of Haskell such as expressive type system, correctness and safety guarantees, as well as GHC's high performance run-time to solve the thorny issue of implicit, concurrent data access.
Latest version of the Akka toolkit, an implementation of Actor Model, comes with persistence enabling stateful actors to persist their internal state, together with support for Java 8 lambda expressions.
The Rust team has released the latest version of its next generation programming language. New in this release is a redesigned threading system and several refinements as the language moves towards its 1.0 release.
Charles Nutter, one of the lead developers of JRuby, announced the release of version 9000 (9K) in 2014. The new release targets the same feature set as Ruby MRI 2.0 and possibly 2.1 as well. Better performance, concurrency support and overall availability and portability provided by the use of the JVM can make this version suitable for production systems.
UK based Contemplate Ltd. has announced the first public release of their flagship product ThreadSafe, a static analysis tool for locating concurrency bugs and inefficiencies in Java code. InfoQ applied ThreadSafe and FindBugs to a multithreaded project and reports the results.
Google's Go team has completed the release of Go 1.1.1 which brings to production status several new features in the language's libraries and toolset. Given the language's backward's compatibility, existing code can reap immediate benefits after a recompile.