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.
Oracle Java Platform Chief Architect Mark Reinhhold has announced that Oracle has decided to delay the release schedule of Java 8.
One of the most common misunderstandings in .NET development is the idea that variables of type IEnumerable or ReadOnlyCollection are thread-safe. In order to offer truly thread-safe collections for scenarios where you would be tempted to use IEnumerable or ReadOnlyCollection, Microsoft’s Base Class Library (BCL) team is offering a preview of a new set of immutable collections.
SharpCrafters, makers of the AOP framework PostSharp, have developed a drop-in deadlock detection toolkit. This toolkit works with most standard locking primitives such as Mutex, Monitor, and ReaderWriterLock with only a single line of code added to the project.
Rust is a systems programming language developed by Mozilla and targeted at high performance applications. This post contains an interview with Graydon Hoare, Rust’s creator.
As a programming language, Loop is compact JVM language influenced by Haskell, Scheme, Ruby and Erlang. It also tries to bring together the best features of functional programming and OO languages, in a consistent and pragmatic manner.