C++和JAVA

来源:互联网 发布:php strstr函数用法 编辑:程序博客网 时间:2024/05/17 09:06

        我写得第一个完整的软件是一个单机版的五子棋程序。

        当时使用的是JAVA的SWT完成的界面,为了完成程序设计课程设计的大作业。因为那时虽己是大二下学期,我对C++的编程已经非常的熟练(来自于参加ACM竞赛的锻炼),但对VC6的概念仅仅停留在命令行输入输出编程上,就是那种写得出算法,而写不出软件的阶段。我不加思索地选择了Java。在我看来,Java的所有类都来得那么的自然,一切用法都是透明的一样,而MFC则是一个有着复杂内部结构的庞然大物,不仅盘根错节的类与类之间的关系,还有一些看了就头晕的宏。因而那里,MFC对我就是一面不可逾越的高墙。而Java就不同了,就是读懂一个例子程序后,通过模仿就可以完全学会怎么使用一个类或一个组件。

        当时也没少花时间研究MFC,毕竟属于课程内容,如果别人学会了你还会或许会影响以后的其它课程。但看着看着就觉得心烦,然后就放弃了。使用SWT开发五子棋程序出其的快,包括菜单,按钮的响应,再绘棋盘,显示面板布局,完全都是从最小的类开始设计,但用得得心应手,大概三天一个简单的软件就成形了,而且界面丝毫不逊色于那些VC高手开发的界面。

        之后软件工程课程设计,做图书馆管理系统,我依然选择了JAVA,而且是在SWT上更高一层次的JFace,因为工程量更大,再也不容许我一个个界面开始设计,大量的类似操作面板、显示面板,也使我第一次真正体会到了代码重用的好处,完成后,发现仅仅界面类就有十多个。直到现在,我还为我开发的图书馆管理系统的美观程度而稍有些自豪,其中最漂亮的应该是工具栏按钮。一个星期的时间,从设计到开发,功能齐全,全部搞定,而同系同学大多都花了一个月的时间。这也或多或少地为我这门课的成绩赢得了一些分数(虽然考试确实考得不怎么样)。

        进入大三,人机界面课开课了,网络课也时不时要用Socket写一些程序,我越来越感到学习MFC的迫切。第一次做界面里硬是拉着赖世铭帮我用MFC做了一个,我在旁边也看得非常仔细,之后就觉得MFC不太难了,从网络上找了一些视频看了看,发现其实MFC开发有些常见界面比JAVA要快很多, 这也坚定了我学习MFC的决心。

        又一次接触MFC,今天的任务是一些菜单操作,本以为挺简单的,但也发生了一些不可预料的问题,感觉还是MFC不够透明,因为菜单是放在框架内的,而菜单的状态的改变竟然受框架的约束,如果不了解其关系的人很难找出其中的问题,而JAVA就不同了,一个类的操作抽象得比较好,一般都完全封装在一个类中,不会有彼此复杂的关联。现在JAVA越来越流行,正因为此,更多的人会去分析JAVA的实现代码,也就会有更多的人从使用者的角度来考虑语言的设计,从而JAVA也就更加吸引人,成了一个良性循环。而MFC一开始就使人迷茫,造成了太大的阻碍,自然而然,很多人会放弃它,而MFC的源码虽然公布了,但关注它的人屈指可数,因而即使这个机制很方便开发,也不会成为最受欢迎的。

        以后有机会一定读读MFC的源码,毕竟那是集结了微软很多精英的智慧而设计出来的!

 

原创粉丝点击