目录

  • 久远的初认识
  • 失败的再接触
  • 正式学习的开始
  • 停滞、探索和新视界

久远的初认识

现在能回想起来的最早接触是在小学,某位申必人士教我的GW-BASIC,一门在现在显得过于申必的古老语言,使用行号标记执行顺序,不需要声明,类型可以自由变换,还有最申必的GOTO。其实现在回顾起来,我都几乎想不起这个阶段了。但是这样看起来,其实在发展关键期的这段经历可能对我还是有很重要的影响和积极意义的。毕竟编程的思维,似乎也不是这么容易培养起来的。

失败的再接触

在小学六年级的暑假,我不知怎的突然萌生了继续学习一门编程语言的想法,而且更申必的是在没有了解、没有买书的情况下看中了C。结果硬着头皮跟着打下来,还是一头雾水,毫无头绪,最后不得已暂时中止了。虽说这也可能只是因为我没有摸到门道,但客观地从总体水平来说,这时我恐怕还不具备这样的思维能力。值得一提的是,同样的这个暑假里我还买了书想学德语,最后类似地因为毫无概念而悻悻而返。

正式学习的开始

在初二,我重整旗鼓决定要学C++(虽然也不知道为什么就选中了它),并且可以说颇具慧眼地选中了通俗易懂、毫无疑问是初心者向的《C++ Primer Plus》,由此系统地学习了一段时间,也确实学懂了。有人觉得C家太严格,束手束脚,不适合编程入门,但是我认为c家的严谨也是大有裨益的。在这时,我的算法思维还比较落后局限,和真正搞竞赛的同龄人相比也远远不及,却至少有了不错的开始,也逐渐具备够掌握这个领域的强力工具的基础了。

停滞、探索和新视界

到了高中之后,我和信息技术相关问题的接触减少了,编写能实现一定功能的程序的动机也几乎没有了。不过,偶尔出现的想法和随之而来的问题,推动着我朝着实用问题解决的方向前进。无疑,现实需求是多样的,而正是这些多样的需求使得我走出了单纯简单程序编写的局限,开始以更为全面、更为系统的眼光审视信息技术,认识也不断得到加深。

一个具体的例子,就是对动画相关广播下载的需求,让我接触了浏览器DEV tool和抓包工具Fiddler。最初,我并不知道下载的实质,只能漫无目的地查找“什么语言有下载功能”,希望通过脚本实现迭代试错,找到正确的链接,并且尝试了速成powershell。不过,由于设备限制,我只能偷偷用班里的电脑挂着脚本,一遍一遍地开始下载;而且,powershell的下载模块实在太弱;更致命的是,我并没有对此设计好异常处理。所以这个尝试最终失败了。然而,我偶然地发现了Fiddler,并且想到可以用“抓包”的方式得知链接,最后自然也得偿所愿了。

由此,我初步明白了网络交互的实质。这无疑是质的提高。

(未完待续)