文起
最近因為疫情的原因,我沒有出去找工作。我不會的東西還有很多,野路子學的一些程式設計知識都不繫統化。目前已經感覺到技術提升遭遇瓶頸,想在家裡沉澱一下。
我在朋友圈還打出 180 天前端逆襲計劃 的口號 ,但是自己又總有些躊躇不定。上次寫的 CSS 學習筆記我都已經忘記了—— CSS佈局之水平居中佈局。
偶然在 Medium 看到了一篇文章,比較認同作者 Lucas F. Lu 在 The Correct Way To Begin Learning How To Code 一文中的觀點,遂於作者取得聯絡,申請翻譯許可。
方法
我的翻譯方法是段落機翻。每一段文章都用谷歌翻譯直接翻譯成中文,然後自己在機翻的基礎上去做潤色。
為什麼這麼做?
- 一我英語真的差,因為學習程式設計的緣故,不怕英語而已,不怕並不代表我會,但是不怕英語,我就可以邁出第一步。
- 效率問題。這樣就不會去逐字逐句去研究,在我的英語基礎上,能夠最高效率地完成翻譯一篇英文文章的任務。
- 學習英語唄。這也是逐步學習英語的一種方式。
正題
So, I have taken the first step and decided to fiddle the idea of programming, now what?
因此,我邁出了第一步,決定擺弄程式設計的想法,現在呢?
A guide for anyone to start writing codes
任何人開始編寫程式碼的指南
First and foremost, I would like you to answer yourself the question of “WHY?”.
首先,我想請您自己回答一個問題“為什麼?”。
Many people dive straight into learning without even knowing why they are doing so. I mean, people often don’t have a clue of what they want to do with this newly learned skill after they completed the course. They just thought they needed the knowledge.
許多人甚至不知道為什麼這麼做而直接投入學習。我的意思是,人們在完成課程後通常不知道如何使用這種新學到的技能。他們只是認為他們需要知識。
This is essentially important in my point of view as it could waste a vast amount of energy and time when studying for the wrong cause. So, please take a pause and think about how you are going to use what you are about to learn.
在我看來,這是至關重要的,因為在研究錯誤原因時可能會浪費大量精力和時間。因此,請暫停一下,想一想您將如何使用要學習的內容。
Allow me to demonstrate why knowing how to use your knowledge is crucial before knowing them.
請允許我展示為什麼在瞭解知識之前先知道如何使用您的知識至關重要。
There are different programming languages on the market because they are designed for different types of works. The subject of programming actually covers many different fields and each field involves a different working environment, different language and design flow. For example,If you are interested in mobile app development, you would be better off learning Objective-C, swift (for Apple platform) or Java (for android platform).
市場上有不同的程式語言,因為它們是為不同型別的作品設計的。程式設計主題實際上涵蓋了許多不同的領域,並且每個領域都涉及不同的工作環境,不同的語言和設計流程。例如,如果您對移動應用程式開發感興趣,那麼最好學習Objective-C,swift(對於 Apple 平臺)或 Java(對於 android 平臺)。
If desktop software is your thing, then C, C++, .Net could be your choice.
如果您喜歡桌上型電腦軟體,那麼可以選擇 C,C ++ 和 .Net。
If you fancy the idea of building websites, then perhaps PHP is your scope of learning.
如果您喜歡構建網站的想法,那麼PHP可能是您的學習範圍。
If you only like to work at the front-end of websites, then maybe JavaScript, CSS, HTML is what you need.
如果您只喜歡網站的前端工作,則可能需要學習 JavaScript,CSS,HTML。
If you like to stay ahead of the web development trend and be at the edge of the technology, then perhaps at the time of this writing, React, Vue.js, Web Assembly is your target.
如果您想保持 Web 開發趨勢的領先地位並處於技術前沿,那麼在撰寫本文時,也許React,Vue.js 和 Web Assembly 是您的目標。
If you want to be a hardcore developer and wanting to build hardware drivers, 3D graphics, or even robots. You may want to check out C, or Python.
如果您想成為一名鐵桿開發人員,並且想要構建硬體驅動程式,3D圖形甚至機器人。您可能想使用 C 或 Python。
If you are furious about A.I. taking your jobs and seeking vengeance, then Python is surely your weapon of choice.
如果您對 AI 讓你失去工作感到憤怒並尋求報復,那麼 Python 無疑是您選擇的武器。
It is important to know that you don’t need to master everything that’s out there. People with a clear understanding of their field of work often are experts in a few languages and super effective at what they work on.
重要的是要知道您不需要掌握那裡的所有內容。清楚地瞭解自己的工作領域的人們通常都是幾種語言的專家,並且他們在工作上非常有效。
As you can see, knowing the field of work helps you set your career path before you blindly decide to learn anything you find on the internet. Take a moment, find out what interests you and pick a field to learn.
如您所見,瞭解工作領域有助於您在盲目決定學習網際網路上的任何知識之前確定自己的職業道路。花一點時間,找出您感興趣的內容,然後選擇一個要學習的領域。
After all, it is a joy to work on something you are passionate about and for an industry you are interested in.
畢竟,為自己感興趣的行業工作並對自己感興趣的行業感到高興。
作結
- 學習程式設計,要知道你的目標,有了清晰的目標,就能反向推匯出你所需要的技能。
- 程式設計是為了解決問題。程式設計 = 演算法 + 資料結構。演算法和資料結構都是解決程式設計問題的手段或途徑。
- 學會程式設計,而不是學會程式語言。
- 技術為商業服務。技術上的理想主義,現實上你會餓肚子。使用你掌握的程式設計知識去創造出商業價值,簡單一點說,就是賺錢。
本作品採用《CC 協議》,轉載必須註明作者和本文連結