这是关于非专业程序员的描述,专业程序员请忽略。
终于下决心从VB.NET(以下简称VB)转移到C#上去。
微软已经决定停更VB了,按照惯例迟早是要被抛弃的。作为一个标准的非专业编程人员,不管别人怎么说VB不好,我始终专注地使用VB,在学完SQL之后,我就得出一个结论,编程是个无底洞,满足需求就好,特别是作为一个非专业的编程人员,编程只是个辅助工具。
决定离开VB后,小研究了一下,首先是这几年最热的python,感觉主要是个数据处理工具,于是马上决定C#了。
决定之后立马安装了C#2010学习版,网上找了一档C#入门教程粗略看了一下,都没看完,了解了个大概,然后按照自己的习惯,重点开始测试(对我来说测试几乎就是编程学习的全部)。
直接按照原来VB做的东西的需求,一样一样地用C#测试。意料之外的是,几天下来就把原来VB的需求,特别是一些关键的部分都在C#上通过了(当然原来的需求其实也不是很难,基本就是管理一个小型咨询分析数据库-蒙山黑铁资源库,不对外仅供自己用的)。原来听到C语言就有点怕,这次也打算用至少3个月时间来完成关键需求的测试,没想到就几天功夫就几乎弄完了,看来是碰到了一个假C。所以微软要停掉VB看来是有道理的,除了语言上没有VB这么通俗,C#感觉和VB是一个东西,类库、ADO、Linq、引用这些都是共用的,主要费时间的就是学习和适应一下新语言,也就是一些新的关键字、运算符、函数,像C#条件连接用的&&、||这样的符号,适应就好,没有好不好的说法,当然VB用AND、OR这样的英文单词相对通俗点,也与SQL相同,对于我这样的经常使用SQL的人来说更亲切一点。还有VB和SQL都有left、right函数,而C#没有这样的函数,所以VB和SQL更亲近点,而且我自己在日常中需要做大量的字符处理工作(也就是整理各种信息),所以字符函数多总归是好些,最起码省掉许多敲代码的时间,代码也能简洁许多,不过也无所谓了,因为我现在尽量使用自定义函数,不但功能强大,而且代码象操场一样整洁。
你的代码越简洁,编程对于你工作的帮助就越大。如果你做了一堆功能强大但纷繁杂乱的代码,一开始你可能很高兴,但是当有新的功能需求要加在上面,当你要修改部分代码时,你的头就会爆炸了,最后你可能都不想用(象我的数据库管理系统是跟着业务变化需要随时去修改的)。所以我会用最快的代码(不管好不好)来先实现需求,先保证结果能出来业务能进行,然后有空闲的时候就要回头去优化代码。
个人认为优化代码是一项非常重要的工作。我其中一个做法是代码块重用三次以上就分出来,对于我来说修改三次都是件痛苦的事了。
总之,从VB转到C#可省掉学习的东西太多了,要知道大量测试代码可是一件相当费脑力痛苦的事,特别是对于一个中年人来说,所以要重新熟练掌握一门差异很大的编程语言是几乎不可能的事了(至少对我来说是这样)。
最后吐糟一下看编程视频的事,有个6分钟的视频,几乎有超过一半时间在敲代码,我的天,还不是利用提示来输入代码,而是整个代码纯手工输入(感觉是不惜成本啊),代码提示和复制这两件事都不存在了,一节课知识点半分钟的事,硬注水到6分钟,或者你复制过去再一行行讲解代码(包括一些重复的东西)这样的注水方式都好点啊。