InfoQ Homepage Functional Programming Content on InfoQ
-
How Functional Programming Can Help You Write Efficient, Elegant Web Applications
Many things can make software more challenging to understand and, consequently, to maintain. One of the most complex and problematic causes is managing internal mutable states. When the internal state is poorly managed, the software behaves unexpectedly, leading to bugs and fixing, which introduces unnecessary complexity. FP solves this problem by providing immutability mechanisms and more.
-
InfoQ Java Trends Report - November 2023
This report provides a summary of how the InfoQ Java editorial team and several Java Champions currently see the adoption of technology and emerging trends within the Java and JVM space in 2023. We focus on Java the language, as well as related languages like Kotlin and Scala, the Java Virtual Machine (JVM), and Java-based frameworks and utilities.
-
Streamlining Code with Unnamed Patterns/Variables: a Comparative Study of Java, Kotlin, and Scala
Explore the use of the Unnamed Patterns/Variables in programming languages like Java, Kotlin, and Scala. Enhancing code readability, allowing omission of unnecessary components, and simplifying code are key features. Expect further innovative uses as languages evolve.
-
Building Functional .NET Applications: a Guide for Choosing between F# vs C#
C# and F# are languages, each with growing user bases, that approach functional programming in fundamentally different ways. C# relies on object-oriented, imperative principles, and F# relies on functional principles. Some developers are using F# as a complement to C#, rather than relying on the functional capabilities that exist natively in C#.
-
Java Champion James Ward on the State of Java and JVM Languages
James Ward is a Java Champion and Google’s Kotlin product manager. In a podcast, Ward agreed that “people are still trapped in the Java world” and called default mutability in Java the “trillion-dollar mistake”. In this interview, he speaks about the state of Java, JVM languages, mutability, and functional programming.
-
Data Manipulation with Functional Programming and Queries in Ballerina
Ballerina has been designed as a data-oriented programming language and supports a functional programming coding style. The Ballerina query language is similar to SQL in the sense that a query expression is made up of clauses. The Ballerina “Table” data structure can be more effective than maps in representing indexed data collections.
-
Ballerina: a Data-Oriented Programming Language
Ballerina’s flexible type system brings the best of statically typed and dynamically typed languages in terms of safety, clarity, and speed of development. Ballerina treats data as a first-class citizen that can be created without extra ceremony, just like strings and numbers.
-
The Excel Formula Language Is Now Turing-Complete
The Excel team announced LAMBDA, a new feature that lets users define and name formula functions. LAMBDA functions admit parameters, can call other LAMBDA functions and recursively call themselves. With LAMBDA, the Excel formula language is Turing-complete: user-defined functions can thus compute anything without resorting to imperative languages (e.g., VBA, JavaScript).
-
How DSLs Withstand the Test of Time
Domain-specific languages let domain experts participate in the software development process. Few DSLs however withstand the test of time. Key success factors for longstanding DSLs seem to be user-centered design and adhering to the open–closed principle. Markdown, TeX, and CSS, have remained popular and relevant for two decades, even as their original target audience evolved.
-
Donkey: a Highly-Performant HTTP Stack for Clojure
Donkey is the product of the quest for a highly performant Clojure HTTP stack aimed to scale at the rapid pace of growth we have been experiencing at AppsFlyer, and save us computing costs. In this article, we’ll briefly outline the use-case for a library like Donkey and present our benchmarks. Finally, we will discuss Clojure and immutability, and some of our design decisions.
-
What’s New on F#: Q&A With Phillip Carter
Last month, at the 2020 edition of .NET Conf, Microsoft released the latest version of F#. F# is as functional-first, cross-platform, open-source .NET programming language, and it’s developed by Microsoft and several open source partners and contributors. InfoQ interviewed Phillip Carter, program manager at Microsoft, to talk about functional programming, F#, and the new features of F# 5.
-
Functional UI - a Stream-Based Equational Approach
User interface applications can be implemented with an explicit functional relation linking events received by the user interface to the actions to exert on the interfaced systems. Streams by abstracting over time may express that relation concisely. A stream-based implementation is one of the three Functional UI strategies for implementing reliable, well-architected user interface applications.