在Ubuntu上学习C会在今夏学习Objective-C时给我优势吗?

0 投票
5 回答
844 浏览
提问于 2025-04-15 22:44

我现在会用Ruby编程,但我想学一门新语言。我现在用的是Ubuntu 10.04,不过我打算在夏天的时候换成Mac。总之,我想学一些更适合做图形用户界面(GUI)开发的东西。我在想,是否应该现在在Ubuntu上学C语言,然后等我买了iMac再学Objective-C?学C语言会让我更有优势吗?还是说我直接在Ubuntu上学Python,然后等新电脑到了再学Objective-C比较好?

5 个回答

0

如果你打算在Linux上学习C语言,建议你先了解一下Glib和GObject,还有Gtk用于图形界面等。这些库是最常用且容易上手的,能够帮助你完成很多标准C库里没有的功能。

通过GObject,你会对面向对象的设计有一些了解,因为它在C语言上实现了一种类型系统。不过,当你转向学习Objective-C时,可能会觉得它的语法让人困惑。举个例子,C语言中的所有函数名都是全局的,这取决于你的源文件引用了哪些库。对于某一类特定类型的操作函数,它们通常会有相同的前缀,前缀是它们所属对象类型的名称。

gtk_widget_show_all(widget);

与之相比:

widget.showAll();

这只是语法上的差别,因为确实有一个真实的类型系统被实现了,只不过它不是C语言的一部分,而是由GObject在C语言之上实现的。网上有很多关于GLib和GObject的优秀教程,可以帮助你入门。

1

当然,如果你已经会了C语言,学习Objective-C会简单很多。其实很多关于Objective-C的书籍也假设你已经懂C语言。

另外,考虑学习一些MacRuby,这样可以帮助你进行图形界面开发哦;)

4

学习编程语言时,按照它们被创造的顺序来学是很有帮助的。写Objective-C的人在定义这个语言时,明显是考虑到了C语言及其语法、特点和功能。所以,现在学C语言对你是有好处的。这样你将来可能会更明白为什么Objective-C是这样构建的。

C语言有一本经典的书,叫做《C程序设计语言》,作者是Kernighan和Ritchie。这本书短小精悍,容易理解,如果你已经学过其他语言的话,读起来会更轻松。

撰写回答