工程師幹過最缺德的事:叫初學程式的朋友去學 C++!

栏目: PHP · 发布时间: 8年前

内容简介:工程師幹過最缺德的事:叫初學程式的朋友去學 C++!

工程師幹過最缺德的事:叫初學程式的朋友去學 C++!

【我們為什麼挑選這篇文章】工程師當道,現在世界上各大企業領袖都說「學程式很重要,是基本技能」,也有許多人很躍躍欲試,想開始自己寫個小程式玩玩。

但是,到底我該從哪開始學程式?

本文針對目前常見的各種「初學者指南亂象」提出分析,包含「為何你不該一開始就叫人去學 C++」,以及「你真正想學程式,該如何開始?」,相信這些教學對想初學程式的人會很有幫助。(責任編輯:林厚勳)

常常看到非資訊背景的朋友問工程師:我最近想學寫程式!該怎麼入門?通常他們會得到很多糟糕的答案:「先了解演算法」、「先弄懂資料結構」、「先認識物件導向」。

這些答案都夠糟糕了,但最糟糕的答案莫過於 「從 C/C++開始入門」

(我看過最扯的建議是「去找 C++ Primer Plus 來看」。這本磚頭書絕對不適合一般人自學)

不是資訊相關科系,沒必要一開始就 C++

照著以上建議去做的朋友,大概會在兩週之內就得到滿滿的挫折感,然後認為自己「果然不適合寫程式」,也不好意思再去跟工程師講自己的狀況,最終再也不想踏入 programming 領域。

這些建議真是害人不淺。

資訊相關科系,是因為要接續到之後的資料結構、作業系統,所以大一從 C/C++開始入門會比較連貫、才能完整學一次電腦的基本知識。

而這些想學 coding 的朋友,大部分只是這兩種情況:

  1. 最近覺得寫網站好酷,想試試看自己能否寫個 blog、或是個人網頁。
  2. 對工作上某些人工流程不滿意,想試試看自己能否學寫程式、用電腦解決問題。

他們的願望僅此而已,並沒有打算成為電腦專家、駭客,實在沒有必要從 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 的:

人人都懂的編程課(Python)

學習編程:基礎

還有麻省理工的:

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。)

幫助你的工程師之路更加順遂


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Introduction to Graph Theory

Introduction to Graph Theory

Douglas B. West / Prentice Hall / 2000-9-1 / USD 140.00

For undergraduate or graduate courses in Graph Theory in departments of mathematics or computer science. This text offers a comprehensive and coherent introduction to the fundamental topics of graph ......一起来看看 《Introduction to Graph Theory》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

SHA 加密
SHA 加密

SHA 加密工具

html转js在线工具
html转js在线工具

html转js在线工具