到了升大四的暑假,就会有一群人开始思考自己该升学还是找工作;也会有一群人开始思考,我是不是该换个工作,而其中一群人在想: 我是不是该来写个程式? 这篇文章告诉你写程式该怎么入门,或怎么放弃。

这是一个对写程式有热忱,但写程式很菜,比较擅长嘴砲的肥宅写的系列文章,请各位优质工程师不要鞭我。

在大部分的人眼里,我就是在写程式(纵使大家其实都不太清楚我到底在写啥)。换句话说可能有点宅吧?

正因如此,最近很多人跑来问我怎么写程式:资管系问怎么继续进修、电机系问该不该学前端、非本科资优生问软体是不是很好赚。但说实在我也不太擅长给这种未来方向的建议,倒是先想想为什么要写程式吧。

我为什么要写程式

我记得有天我翻到了某个人写的批次档,印象中那是个清随身碟病毒的批次档(对,很久以前了),我不小心用右键编辑打开发现我找到了作者资讯,然后我就把它改成自己的名字再打开一次,觉得程式变成我写的了,很爽。这大概是我会写程式的起源吧。

(批次档写出来长这样。为了让你有当年复古的感觉,图片来自这里,想看程式码大概长怎样,也可以点进去看看这篇文章。)
bat

后来又看了下面很多其他语法,发现批次档是个很好读的东西,造样造句就可以改成自己要的样子了。但是原作者把该有的功能都写完了,我要怎么把它改得更好看?所以我就上网到处查,发现有 color 1a 这种指令,然后我就把批次档里面全部加上不同的 color,觉得自己很强。

仔细想想,我们现在打开什么 Microsoft Word 都有视窗,为什么用批次档只能写出这种丑丑东西?然后我就上 Yahoo 奇摩知识+ 查,发现 Msgbox "测试讯息" 可以写出对话框。噢天啊,这也太强了吧!所以我就在我的专案资料夹里面加了一个 success.vbsfailed.vbs,并在所有批次档的最后面呼叫这两个都只有写一行的对话框。

messagebox

当时我觉得 VBScript 跟批次档就是写程式的精髓了!所以我决定去书局找一本 VBScript 的书。谁知道为什么,结果我带了一本《Visual Basic 2008网路游戏程式设计》回家。

虽然回去以后发现 Visual Basic(所谓的 VB.Net)跟 VBScript 根本是不一样的语言啊,但靠著书附光碟的软体装起来后,发现我只要动手拉就可以把软体的介面通通拉出来,越来越接近 Microsoft Word 的感觉了。只有介面还不够,点两下按钮就可以写按钮的动作,当然要把程式逻辑都补起来啊!

......

最后我写了一个有一排按钮的程式,每个按钮都会呼叫一个批次档。

现在想想觉得很好笑,但这确实是我开始写程式的原因。回头看一看刚刚的故事,其实可以发现一些事情:

虽然我是从别人的程式码(批次档)开始改,这甚至连抄都比不上,但是我的目标很明确,我当下就是要把它视窗化,然后弄出一个关于对话框,里面写我的名字。

而且当我不知道怎么下手的时候,我会上网查问题。当年好像还不流行 Google,当年还在用 IE + Yahoo Toolbar 的样子,不是上 Yahoo 乱查,就是去知识+发问,也因此一直尝试跟吃土,慢慢学会怎么下关键字。

如何写程式

我学程式的过程中,大部分都是为了解决特定问题、达到特定目标才去学,所以没有特别学过什么程式,更没有下礼拜要期中考了我要怎么抄别人作业这个问题。也因此,学写程式不是一个压力,而是一个兴趣。或许程式本来就不该当学科去念吧?

接下来的文章会带你看看该怎么选自己的目标,进而选一个适合解决那个目标的语言;也会提到这年头没有知识+,该怎么查资料。之后也会给一些其他大神的观点,让你看看其他人认为该怎么好好写程式。

相关文章