㈠ 函數式編程語言有哪些
lisp,haskell,erlang等
㈡ 請問「javascript:;」是什麼意思
執行一段空白JAVASCRIPT語句。
例子<a href="javascript:;" onclick="javascript:alert('鏈接不要跳轉.');">我是一個超級鏈接</a>
具有函數優先的輕量級,解釋型或即時編譯型的編程語言。雖然它是作為開發Web頁面的腳本語言而出名的,但是它也被用到了很多非瀏覽器環境中,JavaScript 基於原型編程、多範式的動態腳本語言,並且支持面向對象、命令式和聲明式(如函數式編程)風格。
日常用途
1、嵌入動態文本於HTML頁面。
2、對瀏覽器事件做出響應。
3、讀寫HTML元素。
4、在數據被提交到伺服器之前驗證數據。
5、檢測訪客的瀏覽器信息。
6、控制cookies,包括創建和修改等。
7、基於Node.js技術進行伺服器端編程。
㈢ 闃愯堪鍑芥暟緙栫▼鐨勬渶鏂板彂灞曞姩鎬佹槸浠涔堬紵
鍑芥暟寮忕紪紼嬭璦鐨勫叴璧鳳細闅忕潃鍑芥暟寮忕紪紼嬭寖寮忕殑嫻佽岋紝瓚婃潵瓚婂氱殑鍑芥暟寮忕紪紼嬭璦琚寮鍙戝拰搴旂敤錛屼緥濡侰lojure銆丼cala銆丠askell絳夈傝繖浜涜璦鍏鋒湁楂樺害鐨勬娊璞″拰琛ㄨ揪鑳藉姏錛岃兘澶熸彁楂樼▼搴忕殑鍙璇繪у拰鍙緇存姢鎬с
鍑芥暟寮忕紪紼嬬殑騫惰屽寲錛氱敱浜庡嚱鏁板紡緙栫▼寮鴻皟鍑芥暟涔嬮棿鐨勭嫭絝嬫у拰鏃犵姸鎬佹э紝鍥犳ゅ嚱鏁板紡緙栫▼闈炲父閫傚悎騫惰屽寲澶勭悊銆傝繎騫存潵錛岃秺鏉ヨ秺澶氱殑鍑芥暟寮忕紪紼嬫嗘灦鍜屽簱琚寮鍙戝嚭鏉ワ紝鑳藉熸柟渚垮湴瀹炵幇騫惰屽寲澶勭悊錛屾彁楂樼▼搴忕殑鎬ц兘鍜屾晥鐜囥
鍑芥暟寮忕紪紼嬩笌浜哄伐鏅鴻兘鐨勭粨鍚堬細鍑芥暟寮忕紪紼嬬殑鐗圭偣浣垮叾闈炲父閫傚悎澶勭悊浜哄伐鏅鴻兘棰嗗煙鐨勯棶棰樸傝繎騫存潵錛岃秺鏉ヨ秺澶氱殑浜哄伐鏅鴻兘宸ュ叿鍜屽簱寮濮嬮噰鐢ㄥ嚱鏁板紡緙栫▼鐨勮寖寮忥紝渚嬪俆ensorFlow銆丳yTorch絳夈
鍑芥暟寮忕紪紼嬩笌澶ф暟鎹鐨勭粨鍚堬細鍑芥暟寮忕紪紼嬪規暟鎹鐨勫勭悊闈炲父鏂逛究錛屽洜姝ゅ湪澶ф暟鎹棰嗗煙涓涔熷彈鍒拌秺鏉ヨ秺澶氱殑鍏蟲敞銆備緥濡傦紝Spark鍜孎link絳夊ぇ鏁版嵁妗嗘灦涓閲囩敤浜嗗嚱鏁板紡緙栫▼鐨勬濇兂錛屾彁楂樹簡紼嬪簭鐨勫彲璇繪у拰鍙緇存姢鎬с
鍑芥暟寮忕紪紼嬩笌鍖哄潡閾劇殑緇撳悎錛氬尯鍧楅摼鏄涓涓鍘諱腑蹇冨寲鐨勫垎甯冨紡璐︽湰緋葷粺錛屽叾涓鏅鴻兘鍚堢害鏄涓涓閲嶈佺殑鍔熻兘銆傛櫤鑳藉悎綰﹂氬父浣跨敤鍑芥暟寮忕紪紼嬭璦榪涜岀紪鍐欙紝渚嬪係olidity璇璦錛屼互紜淇濆悎綰︾殑瀹夊叏鍜屾g『鎬с
㈣ 每個開發人員都應該知道的16個頂級新計算機編程語言
函數式語言
Elixir
Elixir 比 Erlang 更容易編寫,具有 Haskell 等語言的函數式編程概念。Elixir是基於Erlang 虛擬機的,其廣為人知的特點是運行低延時、分布式、可容錯的系統,並成功用於Web開發與嵌入式軟體領域。
Elm
Elm是一種用於構建 Web 應用程序的函數式語言。業內一般認為,它適用於創建高可交互應用,例如復雜的用戶界面,開發人員可以通過 Elm 快速編寫富有表現力的系統。Elm 也以沒有運行時異常而聞名。
PureScript
PureScript是一種可編譯為 JavaScript 的純函數式編程語言。與 Haskell 最相似的是,PureScript 最適合用於開發 Web 應用程序和伺服器端應用程序。
PureScript 支持類型推斷,與其他語言相比,需要明顯類型注釋要少得多。
Swift
Swift是一種由蘋果公司開發的通用編譯編程語言,最早的設想是替代上一代編程語言Objective-C ,過程中結合了Objective-C、Rust、Ruby 和 Python等語言的編程思想。目前Swift用於開發蘋果自己的手機、伺服器、台式機上的應用軟體。
程序語言
Go
Go語言是由谷歌公司創造的類似C風格的語言。Go 比 C++ 或 Java 更簡潔,比 Ruby 或 Python 更安全。
一些缺點: 編碼要求嚴格。比如,不能混用符號和無符號整數。還有一個明顯的遺漏,Go語言沒有泛型和繼承。
但Go語言的優勢同樣明顯,簡單且易於使用。Go語言擅長於網路和多線程方面的編程。
面向對象語言
DART
Dart同樣來自谷歌公司具有C語言風格。Dart可以輕松編寫JavaScript、Java for Android、本地機器代碼或獨立的 Dart 虛擬機。它還可以運行後端代碼。
Dart 非常適合使用事件驅動代碼構建用戶界面。根據Dart 團隊成員的說法,Dart的優勢:可選的靜態類型、最小的編譯時錯誤和強大的內置編輯器。
Pony
Pony是一種基於無數據競爭類型和垃圾收集的語言,並使用 actor 模型以及稱為引用功能的東西。
你可以把 Pony 想像成某種「Rust 遇上 Erlang」的復合體,沒有鎖,高並發是其主要優點。
Pony 的缺點是 API 穩定性低、很少有高質量的第三方庫和有限的本地工具。
TypeScript
TypeScript是一個基於 JavaScript 靜態類型定義構建,並由微軟維護且開源編程語言。Visual Studio Code 或Visual Studio 是推薦的IDE編輯器,微軟大廠的用戶體驗和錯誤檢查也不用懷疑。
復合編程語言
Hack
Hack是一種作為 PHP 方言的 HipHop 虛擬機的編程語言。於 2014 年由Facebook創建,允許程序員同時使用靜態和動態類型(也稱為漸進類型),這為編碼提供了靈活性。
Julia
Julia是一種高級通用編程語言,用於計算科學和數值分析。Julia 以動態類型和可重現的高性能特性而聞名。
Julia 在數據可視化和機器學習等方面都有大量用途。事實上,它被英國保險公司 Aviva 用於風險計算,紐約聯邦儲備銀行用於金融建模,甚至氣候建模聯盟用於氣候變化建模。它擁有Fortran、C++、R、Java、C 、Python等的介面,這使其成為最受追捧的新語言之一。
Kotlin
Kotlin是運行在 Java 虛擬機中的更快、更流暢的 Java 版本。它現在是Android 開發的首選語言。根據 Android 開發者網站顯示,程序員正轉而採用 Kotlin,因為該語言的樣板代碼更少,空指針異常更少,並且與 Java 有互操作性。
Kotlin 可用於在 iOS 和 Android 上運行的應用程序、不使用額外運行時或虛擬機。
Nim
Nim是一種優先考慮可讀性的靜態類型語言。通過結合多種語言的特性,Nim 為程序員提供了速度和易用性。
它帶有 JavaScript 後端、分散的包管理、自動內存管理、C 和 C++ 庫的綁定以及用於調試的回溯。作為一種語言,Nim 是有限的,但它包含一組元編程功能,如泛型、模板和宏,因此開發人員可以在避免冗長代碼的同時以不同的風格工作。
OCaml作為此列表中較舊的語言,OCaml是一種多範式語言——既有函數式、命令式和類型安全,也具有面向對象功能。
OCaml 的一些優勢:定義數據類型很容易。默認情況下,所有變數都是不可變的。API 穩定,具有良好的庫向後兼容性。該語言還為獨立應用程序提供自動內存管理和單獨編譯。
Reason
如果比JavaScript 更快、更簡單且類型安全會怎樣?
這就是創建Reason的 Facebook 開發者想要回答的問題。不過,他並沒有從頭開始構建一種新語言,而是採用了 OCaml,並將其調整為類似於 JavaScript。
Reason使用項目 BucketScript編譯為 JavaScript,並且可以訪問 80% 的 JavaScript 工具和生態系統。它還可以編譯為准系統、iOS、Android 和微控制器。
Red
Red是一種最初旨在克服 Rebol 語言限制的編程語言。Red 於 2011 年推出,受 Rebol、Lua 和 Scala 等語言的影響,對高級和低級編程都很有用。
該語言可用於開發從高級 GUI 到低級操作系統的所有方面。Red 擁有人性化的語法、低內存佔用和垃圾收集等優點。
Rust
Rust解決了一些與 Go 相同的問題,如系統級別的線程和進程安全,,但Rust 更像 C 風格的語法
但Rust語言的缺點:靜態類型和缺乏垃圾收集
Rust可直接訪問內存意味著程序員可以編寫低級代碼,如操作系統內核。Rust 也非常適合嵌入式設備、網路服務和命令行編寫。
㈤ python支持函數式編程嗎
python不是完全支持函數式編程,他支持部分函數式編程,函數式編程就是一種抽象程度很高的編程範式,純粹的函數式編程語言編寫的函數沒有變數,因此,任意一個函數,只要輸入是確定的,輸出就是確定的,這種純函數我們稱之為沒有副作用。而允許使用變數的程序設計語言,由於函數內部的變數狀態不確定,同樣的輸入,可能得到不同的輸出,因此,這種函數是有副作用的。
Python對函數式編程提供部分支持。由於Python允許使用變數,因此,Python不是純函數式編程語言。