你是怎麼看待程式語言是一種工具這句話的?

時間 2021-05-11 13:21:26

1樓:ydc

數學家抽象推理,設計演算法。

工程師正確實現演算法並提供介面。

對具體程式語言的依賴依次遞增。這不是什麼壞事,而是合理分工。

所以對數學家,程式語言最多是輔助思考的工具,一般他們用筆。對工程師,是一種實現演算法的改bug遊戲。對碼農來說,是大的娛樂生態圈。

2樓:

首先要定義工具。

假如工具定義為:只要演算法和資料結構,語言的是可以無視特性的工具。那麼毫無疑問是錯誤的。

假如工具定義為:我們最終的目標是實現出乙個東西來,不要因為偏好某種語言而罔顧本身特性,非要用彙編寫效能要求不高的前端,非要用 js 寫 kernel ,語言是達成目標的手段,而不是目標本身。在絕大多數情況下是對的。

這題目下面逼王甲和逼王乙說的工具根本不是一回事,甚至意思完全相反。然後還能爭得面紅耳赤。

3樓:flyingfish

程式語言是工具,演算法和資料結構也是工具,只是更加抽象。

真正的實力是能夠將現實問題抽象成數學問題,然後用工具實現。所以數學才是核心。

數學強的才是頂級高手。

4樓:文歆雲

程式語言是工具,這句話的隱性前提是:在你打算實現乙個具體需求的情況下。

你之所以會覺得語言是搭建程式的材料,是因為你的前提是:寫乙個程式。

你之所以會以寫乙個程式為前提來考慮程式語言是什麼,我斗膽的猜一下是因為你還沒真正接觸過具體工作中的具體需求。

倘若有一天你參加工作,面對八門的需求你就會明白了,程式語言真的就是乙個工具。

程式猿核心價值觀:實用主義。

5樓:飛小沙

語言確實是工具,但不同的語言的熟練都是需要精力和時間的,它們也都有著各自的特點的。

思想不應該侷限於某種語言,但落地必須依靠某一種或幾種語言去實現,和專案的技術選型、架構設計一樣,一切都是權衡

6樓:

對於只會一種語言的人來說,這種說法有些殘酷。

計算機語言是一種非常特別的工具,它如此頻繁的被使用,被程式設計師所信靠,以致於發現它的一點瑕疵,都會成為困難。

7樓:土地測量員

這話本身沒啥問題啊。

問題在於大多數人把工具的地位看低了。哈勃望遠鏡也是觀測宇宙的"工具",你能說它不重要嗎?

而且…大部分人連用好工具的程度都做不到。

8樓:清風雅聽

說得好,說的對, 不僅是程式語言, 連所有的IT技術統統都只是工具, 是磚瓦,是螺絲釘, 只有行業的業務需求才是核心

9樓:

對於運維、資料分析和白帽來說,由於最終產品不是軟體而是服務,程式語言就是個工具。

你跟我說它還是原材料?不存在的。

可能IT裡面絕大部分都是開發,你們才有了某種錯覺。

10樓:

程式語言是工具的確沒毛病,就像砍樹要用斧子,挖坑用鐵鍬,木工用刨子一樣,不同的工作要選擇不同的工具。

考慮到題主的身份和目的性:作為學生,想在畢業時進個大廠找份體面的工作 — 「資料結構和演算法是核心」這句話本身沒問題。

可是我認為,對於程式設計,或者說軟體工程來講,思想才是最重要的,是核心。乙個專案,選擇什麼語言,資料結構如何組織,採用哪種演算法,注重效能還是可擴充套件性,快速實現還是加強健壯性,都是思想的體現。在此前提下,無論是程式語言,還是資料結構和演算法,或者是敏捷開發,甚至是某個具體 Coding 的人(沒有歧視的意思,大概是指實現功能的工時),都是工具。

有思想和沒思想的差別大概在於,給出一項砍柴的工作,有些人會考慮用斧子還是刨子,進而考慮到先磨刀還是直接砍,另外有些人則只會考慮刨子有幾種用法,哪種刨法效率更高。

在專案中實踐,是吸取他人思想,沉澱自己思想的好方法。

11樓:龍龍

語言不是工具是什麼?不用說計算機語言,我們平時說的漢語英語不都是工具嗎?不都是用來表達自己的嗎?不把語言定義為工具我想知道還能定義成什麼!

12樓:brambles

程式語言只是工具, 真的只是工具. 重要的是領域明白嗎?

程式語言就是一支筆, 不同的程式語言就是不同的筆, 大同小異.

關鍵不是這支筆如何如何, 而是你準備拿這支筆做什麼. 是書寫文章, 還是作詞譜曲, 或者繪畫山水.

文章, 譜曲, 繪畫, 這就是不同的領域. 也許他們可以用同一種筆, 但是你以為學會了用這只筆就等於學會了寫文章, 譜曲, 或者繪畫嗎?

用筆的基本功不是什麼奇技淫巧, 而是筆隨心動, 你能想到什麼, 你就馬上用筆寫或畫下來, 這筆就算用精通了. 用筆僅僅是最基本的而已, 當然要學好, 但是千萬不要糾結在用筆的奇技淫巧上, 比如糾結在怎麼倒著用筆帽畫花這種愚蠢的事情上.

接下來, 更重要的是如何寫文章, 如何普出好聽的樂曲, 和如何畫出美的畫作.

13樓:Glavo

要看你怎麼學,怎麼用語言。

如果你說我要學一下 Perl 來處理一下我的文件,學一下 Python 爬一下題目,那對你而言語言確實是工具。如果不是這樣,那語言即工具這種說法是不妥的。

14樓:977

程式語言是工具,編譯器,作業系統是工具,演算法是工具,資料結構是工具,各種亂七八糟的庫是工具,每天寫的函式,類也是構建上層建築的工具,甚至重構,設計模式,敏捷開發,測試驅動都是思維工具,還有一堆數學工具。從工程學的角度,用這些工具構建出產品。

工具這詞不帶貶義的吧,是不是自己給這個詞加上了隱喻,覺得那麼幸苦上個大學就是學工具的,事實就是如此,使用工具也可以很高階。

15樓:winnie Shao

所有的語言都是工具,無所謂自然語言或者程式語言。

掌握漢語,不等於能寫出經典著作,思想和技巧才能。

掌握程式語言,不等於你就能完成工作,資料結構和演算法才是核心。

16樓:

資料結構和演算法是核心這句話是對的,就算你寫個最簡單的「hello world」,也使用了時間複雜度為O(1)的演算法不是嗎?寫個陣列也用了陣列這個資料結構不是嗎?有人寫程式能不使用輸出,陣列,迴圈,判斷的嗎?

這些東西就是最簡單的演算法跟資料結構啊!這不是核心嗎?

語言只是工具也是沒錯的,但工具也分好壞的。用C#在win上寫wpf不是美滋滋?用C++和qt寫win程式也沒人攔你啊。

再厲害點,使用乙個簡單的工具造出乙個功能複雜的工具(用C#寫出http://

asp.net

mvc類似框架)方便以後的開發這也是沒問題的。選擇好的工具能使你更有效率,但一定逃不過輸出迴圈判斷陣列這種最基本的演算法和資料結構

17樓:阿瑞斯的理想國

先說結論:程式語言是不是工具,得看你用什麼樣的尺度來看世界。這個世界上的所有一切,包括程式語言,都可以被認為是工具。

這個世界是分層的,每一層的東西,對它下一層的東西而言,都是工具;而它上一層的東西,又是它的工具。

上圖不是特別嚴謹,但也能基本上說明問題。

人類的語言是用來表達思維的,所以可以把語言看成是思維的工具。這也就是為什麼大家都說,學習一門外語能開啟一扇窗的原因。因為學習一門外語,就掌握了一門工具,從而能夠更好地描述思維,也可以看到別人是

在人類語言的基礎上,人類構建了數學、物理等基礎學科,這些學科高度抽象,很多時候甚至只是純粹的推理,甚至不解決實際問題,但我們使用這些東西,進一步將語言細化,將語言的功能拓展,提高了語言的描述能力,不再只是描述一些簡單的事務,所以這些基礎學科是語言的工具。

計算機、網際網路等一些工業產品,是構建在基礎學科基礎之上的,有了網際網路和計算機,可以大幅提高基礎學科的研究效率,計算機和計算機語言的產生,本身也是為了基礎學科的研究。所以計算機、網際網路相比數學、物理等基礎學科,就是工具。

再往上走,像編輯器、工具軟體、設計工具,是為了提公升計算機的效率,所以相比計算機等工業工具,它們又是工具。

再次宣告一下,這個圖只是隨手畫的示例,每個層的區分並不嚴謹,層與層之間可能還有其他層,但我想大體的意思還是清楚的。

所以,不要糾結什麼東西是不是工具,這個世界上的所有一切,都可以被認為是工具。

但也不要神化程式語言,它和榔頭、蒸汽機一樣,都是一種工具。

18樓:yaoyao

程式語言是一種工具這句話沒錯。

但你要知道:

1、工具和工具是不一樣的

2、你會用一種工具並不代表你能用好這種工具3、你會用N種工具也不代表你會選擇工具

19樓:

「程式語言只是工具」

這句話不是在說「語言不重要,演算法更重要」。

這的意思是,理解程式設計的本質才是重要的。

程式設計的本質難道就是「演算法」+「資料結構」這麼簡單嗎?

當然不是啦,不然為什麼要有這麼多程式語言……其實說這些「文縐縐」的話沒什麼意思。你的興趣如果是演算法,那就搞演算法咯。你的興趣如果是賺錢,就去用什麼語言做什麼最容易賺錢咯。

反正,無論你選了哪條路,你最終會發現,演算法還是逃不掉,語言也逃不掉。殊途同歸。

(中途轉管理層另說)

20樓:

就算是工具,熟能生巧。比如同一把錘子,有人可以修航空母艦,有人只能修自行車,話糙理不糙。而且,一般提到程式語言,肯定也是基於某一具體應用領域而言的,比如伺服器開發,計算機視覺什麼的。

我是這樣想的

21樓:shooting

這句話「語言只是工具,資料結構和演算法才是核心」

1,太老了。年代不一樣,計算機從業者面臨的問題複雜度也不一樣。語言確實還是工具,傳統意義的資料結構演算法卻不再是我們面臨的最大問題了。

2,並不表示你不用學習他們。不管是語言也還,資料結構,演算法也好。老老實實回去好好學。

學校那點東西真的是基礎的基礎,不學會連話都不會說。學會了,你才有機會考慮別的。馬雲敢說「錢不是問題」,你憑啥?

22樓:

程式語言,是電腦的性。

男人能被暴露的畫面挑動,女人能被情話挑動——而唯有機器,只對機器語言的邏輯敏感。

它不在乎你的時間長短,10000行也行,hello world也行,只要邏輯到位,它就溫順的在你指頭間臣服。

哪怕它平時多麼高冷,哪怕它是超級計算機,只要邏輯到位,10000顆不能集中的心,40000個不能共鳴的執行緒,此刻都會為你服務。啥都聽你的,bug成feature,幫你擠牙膏,開啟排風扇,就等你的進入。當最終核彈炸裂的那一刻,全微軟迴盪著"燙燙燙燙"的低語還有"屯屯屯屯"的谷歌,在BOOM中迸出的三星照耀下,成功地和機器完成了生命的大和諧。

23樓:冒泡

技術沒有不重要的,只是看具體場景的相對相對重要性對初學者來說,工具最重要,你對乙個文化不高的農民說,耕牛和拖拉機只是工具,改善農作物基因才是核心工程,有用?

對比較高水平的人來說,語言不僅是工具,更是一種思想和哲學所以我一直覺得這句話是那些熟了一些語言但是演算法剛入門的人說的,心理補償罷

是掌握多種程式語言更重要還是鑽研一種程式語言更重要?

精神病人思路很廣 來一盆冷水,都不重要。重要的是你運用開發工具解決問題的能力。思考一下,最早用386執行的程式和現在跑在x64平台的程式有什麼本質區別嗎,開發這些程式的人有本質區別嗎,其實都沒有。區別在於,現在程式設計師擁有這幾十年以來的開發經驗和財富催生出的各種開發工具和工程思想而已。但是本質都是...

別人說程式設計重要的是一種思想,而不是語言本身,我該如何反駁?

事實上你需要做的不是反駁,而是思考他為什麼持這個觀點 因為這個思想,通常經驗淺顯的開發者是無法體會到的,起碼學習兩門以上的語言才會明白這個道理 通俗的回答就是,本來就是這樣。 無缺草 實際上,這句話是真理。你在證明中,會嘗試去反駁真理嗎?這句話是在更高的層次看問題,是一種總結性的觀點。既然總結,你必...

漢語是一種什麼語言?

CG藝術 1,單音節語言。即 漢語中的基本語言要素 語素 有意義的發音 對應乙個音節 音譯詞除外,比如來自義大利語的沙發,沙與發兩個音節在這個詞彙中無法承擔乙個語素的功能。2,聲調語言。且是聲調語言中的曲拱聲調語言。即 漢語利用了聲音中的物理屬性中的 音高 作為語義的表達方式,且這種音高是存在內部變...