反思自己用过的编程语言

       从高三用JavaScript编出第一个程序到现在已经有6年了,但静下心来想一想自己正真精通的语言也几乎没有,只不过每种语言我都掌握了那么几个奇技淫巧,不足道也。     

     按接触时间的早晚一一列出来数落一下吧:   

   1.JavaScript     

     我接触的第一门语言竟然是JavaScript,那时候高中15天才放一次假,然后我就跑出去上网,觉得网页里面弹出的对话框和一些网页特效很有意思,于是经常琢磨别人的网页,收集代码,最终的结果也只是会用JavaScript校验一下表单什么的。      多年以后,Google的Gmail掀起的Ajax的大潮才让我开始重新认识这个其实应该叫做EcmaScript的语言的强大,于是开始疯狂迷恋,甚至曾经有段时间我连写ASP都用JScript而不用VBScript 。     

    2.C语言     

    提起C语言,脑海里闪过这么几个关键词“谭浩强、计算机等级考试”。到现在为止我用纯C语言写的程序也没有几个,稍微拿得出手的只有这个多线程下载器:http://fxsjy.javaeye.com/blog/173325 。还有就是曾经搞过一段时间的ACM , 那段时间我非常偏执“效率”,连C++的STL都不想用,现在想想挺幼稚的。     

    3.C++语言     

     我其实对自己的C++一直没有信心,每每听到别人谈论C++牛人,都佩服得不行。也曾经慢回信心的专研侯捷的《深入浅出MFC》,但发现还是一头雾水,只在Class Wizard大哥的指引下写过几个小程序。于是一怒之下改用QT,发现真的很爽,唯独一个缺点就是没有好的IDE。但是由于种种原因,现在也没研究QT了,遗留下一个小程序,是用来切换IP的。http://download.csdn.net/source/162303

    4.Delphi语言       

     第一次用Delphi语言是为了帮一个老师设计一个信息管理系统,当我第一次面对这么丰富的控件时我惊讶于Borland的伟大了,还有飞快的编译和运行速度,这一切都足以让我抛弃VC了。相当长一段时间Delphi都是我的最爱,我用它写过投票机、图像处理程序等等,到后来接触到了“大富翁论坛”,才发现中国的Delphi 高手如云,开始接触到了很多黑客编程技术,比如Hook,RootKit,BHO等等。但现在想起来,这些是不是也属于“奇技淫巧”呢?      

     5.C#及.NET Framework       

      大四的时候对搜索引擎很感兴趣,于是想写个Spider玩玩儿,做个校内搜索引擎,首先当然想到用Delphi,于是用Indy做下载网页的工作,但是文字处理和抽取麻烦了,Delphi没有好的正则表达式模块而且对于什么GBK,UTF-8字符转换什么也不是很方便。后来,听说Delphi之父去了微软,研究出C#,于是决定研究一下,好家伙,太美了,不仅有优美的语法而且什么库都有。这不正是我需要的东西吗,于是便用C#重写了爬虫,前端在加个Lucene.Net , 于是乎一个搜索引擎诞生了。唯一让我不爽的是,程序不是原生的,需要安装巨大的.Net Framework。          

      6.Python      

      本科毕业后的暑假期间我无意之间接触了Python,一口气读完了一个清华的学生写的Python系列博客,我惊讶于Python的美了,这不正是我这样的“懒人”需要的编程语言吗?list,dict,tuple,Guido只用一些简单的玩意儿就搞定的所有数据结构的工作,还有bisect,sort等等涉及算法的模块,My God,写程序真的只需要idea而已了。下载网页也只需要urllib2.urlopen(..).read()。通过Google,你几乎能找到任何你需要的Python库。于是乎,我又开始重写我的搜索引擎了,换掉了Lucene , 用bsddb做核心组件,自己开发了一个索引系统,这个系统目前已经用在www.zhimaa.com 。 而且,python写的程序还可以用py2exe打包成exe,满足了我的虚荣心:-) 。      

       7.Java      

       其实接触Java很早了,早在高中就看过一些书,但是一直觉得Java 者玩意儿又慢又占内存,所以相当长一段时间都鄙视它。直到读研后,由于实验室天天用Java ,在实验室的诸多Java高手的指导下,开始体会到Java 的美,体会到什么叫设计模式。这才恍然大悟,原来自己以前学习程序语言的路线很有问题,老是偏执于小技巧,重来没有考量过设计,以至于写的代码根本拿不出手,也没有任何的重用性,不过那时候也根本不懂开源,重来没想过把自己的代码给别人看。后来开始学是各种框架和库,Spring,Hibernate,WebWorks,Lucene,Axis,Commons系列等等,用MVC的思想设计网站。开始体会到这确实比ASP要美一些,但是每当等待Tomcat Reload 的时候我就在想,分这么多层有必要吗?我只是想做个网站。再后来接触了正统的EJB体系,才开始慢慢明白企业软件的一些道道,不是我想象的那么简单,抽象和分层都是很有必要的。只不过现在这些体会都还不清晰,也许过些时候我可以写出来。     

       8.PHP, AutoIt, D语言     

       这三个语言我都使过,但是不多,基本上属于边写边查文档的水平。对php的印像是要写个website太tmd 方便了,配合mysql+apache,无敌了。 AutoIt是一个不错的自动化软件,可以用来写发贴机、游戏外挂等,而且写出来的程序还可以编译成很小的exe,很方便。D语言是去年下半年才接触的,曾经对他疯狂着迷,原生代码、内置正则表达式、字典结构、垃圾回收等都是严重吸引我的地方,用它写过一个小程序:http://fxsjy.javaeye.com/blog/131382 ,但是很快发现D还是不成熟,没有像python,java那样丰富和靠谱的库,所以现在基本不用了。       

         小结:写到这里忽然感觉有些悲凉,我只是一个技术男,学了这么多语言,却没有精通的,也没有用他们创造出什么伟大的东西。中国像我这样的程序员应该不少,不知道是教育体制的问题还是个人的原因。路漫漫其修远兮,吾将上下而求索……     

         小孙 (2008-5-21)        

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值