當我們學習一門計算機語言時,到底在學習什麼?

時間 2021-05-12 20:05:35

1樓:

以下是來自Python語言創始人 Guido van Rossum 2023年的一次演講,講述自己的經歷,以及如何創造出 Python 這種語言。關於計算機語言,他也提到乙個看法:

我想說說程式語言對使用它們的人--程式設計師來說意味著什麼。一般來說,當你要求乙個程式設計師向乙個普通人解釋什麼是程式語言時,他們會說,就是你如何告訴計算機做什麼。但如果僅僅是這樣,他們之間談論程式語言時,為什麼會如此熱衷於程式語言呢?

實際上,程式語言是程式設計師表達和交流想法的工具--而這些想法的受眾是其他程式設計師,而不是計算機。原因是:計算機可以自理,但程式設計師總是在和其他程式設計師一起工作,溝通不暢的想法會造成昂貴的失敗。

事實上,用程式語言表達的想法也常常觸達程式的終端使用者--那些永遠不會閱讀甚至不知道這個程式的人,但他們還是會受到這個程式的影響。

想想Google或Facebook等公司的驚人成功。這些公司的核心是想法--關於計算機能為人們做什麼的想法。要想有效地表達乙個想法,就必須用電腦程式,用一種程式語言來表達。

最適合表達想法的語言將給使用該語言的團隊帶來關鍵優勢,因為它能讓團隊成員--人! - 明確了這個想法。Google和Facebook的基礎思想是不能再不同了,事實上,這些公司最喜歡的程式語言在程式語言設計上是處於兩端的。

而這正是我的觀點。

以他看來,按照我的理解,我們學習的計算機語言,也是一種與同行溝通的工具,也是程式設計師向使用者(非專業的人群)展示自我能力和個性的工具。

這就是我們在學習計算機語言時,真正在學習的東西。

吃小羊:解決問題的方法——像程式設計師一樣思考

2樓:愛凡線上

最開始學語法,學環境,了解語言的特性。

接下來學習演算法,模式,懂得如何高效地解決問題。

然後學習工程,如何把前面所學的應用到現實當中去。

3樓:

從業17年了,說說我的理解吧。

學習第一種計算機語言的時候,學習的是思維方式

學習剩下其他語言的時候,就是學習語言本身的規則。因為思維方式已經基本定了。

思維方式,其實就是邏輯化、抽象化、流程、模式。

語言本身的規則就是:語法,功能的內涵和邊界(能做到什麼)。

4樓:

用計算機程式設計,歸根結底,是程式編排和領域知識兩方面的知識。

程式編排就是告訴計算機先做什麼,再做什麼(順序和跳轉),記憶體這裡放什麼,那裡放什麼。先做什麼後做什麼本質上和記憶體這裡放什麼那裡放什麼其實也是一回事。因為程式本身也是程式處理的一種資料。

這種高度抽象的東西可以表示一切程式,它有個名詞叫做圖靈機,一切通用程式語言都和它等價。

領域知識就是用計算機要解決的那個問題如何用計算機來模擬。比如說在傳統的購物中,有顧客、錢、貨物、賣家這些實體,有匯率、稅、政策這些由實體派生出的二級實體。本質上來說,乙個購物系統,就是對真實世界的這些發生的事實的乙個模擬。

有血有肉的人,在計算機裡用一條資料表示,金錢也用資料表示,真實世界裡發生的東西被簡化、抽象化,在計算機裡發生,並且產生乙個抽象的結果,對應現實世界裡具體的結果,這就是領域知識。

理論上,你掌握程式語言就是掌握用這種程式語言的語法,去按照你需要的領域知識去編排指令。

5樓:不想當鹹魚

作為一名計算機研究生,我對這個問題還是蠻感興趣,在這裡想說說我的見解,當然我不是什麼大佬,可能有所謬誤,望指出。

首先我們來回憶一下計算機語言自頂向下是怎樣執行的:

我們目前所學語言都是高階語言,計算機CPU不能直接執行,以C語言為例,先需要由編譯器將其編譯為組合語言,這是第一步,但仍然不能直接使用,於是第二步需要由彙編器和鏈結器來將組合語言轉化為可執行的二進位制檔案,也就是機器碼。二進位制機器碼則是一串串的01序列,這些序列在底層硬體中代表著高低電平,由我們的處理器控制部件按32位或64位為單位不停快速發出,這些電平會通過資料通路到達CPU中的各個部件,如ALU,暫存器組,以控制這些部件的執行,來完成一系列不同的工作。比如儲存資料,獲取資料,運算資料等基本操作。

以上說了一大堆東西,最終的目的就是想說:程式語言本質上就是控制計算機的底層執行,讓計算機按照我們指定的順序執行一系列操作。

在擁有了向計算機發出命令的能力之後(學會了程式設計語法),我們發現,應該發出怎樣的命令來解決想完成的任務,命令序列怎樣組合才能更高效,這些是我們進一步需要考慮的事情,於是乎,一門名叫''演算法''的科目誕生了。

接下來,程式設計師在程式設計的過程中逐漸發現,資料與資料之間的排放與組織結構很大程度上影響著演算法的效率和程式的執行,沒有乙個好的資料結構,就沒有乙個好的演算法,也就沒有乙個高效的程式,於是乎,一門名叫''資料結構''的科目誕生了。

最終,程式設計師在演算法與資料結構這兩個兄弟的指引下,使用計算機語言來向電腦發出一系列精心組織的命令,從而達到讓計算機自動化的去解決人類自身所難以解決的問題、讓計算機為人類高效的服務的目的。我想這就是為什麼我們要學習計算機語言:讓計算機自動化的執行命令來為人類服務,且指定應該怎樣服務,怎麼服務才能更快更高效。

我們需要培養的人才是:能夠高效的讓計算機為人類服務的程式設計人員。

機械專業最應該學習何種計算機語言?

Luppur 瀉藥個人認為現在的機械離不開計算機程式設計,搞純機械已經很不適應如今這個社會了,所以我強烈推薦乙個實用的計算機語言 python這個可以說是很適合機械類的語言,不過具體的計算還需要你有數學知識,微積分線性代數都要掌握很好,並且要形成自己的邏輯思維能力 紅燒茄子燉牛肉 本人機械專業,現在...

掌握很多門計算機語言的人不會記串嗎?

小幻影 會,但幾乎沒有影響。這段時間我高頻寫了c c python三種語言。因為都是高階語言,而且用了最好用的編譯器或直譯器 vs2019和pycharm 所以諸如python裡寫 c 裡寫int role 10 c 裡寫True和False 這種基本語法的錯誤通過報錯就能直接找出來,不會不知道問題...

計算機專業大一新生額外學習一門程式語言學哪種?

楊陽 建議先把C語言學好,C除了組合語言之外是跟計算機底層最接近的語言了,學好C語言,以後再學其它的就很容易了,因為計算機底層的東西你都會了,還怕其它需要學不好嗎。 Ins 老王 python go這些語言早點接觸,有很多好處。中國教育,尤其是計算機,太脫軌了。比如你學習python兩年,遠遠比學習...