複製鏈接
請複製以下鏈接發送給好友

sac

(計算機術語)

鎖定
SAC(Single Assignment C)是一門嚴格的純函數式編程語言,以滿足數值計算領域的需求為主要目的。
中文名
sac
外文名
Single Assignment C
性    質
純函數式編程語言
主要目的
滿足數值計算領域的需求

sac簡介

SAC(Single Assignment C)是一門嚴格的純函數式編程語言,以滿足數值計算領域的需求為主要目的。怎樣實現對多維數組的高效計算是SAC的核心部分。效率在程序設計領域可以有兩方面的理解。一方面是提供高級的數組運算操作,以加快開發程序,另一方面是在某種模式下優化編譯程序,以減少其所需的運行時間和存儲容量。作為一門成功的計算機語言,必須滿足第二個條件。
為了能夠編譯出高效的可執行代碼,某些對數值計算不重要的函數式語言的特徵(到目前為止)還不被SAC支持,比如高階函數(higher-order functions),多態(polymorphism),以及惰性求值(lazy evalution)。而像HaskellCleanMiranda或者ML卻擁有這些特徵。 [1] 

sac特點

怎樣實現對多維數組的高效計算是SAC的核心部分。效率在程序設計領域可以有兩方面的理解。一方面是提供高級的數組運算操作,以加快開發程序,另一方面是在某種模式下優化編譯程序,以減少其所需的運行時間和存儲容量。作為一門成功的計算機語言,必須滿足第二個條件。
為了能夠編譯出高效的可執行代碼,某些對數值計算不重要的函數式語言的特徵(到目前為止)還被SAC支持,比如高級函數(higher-order functions),多態性(polymorphism),以及懶惰計算法(lazy evalution)。而像Haskell、Clean、Miranda 或者 ML卻擁有這些特徵。 [1] 

sacAPL語言

APLA Programming LanguageArray Processing Language的縮寫。肯尼斯·艾佛森在1962年設計這個語言時他正在哈佛大學工作,1979年他因對數學表達式和編程語言理論的貢獻而得到圖靈獎。在過去數十年的使用歷史中,APL 從它的原始版本開始不斷改變和發展,今天的版本與1963年發表時的版本已經非常不一樣了。但它始終是一種解釋執行的計算機語言。現代的 APL 版本支持其初始版本不支持的結構和模式編程。APL 至今依然使用一種非標準化的字母表,這一直是他人對 APL 的批評。 [2] 

sac函數編程語言

函數式編程(英語:functional programming)或稱函數程序設計,又稱泛函編程,是一種編程典範,它將電腦運算視為數學上的函數計算,並且避免使用程序狀態以及易變對象。函數編程語言最重要的基礎是λ演算(lambda calculus)。而且λ演算的函數可以接受函數當作輸入(引數)和輸出(傳出值)。
比起指令式編程,函數式編程更加強調程序執行的結果而非執行的過程,倡導利用若干簡單的執行單元讓計算結果不斷漸進,逐層推導複雜的運算,而不是設計一個複雜的執行過程。 [2] 
參考資料
  • 1.    Schwartz S R. SAC SINGLE ASSIGNMENT C[J]. 1998.
  • 2.    Grelck C. Single Assignment C (SAC) High Productivity Meets High Performance[M]// Central European Functional Programming School. Springer Berlin Heidelberg, 2012:207-278.