记得高考那会儿,我对计算机的热情就像追星族见到偶像——狂热得不行。第一志愿我毫不犹豫地报了计算机技术专业,结果录取通知书就像被风吹走的传单,没落到我手里。这份遗憾就像被泼了一盆冷水,让我不得不"转投"摄影测量与遥感专业的怀抱。
说来好笑,上大学前我连电脑长啥样都没见过,更别说喜欢了。那时候听别人说计算机专业高大上,我就觉得这肯定是个能改变世界的"神秘组织",结果自己却阴差阳错地学了测绘,活像进了个"山寨版"计算机学院。
大学宿舍里有个"电脑达人"舍友,他就像我的编程启蒙教练,带着我去了游戏厅——表面上是去"学习"(其实就是玩),结果却成了我编程生涯的起点。后来我们开始泡机房,在DOS系统下练习打字,用那个叫TT的打字软件。现在回想起来,那练习指法的日子简直无聊透顶,但当时我们却干劲十足,就像打了鸡血的运动员。旁边有个高年级学长还夸我:"你打得真好!" 我当时激动得差点把键盘敲出火星子。
到了大二或大三(时间太久,记不清了),我开始接触编程。教学大纲里的C语言就像我的第一个玩具,虽然有点懵懂,但感觉特别新奇。后来高年级开了面向对象程序设计课,这门课难度不小,但老师那句"世界上本无人,只有一个个的人"的哲学式解释,让我对类和对象有了点朦胧的理解,就像解开了个复杂的谜题。
学校还有个公选课VF,这玩意儿能做表单,还能和数据表关联,可视化界面让我这个"视觉动物"开心得不得了。业余时间我还自学了点HTML、CSS、JS这些前端基础,感觉自己就像个全栈工程师(虽然只是入门级),仿佛能掌控整个数字世界。
作为GIS专业的学生,我们还学了Visual Basic,它能和MapX、MapObjeccts配合开发,方便得就像用筷子夹豆腐——轻轻松松。当时还有MapInfo公司的MapBasic,ESRI的ArcView提供的AveNue编程,这些自带的编程语言功能强大,但就像被关在笼子里的老虎——有劲使不出,只能干瞪眼。
本科毕业后,我开始"流窜"到Delphi编程语言。Delphi做应用开发快得就像坐火箭,我为此买了好几本书学习,还做了个图书管理系统。同时,我还用MatLAB编程,这货也方便得让人想给它发个"最佳辅助奖",就像给自行车装上了电动马达。
到了硕士阶段,C#开始流行,它和Visual Basic长得像双胞胎,语法又和C、C++类似。于是我又顺应潮流,用C#和ArcEngine编程,写桌面GIS软件。Visual Studio C#还能做网站开发,后端用C#写,我也开始涉足Web开发,感觉自己像个全能战士,能同时应对多个战场。偶尔遇到小项目中用到点Java,也学一点。
大概11年后,我进入博士学习阶段,基本就是C#和MatLAB的天下,做实验方便得就像用微波炉热饭——又快又省事。到了2015年左右,Python开始火遍大街小巷,大家都在说它方便,于是我这个"语言收集癖"又开始接触Python,就像收藏家发现了新宝贝。
现在如果有人问我该学什么语言,我会毫不犹豫地说:Python!高中会考、少儿编程培训都在用,简直就是编程界的"国民语言"。学过这么多语言后,我发现Python最牛的不是可视化程序设计,也不是做个软件,而是它那强大的开放库。很多常用库安装起来就像点外卖一样简单。最重要的是,它对人工智能的支持好得就像给AI装了翅膀,让它飞得更高更远。现在很多论文都提供了Python开源代码,简直就是硕博士研发人员的"及时雨"。
所以,我的编程语言学习心得是:各个语言都有各自的优缺点,可以学也可以不学,但Python——这个你必须学!就像吃饭不能没有筷子,编程不能没有Python!
相关:




GIS研发团队