内容简介:工程師幹過最缺德的事:叫初學程式的朋友去學 C++!
【我們為什麼挑選這篇文章】工程師當道,現在世界上各大企業領袖都說「學程式很重要,是基本技能」,也有許多人很躍躍欲試,想開始自己寫個小程式玩玩。
但是,到底我該從哪開始學程式?
本文針對目前常見的各種「初學者指南亂象」提出分析,包含「為何你不該一開始就叫人去學 C++」,以及「你真正想學程式,該如何開始?」,相信這些教學對想初學程式的人會很有幫助。(責任編輯:林厚勳)
常常看到非資訊背景的朋友問工程師:我最近想學寫程式!該怎麼入門?通常他們會得到很多糟糕的答案:「先了解演算法」、「先弄懂資料結構」、「先認識物件導向」。
這些答案都夠糟糕了,但最糟糕的答案莫過於 「從 C/C++開始入門」 。
(我看過最扯的建議是「去找 C++ Primer Plus 來看」。這本磚頭書絕對不適合一般人自學)
不是資訊相關科系,沒必要一開始就 C++
照著以上建議去做的朋友,大概會在兩週之內就得到滿滿的挫折感,然後認為自己「果然不適合寫程式」,也不好意思再去跟工程師講自己的狀況,最終再也不想踏入 programming 領域。
這些建議真是害人不淺。
資訊相關科系,是因為要接續到之後的資料結構、作業系統,所以大一從 C/C++開始入門會比較連貫、才能完整學一次電腦的基本知識。
而這些想學 coding 的朋友,大部分只是這兩種情況:
- 最近覺得寫網站好酷,想試試看自己能否寫個 blog、或是個人網頁。
- 對工作上某些人工流程不滿意,想試試看自己能否學寫程式、用電腦解決問題。
他們的願望僅此而已,並沒有打算成為電腦專家、駭客,實在沒有必要從 C/C++ 入門。
就像點火一樣,先從零星的火苗開始、小心保護不要讓它熄滅,接著慢慢加東西進去、讓火焰慢慢成為大火。學習,除了知識 / 技能之外,培養成就感與熱情也是很重要的。
而從 C/C++ 入門,會讓正要萌芽的小火苗直接消滅殆盡。
程式設計入門,其實很簡單
我對程式設計入門的建議很簡單:
如果你是狀況 A,去學 PHP & MySQL,先弄一個醜醜網頁出來就可以了;
如果你是狀況 B,去學 Python,先弄一個能執行、能顯示幾個文字的程式就可以了。
一般人想到程式通常只想到「圖形化介面」,如果能寫出一個有介面的小玩意會非常有成就感。
那樣的話,學 PHP 來寫個網站、直接就是介面,絕對有趣;學 Python 很快就能把玩內建的 tkinter 函式庫、做出按鈕做出選單,樂趣無窮。
教材該怎麼選?
話雖如此,你到市面上找 PHP 或是 Python 的書,大概還是會落得「滿滿的挫折感然後正式放棄」的下場。
別擔心,這不是你的錯,是那些書寫得不夠好。 沒有一本是真正的程式設計入門書, 那些書只想著給你知識/技能,沒有想到要培養你的成就感、保護你的熱情。
要找書的話,我只建議兩本:
狀況 A,去找歐萊禮的「 深入淺出 PHP 與 MySQL 」(Head First PHP & MySQL)。
狀況 B,去找歐萊禮的「 深入淺出程式設計 」(Head First Programming)。
不只教材,還可以試試這些課程
已經出社會了嗎?去 台灣大學資訊系統訓練班 逛逛吧,看看時間跟課程費用能否負擔(我有經濟系背景的朋友去上過幾堂課程,學得滿開心)。
政府也有推動 青年就業讚 的課程,滿足某些條件還能申請補助(不過,我有朋友上過其中一堂 PHP 課程,印象很糟糕、覺得是業者要賺政府補助款隨便開設的課程。但畢竟是單一經驗,我還是列出來給各位參考。)
國外的線上開放課程也可以考慮,像是
Coursera 的:
還有麻省理工的:
Introduction to Computer Science and Programming
A Gentle Introduction to Programming Using Python
全部都是用 Python 入門。
什麼都別管,先寫出會動的程式就對了
我對程式設計入門的建議就只有這樣。你不需要知道什麼演算法、資料結構、物件導向,什麼狗屁名詞都不需要知道。那大多只是工程師下意識地想讓你覺得他們很厲害而已。
你只要想辦法寫出一個會動的程式就可以了,所有偉大的東西都是這樣開始的。
Q1: 但是狀況 A 還要面對 HTML/CSS 耶.. 好像很難?
每個技能深入下去沒有不難的。但是 HTML/CSS 要入門實在不怎麼難。
就從隨便寫幾個表單或按鈕、弄個醜醜的靜態網頁出來開始吧。
Q2: 我是工程師,我能怎麼幫助朋友?
幫他們搞定環境設定吧!幫他們把最基礎卻又最給新手挫折感的環境給設定好!讓他們能用記事本跟幾個小 工具 就開始寫 code!給他們成就感!
Q3: 那寫手機 app 呢?你怎麼沒提到?
我覺得手機 app 還滿難入門的,實在給不出有建設性的建議。不知道。不過,上面的連結也許有一些手機相關課程,不妨試試?
─ ─
(本文經 阿川先生 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈 工程師的缺德行為:叫朋友去學 C/C++ 〉,首圖來源: Sano Rin ,CC Licensed。)
幫助你的工程師之路更加順遂
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 佈署 Angular 應用程式至 IIS 虛擬目錄 / 應用程式
- 佈署 Angular 應用程式至 IIS 虛擬目錄 / 應用程式
- matlab—方程式求根
- 八、Golang过程式编程
- 如何降低程式碼複雜度 ?
- 算法系列(1):Google方程式
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
鸟哥的Linux私房菜
鸟哥 / 机械工业出版社 / 2008-1 / 88.00元
《鸟哥的Linux私房菜:服务器架设篇(第2版)》是对连续三年蝉联畅销书排行榜前10名的《Linux鸟哥私房菜一服务器架设篇》的升级版,新版本根据目前服务器与网络环境做了大幅度修订与改写。 全书共3部分,第1部分为架站前的进修专区,包括在架设服务器前必须具备的网络基础知识、Linux常用网络命令、Linux网络侦错步骤,以及服务器架站流程:第2部分为主机的简易防火措施,包括限制Linux对......一起来看看 《鸟哥的Linux私房菜》 这本书的介绍吧!