编程语言的选择

这篇文章不针对任何人,任何观点,只是作者在编程实践中,基于解决具体的问题而选择是用脑何种语言时,所感所想。

学习和使用何种语言,是每个程序员都是要首先面对的问题。每年的语言排名,也是圈里人津津乐道的一件事。但是我以为这排名和语言本身没有什么瓜葛。任何语言的优劣都是基于待解决问题的具体环境,除却这个大前提,任何孰先孰后的争论都是无稽之谈。

如果回顾一下流行的编程预言的诞生,就会发现一个有意思的地方,它们被发明出来大都因为在解决某类问题时已有的工具不趁手,如C、Perl、Python等等,都在此列。这个历史事实大概可以佐证上的观点。

之所以有此感慨,是因为一个特殊的经历。一个偶然的机会,我参与了一个项目的开发,这个项目说小不小,关系一个地级市组织的一项国家级考试。原本的组考方式是纯手工的,可是随着考生人数的快速增长,人工方式变得越来越吃力,该项目的目标就是实现计算机自动化,解放人工。

其实写代码的人总共就我一个。开发过程断断续续历时近5年,在这不短的时间里,一直都是一个不断试错的过程。先是用单机实现所有的操作,当时的操作系统还是XP,语言用的是VB,因为VB开发起来速度快,有大量的控件和库可用,用excel做数据存储,可是发现excel文件在使用中可以被随意打开,造成数据的破坏不说,最后数据的汇总也非常地麻烦。之后将数据库改为access,并放在服务器端,使用asp做动态页面,可是不久发现,access在文件尺寸增大到几十M时,数据的读取会变的异常缓慢。再之后,用MySQL替换掉了access,服务端脚本也改为php,服务器端的问题总算解决了。

客户端仍旧使用VB,而这时的操作系统已经升级为Windows10,由于VB写的程序和Win10之间存在的兼容性问题,使之运行需经过一番设置,虽是运行没有问题,可总感觉别扭。和别人聊起时,人家一听是VB写的,先就是一脸的不屑,这让我也感觉VB确实老了,开始考虑是用VC++还是VC#代替VB,重新实现客户端。

说起客户端的代码,每年都会因新的要求增加部分模块,从功能上讲现在已经很完善了,经过数次实战的检验,运行也相当平稳流畅。如果全部重写,要付出巨大的时间和精力不说,之前的劳动成果都要付诸东流了,所以对这个问题一直很是纠结。

一次散步,脑子里又在考虑这件事,可是突然的一个闪念,让我一下释然了。为什么纠缠于用什么语言?解决问题才是关键!修脚刀和屠龙刀之间自然天差地别,可是如果要修脚,就是镶了钻石的屠龙刀也得靠边站。同样,各种编程语言也不过是工具而已,能解决问题的就是好工具。就算汇编这样的老古董,也仍然有它的用武之地。在众人的口中,VB虽然有些垂暮,但是其整个工具小巧紧凑,可以非常迅速地进行程序的框架的测试,又兼其能够调用Windows API和巨量COM接口函数库的加持,说VB无所不能也不为过。在实现程序界面方面,VB的优势也是毋庸讳言,君不见新版的VC都有些VB的影子吗?

曾在一本书上看到过一句话,大概意思是在高手眼里,编程语言没有什么区别。就我一个半路出家的业余程序员而言,还无法企及这样的境界,但是我觉得,与其去花费力气分辨哪种语言更好,不如踏下心来,彻彻底底地掌握一种语言,然后努力用它解决手上的问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kingdragonfly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值