為什么函數(shù)式編程正在上升
編程范例是一個術語,用于描述編寫命令的方法。 語言的真正思想是建立在其編程范例之上的。 最著名的三種范例是面向對象的程序設計,命令式程序設計和函數(shù)式程序設計。 任何一種意識形態(tài)都不會比另一種更好,因為通常它是關于使用正確的工具完成工作的。
函數(shù)式編程是大多數(shù)軟件工程師至少對此不太熟悉的概念。 實際上,有史以來寫給程序計算機的第二種編程語言Lisp完全在功能范式內。 通過簡化的定義編程,函數(shù)式編程將數(shù)據(jù)的不變性和數(shù)學計算作為優(yōu)先事項,而不是傳統(tǒng)上修改存儲在類構造函數(shù)中的部分對象。 在現(xiàn)代函數(shù)式編程中,這個想法有些冗長,不一定是一件壞事。 函數(shù)語言的可變性帶來了更多實用性,我敢說:
功能性
功能編程。 考慮到這一點,函數(shù)式編程不限于函數(shù)式語言。 例如,Python具有功能特性。 盡管從傳統(tǒng)上講,函數(shù)式編程已經(jīng)有了令人難以置信的不同,但是函數(shù)式和面向對象的范例似乎與大多數(shù)用于數(shù)據(jù)科學的語言有點相似。
我們做的偉大的事情
大多數(shù)功能語言的標題均帶有"統(tǒng)計"字樣。 這很方便,因為數(shù)據(jù)科學家非常像統(tǒng)計學家,只需要具備編程和機器學習技能即可。 函數(shù)式語言通??梢愿?,而對于數(shù)據(jù)科學家而言,最重要的是更容易。
相信我,您不想瀏覽C代碼,因為您的準確性有點低。 大多數(shù)功能語言都是完全可讀的,并且很容易鍵入和掌握。 對于某些人來說,知道函數(shù)式編程是許多Internet上最古老的大數(shù)據(jù)管道的基礎,可能會令人感到意外。 實際上,隨著機器學習和統(tǒng)計計算的興起,函數(shù)式編程實際上變得越來越流行。
炫酷的編程語言
有許多很酷的統(tǒng)計語言,其中許多語言具有與其他更傳統(tǒng)的特征交織在一起。 在函數(shù)式編程語言下,我非常喜歡很多很酷的語言。
Julia
Julia很容易成為我一直以來最喜歡的語言。 盡管Julia確實是功能性的,但它確實包含一些可變的和面向對象的屬性,使其編程起來更加方便。Julia作為這樣一種高級語言的速度非常快。 它易于鍵入,鍵入正確時,它可以與C一樣快,同時比R和Scala易于閱讀。 通常,不需要花費太多時間就可以在Julia中建立模型并對其進行訓練,并且由于語言簡單易行且ML速度快,這增加了使用Julia的好處。 在某些情況下,例如在我的ML包Lathe中,機器學習可以用更少的行完成,并且構造函數(shù)的屬性可以使用參數(shù)多態(tài)性更輕松地進行突變。
Lisp
盡管Lisp不一定以其數(shù)據(jù)科學領域而聞名,但它仍然是一種非??岬恼Z言。 Lisp和Julia一樣,使編程變得非常容易和方便。 Lisp的宏和Julia的宏是一個真正值得注意的屬性。 宏本身是一項主要的功能性功能,如果正確使用,可以使筆記本編碼真正容易。 應該注意的是,Lisp已將自己分為多種語言,包括Scheme,Clojure和(通用)Lisp。 很難理解或估計第二種高級語言及其功能的影響,但是范圍肯定很大。
R
現(xiàn)在,我們迎接我們的好朋友R. R傳統(tǒng)上是一種面向函數(shù)的語言,但是像大多數(shù)其他語言一樣(或已經(jīng)成為)多范式,這意味著它從每個特定的編程范式中進行選擇。 很好,因為它使R具有可變性的優(yōu)點。 R起源于S語言,并且一直專注于統(tǒng)計計算。
Haskell
Haskell與我上面提到的多種范式語言完全不同,Haskell以純粹的功能而自豪。 我無法代表Haskell,與清單上的其他語言不同,我從未使用過。 但是據(jù)我所知,Haskell當然是一種很酷的語言。 我對學習Haskell的關注純粹是局限性。 正如我所討論的那樣,大多數(shù)現(xiàn)代語言都是多范式的,這使它們可以有效地壓縮需要壓縮的任何錯誤,而無需創(chuàng)建新的代碼庫。
最后的想法
我的大部分時間都花在函數(shù)式語言(主要是Julia)上,如Github上的筆記本資料庫所顯示的那樣,其中主要包含Julia筆記本。 我喜歡函數(shù)式編程,因為對于我所做的事情,它非常適合該規(guī)則。 當然,有時候Python構造函數(shù)(類)可能對某個特定的工作會更好,但是總的來說,Julia可以完成工作,而且鍵入的方式對我來說非常流暢和高效。 對于其他人而言,功能語言可能無法實現(xiàn)其目標,并且對于一生都使用面向對象語言的人來說可能很難學習。 歸根結底,語言是一種選擇,大多數(shù)語言都有開發(fā)人員,大多數(shù)語言都有優(yōu)缺點。
-
編程語言
+關注
關注
10文章
1964瀏覽量
39570 -
函數(shù)
+關注
關注
3文章
4417瀏覽量
67507
發(fā)布評論請先 登錄
嵌入式開發(fā)常用函數(shù)速查表
C語言函數(shù)指針的六個高級的應用場景
C語言嵌入式系統(tǒng)編程注意事項-內存操作
西門子PLC中函數(shù)FC的使用方法
單片機C語言編程的心得
C語言的編程技巧
2025年最佳的嵌入式編程語言有哪些呢?
一文了解Mojo編程語言
詳解hal_entry入口函數(shù)
深入理解C語言:函數(shù)—編程中的“積木塊”藝術
嵌入式編程設計模式
函數(shù)指針的六個常見應用場景
為什么函數(shù)式編程正在上升函數(shù)式編程語言有哪些
評論