InfoQ Homepage Functional Programming Content on InfoQ
-
Reactive Messaging Patterns with the Actor Model Book Review and Q&A with Vaughn Vernon
Vaughn Vernon in his new book Reactive Messaging Patterns with the Actor Model shows how this model can simplify enterprise software development. After an introduction to the basics of the actor model and tutorials on Scala and Akka the rest of the book is a patterns catalogue describing most of the patterns in the book Enterprise Integration Patterns from an actor model perspective.
-
Elixir in Action Review and Q&A with the Author
Elixir in action is a new release from Manning that aims to introduce readers to Elixir and the Erlang virtual machine while also discussing concurrent programming topics, fault-tolerance, and topics related to high-availability. InfoQ has interviewed Saša Jurić, the book's author.
-
Deploying Microservices to AWS at Gilt: Introducing ION-Roller
Over a period of seven years, gilt.com has grown from an e-commerce start-up running a monolithic Ruby on Rails application to $1B luxury goods company operating a cloud-based microservice platform utilising Scala, Docker and AWS. This article introduces Gilt's ION-Roller continuous deployment application, and explains the history and motivations that lead to the creation of this tool.
-
Concise Java
Unix pioneer Ken Thompson once said, “one of my most productive days was throwing away 1000 lines of code.” In this article Cas Saternos highlights practices now possible for writing concise Java code, with a special focus on the new functionality available in JDK 8. Shorter, more elegant code is possible due to the inclusion of Lambda Expressions in the language.
-
F# Deep Dives Review and Author Q&A
F# Deep Dives, edited by Tomas Petricek and Phillip Trelford, is a new book aimed at showing what is the business value that using F# brings in practice. The book presents 11 real industrial scenarios and the way F# allowed field experts to solve them using a functional-first approach. InfoQ has interviewed Tomas Petricek, co-editor of the book.
-
Scala in Large Scale Systems
This is the first installment in a series about using Scala for large-scale data stores and analytics. Dave Hrycyszyn speaks to Andrew Jayne, senior software engineer at McLaren Applied Technologies, about the experience of building a custom high-performance data store in Scala.
-
Functional Programming in Scala Review and Q&A with the Authors
Paul Chiusano and Rúnar Bjarnason's Functional Programming in Scala "is not a book about Scala," say the authors, rather it is a principled introduction to functional programming that relies on Scala. An interview with the authors.
-
Swift Programming Language
This year, Apple surprisingly unveiled Swift, a new programming language for iOS and OSX at WWDC. Swift is an alternative to Objective-C introducing syntactical concepts and programming paradigms well known from other languages but not available in iOS and OSX world yet. In this article, Gustavo Machado, vice president of engineering at KidoZen, details why Swift is an enrichment to iOS and OSX.
-
Scala 2.12 Will Only Support Java 8
Scala 2.12 will require a Java 8 or above JVM to run. This release, scheduled for release in early 2016, will not run on any JVM before version 8.
-
A Few Good Rules
Peter Neumark from Prezi talks about the importance of deciding what development standards to adopt and to detect when they're past their expiry date. Using Netflix and Prezi as examples, Peter illustrates with technical examples when to stick to standards and when to move on to better solutions.
-
Virtual Panel on Reactive Programming
Reactive programming is a very hot topic: InfoQ asked three proponents of reactive programming how their libraries and frameworks achieve reactiveness and what this means for the developer. The participants are Viktor Klang (Akka), Timothy Baldridge (Core.Async), and Jafar Husain (RxJava).
-
How Functional is Java 8?
It's been said that Java 8 is bringing Functional Programming to Java. In this article Ben Evans discusses what it means to be functional. By looking at the evolution of Java - particularly its type system, we can see how the new features of Java 8, especially lambda expressions, change the landscape, and provide some key benefits of the functional programming style.