計(jì)算機(jī)程序的定義是指一組指示計(jì)算機(jī)執(zhí)行動(dòng)作或做出判斷的指令,通常用某種程序設(shè)計(jì)語言編寫,運(yùn)行于某種目標(biāo)體系結(jié)構(gòu)上;
計(jì)算機(jī)程序中的指令都是基于機(jī)器語言,計(jì)算機(jī)程序通常首先用一種計(jì)算機(jī)程序設(shè)計(jì)語言編寫,然后用編譯程序或者解釋執(zhí)行程序翻譯成機(jī)器語言,有時(shí)計(jì)算機(jī)程序也可以用匯編語言編寫,匯編語言實(shí)質(zhì)就是表示機(jī)器語言的一組記號(hào)。
計(jì)算機(jī)程序是指一組指示計(jì)算機(jī)執(zhí)行動(dòng)作或做出判斷的指令,通常用某種程序設(shè)計(jì)語言編寫,運(yùn)行于某種目標(biāo)體系結(jié)構(gòu)上。
《計(jì)算機(jī)軟件保護(hù)條例》第三條規(guī)定:計(jì)算機(jī)程序,是指為了得到某種結(jié)果而可以由計(jì)算機(jī)等具有信息處理能力的裝置執(zhí)行的代碼化指令序列,或者可以被自動(dòng)轉(zhuǎn)換成代碼化指令序列的符號(hào)化指令序列或者符號(hào)化語句序列。同一計(jì)算機(jī)程序的源程序和目標(biāo)程序?yàn)橥蛔髌贰?/p>
計(jì)算機(jī)程序是由數(shù)據(jù)結(jié)構(gòu)和算法構(gòu)成的。
編寫一個(gè)程序去生成另外一個(gè)程序的過程被稱之為原編程(Metaprogramming)。它可以被應(yīng)用于讓程序根據(jù)給定數(shù)據(jù)生成代碼。單一一個(gè)程序可能不足以表示給定數(shù)據(jù)的所有方面。讓一個(gè)程序去分析這個(gè)數(shù)據(jù)并生成新的程序去處理數(shù)據(jù)所有的方面可能會(huì)容易一些。Lisp就是一例支持這種編程模式的程序語言。
在神經(jīng)網(wǎng)絡(luò)里儲(chǔ)存的權(quán)重是一種數(shù)據(jù)。正是這些權(quán)重?cái)?shù)據(jù),跟網(wǎng)路的拓?fù)浣Y(jié)構(gòu)一起,定義了網(wǎng)絡(luò)的行為。人們通常很難界定這些數(shù)據(jù)到底表示什么或者它們是否可以由程序來代替。這個(gè)例子以及跟人工智能相關(guān)的其它一些問題進(jìn)一步考驗(yàn)程序和數(shù)據(jù)的區(qū)別。
算法指解決某個(gè)問題的嚴(yán)格方法,通常還需輔以某種程度上的運(yùn)行性能分析。算法可以是純理論的,也可以由一個(gè)計(jì)算機(jī)程序?qū)崿F(xiàn)。理論算法通常根據(jù)復(fù)雜性分為不同類別;實(shí)現(xiàn)的算法通常經(jīng)過頗析(Profiling)以測(cè)試其性能。請(qǐng)注意雖然一個(gè)算法在理論上有效可行,但是一個(gè)糟糕的實(shí)現(xiàn)仍會(huì)浪費(fèi)寶貴的計(jì)算機(jī)資源。