2010-05-15 2 views
1

Я знаю Руби прямо сейчас, однако я хочу изучить новый язык. Я запускаю Ubuntu 10.04 прямо сейчас, но я собираюсь получить Mac позже этим летом. В любом случае я хочу что-то еще для разработки графического интерфейса. Мне было интересно, следует ли мне сейчас изучать C на Ubuntu, а затем узнать Objective-C, когда я получу iMac? Будет ли изучение C дать мне преимущество? Или я должен просто изучить Python на Ubuntu, а затем узнать Objective-C, когда я получу новый компьютер?Если я начну изучать C на Ubuntu, это даст мне преимущество, когда я начну изучать Objective-C позднее этим летом?

+0

Связанный вопрос nhttp: //stackoverflow.com/questions/447942/game-programming-on-objective-c-and-linux – R0MANARMY

+0

Почему бы вам не просто изучить Objective-C, если это ваша конечная цель? – Clifford

ответ

1

Конечно Objective-C достаточно легко узнать, если вы знаете, C и довольно много книг на Objective-C, даже предполагаю, вы знаете C.

Также рассмотрите немного узнать о MacRuby для разработки графического пользовательского интерфейса;)

+0

MacRuby выглядит потрясающе! Может быть, я должен запустить мой старый Хакинтош! : D – Anonymous

4

Часто полезно изучать языки программирования в том порядке, в котором они были созданы. Люди, которые написали Objective-C, явно имели C и его синтаксис, особенности и особенности, когда они определяли язык. Это не может повредить вам, чтобы изучить C сейчас. Возможно, у вас есть некоторое представление о том, почему Objective-C структурирован так, как это происходит позже.

C имеет большую, классическую книгу на ней, Язык программирования C по Кернигану & Ритчей, который является коротким и легко усваивается, если у вас уже есть другой язык под поясом.

0

Если вы собираетесь начать обучение C на Linux, вам нужно начать с Glib и GObject ... Gtk для графического интерфейса и т. Д. Они являются самыми распространенными и легко узнаваемыми библиотеками для выполнения многих задач которые, к сожалению, остались вне стандартной библиотеки C.

Вы получите некоторый смысл объектно-ориентированного дизайна, так как GObject реализует систему типов сверху C, но синтаксис, вероятно, смутит вас больше, чем поможет при переходе к Objective-C. Например, все имена функций в C находятся в глобальной области, в зависимости от того, что включает ссылки на исходный файл. Группы функций для работы с определенным набором типов имеют префикс одинаковый, используя имя типа объекта, к которому они принадлежат.

gtk_widget_show_all(widget); 

против

widget.showAll(); 

Это только синтаксическое различие, поскольку есть очень реальный тип системы реализован, он просто не является частью языка C, но реализован поверх него по GObject. В GLib и GObject есть отличные уроки, чтобы вы начали.

0

Обучение C определенно поможет, так как Objective C наследует множество свойств и добавляет к ним.

Вы можете узнать Objective C либо из «Learn Objective C на Mac», это действительно отличная книга, а затем, если вы планируете изучать какао, получите «Learn Cocoa on the Mac» или тот, который Джеймс Дэвидсон , они должны дать вам прекрасное начало, вы можете подумать о том, чтобы переместить его в Hillegass, а также для разработчика «Objective C Developer Handbook» Дэвида Чисналла, это хранитель, вы можете прочитать его через месяц или два.

Для компилятора я хотел бы указать, что вы clang, хотя комбинация gcc и gnustep будет работать. clang - лучший выбор, если вы хотите работать с функциями Obj C 2.0, и он находится в тяжелом развитии.

Смежные вопросы