编程题的感想
想法很好,现实很残酷。台上一分钟,台下十年功。
GUI程序确实很恼人。
以点名器为例。
按照原计划,我是打算实在用户文本导入学生信息、四连抽和保存抽取结果(避免一个人抽多次)这三个功能。但是呢,在仔细考虑程序的算法时,我发现这几个功能实现起来,真不是一般的麻烦。麻烦的根源时学生信息,学生的学号可能与自己在班上的序号不同,就比如某人的学号尾号是23,但是他在点名册里是第18位,因为前面有5个人不在班上。这就尴尬了,因为我们平时习惯用学号,但是点名器采用的是序号。解决的方案就是采取特殊字符,比如空位用‘#’标明,这样在进行抽取的时候,如果抽取结果为‘#’将重新抽取。麻烦的就是重新抽取,原因有两个,如果连续多次都是‘#’呢?‘#’号要不要放进以抽取同学的序列里呢?或者刚开始就把他们放进以抽取同学里。
解决方案有了,但是实现起来,还不如没有好。
这般思考下来,对于程序设计又有了些新的体悟:特殊处理虽然小众,而且在情况太多的时候,会变得非常冗余,但是不需要太多考虑全局;普遍化虽然加强了程序的健壮性,但是考虑的东西多,要全面考虑可能出现的特殊情况。
Java学习的感受
说实话,程序注释题这学期才接触到,算是体位到那句话了:程序员最讨厌的事是给自己的程序写注释,程序员最讨厌的程序是不写注释的程序。
还有一个呢,算是正式入门了吧?学了一年多,已经会写不需要编程软件就可以运行的程序,虽然还是需要Java虚拟机。(C语言不算,我说的事图形用户界面,不是命令行界面)
说实话,我最喜欢的语言事Python,因为简单,虽然我现在已经忘了好多,但是那种优美而简洁的语法给我的感受依然印象深刻。但是呢,学完Java,我觉得语法最重要的不是简洁或者优美,而是实用和非凡的可读性(容易看懂),这点Java做的更好(个人感受,具体来讲就是类、继承和接口,还有三个器,这都有分工了)。
所以,虽然我对Python还有些许怀念,但是我现在爱的Java。