Wolfram Language的一些概念和原理

2021-06-21 09:47:26 字數 2901 閱讀 5535

老師讓調研一下wolfram language,我就順便練練自己的翻譯水平好了...譯自我翻譯水平很爛。。。

基於知識的程式設計——建立在盡可能多的知識之上

與其他程式語言不同,wolfram language的哲學是將與演算法和整個世界有關的知識盡可能多地嵌入語言當中。

·目前為止集合了最大範圍的演算法網路。

·包含了mathematica軟體經過25年以上發展的最先進的演算法。

·是世界上對計算知識最廣泛的收藏。

·持續在數千個領域搜尋資料,同時這也是在wolfram|alpha中使用的。

元演算法與超強的功能——盡量自動化

wolfram language的哲學是盡量自動化,這樣程式設計師便可以將精力集中在定義他們想做什麼事上,然後wolfram language便可以自動指出怎樣做這件事。

·數千個用於自動選擇演算法的元演算法原型。

·專家可以進行細粒度的控制;對於其他人,可以實現自動運算。

·可以自動運算、展示、連通、接合。

·**擁有最小的規模與複雜度。

一切皆適宜——最大限度的一致性的設計

通過將重點放在核心設計原則,這個原則建立在功能性的巨大跨越上,wolfram language維持了統一且優雅的結構,在這個結構中一切皆適宜。

·在各個領域均擁有即時的互操作性。

·程式設計結構擁有最大的靈活性。

·擁有最大的可**性與可學習性。

·**具有可讀性與可理解性。

任何事都可以成為乙個表示式——符號表示式代表一切

·wolfram language可以將一切事物表示為符號表示式——資料、公式、**、圖形、文件、介面等,使得程式設計的靈活性與能力上公升到乙個新的層次。

·增量式程式設計:**中的每個片段均可立即執行。

·任何格式的資料都可以在系統中立即表示出來。

·**可以包含任何型別的物件,例如、文件等。

·程式可以立即處理結構以及內容。

wdf:wolfram資料框架——擁有乙個世界的廣泛內建模型

通過它wolfram|alpha的出身,wolfram language不僅知道如何對抽象資料結構進行計算,還知道如何計算真實世界中用到的東西。

·無縫地處理單位、日期、地理位置等。

·擁有對現實中成百萬個實體的標準表示方法。

·擁有表示真實資料的可擴充套件符號框架。

·對在wolfram|alpha中久經考驗的知識庫的持續更新。

nlu:自然語言理解——將自由格式的語言輸入融入wolfram language中

建立在wolfram|alpha的土坡上,wolfram language允許你將普通自由形式的自然語言混入**中。

·無需任何程式設計知識就可開始使用wolfram language。

·使用它們平常的名字便可方便地指示現實世界中的實體。

·廣泛的自然語言理解,它在wolfram|alpha中已久經考驗。

·程式設計時,使用自然語言理解指定現實世界中的物件與概念。

·將自然語言理解融入你寫的程式中。

普遍的部署——將wolfram language部署在任何地方:桌面、雲端、移動端、嵌入端......

建立在25年以上的軟體工程經驗,任何使用wolfram language的程式均可被立即全方位部署在現代生產環境中。

·可透明地執行於雲端或本地。

·對於任何的wolfram language程式,均可迅速建立web api。

·可將wolfram language無縫嵌入軟體或硬體系統。

·使用wolfram language對各自的部署進行符號化的描述。

cdf:可計算文件模式——將可計算文件作為語言的一部分

wolfram language的一部分是「筆記本」文件,它混合了文字、圖形、介面等的可執行**。

·建立乙個包含**、例子、檔案等的簡單文件。

·以程式設計方式建立全功能的報告和文件。

·依靠計算,即時建立互動式元素。

·wolfram示範專案中擁有10000個例子。

wolframlink、wolfram連線裝置專案等——方便地聯結任何事物

wolfram language對廣泛的語言、服務、程式、格式與裝置具有內建的連通性。

·使用符號表示式對外部資料與程式進行標準化的互動。

·通過wolfram雲與外界進行無縫溝通。

·語言中直接操作與實時裝置的互動。

一切都是互動的——將編寫與執行程式整合起來

wolfram language的原生環境是完全可互動的,你可以即時執行任意**片段。

·立即測試你寫下的任何內容。

·立即將你的**進行視覺化並對其進行分析。

·無縫進行增量/探索式程式設計。

完全可伸縮——程式可以是你認為方便的任何規模

wolfram language的規模可以從一行程式到數百萬行的程式,也可以從簡單使用者到大型公共部署。

·對於互動使用和大規模程式設計均有方便的整合開發環境。

·建立wolfram language**,可立即並行執行。

·一年一度的「一行程式競賽」展示了語言的表達能力。

·wolfram|alpha與wolfram language的**庫已經超過一千五百萬行。

正規化融合語言——語言應當盡可能有表現力

通過它獨特的符號字元,wolfram language可以對許多程式設計正規化進行優雅地融合,既令人熟悉又感覺新穎。

·在wolfram language中,幾乎任何**都比在其他語言中短小。

·內建結構與概念直接聯結。

·具有廣泛產業優勢的函式式程式設計。

·基於模式的符號程式設計。

·強大的理論基礎。

25年以上的歷史——保持了長期的一致性和版本

作為mathematica的一部分建立起來,wolfram language的核心維持了25年以上的相容性。

·25年以上一致的設計評審過程。

·由stephen wolfram領導的長期團隊。

原 Nhibernate一些筆記

一 nhibernate五部曲 1 在資料庫中建立.net類持久化的對應表 建資料庫 2 建立需要持久化的.net類 編寫model類 4 建立nh的配置檔案,告訴nh怎麼樣連線資料庫 nhibernate.cfg.xml 5 使用nh提供的api create delete update 二 nh...

ssi的一些概念和指令

什麼是shtml呢?使用ssi server side include 的html副檔名,ssi serversideinclude 通常稱為 伺服器端嵌入 或者叫 伺服器端包含 是一種類似於asp的基於伺服器的網頁製作技術。預設副檔名是.stm shtm 和 shtml。什麼是ssi?ssi是英文...

堆和棧的一些概念

棧主要存了方法呼叫和區域性變數。堆主要是所有的物件。棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os 區別和聯絡 1.申請方式 堆是由程式設計師自己申請並指明...