非專業(yè)coding教程2:與機(jī)器對話

在很多人眼中,電腦是一個(gè)很厲害的存在:它可以幫你統(tǒng)計(jì)大量的數(shù)字耕肩,可以給你提供大量的信息因妇,可以把遙遠(yuǎn)距離的信息展現(xiàn)在你的面前,可以做各種人類無法做到的事情猿诸。

很聰明很神奇對不對婚被!~才怪啦!

在你面前的這個(gè)電腦梳虽,在擁有軟件之前址芯,就只是一堆電路板混合物。但是它有個(gè)很重要的特點(diǎn):它擁有記錄信息以及操控信息的能力窜觉。想象一下谷炸,電腦就像一個(gè)富豪家出生的孩子,身邊是各種跑車游艇直升機(jī)禀挫。但是它什么都不懂旬陡,這些東西對它來說就一點(diǎn)用都沒有。人類中的程序員语婴,便是教會它知識的人描孟,教會這個(gè)富二代怎么一步一步啟動它的跑車:插鑰匙驶睦,開引擎,掛檔踩油門匿醒,呼啥繁!~

電腦是個(gè)聽話的學(xué)生,它可以把學(xué)到的知識記得很牢青抛,所作所為都是所學(xué)到的知識的反映。所以說酬核,你面對的不是一臺單純的電腦蜜另,里面保存著數(shù)不盡的人類的思想,你所遇到的嫡意,都是人類思想的映射举瑰。信息保存在硬盤里,嗯蔬螟,你可以拆開硬盤看看人類的思想長什么樣此迅。(騙你的。)

在現(xiàn)實(shí)生活中旧巾,人類用語言表達(dá)自己的思想耸序,不同國家地區(qū)的人使用不同的語言。為了方便不同語言的人的交流鲁猩,我們使用一些國際通用的語言坎怪,比如說英語。一個(gè)意大利人可以用英語跟日本人交談廓握,當(dāng)他們這么做的時(shí)候搅窿,實(shí)際上是

1. 意大利人把自己的想法翻譯成英語,

2. 日本人聽到英語隙券,把這段信息翻譯成日語并加以理解男应。

你好,歪果仁

人類跟電腦的交談也是差不多一樣的方式娱仔,可能比較復(fù)雜點(diǎn)沐飘。

初中或者高中的計(jì)算機(jī)課,希望你們在聯(lián)機(jī)打游戲刷網(wǎng)站發(fā)呆之余拟枚,還能記得老師講過薪铜,電腦的信息是二進(jìn)制存儲的。也就是說恩溅,電腦只認(rèn)得“10101001010101001”這樣的語言隔箍。所以程序員與電腦的對話類似于下圖:

“幫我計(jì)算1+1等于幾”

注:這幅圖中間的“云朵”,其實(shí)包括了很多“層次”在里面脚乡。

在最開始的時(shí)候蜒滩,那時(shí)候的程序員還被叫做計(jì)算機(jī)科學(xué)家(大概吧)滨达,他們是“直接”跟計(jì)算機(jī)進(jìn)行對話的。嗯俯艰,你沒有看錯(cuò)捡遍,就是直接寫101100100110這樣子,這便是機(jī)器語言竹握。那時(shí)候的編程是通過在紙條上戳洞來完成的画株,大概是遇到0就戳一個(gè)洞吧,最終的程序的樣子就是:

程序員需要靈活的雙手——來戳洞……

可想而知啦辐,寫出來的東西不僅別人看不懂谓传,他們自己其實(shí)也看不懂啦。之前說過的芹关,程序員就是千方百計(jì)想著偷懶的人续挟,這么難懂的機(jī)器語言當(dāng)然沒人想繼續(xù)用。而一般來說侥衬,抓到規(guī)律的東西就可以用自動化的機(jī)制來代替人工诗祸。機(jī)器語言便是非常有規(guī)律的東西,于是科學(xué)家們在那之上轴总,又創(chuàng)造了一門語言:匯編語言直颅。有了匯編語言,科學(xué)家們就可以用比較易懂的方式來控制電腦了怀樟。比如說要電腦計(jì)算1+1际乘,那么步驟大概是這樣的(二進(jìn)制數(shù)是亂寫的,各位看官別當(dāng)真):

在存儲器上寫個(gè)1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1000110010010110

在存儲器上再寫個(gè) 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1101001001001010

放到加法器上加起來 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1101010101101111

由于每個(gè)步驟都對應(yīng)著一串固定的二進(jìn)制指令漂佩,所以可以很方便地進(jìn)行映射脖含。負(fù)責(zé)這項(xiàng)工作的程序就叫做匯編程序。好了投蝉,有了匯編語言养葵,科學(xué)家們就可以告訴電腦把大象放進(jìn)冰箱要怎么做了,只要把步驟想好告訴電腦就行了瘩缆。

但是懶惰的科學(xué)家還是覺得這不夠:為什么我只是想算一算1+1等于幾关拒,但是我卻需要控制電腦一步一步去完成,而且庸娱,計(jì)算1+1這個(gè)過程是固定的着绊,為什么不繼續(xù)用自動化的東西來完成?于是在匯編語言之后熟尉,科學(xué)家們有創(chuàng)造了一種更高級的語言归露,而且懶得取名了,直接稱為高級語言斤儿。從此以后剧包,科學(xué)家們只需要寫“1+1” 就可以自動轉(zhuǎn)變成0和1的長串恐锦,傳輸給電腦讓它去計(jì)算了。完成這個(gè)轉(zhuǎn)變過程的程序疆液,叫做編譯器一铅。編程,也變成了難度少了很多的工作堕油,隨著計(jì)算機(jī)進(jìn)入尋常百姓家潘飘,寫程序的人再也不只是科學(xué)家了,專業(yè)寫程序玩家掉缺,被稱之為程序員福也。

有一個(gè)重點(diǎn)需要注意。機(jī)器語言是跟計(jì)算機(jī)本身相關(guān)的攀圈,匯編語言也是跟計(jì)算機(jī)的工作原理相關(guān)的,當(dāng)前我們使用的電腦的基本原理跟設(shè)計(jì)都是差不多的峦甩,所以機(jī)器語言赘来、匯編語言也是固定那樣子。但是高級語言因?yàn)椴挥迷诤蹙唧w硬件細(xì)節(jié)凯傲,可以更關(guān)注于表達(dá)思想犬辰,而人類思想百花齊放,所以高級語言也有很多種冰单。

我在大學(xué)的時(shí)候一開始學(xué)的是一種叫C++的語言幌缝,后來轉(zhuǎn)向Java。然后很多人都會說C或者C++是“面向過程”的語言诫欠,Java是“面向?qū)ο蟆钡恼Z言涵卵。直到畢業(yè)之后還有人問我,到底什么是“面向?qū)ο蟆本幊袒牡稹D菚r(shí)候我想了一下轿偎,說,其實(shí)這是一種思維方式被廓,一種編程里面的世界觀坏晦。

很高深對不對~~~

由于高級語言可以直接表達(dá)編程人員的思想,人類的思維方式千差萬別嫁乘,人類的世界觀更是不盡相同昆婿,于是便有了各種各樣形式各異的編程語言了。其目的蜓斧,就是為了貼合思維方式仓蛆,從而可以方便地把想法轉(zhuǎn)換為代碼。如果你認(rèn)真學(xué)過不同的人類語言挎春,你就會發(fā)現(xiàn)不同人類語言中也包含著不同文化不同國家的人的不同的思想多律。作為一個(gè)例子痴突,所謂的“面向?qū)ο蟆本幊蹋渌季S方式就是認(rèn)為問題里出現(xiàn)的“東西”狼荞,都可以抽象成一個(gè)一個(gè)的“對象”辽装,通過這樣的抽象,把問題簡單化相味,模型化拾积。相對的,另一種編程模型丰涉,“面向過程”編程拓巧,則是認(rèn)為問題都可以分解為一個(gè)一個(gè)的步驟,所謂的解決問題一死,就是想好每個(gè)步驟按部就班地完成肛度。

以上是我個(gè)人的理解,偏頗之處投慈,我才不管啦承耿!

下一節(jié)課,我們開始拿起槍伪煤,扛起炮加袋,正式寫代碼!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末抱既,一起剝皮案震驚了整個(gè)濱河市职烧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌防泵,老刑警劉巖蚀之,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異捷泞,居然都是意外死亡恬总,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門肚邢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來壹堰,“玉大人,你說我怎么就攤上這事骡湖〖溃” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵响蕴,是天一觀的道長谆焊。 經(jīng)常有香客問我,道長浦夷,這世上最難降的妖魔是什么辖试? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任辜王,我火速辦了婚禮,結(jié)果婚禮上罐孝,老公的妹妹穿的比我還像新娘呐馆。我一直安慰自己,他們只是感情好莲兢,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布汹来。 她就那樣靜靜地躺著,像睡著了一般改艇。 火紅的嫁衣襯著肌膚如雪收班。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天谒兄,我揣著相機(jī)與錄音摔桦,去河邊找鬼。 笑死承疲,一個(gè)胖子當(dāng)著我的面吹牛邻耕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播纪隙,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼扛或!你這毒婦竟也來了绵咱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤熙兔,失蹤者是張志新(化名)和其女友劉穎悲伶,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體住涉,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡麸锉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了舆声。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片花沉。...
    茶點(diǎn)故事閱讀 38,161評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖媳握,靈堂內(nèi)的尸體忽然破棺而出碱屁,到底是詐尸還是另有隱情,我是刑警寧澤蛾找,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布娩脾,位于F島的核電站,受9級特大地震影響打毛,放射性物質(zhì)發(fā)生泄漏柿赊。R本人自食惡果不足惜俩功,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望碰声。 院中可真熱鬧诡蜓,春花似錦、人聲如沸奥邮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽洽腺。三九已至脚粟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蘸朋,已是汗流浹背核无。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留藕坯,地道東北人团南。 一個(gè)月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像炼彪,于是被迫代替她去往敵國和親吐根。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容