Wolfram語言
編輯Wolfram 語言是一種基于知識的符號編程語言,可用于 Wolfram 獨立產品(如 Mathematica)或 Wolfram Cloud 產品。 它具有內置功能、算法和知識庫以及廣泛的自動化。 它支持多種編程范例,例如函數式、符號式、基于規則的編程,是高級編程語言之一。 特別是,Wolfram 語言可以將各種格式的結構、圖形和(外部)數據處理為符號表達式。 除了數值求解方法外,它還提供了對公式和數據進行符號操作的可能性。
發展歷程
編輯自 Mathematica 于 1988 年首次發布以來,Wolfram 語言一直是軟件包的基本組成部分。
引擎的符號方面使 Wolfram 語言成為計算機代數系統。 該語言可以使用一組規則執行積分、微分、矩陣操作和求解微分方程。 同樣在 1988 年,根據 Theodore Gray 的專利,推出了筆記本型號以及嵌入聲音和圖像的功能。 此外,該語言還提供了用于更復雜任務(如 3D 建模)的功能。
知識引擎 Wolfram Alpha 于 2009 年作為 Wolfram 語言的在線前端發布。 Wolfram 通過將自然英語語言語句翻譯成指向其數據庫的 Wolfram 語言查詢來實現該網站。 導致 Wolfram Alpha 的工作還意味著 Wolfram 的語言實現現在具有對知識庫和自然語言處理功能的內置訪問。
語言設計
編輯語法
Wolfram 語言具有廣泛的語法,經過精心設計以實現 Wolfram 語言的各種語言、數學和其他格式結構的兼容性、一致性和高效、人類可讀的輸入。 除了正常的 ASCII 線性輸入外,Wolfram 語言還支持二維數學輸入。
Wolfram 語言語法與 Lisp 的 M 表達式大致相似,支持中綴運算符和帶有“函數符號”的函數調用。
屬性
Mathematica 中的所有數據對象都以列表結構標注。 列表結構由兩部分組成,列表頭和參數。
自然數和整數作為有符號或無符號字符串(+ 或 -)輸入。 整數具有整數列表標題。 整數可以是任意大小,并由 Mathematica 精確處理。 就像整數一樣,有理數經過精確處理,沒有舍入誤差。
Wolfram 語言以中綴表示法編寫基本算術表達式:
(* 這是注釋。*)4 + 3(* = 7 *)1 + 2 * (3 + 4)(* = 15 *)(* 注意乘法可以省略:1 + 2 (3 + 4) *)(* 除法返回有理數: *)3 / 2(* = 3/2 *)
函數參數在方括號中:
Sin(* = 0 *)(* 這是將有理數轉換為浮點數的函數: *)N(* = 1.5 *)
列表寫在大括號中:
奇數表={1,3,5}(* = {1,3,5} *)
圖標
符號用作所有可以想到的 Mathematica 表達式的占位符,并用作類型聲明或操作的同名詞。
內置符號以大寫字母開頭。
語法糖
Wolfram 語言可以偏離所謂的 M 表達式表示法(基于 FORTRAN 和 Lisp),如果有一種替代的、更易于(對人類)可讀的表示表達式的方式可用的話。 因此用戶可以享受以不同方式輸入表達式的靈活性:
- Wolfram 語言使用多種格式化規則,例如用于公式集中表達式的 TeXForm 和用于自然語言輸入的 InputForm。
- 函數也可以用前綴表達式@和后綴表達式//編寫。
- 推導可以用撇號 ' 標記。
- 中綴符號常見于 + 、 * 和函數符號系統中的其他運算符。
函數式編程
支持柯里化。
模式匹配
模式表示表達式的類。 基本模式構造 _(發音為“空白”)匹配任何表達式。 在 Wolfram 語言中,函數基本上是可以替換的簡單模式:
F := x^0
:= 是一個“SetDelayed”運算符,因此不會立即搜索 x。 x_ 是模式的語法糖],即 H。 在進一步的評估過程中應替換 x 的任何值的“空白”。
分發和使用
編輯Wolfram 語言可用于 macOS、Linux 和 Windows。 Wolfram 引擎在桌面、云端和移動設備(iOS 和 Android)上運行,并得到主要互聯網瀏覽器的支持。
Wolfram 語言擁有超過 6000 條命令,具有廣泛的應用。 作為 Mathematica 軟件包,Wolfram 語言主要用于大學的技術、數學和科學課程,但也用于研究機構和實驗室。 例如,它包括用于創建和運行圖靈機、創建圖形和音頻、創建和分析 3D 圖形和模型、處理矩陣和求解微分方程的內置函數。 這方面有大量文檔。
Wolfram 語言隨 Raspberry Pi 操作系統免費提供。
Wolfram 語言的官方和參考實現位于 Mathematica 及其在線服務中。 這些是專有的。 然而,Wolfram Research 已經在開源 MIT 許可下發布了該語言的 C++ 解析器。 相關的文檔和參考是 Open Access。
在 Wolfram 語言存在的三十多年中,還開發了許多第三方開源實現。 具有歷史意義的是 Richard Fateman 1991 年的 MockMMA。仍在維護的現代實現是 Java 中的 Symja、Go 中的 expreduce 和基于 SymPy 的 Mathics。 這些實現專注于核心語言和它所暗示的計算機代數系統,而不是 Wolfram 的在線“知識庫”功能。
2019 年,Wolfram Research 發布了 Wolfram Engine 的免費版本,可用作開發的軟件組件,但不能用于商業目的。
連接和集成
編輯Wolfram 語言可以插入許多接口、服務、設備、編程語言、服務、格式等。 被連接。 它提供對 C、C++、Java、.NET 和 R 的本地支持。可以直接從 Wolfram 語言調用 Python 和 NodeJS。
Wolfram語言命名
編輯雖然該語言以某種形式存在了超過 25 年,但該語言的名稱直到 2013 年 6 月才正式公布。 在此之前,它在內部被稱為“M”和“Wolfram語言”等各種名稱。 還考慮了許多其他可能的名稱,例如“Lingua”和“Express”。 Wolfram 語言通常被稱為“Mathematica”的同義詞,盡管它是 Wolfram 語言的主要實現。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/376612/