10年左右陆续出现了一波学编程的热潮,13年某段时间受其影响隐隐约约觉得“以后编程也跟英语一样是基本技能,再不学就来不及了”。然后稀里糊涂报了公选课“C语言程序设计”,教材同名(没错就是X强版)。教课的老师是90年代末从业于非智能手机的编程,后转行教书,根据他看法,C语言是最适合入门的,C++是“最完美”的编程语言,Python等当时新秀语言的不能碰(“太幼稚”?),Java只适合给安卓编程使用面窄。懵懵懂懂地信了,然而在hello world之后完全进展不下去了,那门课没有教师指导的上机只有念PPT,任何练习问题都无法反馈只能自行解决。于是没再去上课,因此对编程(以及整个IT)产生了很大抵触情绪。
当时我对语言非常感兴趣,听文学院的一门课并了解到一些自然语言处理的情况,老师饶有兴致地讲了一些当时热门的研究方向(比如切词parsing、文章理解等等)以及他们现学现用做研究项目的情况。在今天甚至当时的眼光看来有些选择是非常不利的,比如他们用的编程语言是C++和Visual Basic。C++对零基础小白而言入门难度很大,而且当年针对特定领域(如NLP、金融)的开发还处于起步阶段,对数据处理目的的编程不太适合。当年Python、R还没有流行起来。VB是从90年代被选用一直到2017年左右官方制定的“初级”和“业余学习”语言,比如中学教材“算法初步”部分就用的VB。“业余学VB(个别推荐Pascal),专业学C”是一个持续了20多年的模式。从文学院老师那里得来的信息没有对我涉足IT/编程产生任何积极作用。
稍后一段时间恰好有机会接触到了语音分析处理的项目,Praat这个软件能自动生成声谱图,并完成指令式的分析(软件内嵌编程,后来和其他主流语言实现了对接)让我感觉很新奇和振奋。那时候正好有一波机器人和人工智能的热点,“云(计算)”先于“大(数据)”出现在了很多网站和文章上,这引发我的想法是这些底层的编程和信息处理太基础了,很快对出现模块化和非常智能的分析软件,人们主要需要把想法编程一些形式化的命令就可以让软件实现分析,所以当时的技术很快会过时,不如等等再学。
很长时间都有一个观念就是IT相关的东西比如编程是特定技术,只有特殊需要和少数专业人员掌握,其他学科的从业者只需要会使用智能化的具体产品(比如Office软件)点点鼠标就可以满足自己领域的需要。另一个背景信息:父亲80年代读的中专,土建类专业都有C语言这门课。
这些信息综合起来作为当时的考虑基础让我觉得一方面入门难度过大且选择空间极小,另一方面长时间高度固定的知识体系很快将被新的东西取代;既抵触又犹豫,看不到前途,于是放弃。
我愿意用IT而不是计算机这个词是因为核心对象是信息,大家都是关注怎么对信息进行传播、处理、储存、分析、转化……计算机是最重要的工具,软件和硬件都是针对信息这个对象而产生的,如何选用(比如编程语言)是围绕着信息处理目的来的。在9102的今天,回首当年的情况,往者不可谏,来者犹可追。现在已经真正进入全资讯时代了,大家(智能)手机不离手比当年靠XP系统笔记本电脑每天只固定上一会儿网获取的信息多太多了,盲听盲信一面之词的机率大大减小了,更多是在信息过剩时代如何筛选、合理决策。
吃一堑长一智。