Part 2
Choosing a Programming Language for GTK+ Development
在 part1 我们用 Glade 设计了一个 GTK+ 文本编辑器应用程序的图形用户界面( GUI ),并创建了一个 XML 文件 tutorial.glade 这是一个描述 GUI 的 XML 文件。
在这一部分,我将讨论可以用来进行 GTK+ 开发的编程语言。本向导系列都将只包含 C 编程和 Python 编程。
Which is the BEST Language?
先放下操作系统不说。 这个问题本身就是一个错误的问题, 因为对于不同的人,在不同的时期,处于不同的环境,答案都是不一样的。每一种编程语言都有它的有点也同时存在缺点。应该这样来问:什么语言最适合我现在开发的项目?
Language Choice Considerations
选择一门编程语言时最重要的一点是对其它的语言不抱任何成见。你可以选择 X 语言来进行 GTK+ 编程,后来又换用 Y 语言因为你知道它更适合你的任务。而 GTK+ 的概念对不同的语言来说却都是一样的。
1 经验水平
你将在编程上花费的时间,热情投入的多少以及耐心程度等等是你选择一门编程语言最重要的因素。没有任何编程经验的人需要学习一门语言的基本概念,如语法和特性等,而一个经验丰富的编程人员可以通过比较来快速掌握一门新语言,并更多地关注语言的难点。此外如果你是一个 PHP 专家,那么用 PHP 进行 GTK+ 开发是最适合你的。也许你在大学学习过 C++ 并打算用它。也许你一直用 Visual Basic 但是打算尝试用 C 。
2 相关活动和社区支持
GTK+ 是用 C 语言开发的,并且提供了其它多种语言的绑定版本。各绑定语言的开发项目的进展情况是一个重要的因素。你想要选择一个最新发布版本的语言,并且修正了 bug (我提到的所有语言都是最新的)。此外众多的使用者和大的社区也很重要,你可以从那获得更多的支持。使用某确定语言来开发 GTK+ 的人越多, 可获取的信息就越多。
3 有效率的程序员 vs 有效率的编程
易于编程开发, 速度方面的效率,可以对底层进行访问控制,这些方面存在一个权衡。对大多数程序来说, 两个编程语言的效率常常被忽视,甚至一个程序员新手根本就不会注意到这一点。因此, 对生产率的提高就成了决定性因素。例如, 如果我需要写一个程序,允许我通过一个 GUI 来与命令行交互,那么我会选择 Python 或者 Ruby 。然而, 如果我要开发一个复杂的,高性能的 IDE , 我会选择 C 或者 C++ 。事实上, 你可以在一个工程中使用不同的开发语言。你可以用 C 活 C++ 编写内存和处理器密集型实例,而用 Python 或者 Ruby 来开发其它的部分。
4 语言魅力
是的, 对开发语言的表现形式和个人的感受也是一个因素。语言整体的开发流程如何对你更重要。这影响着你的思维方式。
A Look at Python vs. C
基于以上的标准, 在我们的向导中,我将分别选择两种语言来讲解。我选择最适合以上标准的 C 和 Python 。它们都具有强大的开发团队和社区支持, 并且在开发 Linux 和 GNOME 中用的最多。此外, 对于高效率和生产率来说,它们是两个极端。在接下来的部分,你可以分别尝试它们并自己做个比较。
如果你没哟任何编程经验, 或者仅有一点 Visual Basic 或 PHP 的经验,我建议你看 Python 。即使你有 C , C++ 或者 JAVA 的经验,也许你还想学习一点 Python 的只是,它是一门令人兴奋地现代编程语言, 更多的乐趣, 令人惊奇的易学易用。对于 Linux 下 RAD 开发, Glade + Python 是一个强组合。在
www.pygtk.org . 上可以学习到更多 Python 进行 GTK+ 编程的绑定 PyGTK 。
如果你是一个经验丰富的程序员或者是一个学生, 那么很值得你去学习 C 或者 C++ 进行 GTK+ 编程开发。学习 C 语言的 GTK+ 可以很轻松地转到其它语言上比如 Python 。此外, 你可以有更多选择加入已有的项目开发中。我个人是使用 C 来开发大多数 GTK+ 项目的,尽管可能需要更多的时间。
What's Next ?
在 part3 , 我将会谈到如何设置你的开发环境并分别用 C 和 Python 来实现我们在 part1 中创建的 Glade GUI 。