不要在Unix下遍桌面程序(1)《精通Unix下C语言与项目实践》读书笔记(9)

简介:


《精通Unix下C语言编程与项目实践》读书笔记(new)

不拘一个遍程序系列程序不能一个脑袋钻到底,有时要学会变通,即所谓的曲线救国。
宝宝图片:超可爱的小宝宝 博客

第1回 回评论读者展迷茫,出《笔记》浪子释疑惑(九)
作者:朱云翔,胡平(朱朱胡工作室)

1.6 可以在Unix下编写桌面软件吗

编程浪子:请问大家最想在Unix下编什么程序?
游客甲:我最想在Linux下编一个收音机软件。
游客乙:我最想编一个Linux下的看碟软件。
游客丙:我想编学习QT
游客丁:我想编一个三维游戏。
……
相信大家都有编写各式各样有趣程序的梦想,很多人甚至就是带着这种梦想而义无反顾的选择了计算机科学系,只是可惜大学校园一次又一次的让我们失望,“时间像白马一样流逝,而我却一个系统也未编成”,今天投身朱朱胡工作室,相信大家也是带着这样的梦想而来。
只是,你们又要失望了!我们不会教你编写收音机软件,不会教你编写DVD软件,甚至根本不会教你编写Unix/Linux下的任何图形界面编程,此处的学习将与KDEGNOME无缘。原因如下:

1.6.1 大部分程序不需要图形界面

目前Unix乃至Linux常常作为服务器而存在,因此大部分情况下只需要服务程序,这些服务程序或者提供网络后台应用,或者只面向专业专业人士,他们幕后默默的工作,不需要花俏的界面。就比如明星演唱会,明星是前台程序,而灯光师、化妆师、音响师等工作人员就是后台进程,大家想想,当你们看到明星在台上穿着漂亮、性感、暴露的时装搔首弄姿的时候,有谁注意其他默默服务的人员传什么。所以Unix下大部分实用程序运行在字符界面,我们只要知道字符界面上的程序设计就可以了。
不知名的游客:但是图形界面要比字符界面方便的多,而且现在很多软件都提供了图形方式的操作界面,怎么说不需要图形界面呢?
没错,人们都需要一目了然的操作,尤其是一些非程序员,他们还不能进入字符界面操作,所以必须提供图形程序。但是请大家注意,这些图形界面大多没有运行在服务器上,而是运行在某个远程Windows机器上,也就是说这些图形程序都是客户端而不是服务器,就如同网络游戏,漂亮的是用户PC端,而不是后台服务端。
不知名的游客:那为什么不能用Linux做桌面呢?比如Ubuntu的桌面就很漂亮,而且操作也很方便,很适合在非程序员中推广啊。
我在网上看到了Ubuntu要取代Windows的说法,还看到了Linux要在桌面应用市场与Windows一争高低,对于此类文章我一般是付之一笑,连点都懒得点击。原因无他,我一直认为Linux要在桌面上与windows分庭竞争就目前而已不过是一个笑话,就像好像萨达姆单方面宣布美国布什总统死刑一样,也许以后有Windows/Linux桌面应用并驾齐驱的一天,但是在这一天到来之前,建议大家老老实实只在服务器应用上设计程序,改变世界走向保护宇宙和平捍卫地球尊严的事情还是交给蜘蛛侠咸蛋超人葫芦娃虹猫蓝兔美少女战士去完成,我们随大流就行了。



 本文转自 zhuyunxiang 51CTO博客,原文链接:http://blog.51cto.com/zhuyunxiang/162814,如需转载请自行联系原作者


相关文章
|
11月前
|
存储 自然语言处理 编译器
【C语言】编译与链接:深入理解程序构建过程
【C语言】编译与链接:深入理解程序构建过程
174 1
|
存储 算法 C语言
"揭秘C语言中的王者之树——红黑树:一场数据结构与算法的华丽舞蹈,让你的程序效率飙升,直击性能巅峰!"
【8月更文挑战第20天】红黑树是自平衡二叉查找树,通过旋转和重着色保持平衡,确保高效执行插入、删除和查找操作,时间复杂度为O(log n)。本文介绍红黑树的基本属性、存储结构及其C语言实现。红黑树遵循五项基本规则以保持平衡状态。在C语言中,节点包含数据、颜色、父节点和子节点指针。文章提供了一个示例代码框架,用于创建节点、插入节点并执行必要的修复操作以维护红黑树的特性。
235 1
|
NoSQL 编译器 程序员
【C语言】揭秘GCC:从平凡到卓越的编译艺术,一场代码与效率的激情碰撞,探索那些不为人知的秘密武器,让你的程序瞬间提速百倍!
【8月更文挑战第20天】GCC,GNU Compiler Collection,是GNU项目中的开源编译器集合,支持C、C++等多种语言。作为C语言程序员的重要工具,GCC具备跨平台性、高度可配置性及丰富的优化选项等特点。通过简单示例,如编译“Hello, GCC!”程序 (`gcc -o hello hello.c`),展示了GCC的基础用法及不同优化级别(`-O0`, `-O1`, `-O3`)对性能的影响。GCC还支持生成调试信息(`-g`),便于使用GDB等工具进行调试。尽管有如Microsoft Visual C++、Clang等竞品,GCC仍因其灵活性和强大的功能被广泛采用。
306 1
|
编译器 C语言 计算机视觉
C语言实现的图像处理程序
C语言实现的图像处理程序
|
10月前
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
259 5
|
10月前
|
C语言
C语言编程中,错误处理至关重要,能提升程序的健壮性和可靠性
C语言编程中,错误处理至关重要,能提升程序的健壮性和可靠性。本文探讨了C语言中的错误类型(如语法错误、运行时错误)、基本处理方法(如返回值、全局变量、自定义异常处理)、常见策略(如检查返回值、设置标志位、记录错误信息)及错误处理函数(如perror、strerror)。强调了不忽略错误、保持处理一致性及避免过度处理的重要性,并通过文件操作和网络编程实例展示了错误处理的应用。
265 4
|
10月前
|
网络协议 物联网 数据处理
C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势
本文探讨了C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势。文章详细讲解了使用C语言实现网络通信程序的基本步骤,包括TCP和UDP通信程序的实现,并讨论了关键技术、优化方法及未来发展趋势,旨在帮助读者掌握C语言在网络通信中的应用技巧。
218 2
|
10月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
237 1
|
10月前
|
程序员 C语言
C语言中的指针既强大又具挑战性,它像一把钥匙,开启程序世界的隐秘之门
C语言中的指针既强大又具挑战性,它像一把钥匙,开启程序世界的隐秘之门。本文深入探讨了指针的基本概念、声明方式、动态内存分配、函数参数传递、指针运算及与数组和函数的关系,强调了正确使用指针的重要性,并鼓励读者通过实践掌握这一关键技能。
194 1
|
存储 编译器 程序员
C语言程序的基本结构
C语言程序的基本结构包括:1)预处理指令,如 `#include` 和 `#define`;2)主函数 `main()`,程序从这里开始执行;3)函数声明与定义,执行特定任务的代码块;4)变量声明与初始化,用于存储数据;5)语句和表达式,构成程序基本执行单位;6)注释,解释代码功能。示例代码展示了这些组成部分的应用。
507 10