鄭州北大青鳥(niǎo)老師,程序員的哲學(xué)之我見(jiàn)
“程序員的哲學(xué)”這樣的命題,對(duì)于老資歷的程序員似乎都有點(diǎn)大了,何況初出茅廬的我呢。但做為北大青鳥(niǎo)鄭州校區(qū)的一員,這里我只想對(duì)正在和希望從事程序開(kāi)發(fā)工作的朋友分享我對(duì)程序開(kāi)發(fā)的理解。這是我的哲學(xué),我所理解的程序員的哲學(xué)。
首先跟大家分享這樣一段話:
“我們剖析事物的本質(zhì),從中形成概念,并根據(jù)需要賦于它重要性。這一切很大程度上是源于我們所使用的語(yǔ)言已經(jīng)在其形式中包含了一套為它的使用者所完全接受的規(guī)范,而我們正屬于接受這一規(guī)范的那群人。如果我們拒不接受語(yǔ)言在數(shù)據(jù)的組織與分類方面的原則的話,那我們根本就沒(méi)法說(shuō)話。”
——Benjamin Lee Whorf(1897-1941)
無(wú)論你是有數(shù)年開(kāi)發(fā)經(jīng)驗(yàn)的程序高手,還是初識(shí)編程的青澀小生。我都希望你能將這段話多讀上幾遍,細(xì)細(xì)的品味其中的內(nèi)蘊(yùn)。它會(huì)為你揭秘程序開(kāi)發(fā)的本質(zhì)。
那么什么是程序呢?
不同的教科書(shū)對(duì)它的解釋不盡一致,讓我們來(lái)一起看下它的百度名片:
程序(program)是為實(shí)現(xiàn)特定目標(biāo)或解決特定問(wèn)題而用計(jì)算機(jī)語(yǔ)言編寫(xiě)的命令序列的集合;為實(shí)現(xiàn)預(yù)期目的而進(jìn)行操作的一系列語(yǔ)句和指令……
從以上定義,我們不難發(fā)現(xiàn)這樣的關(guān)系圖:
通過(guò)對(duì)上圖的感知,朋友們對(duì)程序的認(rèn)知是否清晰了些許呢?原來(lái)程序就是一段話,一段語(yǔ)言描述,只是其中的句讀,在程序員和計(jì)算機(jī)的世界里被稱為命令、指令。對(duì)計(jì)算機(jī)工作原理不太了解的朋友可能會(huì)問(wèn),“計(jì)算機(jī)為什么不自己去解決問(wèn)題和實(shí)現(xiàn)目的呢,計(jì)算機(jī)不是自動(dòng)化和智能化的產(chǎn)物嗎?”關(guān)于這個(gè)問(wèn)題我們可以在《Thinking In Java》這本書(shū)中找到如下描述:
“計(jì)算機(jī)革命的推動(dòng)力在于機(jī)器。于是機(jī)器的發(fā)展也左右了編程語(yǔ)言的發(fā)展。然而真正被用作延伸智力的工具的計(jì)算機(jī)(就像Steve Jobs喜歡說(shuō)的,‘思想的自行車(chē)’)并不很多,它們更多的是被用來(lái)表達(dá)思想。”
不知道上面的描述,能否起到拋磚引玉的效果。我只是想告訴朋友們,計(jì)算機(jī)雖然隨著科技的發(fā)展結(jié)構(gòu)日趨復(fù)雜,功能日趨強(qiáng)大,但它更多的仍被用來(lái)表達(dá)思想。什么思想呢?解決問(wèn)題的思想,實(shí)現(xiàn)目的的思想——讓計(jì)算機(jī)實(shí)現(xiàn)一個(gè)預(yù)期結(jié)果的算法。
在我看來(lái)歸根到底所有程序都是算法,都是從問(wèn)題空間指向解決空間的一個(gè)映射(示圖如下)。
什么是問(wèn)題空間(問(wèn)題模型)呢?說(shuō)白了它就是需求,對(duì)于小的程序它是預(yù)期的結(jié)果,對(duì)于大的項(xiàng)目它是項(xiàng)目需求。什么是解決空間呢?它是工具,包含硬件(計(jì)算機(jī)或其它各種設(shè)備),也包含軟件(前輩們?yōu)槲覀兞粝碌拈_(kāi)發(fā)平臺(tái),高級(jí)語(yǔ)言,編程思想)。
而程序員的工作就在于算法,在于通過(guò)算法將問(wèn)題空間和解決空間關(guān)聯(lián)在一起,從而達(dá)到解決問(wèn)題的目的。無(wú)論是使用哪種語(yǔ)言的程序員,其哲學(xué)都是相通的,甚至是相同的。區(qū)別僅在于使用的工具不同罷了。個(gè)人心得,僅供參考,卑之無(wú)甚高論。鄭州北大青鳥(niǎo)老師,真誠(chéng)的歡迎與每一位愛(ài)好程序,喜歡程序的人共同交流,共同成長(zhǎng)!
更多相關(guān)北大青鳥(niǎo)鄭州校區(qū)的相關(guān)文章可訪問(wèn):http://i3061.cn
本文由站河南北大青鳥(niǎo)校區(qū)整編而成,如需了解更多IT資訊類的文章、新聞、課程和學(xué)習(xí)技巧、就業(yè)案例、招生詳情等問(wèn)題,可以對(duì)在線咨詢老師進(jìn)行一對(duì)一問(wèn)答!
推薦資訊
- 2018年作為IT人士你必須要了解的... 2017-10-30
- 電腦專業(yè)河南單招大專哪個(gè)好... 2019-02-26
- 高考落榜怎么辦?學(xué)IT好就業(yè)... 2012-09-13
- 河南初中畢業(yè)的女孩子學(xué)什么專業(yè)... 2015-10-28
- 鄭州北大青鳥(niǎo)電腦培訓(xùn):從企業(yè)角度... 2012-10-13
熱點(diǎn)資訊
- 鄭州北大青鳥(niǎo)翔天信鴿校區(qū)的學(xué)員... 2023-11-14
- 鄭州北大青鳥(niǎo)校區(qū)創(chuàng)意與趣味的游... 2023-11-07
- 鄭州北大青鳥(niǎo)學(xué)子們的項(xiàng)目成果展... 2023-10-18
- 鄭州北大青鳥(niǎo)校區(qū)讓學(xué)習(xí)不在枯燥... 2023-09-19
- 在鄭州北大青鳥(niǎo)翔天信鴿校區(qū)零基... 2023-09-01