从Java转向C#已经有将近三年的时间了,当中也重新做个一个Java的项目,但是没有坚持做完。今天突然有空想了一下多年来的开发语言学习经历,就漫谈一下程序开发语言的感受吧。
一个学习的开发语言是Pascal,大学的时候开课,Pascal语法比较简单易懂,是入门语言的最佳选择,不过,一直到现在,都没有真正应用这种语言,现在比较流行的Delphi是Pascal的变种,不过一直没有机会用她开发。
不知道是不是大学的最后一年,学习数据库的时候用到了Power Builder,一下子被这种高级语言给吸引住了,一个简单的图形化的数据库应用很快就可以通过她开发出来,不需要几句代码。记得当时我还在家用PB写了一个计算器程序,还很兴奋的给我妈妈看,告诉她计算机的作用,:)。PB确实是很不错的数据库应用开发平台,我觉得有点像Visual Foxpro,不过加入了OOP的概念,又有一个Data Window的空间,使用起来非常简单。但是,一个高度集成的平台有其天生的不足,就是对底层进行了完全的封装,以至于我们根本无法揭开她的面纱,Power Script语言只是一种脚本,她的功能无法满足当时对Windows底层充满好奇的我。
Java在快毕业的时候已经开始流行,特别是Applet,但是对我来说,也是太高级的玩具了。我现在都还考虑,当时为什么会选择了Visual C++,而且义无反顾地扑向她。VC确实很麻烦,要用50句代码写一个最简单的Windows应用,但是她却能让我把Windows看得那么透彻,我学到很多的OOP概念,其实,但却对Windows API有了非常深刻的了解,图形编程、网络编程、数据库编程,VC几乎是万能的,几乎所有的操作系统底层技术,都可以在学习VC的时候接触到。但是,VC也确实比较复杂,到现在为止,我还没有用她写一个稍微复杂一点的代码呢,都是用API实现一些简单的功能。我的印象中,用VC,你就要注意每一个语句的效率,要每一句话都不仅仅是有很大的意义,执行效率第一,而程序结构和模块化或者面向对象的思想就从来没有真正应用过。第一年的工作是用VC的程序员,比较累,但学到了很多东西。
第二份工作开始使用Java,而且是一个基于J2EE构架的平台,对于一个VC程序员来说,Java确实从各方面来说都是比较简单的,不过Java给语言注入了新的元素,就是其真正的把面向对象的思想融入到程序当中了。我开始理解类、接口、设计模式甚至代码产生等等新的概念。C++只能算是系统语言,对于大型商业应用来说,如果设计不精确,其复杂度无法控制,而Java就是为开发大型应用软件而生的(未完待续)