自學編程入門先學什么,第一門編程語言,我應該學什么?

 2023-10-22 阅读 20 评论 0

摘要:作者 | Daniel Bastos 譯者 | 彎月 責編 | 鄭麗媛 出品 | CSDN(ID:CSDNnews) 軟件工程師問我最多的一個問題就是,第一門編程語言應該學什么。這可能是開發人員學習過程中最大的困惑,以至于許多人覺得在得到百分百正確的答案之前,他

作者 | Daniel Bastos
譯者 | 彎月
責編 | 鄭麗媛
出品 | CSDN(ID:CSDNnews)

軟件工程師問我最多的一個問題就是,第一門編程語言應該學什么。這可能是開發人員學習過程中最大的困惑,以至于許多人覺得在得到百分百正確的答案之前,他們什么都不想學。然而現實是,你可以選擇任何一種語言!選擇哪種語言其實并不重要。

我將在本文中解釋原因,并引導你對編程語言建立正確的心態。最后,我們還將討論如何從眼花繚亂的技術棧中選擇一個。
在這里插入圖片描述

編程語言本身不是工作

初學者高估這個決定的重要性的主要原因是,他們不了解程序員的工作。作為一名軟件工程師,人們付錢給你不是因為你可以使用某種編程語言,而是因為你可以通過計算機來解決問題,并創造價值。隨著職業生涯的發展,你需要學習如何使用更簡單的解決方案,而當復雜性不可避免時,你要學會如何分解問題,將復雜的系統分解成更簡單、更易于管理的小塊。你還將學習如何向軟件添加新功能,同時還不會增加軟件的理解難度。還有最重要的是,如何讓別人也擁有這種能力。

自學編程入門先學什么?請注意,所有上述技能不依賴于任何一種編程語言。它們完全取決于你是否能夠理解軟件需求、編寫算法、將解決方案分解為更小的邏輯單元,以及了解軟件的工作原理。專注于這一點比學習任何技術棧都重要。

更好的心態

我并不是說編程語言不重要。我認為,我們應該將編程語言視為我們可以使用的工具,而不是我們的工作重心。作為一名醫生,選擇最尖端的設備也是工作中最重要的一部分,這一點毋庸置疑,但你會相信一位連手術刀都拿不穩的外科心臟醫生嗎?

在選擇第一門編程語言時,你幾乎沒有任何信息,因此這種心態就變得更加重要。人們往往害怕在錯誤的編程語言上浪費時間,然而他們沒有看到的是,每個人都有選擇錯誤語言的經歷,而且這與他們的工作沒有絲毫關系。

一般來說,選擇錯誤語言的原因有幾個:1)人們最終學習了某個以前從未接觸過的新領域(也許經過一年的學習,他們才對數據科學有一定的了解);2)他們對已知領域的信息有了更多了解(也許他們找到了更適合數據科學的 Python 庫)。

更換語言是工作的一部分

將語言視為工具的另一個原因是,你需要不斷更換編程語言。在過去的幾年里,每當加入一個新項目,我都需要學習一種新語法。有一次,我接到的第一個任務是修改產品的某個功能,要知道這個功能每天都有幾千萬的用戶使用,而且完全建立在一種我幾周前才聽說的語言之上。

編程基礎先學什么。此外,即使不換項目,團隊添加新語言的情況也不罕見,這會迫使所有團隊成員在較短的時間內掌握新語法。出現這種情況,是因為某種新語言的出現可以減輕每個人的工作負擔,或者是某個重要人物決定采用某種徹底改變行業格局的語言(比如蘋果在完全由 Objective-C 主導的 OS 中添加了 Swift 的支持,Google 在 Android 中添加 Kotlin 的原生支持)。

鑒于當今市場上有如此之多的語言,而我們所在的領域又如此活躍,快速學習新技術的能力已不可或缺。有人甚至認為,選擇一門錯誤的語言對你有好處!

各種語言之間有很大的相似性

我知道上述描繪的場景聽起來可能有點可怕。但請不要害怕,我并不是說每次你都必須從頭開始學習一種全新的思維方式。事實上,快速學習一門新語言是完全可能的,因為編程語言大多遵循類似的模式,只需要學習一次,就可以在其他地方使用。為了說明這一點,我們來看一看用以下兩種完全不相關的語言實現同一個簡單的算法。
在這里插入圖片描述

圖:用 Typescript 找出列表中最小的數字
![在這里插入圖片描述](https://img-blog.csdnimg.cn/13b3b705925b4d17b8fd4a44db97d1c6.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQ1NETui1hOiurw==,size_17,color_FFFFFF,t_70,g_se,x_16#pic_center)
圖:用 Kotlin 實現同一個算法

如何選擇語言

上述我們說明了編程語言不是工作中最重要的方面,你不需要為選擇第一門編程語言而感到困擾。但是,為了成為一名開發人員,你仍然需要做出選擇。那么如何做這個決定呢?下面是一些建議:

選擇適合領域的語言

怎么學好編程語言?有些人進入計算機科學領域時,確切地知道他們想要構建什么樣的軟件。如果你也屬于這種情況,則請選擇該領域最常見的編程語言。舉個例子,如果你想成為一名 Web 開發人員,則請學習 Javascript。安卓開發?選擇 Kotlin 沒有錯。數據科學家?那么可能應該學習 Python。明白了嗎?

選擇簡單的語言

學習算法思維和磨練解決問題的能力已經夠難了。編程語言應該只是一個工具,而不是障礙。因此,雖然從長遠來看,像 C++ 這樣的低級語言可能非常強大,而且很實用,但我建議你從 Javascript 或 Python 等腳本語言開始學習,它們的入門門檻極低,可以讓你專心學習核心的編程概念,而不是處理內存管理和底層機器問題。

選擇好找工作的語言

雖然 ALGOL 開發人員可能也有市場,但學習廣泛采用的現代語言更好找工作。如果你在兩種編程語言之間猶豫不決,則請選擇更受歡迎的一種。這樣可以保證有一個社區,在遇到問題時為你提供支持,同時也更容易找到第一份工作。如果碰巧你找到了一份 ALGOL 的好工作,那自然很好。你隨時可以回過頭去學習。

總結

學一門編程語言到底學什么好。最后,我想列出所有我學過的編程語言,作為本文的結束。我認為這很重要,因為它們見證了我職業生涯的發展軌跡。即使你做出最糟糕的選擇,也沒關系。

我學習的第一門語言是 C++,然后是 Java。這兩種語言都很棒,而且很實用,擁有龐大的用戶群以及一些非常值得炫耀的大項目。但老實說,在過去的 10 年里,我沒有使用二者編寫過一行代碼。我一生中幾乎從未在非學術環境中使用過這兩門語言。即便如此,我從不后悔學習了這兩門語言,它們為我提供了表達編程概念的方法。

因此,如果你是完美主義者,希望想清楚你應該學習哪種編程語言,那么最終答案是:隨便選擇一種即可。

  • 原文鏈接:https://medium.com/@dbastosan/what-programming-language-should-i-learn-first-and-why-it-doesnt-matter-dcf10ec52549

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/159252.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息