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

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.

主站蜘蛛池模板: 泾源县| 恩施市| 闻喜县| 禄劝| 洪湖市| 潞西市| 五大连池市| 礼泉县| 南宫市| 海林市| 谷城县| 黔西县| 大理市| 康马县| 正宁县| 塔城市| 汾西县| 镇江市| 休宁县| 钟祥市| 商丘市| 泸溪县| 融水| 乌兰县| 达孜县| 清远市| 东光县| 体育| 昌江| 开平市| 曲沃县| 谢通门县| 永泰县| 呈贡县| 紫金县| 浮山县| 江津市| 安化县| 阳泉市| 防城港市| 衡水市|