命令行程序的地位与作用
2014-11-11 09:24
239 查看
当时上学学Java语言课程的时候,大家都对GUI编程感兴趣,认为命令行程序过时了,因为在Microsoft退出的DOS系统完全退出了历史舞台是在2003年的时候,而当时学java是在2007年。课下我们班的一位同学就给我们的Java老师交流,说Java语言编写的命令行程序是否已经过时了。老师当即就给出了否定的回答,老师当时还解释了一些原因,我现在都记不清楚了。我过这几年的学习和感受,我又对命令行程序的地位和作用又有了一些更深的认识。可能大家认为这是一个trivial 的问题,但我不认为那样。命令行程序
(Console program)与GUI (图形用户界面)程序的区别和联系如下:
有些程序没有太多的用户交互,功能相对来说不是太复杂,这类程序就没有必须非要编成GUI程序,就可以将其编写成命令行程序,小巧灵活,占用空间小,方便用户使用。而功能相对复杂,同时又有太多的用户交互,可以考虑编写成GUI程序;
命令行程序一般情况下都会牵涉到用英文书写的命令,所以用好命令行程序需要用户记忆一些英文的单词。也就是说,命令行程序面向的是高级用户,这些人的英文水平高,同时有使用Linux系统的经验和习惯。我们不妨称为他们为高级用户。而GUI程序面对的是普通用户,他们只会简单的鼠标点击操作,不会也不愿意去学命令行的东西和知识,如果也编写让普通用户使用的计算机程序就需要编写成GUI程序。这就好像不懂摄影的人只会使用傻瓜相机那样;
注意,所有的GUI程序都可以转化为命令行程序,当然,反之亦然;
命令行程序还有一个非常好的作用是支持程序员的模块化编程。当一个程序员在编写一个大型GUI软件的某个模块时,最好在命令下编程,将该模块调试通过,然后在将该模块集成到大型的GUI程序中去;
命令行程序时我们学校某个新语言的最后的支持工具。让初学者专注于当前在学习的语法细节,而不要一上来就牵涉到GUI等高级编程的知识,从而被吓倒。待通过命令行程序掌握一定的语法和使用语言的能力后,在慢慢的转向GUI程序的编写,为走向工作岗位做准备;
科学研究者针对某个问题,提出某个新算法,也通常使用命令行的程序发布出来,供大家使用。这种情况也是最适合用命令行程序编程了,没有必要小题大作,非要哗众取宠的编写出一个庞大、臃肿的GUI程序,这样也不符合模块化编程的思想;
软件公司面向市场的软件一般都会推出GUI程序,因为他们面向的都是普通用户。以后为了找到更好的软件公司岗位,我也要学好GUI编程的知识,而这些知识的学习支撑是靠我们使用命令行程序的经验获得的。
所以,我们要认清命令行程序与GUI程序的区别和联系,它们的地位和作用,以更好的指导我们的实践。
(Console program)与GUI (图形用户界面)程序的区别和联系如下:
有些程序没有太多的用户交互,功能相对来说不是太复杂,这类程序就没有必须非要编成GUI程序,就可以将其编写成命令行程序,小巧灵活,占用空间小,方便用户使用。而功能相对复杂,同时又有太多的用户交互,可以考虑编写成GUI程序;
命令行程序一般情况下都会牵涉到用英文书写的命令,所以用好命令行程序需要用户记忆一些英文的单词。也就是说,命令行程序面向的是高级用户,这些人的英文水平高,同时有使用Linux系统的经验和习惯。我们不妨称为他们为高级用户。而GUI程序面对的是普通用户,他们只会简单的鼠标点击操作,不会也不愿意去学命令行的东西和知识,如果也编写让普通用户使用的计算机程序就需要编写成GUI程序。这就好像不懂摄影的人只会使用傻瓜相机那样;
注意,所有的GUI程序都可以转化为命令行程序,当然,反之亦然;
命令行程序还有一个非常好的作用是支持程序员的模块化编程。当一个程序员在编写一个大型GUI软件的某个模块时,最好在命令下编程,将该模块调试通过,然后在将该模块集成到大型的GUI程序中去;
命令行程序时我们学校某个新语言的最后的支持工具。让初学者专注于当前在学习的语法细节,而不要一上来就牵涉到GUI等高级编程的知识,从而被吓倒。待通过命令行程序掌握一定的语法和使用语言的能力后,在慢慢的转向GUI程序的编写,为走向工作岗位做准备;
科学研究者针对某个问题,提出某个新算法,也通常使用命令行的程序发布出来,供大家使用。这种情况也是最适合用命令行程序编程了,没有必要小题大作,非要哗众取宠的编写出一个庞大、臃肿的GUI程序,这样也不符合模块化编程的思想;
软件公司面向市场的软件一般都会推出GUI程序,因为他们面向的都是普通用户。以后为了找到更好的软件公司岗位,我也要学好GUI编程的知识,而这些知识的学习支撑是靠我们使用命令行程序的经验获得的。
所以,我们要认清命令行程序与GUI程序的区别和联系,它们的地位和作用,以更好的指导我们的实践。
相关文章推荐
- 安装程序命令行选项和属性 - Setup.exe及*.MSI
- 完成linux命令行长宽认证程序
- VC.net命令行程序,没有找到MSVCR80d.dll,因此这个应用程序未能启动。重新安装程序可能会修复此问题
- 程序语言的静态作用域和动态作用域
- MFC程序中关于命令行的处理
- .Net里的命令行工具与作用
- Windows 服务控制管理器通信的命令行程序
- [小程序大道理]java中static的作用
- Explorer.exe程序在系统中的作用
- 如何在命令行下编译创建VC程序
- [ZT]如何在图形界面中实时捕获控制台程序的标准输出,让图形界面程序向控制台程序输入特定的命令行指令
- 用于Windows 软件更新程序包的命令行开关
- 命令行客户端程序编制和编译设置
- [转] 如何去掉有的opengl程序所具有的命令行窗口?
- 请问Tornado下一些命令行程序如何使用?
- 对命令行程序调用及其结果显示的一点补充
- 如何调用命令行程序, 并得到输出, 还有输入交互?
- 在命令行下编译创建VC程序
- 网络/信息化管理人的作用及地位
- Windows 服务控制管理器通信的命令行程序