如何学编程?说说我怎样学习编程的故事

这篇是一篇关于放不下的学习过程,我想,一定某处也有人钟情于某个领域、尝试了很多次但是都没有学会,甚至过程中被劝解、很想要放弃。如果你刚好路过这篇文章,不妨看一看再来决定要不要放弃,因为这是一篇真的很久很久才学会的故事。

楔子

在小学第一次用VB 凑出了一个计算机之后,那时还是系统工程师的母亲就对我说:「写编程是努力可以做到的事情。」她不乏有时不时就看论文、对资讯真爱的同事,但她觉得自己从来不是这样的人,还是做了系统工程师,就是这样的经历、这句话一直深深烙印在我心里。

所以我以为我会像我看过的大部分十年之路一样,从第一次玩VB、写出游戏外挂、从MUD 开始玩脚本、在RPG Maker 接触Ruby,打进资奥或是14 岁创业,但没有,什么事情都没有。

这不是十年登峰造极、追求神乎其技的故事,是一个有点执着、风雨飘摇的现实。

致放不下的你。

我与编程之间的纠葛

梦醒

家里人都是工程师,从幼稚园起就摸着家人的电脑长大,玩装着一个个flash 小游戏的磁碟片、小学就被灌输了二进位的观念、国中加入电子报编辑部。资讯科技在我生命中是这么的有份量,充斥在我的童年。

乃至于我到了高中的时候,也是豪不犹豫的选择了二类组,即便我的国文分数比较高、又是还在写着小说跟诗的青涩年华,我也是豪不犹豫的选择了二类组,只因为我一点点都无法想像自己远离资讯科技的日子。

于是在高二的时候选修了计算机概论,那是我第一次认清现实,生活并不像大部分热血沸腾的梦想故事,看到那些题目既没有抱着砖头书睡觉的热情、也没有作梦会想到演算法的场景,只觉得辗转反侧、莫名其妙。

印象深刻的是,当时资讯选修要把编程作业把印成A4 只给老师批改,我积欠了一学期的作业,但我无能为力,这跟我想像的资讯一点也不一样,不是偷改部落格的样子、也不是摸一点点游戏脚本,都是像斐波那契数列那样的,原来这就是资讯工程。

那些目眩的题目在我当时的世界里,就是资讯的全部。

梦碎
到了大学依旧选了理工大学虽然念的是文学院,依旧选修了编程相关的课程,对于编程的理解更加宽广,我知道有网路多媒体、软体工程、资讯安全三组,心想以前的自己为什么会学不起来,这次一定可以。

所以我又重新鼓起了勇气,去修了编程相关课程,从斐波那契数列变成广度搜寻优先,从C 变成C++,我以为这次我更了解了什么,但没有,什么都没有。我深深深深的怀疑着,我是不是资讯的「智障」?

写编程是努力可以做到的事情。

梦碎时分,这句话隐隐做痛。

尔后,碎的一片的玻璃心在我大三大四的时候,接触了科技艺术相关学程,那时候知道了Processing 让我知道原来写编程还有这种方式,可以做出小小的作品,至少也不是这么的死板,让我燃起一丝希望。紧接着从Processing 开始认识了不同的人、知道了什么是前端网站开发。

启蒙我的是建筑所,我很感谢有这样跨域结合设计与科技的一门领域跟推广的教授,在课程里面,我用jQuery + HTML + CSS 做出第一个比较完整的作品,真的就超~简单的一个网站,透过安排不同的影片脚本,根据滑鼠移动的方式来播放,但我对于这整个作品的概念、到最后在codepen 上:「我知道为什么要做什么、我在做什么、然后我把它做出来。」那份自由畅快,足以让我死灰复燃:

如何学编程?说说我怎样学习编程的故事

于是在毕业前后,我断断续续尝试不同的课程平台,Code Academy、Tree House、Code School、Udacity、CS50 …… 许许多多都尝试过,为了重现前述的感动。最长一次投入是大学毕业那一年的暑假,整整两个月浸泡在线上课程里面。

如何学编程?说说我怎样学习编程的故事

结果是,我连我做了什么都忘了,有Google Map,然后呢?呃… 看当时的截图好像是大学地图吧?这是个失败的作品,很明显是因应着自己残破的技术凑出来的作业,如果那时的我有个点子,也做不出来,我试图厘清是方法不对?不够努力?不够毅力?还是不够聪明?

什么没办法随心所欲?
梦延续的地方
对,随心所欲。

我对写编程的想法就是:如果我今天心里有一个想要解决的问题、创作的样子,我可以自己做使用者研究、互动设计最后开发出来,并具备一定的系统品质。就像我一路憧憬的人们一样。

但我开始怀疑:这真的是工程师吗?在大三一路到研究所的期间,知道了世界上有Lab、有互动设计师、还有各式各样的职位,网站有这般酷炫特效、也有那般产品导向。

也许我努力的方向是不是错了?在研究所期间我一直思辨我对产品、对设计的看法。看了看一起投论文的资管同学、当初工作室的大大、做绘图创业全端开发的学长这些人,看他们怎么看这件事情​​,反思我在心中的「随心所欲」是什么意思?

思考的路真的很长很长,长到一路上被嘴过不可能、不需要、你干嘛这样,我无话可说,毕竟我曾经有过十年。最后得到了一个暧昧但还在持续思考的答案:「开发是设计的匠性。」所以更了解理想为何,透过艺术思考与研究方法来得到,这是设计的目标,但缩短理想与现实的手段就是开发,是设计的匠性。

虽然这种设计观说重要也不重要,但身处一个快速发展、抽象的领域,找到座标满安心的。

未完待续...

给TA打赏
共{{data.count}}人
人已打赏
编程入门

python能做什么?学习python有什么用?

2020-7-18 11:33:26

小说推荐

老板追剧知乎小说《缘起追剧》,沈弈叶柠结局全文阅读

2023-2-24 22:30:27

欢迎加我好友,一起探讨互联网项目。关注胡思宇博客(https://www.husiyu.com),关注更多精彩!

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索