完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>
標簽 > FP
FP全名為(Functional Programming函數式程序設計 )函數式程序設計是一種設計、編制和調試函數式程序的技術。函數式程序是由一些原始函數、定義函數和函數型組成的函數表達式。
FP全名為(Functional Programming函數式程序設計 )函數式程序設計是一種設計、編制和調試函數式程序的技術。函數式程序是由一些原始函數、定義函數和函數型組成的函數表達式。
特性
傳統程序設計語言中的賦值等概念,在函數式程序設計語言中消失。函數式程序的一個最本質的特性,就是函數值唯一地由其參數值所確定。只要使用相同的參數值,對此程序的不同的調用總是得到相同的結果。這種性質稱為引用透明性,有助于程序的模塊化。函數式程序設計語言具有較強的組織數據結構的能力,可以把某一數據結構(如數組)作為單一值處理;可以把函數作為參數,其結果也可為函數,這種定義的函數稱為高階函數。這些由函數表達式所表示的程序簡明、緊湊和易于維護。
過去,這種程序設計稱為應用性程序設計。1977年,J.巴克斯提出函數式程序設計的概念。一般認為表處理語言(LISP)是最早的函數式程序設計語言。但是,LISP的重點是將函數應用于對象,以產生新的對象,必要時再上升為函數。巴克斯所提出的函數式程序設計,則是引用函數型產生新函數,程序設計時從一般的對象空間上升到函數空間,因而具有優越的數學性質,有助于程序的理解、推理和驗證。
FP全名為(Functional Programming函數式程序設計 )函數式程序設計是一種設計、編制和調試函數式程序的技術。函數式程序是由一些原始函數、定義函數和函數型組成的函數表達式。
特性
傳統程序設計語言中的賦值等概念,在函數式程序設計語言中消失。函數式程序的一個最本質的特性,就是函數值唯一地由其參數值所確定。只要使用相同的參數值,對此程序的不同的調用總是得到相同的結果。這種性質稱為引用透明性,有助于程序的模塊化。函數式程序設計語言具有較強的組織數據結構的能力,可以把某一數據結構(如數組)作為單一值處理;可以把函數作為參數,其結果也可為函數,這種定義的函數稱為高階函數。這些由函數表達式所表示的程序簡明、緊湊和易于維護。
過去,這種程序設計稱為應用性程序設計。1977年,J.巴克斯提出函數式程序設計的概念。一般認為表處理語言(LISP)是最早的函數式程序設計語言。但是,LISP的重點是將函數應用于對象,以產生新的對象,必要時再上升為函數。巴克斯所提出的函數式程序設計,則是引用函數型產生新函數,程序設計時從一般的對象空間上升到函數空間,因而具有優越的數學性質,有助于程序的理解、推理和驗證。
用途
由于函數式程序設計語言的簡明性和獨特的表達能力,可用它來研究傳統程序設計語言的語義。一種方法是用于確定一個解釋程序的定義,作為被研究的語言的語義;另一種方法是將被研究的語言寫成的程序轉換成與之等價的函數式程序。在人工智能領域中,需要用復雜的算法去處理一些復雜的(通常是符號的)數據結構。LISP語言成功地應用于這一領域,說明了函數式程序設計的獨特優越性。巴克斯分析了傳統程序設計語言的缺陷,認為這些缺陷主要是由于諾伊曼式系統結構所造成的。他所提出的函數式程序設計(簡稱FP),擺脫了傳統的諾伊曼計算機結構,需要一種新的非諾伊曼式的系統結構為后援。一些具有新概念的計算機,如歸約機、數據流機,以及專為某種函數式語言(如FP)設計的計算機正在研究和發展中。現代既需要研究在諾伊曼式計算機上如何更有效地實現函數式程序設計語言的問題,也需要研究適應這種語言的新型計算機結構。
重要性
函數式程序設計受到重視的原因是:首先由于產生了“軟件危機”,人們企圖探討一種擺脫這種困境的新型程序設計方式,而函數式程序設計具有不少獨特之處。其次,超大規模集成電路技術的發展,為發揮函數式程序設計語言的潛在并行性提供了物質基礎。可以預期,一些具有諸如高度并行性等特點的非諾伊曼式計算機將會出現。隨著硬件技術的發展、軟件方法的研究,以及應用范圍的不斷擴大,函數式程序設計將得到發展,并在新一代計算機系統中起重要作用。
如今的產品生命周期可能短至六個月,因此在這種情況下要想取得定制ASIC的低成本、低功耗和高性能優勢幾乎是不可能的。定制ASIC的設計周期通常要一年左...
Altera 40-nm Arria II GX FPGA轉
Altera 40-nm Arria II GX FPGA轉入量產 Altera公司今天宣布,開始量產發售40-nm Arria® II G...
Altera 發布28-nm FPGA技術創新 Altera公司宣布了在即將推出的28nm FPGA中采用的創新技術:嵌入式HardCopy®...
FPC常用術語中英文對照 A Accelerate Aging ——加速老化,使用人工的方法,加速正常的老化過程。 Acceptance Quality...
在柔性印制電路板(FPC)上貼裝SMD的工藝要求 在電子產品小型化發展之際,相當一部分消費類產品的表面貼裝,由于組裝空間的關系,其S
編輯推薦廠商產品技術軟件/工具OS/語言教程專題
電機控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動駕駛 | TI | 瑞薩電子 |
BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
無刷電機 | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
直流電機 | PID | MOSFET | 傳感器 | 人工智能 | 物聯網 | NXP | 賽靈思 |
步進電機 | SPWM | 充電樁 | IPM | 機器視覺 | 無人機 | 三菱電機 | ST |
伺服電機 | SVPWM | 光伏發電 | UPS | AR | 智能電網 | 國民技術 | Microchip |
開關電源 | 步進電機 | 無線充電 | LabVIEW | EMC | PLC | OLED | 單片機 |
5G | m2m | DSP | MCU | ASIC | CPU | ROM | DRAM |
NB-IoT | LoRa | Zigbee | NFC | 藍牙 | RFID | Wi-Fi | SIGFOX |
Type-C | USB | 以太網 | 仿真器 | RISC | RAM | 寄存器 | GPU |
語音識別 | 萬用表 | CPLD | 耦合 | 電路仿真 | 電容濾波 | 保護電路 | 看門狗 |
CAN | CSI | DSI | DVI | Ethernet | HDMI | I2C | RS-485 |
SDI | nas | DMA | HomeKit | 閾值電壓 | UART | 機器學習 | TensorFlow |
Arduino | BeagleBone | 樹莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |