官术网_书友最值得收藏!

Introducing functional programming

So, functional programming wants you to distribute your programming logic into small pieces of reusable declarative small and pure functions. Distributing your logic into small pieces of code will make the code modular and non-complex, thus you will be able to refactor/change any module/part of the code at any given point without any effects to other modules.

Functional programming requires some interfaces and support from the language, thus we can't say any language is functional unless it gives some sort of support to implement functional programming. However, functional programming isn't something new; it is actually quite an old concept and has several languages supporting it. We call those languages functional programming languages, and the following is a list of some of the most popular functional programming languages:

  • Lisp
  • Clojure
  • Wolfram
  • Erlang
  • OCaml
  • Haskell
  • Scala
  • F#

Lisp and Haskell are some of the oldest languages and are still used today in academia and industry. While talking about Kotlin, it has excellent support for functional programming from its first stable release in contrast to Java, which doesn't have any support for functional programming before Java 8. You can use Kotlin in both object-oriented and functional-programming style or even in a mix of two, which is really a great benefit for us. With a first-class support for features, such as higher-order functions, function types, and lambdas, Kotlin is a great choice if you're doing or exploring functional programming.

The concept of functional reactive programming (FRP) is actually a product of mixing reactive programming with functional programming. The main objective of writing functional programming is to implement modular programming; this modular programming is really helpful, or sometimes a necessity to implement reactive programming or rather to implement the four principles of the Reactive Manifesto.

主站蜘蛛池模板: 田林县| 阜阳市| 思茅市| 潞西市| 华阴市| 沾益县| 山丹县| 浦县| 峨山| 淮滨县| 邵阳市| 鱼台县| 丹阳市| 台湾省| 哈密市| 台前县| 襄垣县| 四子王旗| 婺源县| 邵东县| 通山县| 永年县| 靖州| 大同市| 金乡县| 晴隆县| 榆中县| 阿拉善右旗| 新兴县| 出国| 瑞安市| 威远县| 深泽县| 元江| 若羌县| 新巴尔虎右旗| 余江县| 温宿县| 清新县| 平乐县| 金门县|