亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

今天聊聊編程的本質(zhì)。程序就是數(shù)據(jù)結(jié)構(gòu)+控制+邏輯,程序員編程工作的本質(zhì)是翻譯,翻譯機(jī)要來了,程序員怎么辦?

黑客帝國(guó)中的程序

黑客帝國(guó)4就要上映了,不知道前三部你看懂了么?值得多看幾遍。

黑客帝國(guó)的主角就是程序(Program)。Achetict是歷史實(shí)踐家,通過歷史的變遷洞察了規(guī)律,來確保Matrix何時(shí)誕生、何時(shí)發(fā)展、何時(shí)崩潰、何時(shí)重建。Oracle是大數(shù)據(jù)的化身,代表了人類特有的直覺,具有洞察和預(yù)測(cè)的能力,掌握了情感和人性。里面許多Program個(gè)性十足,和真人相比也不遑多讓。

企業(yè)數(shù)字化轉(zhuǎn)型,先要看懂黑客帝國(guó)

「博士聊IT」一文看懂編程的本質(zhì),程序員有前途么?

黑客帝國(guó)的主角是程序

程序不僅僅是信息的載體,它和人腦一樣,是處理信息的工具,可以說,程序是人類思維的外在表現(xiàn),軟件把原來在思維空間中進(jìn)行的抽象的活動(dòng)轉(zhuǎn)化成一種能夠可視的過程當(dāng)我們編程序時(shí),尤其我們?cè)谡{(diào)試程序,也就是Debug的時(shí)候,這種感覺更加明顯。一個(gè)程序員讀著另一個(gè)程序員源代碼的時(shí)候,能夠感覺到他的思維在跳動(dòng)(當(dāng)然,亂跳也是跳)。

編程的本質(zhì)是什么

程序本身的執(zhí)行基礎(chǔ)是機(jī)器語言,但人類掌握機(jī)器語言太困難了。最早的程序員都要用機(jī)器語言去編寫代碼,用紙帶輸入程序,費(fèi)時(shí)費(fèi)力,不是數(shù)學(xué)家根本掌握不了。

人類是追求高效率的生物,很快語言就有了進(jìn)化,出現(xiàn)了匯編語言、Lisp、Fortran、Basic、C......大多數(shù)軟件都是用高級(jí)編程語言編寫的,對(duì)于程序員來說,它們更容易、更高效,因?yàn)樗鼈儽葯C(jī)器語言更接近自然語言。很可惜,中國(guó)沒有自己的編程語言。

?中國(guó)為什么沒有自己的編程語言?哲學(xué)、數(shù)學(xué)和語言學(xué)基礎(chǔ)是關(guān)鍵

「博士聊IT」一文看懂編程的本質(zhì),程序員有前途么?

編程語言是程序員的工具

那么這些語言本質(zhì)是做什么的呢?

軟件行業(yè)有兩個(gè)著名的公式 :

1、程序=數(shù)據(jù)結(jié)構(gòu)+算法

瑞士計(jì)算機(jī)大師Niklaus Wirth

 

「博士聊IT」一文看懂編程的本質(zhì),程序員有前途么?

 

他發(fā)明過Euler、Algol-W、Pascal、Modula 和 Oberon。

數(shù)據(jù)結(jié)構(gòu)實(shí)際上說的是信息和數(shù)據(jù)如何被組織起來。

這里最著名的就是由本體論(Onology)發(fā)展過來的面向?qū)ο蠓治龇椒ǎ∣OA)。就是按照分類(屬性+方法)、繼承、重載和多態(tài)等。

分類是人類理解世界的根本,就從哲學(xué)觀點(diǎn)上來看,這是我們認(rèn)識(shí)世界的方式。我們的生物需要分類,就是門、綱、目、科、屬、種;法律需要分類,輕度傷害、重度傷害量刑不同;社會(huì)管理要分類例如不同企業(yè)上不同的稅;產(chǎn)品需要分類,不同的產(chǎn)品有不同的參數(shù).......我們思想和語言交流的基礎(chǔ)就是分類。

「博士聊IT」一文看懂編程的本質(zhì),程序員有前途么?

面向?qū)ο笫菓?yīng)用最多的數(shù)據(jù)結(jié)構(gòu)分析方法

如果不用到分類,世界的事物,無法有效地組織起來,我們也不能有效地表達(dá)我們的思想,編程語言率就低了。很多程序員都不喜歡繼承,確實(shí)對(duì)我們編程限制很大。但你設(shè)想一下,如果不能把“哺乳”這個(gè)方法放到哺乳動(dòng)物的分類上,我們要對(duì)許多哺乳動(dòng)物的子類進(jìn)行操作。基于類別的數(shù)據(jù)結(jié)構(gòu)是最好的信息壓縮方式。

事實(shí)上我們說的每一個(gè)名詞都是一個(gè)分類,當(dāng)加上編號(hào)或者定冠詞就變成實(shí)例了。

分類決定屬性,一個(gè)分類的屬性有兩種來源:從爹媽那兒繼承的,自己特殊的。當(dāng)然這個(gè)分類也會(huì)有孩子繼承他的屬性。

分類決定方法,道理是一樣的。重寫是一種繼承中的變異,大規(guī)模重寫分類就亂套了;多態(tài)是對(duì)方法的封裝,以便模糊調(diào)用,在實(shí)際中,操作分類、屬性和繼承關(guān)系的難度很大。確實(shí)作為軟件開發(fā)人員,在實(shí)踐中對(duì)我們一無所知,這也是很需要業(yè)務(wù)專家的原因。

算法的本質(zhì)是什么?是對(duì)數(shù)據(jù)的處理。

語言是人類思維的文字表現(xiàn)。有的人語言條理清晰,有的人雜亂無章,難以一概而論,其中所包含的信息量也不一致。我們從小學(xué)就接受語文訓(xùn)練,反復(fù)練習(xí)每句中心詞是什么?段意是什么?中心思想是什么?這種訓(xùn)練就是幫助我們建立起語言所包含語義的邏輯性,才能保證對(duì)方能夠順利地接受信息所包含的語義。

我們所訓(xùn)練的這種表達(dá)就是一種算法,大家可以試著想象一下你周圍的人算法處理能力,有的人啰哩啰嗦說不清楚,有的人詞義準(zhǔn)確、邏輯清晰、言簡(jiǎn)意賅、沒有廢話,這種人對(duì)這件事情的算法能力就很強(qiáng)。

如何衡量一段文字所包含的信息量呢?前蘇聯(lián)科學(xué)家柯爾莫洛夫提出了信息量度量的新方法:除了基于組合和基于概率方法之外,他提出了基于最短程序長(zhǎng)度的信息量度量方法。算法信息論的代表。

「博士聊IT」一文看懂編程的本質(zhì),程序員有前途么?

柯爾莫洛夫發(fā)明了算法信息論

例如我們說:3.1415926..........和說一個(gè)pai“”在本質(zhì)上是一樣的。

后面大家有機(jī)會(huì)可以深入了解熵這個(gè)概念,算法就是逆熵操作,算法的效率就是算法逆熵的能力大小。

2、算法=控制+邏輯

英國(guó)計(jì)算機(jī)大師Robert Kowalski

他發(fā)明了邏輯編程,他的學(xué)生研制了Prolog的編譯器。我們把公式代入:

「博士聊IT」一文看懂編程的本質(zhì),程序員有前途么?

 

控制就是指程序?qū)凑帐裁礃拥牧鞒毯晚樞蜻M(jìn)行計(jì)算。

順序有簡(jiǎn)單的,也有非常復(fù)雜的。例如人機(jī)交互的流程就比較復(fù)雜:

「博士聊IT」一文看懂編程的本質(zhì),程序員有前途么?

復(fù)雜的控制過程

控制就是指程序的計(jì)算步驟,先算什么,后算什么,如何跳轉(zhuǎn),如何回退。

邏輯就是指數(shù)據(jù)結(jié)構(gòu)按照什么規(guī)律如何相互影響。

當(dāng)翻開歐幾里的《幾何原本》這本書時(shí),所有人都會(huì)立刻產(chǎn)生仰慕感。這本距今2000多年前的書從定義出發(fā),點(diǎn)、線、面逐步推進(jìn),明確了本書涉及到的公設(shè),明確了其中的公理(不言自明的道理),然后就將我們初高中所學(xué)幾何知識(shí)幾乎一網(wǎng)打盡。

「博士聊IT」一文看懂編程的本質(zhì),程序員有前途么?

你的幾何應(yīng)該沒有2500年前的歐幾里得好

是的,我們初中、高中學(xué)的幾何學(xué)就是典型的邏輯。

1879年,德國(guó)科學(xué)家弗雷格出版了《概念文字》一書,這本書的副標(biāo)題是”一種模仿算數(shù)語言構(gòu)造的純思維的形式語言”。弗雷格的語言對(duì)于我們來說就很熟悉了,我們?cè)诖髮W(xué)數(shù)學(xué)中用到的很多符號(hào),如存在,任意等符號(hào),都是源自于這本書。

傅雷格奠定了邏輯學(xué)的基礎(chǔ),羅素等人完善了命題邏輯和一階邏輯,再往后馮諾依曼、圖靈、邱奇、麥卡錫、巴克斯等人發(fā)明了計(jì)算機(jī)。是的,這些人都是與世無雙的邏輯學(xué)家,確切地說是數(shù)理邏輯學(xué)家。

「博士聊IT」一文看懂編程的本質(zhì),程序員有前途么?

數(shù)理邏輯發(fā)展簡(jiǎn)史

編程的本質(zhì)是把人的思想變成計(jì)算機(jī)可執(zhí)行的機(jī)器代碼。

程序員工作的本質(zhì)是什么?

說到這里,很不幸,應(yīng)該你已經(jīng)猜到了?

程序員的工作性質(zhì)的本質(zhì)是翻譯,把人類的思想需求翻譯成機(jī)器可執(zhí)行的代碼。任何高級(jí)語言都是用來表達(dá)思想的。高級(jí)語言都會(huì)被翻譯成機(jī)器語言,驅(qū)動(dòng)計(jì)算機(jī)去執(zhí)行。

「博士聊IT」一文看懂編程的本質(zhì),程序員有前途么?

程序員的本質(zhì)

因此,你可以認(rèn)識(shí)到軟件的世界中有兩個(gè)實(shí)質(zhì)性的內(nèi)容:思想和機(jī)器語言。思想是我們希望計(jì)算機(jī)做什么?當(dāng)前軟件從業(yè)者:從業(yè)務(wù)人員、項(xiàng)目經(jīng)理、架構(gòu)師、程序員、測(cè)試人員、實(shí)施人員,他們都有一個(gè)共同的工作性質(zhì):翻譯。就是把思想翻譯成機(jī)器語言。

你可能會(huì)質(zhì)疑,現(xiàn)在人工智能這么發(fā)達(dá),為什么不弄個(gè)翻譯機(jī)呢?

「博士聊IT」一文看懂編程的本質(zhì),程序員有前途么?

這個(gè)能取代編程?!

很不幸你又猜對(duì)了,翻譯機(jī)要來了。取代程序員的工作已經(jīng)開始了。

其中低代碼平臺(tái)就能減少翻譯人員的數(shù)量,無代碼平臺(tái)讓需求者直接對(duì)接機(jī)器。

數(shù)據(jù)結(jié)構(gòu)現(xiàn)在可以做成模型驅(qū)動(dòng)和可視化的表單,控制可以做成可視化的流程和活動(dòng),要是邏輯問題也解決了,可能大部分軟件需求就真的不需要程序員做翻譯了。

「博士聊IT」一文看懂編程的本質(zhì),程序員有前途么?

低代碼無代碼能終結(jié)編程么?

分享到:
標(biāo)簽:程序員
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定