邏輯思維和編程的關係

来源:http://www.cnblogs.com/xiaoqianqian/archive/2017/11/15/7839968.html
-Advertisement-
Play Games

無數遍的被問到一個問題,沒有邏輯思維是不是學不了編程?“邏輯思維”這個詞,很多人會對它敬而遠之。因為大多人,也包括我在內,我們這些並沒有天生才智的人來說,似乎總認為這是自己不擅長的領域。 ...


無數遍的被問到一個問題,沒有邏輯思維是不是學不了編程?

 

“邏輯思維”這個詞,很多人會對它敬而遠之。因為大多人,也包括我在內,我們這些並沒有天生才智的人來說,似乎總認為這是自己不擅長的領域。

 

這4年前在網上突然出現了一檔脫口秀節目,叫做《羅輯思維》,一個姓羅的胖子每次都在視頻跟大家分享他剛剛學到的知識。從天文地理、到人文歷史,再到科技領域,無所不談。我們突然間發現,原來邏輯清晰的思考一個問題,並非理科生的專長。我們大多數人只是從來沒有嘗試過去認真的思考每一個問題罷了。

 

尤其是對於IT行業的人來說,幾乎所有人都會有一個共識:“腦子不行,學不了編程。”可是我想問,所謂的腦子不行,到底是哪裡不行呢?

 

你可能會覺得,學數學或物理專業的人腦子一定很聰明對吧? 我身邊有不少學這些專業的朋友。但我真沒覺得他們在生活中表現的有多“聰明”。有時我會問他們,你數學為什麼學這麼好?而他們的回答是:“別扯淡了,只是比你好而已吧?老子學了這麼多年,要是連你都趕不上,那不成傻子了?”

 

我突然間意識到,其實沒有什麼所謂的專業人士。只是因為他們在某個領域學的更久,付出的更多,經驗比常人更豐富而已。

 

所以,邏輯思考能力也絕對不是天生的。當一個人剛出生時,在嬰兒時期,我們是無法確定他將來適合從事什麼職業的,所以對於嬰兒來講,不存在文科生理科生的區別。這個時候他就是一張白紙,你朝著哪個方向去繪畫,他將來就會成為什麼樣的作品。所以,除了一些生理本能(比如呼吸)。幾乎沒有任何能力可以從娘胎中帶出來。

美國有一個非常著名的脫口秀主持人,他曾經在2010年的美國記者年會,作為唯一受邀的相聲演員,表演了15分鐘的脫口秀。他的名字叫黃西,相信很多人對他應該很熟悉。但大家可能不知道的是,黃西在24歲拿到了美國德克薩斯州萊斯大學的生物化學博士學位。
他從一個生化博士,到一個人氣爆棚脫口秀網紅,行業跨度簡直大到讓人不可思議。那我們不禁要問,黃西到底在哪方面有天賦呢? 

其實都不是,這完全是後天大量訓練的結果。你看到的姚明,只是千萬籃球運動員中的其中之一。他固然有著身高的天賦。但他多年來所付出的努力,卻往往會因為他的天賦,被我們所忽略掉。況且,全中國也就只有一個姚明,我們不能僅僅看到了這個行業的千萬分之一,就輕易的下結論說:“沒有像姚明的天賦,還是不要打籃球了。”,我想,這句話是對所有籃球愛好者的不尊重甚至侮辱。事實上,我們絕大多數人的努力程度,還遠遠達不到要談天賦的地步。

 

所以,一般在兒童當中,我們從來不談論什麼智商,相反,一群成年人在一起,我們卻經常會說,你看,那個家伙智商真低。
我們的智力測驗題,也往往都是針對小孩子,而不是成年人,就是因為智力不是固定的值,小的時候因為大腦發育還沒有完善,閱歷也不夠豐富,所以這個時候同等條件的測試很容易看出天賦上的差距。但大了再測智力不能說明什麼問題了,因為人是會學習的。有誰會一輩子停止不前呢?

 

其實,對於我們成年人來說,人人都是具備邏輯能力的。

為什麼這麼說呢?我來舉個例子,在專業的邏輯思維範疇當中有一項特別重要的能力,叫做類比能力,類比是我們人類學習任何新生事物的最基本最重要的能力。

比如我們要學習如何騎電動車,這對於成年人來講,再簡單不過了,為什麼呢?因為我們都有騎自行車的經驗,都有車把來控制方向,都有兩個輪胎,都需要掌握平衡。他們相似的地方太多,所以我們通過兩者之間的比較很容易就能學會騎電動車。包括開汽車也是一樣,即使教練不告訴你,你也知道方向盤向左打是左轉向,向右打是右轉向,這些都是來自於我們的過往經驗。通過簡單的對比,我們就快速的掌握的未知的技能。

但是回憶一下,你學習自行車的過程,通常應該是比較痛苦的,因為你要經過無數次的摔跤才能掌握平衡,而且在這之前似乎沒有太多相似的經驗讓你去比較和參考。這就叫無經驗可類比,因此你學習的是一個全然陌生的事物,就會比較困難。這是屬於正常現象,這和智商高低無關。所以對於我們學習編程來說,掌握類比能力,就變得尤為重要。

再跟大家舉一個更加貼近生活的例子
比如你看到某個人好吃懶做,然後你罵他:“你真是個豬”,請註意,當你在罵他是個豬的時候,其實你已經做了非常嚴密的邏輯思考,因為豬也好吃懶做呀,他們有很多共同點,所以你才會得出這樣的結論。你為什麼不罵他是條狗呢?因為狗不具備這些特點。所以你看,連罵人都需要邏輯思考,這項能力你已經運用了20多年,你怎麼能說你不熟練呢? 其實很多時候我們只是沒有察覺到而已。

我們可以通過一個簡單邏輯思想訓練來瞭解一下,我們是如何思考問題的。

首先,我們給出一個大的命題,所有的汽車都有輪胎,
其次,我們再給出一個小的命題,特斯拉是汽車

請問:特斯拉有沒有輪胎?

 

結論很簡單,既然特斯拉屬於汽車,那麼它毫無例外的,應該也有輪胎。
我們剛纔所使用的推理方法,是演繹推理當中,最經典的三段論。

先有一個大前提,

所有m(汽車)是p(有輪胎),

然後再來個小前提,s(特斯拉)是m(汽車),

因此,s(特斯拉)是p(有輪胎)

 

一旦掌握了這個方法,我們就可以拿它來學習一些專業問題了。
例如

給出一個大命題:所有的程式都運行在記憶體中
給出一個小命題:操作系統是程式
我們可以再次根據三段論,推出,操作系統也運行在記憶體中。

 

你看,即便你沒有專業的背景知識,學起來也毫不費力。這種推理方法你平時也會經常使用,只是你從來都沒發現......


來源:千鋒html5


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 負載均衡集群企業級應用實戰-LVS 實現基於LVS負載均衡集群的電商網站架構 背景:隨著業務的發展,網站的訪問量越來越大,網站訪問量已經從原來的1000QPS,變為3000QPS,網站已經不堪重負,響應緩慢,面對此場景,單純靠單台LNMP的架構已經無法承載更多的用戶訪問,此時需要用負載均衡技術,對網 ...
  • 策略模式,顧名思義就是設計一個策略演算法,然後與對象拆分開來將其單獨封裝到一系列策略類中,並且它們之間可以相互替換。首先LZ舉一個例子為大家引出這一個模式。 例子:某公司的中秋節獎勵制度為每個員工發放200元,現在我們設計一個員工基類, 然後讓公司各個職位繼承它。(普通員工GeneralStaff 項 ...
  • Title {{message}} {{num1+num2}} {{temp?name:name2}} 大人們往往會因為小孩子們崇拜拾荒者、郵差以及起重機司機而感到擔憂,但現在看來,比起我們成年人所崇拜的那些好萊塢大糞坑裡的蛆,孩子們的理想似乎要崇高的多。 ... ...
  • Project 可以理解為項目、工程或者站點,以下稱項目。使用項目管理的好處是:不用將所有文件都放到同一個根目錄,可以將相關但不同路徑的文件組成一個Project,每個項目都是獨立的,文件的狀態等都會被保存,因此只需一個視窗便可以在多個項目中隨意切換。 ...
  • DOM(Document Object Modle) 操作文檔的編程介面DOM定義了表示和修改文檔的方法,不能修改css樣式表,在js中使用DOM方法改變元素的css樣式,實質上是在元素上添加行間樣式。DOM對象就是宿主對象,用來操作HTML和xml功能對象的集合。 xml——>xhtml——>ht ...
  • ES的數據類型: 原始類型(值存在棧記憶體中): Number、String Boolean、undefined、null charAt(index)返回該index所在的位元組,charCodeAt(index)返回該index所在位元組的Unicode值。 undefined和null不能和數字進行比 ...
  • 之前對 MVVM 模式一直只是模模糊糊的認識,正所謂沒有實踐就沒有發言權,通過這兩年對 Vue 框架的深入學習和項目實踐,終於有了撥開雲霧見月明的感覺。在此記錄一下,算是拋磚了。 ...
  • const Koa = require('koa'); const route = require('koa-route'); const app = new Koa(); const about = ctx => { ctx.response.body = 'Hello World111'; };... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...