Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Research Why Are You Not Using Functional Languages?

Why Are You Not Using Functional Languages?


InfoQ's research widget has been deprecated and is no longer available.

Functional programming promises to raise the abstraction of code and to help to escape the micromanaging prevalent in imperative programming. Concepts like Immutability are essential to many functional languages and promise to remove whole classes of bugs (race conditions, etc), improve scalability (locking becomes unnecessary) and bring new capabilities (versioning stores over destructive ones). A recent example is Datomic which was created in Clojure and, as Rich Hickey explains in "Writing Datomic in Clojure", benefits from functional concepts.

But where is functional programming in the industry and particularly the enterprise? Java and other languages still reign in the enterprise. 

What keeps developers, teams and companies from adopting functional languages?

In order to find out, InfoQ would like to hear from you, in particular if you have

  • tried to get your team or company to adopt a functional language but found problems or failed to convince the developers or other decision makers.
  • assessed functional languages but found them wanting.
  • created or taken over a codebase in a functional language but have run into problems (maintenance, scaling, or other)