程式設計需要邏輯

2021-05-04 08:04:44 字數 743 閱讀 9589

程式設計——最初只是研究數學的要做的工作。現在已經成為一項大眾遊戲。原來數學工作者在計算機上進行的程式設計工作——已經成為沒有多少人會去做的「低層「工作。而對於數學工作者或核心程式設計人員來說,做現在這種普遍的程式設計工作沒有什麼吸引力。

計算機的發明也就是為了研究數學。

簡單地說:就是先有0,然後1,然後0+1,1+1, 。。。直至無窮。

既然通過計算機可以很好的,非常簡單地,精確地描述數學。那麼,可以用這種方法來描述文字(或者語言)嗎?

可以,它就是邏輯,它不僅是數學的語言,還是語言的語言。

遺憾的是,現在的程式設計師好像已經失去這種能力了。本質上是簡單的東西,為什麼不去做好它呢?

請看用邏輯描述乙個語言會有多麼簡單:

exp::=n|x|e+e|e-e|e*e|e/e|

boo::=true|false|!b|b&b|(b||b)|e好了,這就是乙個語言。可以想象它就是乙個c語言的子集。

exp——表示式 boo——布林值

n——數字

x——文字(變數)

!, & ,||——分別對應c語言中!, &&, ||

e>e可以由!(ec語言中!= 對應 !(==), 而==表示邏輯相等(產生布林值),=表示賦值。

以上描述就是乙個語言,可以作為我們的乙個核心語言。

有了語言,還要組裝語言以產生程式,這就要靠邏輯規則了。

所有程式的嚴格證明必須要靠一定的邏輯規則,而不是簡單的測試。

所以,今後的核心開發方法強調程式證明,而不僅僅是測試。

如何培養程式設計所需要的邏輯思維?

很少有人能單單通過所謂 邏輯思維 從複雜問題快速找到抽象的,如果有這樣的人,他的經驗,工具,方法和直覺通常起到比邏輯思維更重要的作用。寫 需要邏輯思維,但解決複雜問題更需要理解分析,寫 只是解決問題比較靠後的步驟。所以不急著寫 也不急著找抽象,先試著理解問題本身,而不是下意識地想把問題套進已知的,熟...

歸納邏輯程式設計

歸納邏輯程式設計 inductive logic programming,ilp 在一階規則學習中引入了函式和邏輯表示式巢狀。這使得,一方面機器學習系統具備了更為強大的表達能力 另一方面ilp可看作用機器學習技術來解決基於背景知識的邏輯程式 logic program 貴南,其學得的規則可被prol...

程式邏輯需要思考,程式設計師也需要思考

13級畢業生,大專專業室內設計。大專三年,前兩年用來玩了,實習的一年前半年在乙個酒店端盤子。畢業後半年再加上畢業後半年用來做了招生工作。程式設計師這行,我從未想過我會去碰觸,只是可惜命運總是這般弄人。中國式的家長,總是以自己的人生來限制孩子。我就是這般,因為知道他們是為我好,便是尊重他們的選擇,走上...