Начало работы с C и Objective-C - PullRequest
6 голосов
/ 13 января 2009

Я в конечном итоге хочу программировать на Objective-C для написания программ для OS X и, возможно, iPhone. У меня нет никакого прямого опыта работы с C, и я пришел из веб-программирования. Я гораздо лучше знаком с синтаксисом Java, чем с C и Objective C.

Я просто ищу предложения о том, как начать. Похоже, мне нужно просто начать с C (у меня еще нет компьютера Mac, достаточно мощного для программирования, поэтому в любом случае было бы неплохо начать с C на платформе Windows (информация о средах программирования тоже будет полезна, я использовал для затмения)). Я просто ищу рекомендации по книгам, онлайн-уроки или любые другие указатели, чтобы иметь в виду. Имейте в виду, что моя конечная цель - работать с Objective-C, поэтому есть ли что-то, что мне нужно иметь в виду при изучении C, что-то, на что следует обратить внимание и т. Д. Спасибо за любой вклад.

Обновление : причина, по которой я думаю, что мне нужно сначала изучить C, состоит в том, что большинство уроков, с которыми я сталкивался до сих пор по Objective-C, предполагают, что вы уже понимаете синтаксис C, чего я не понимаю от корки до корки. Есть ли лучшие учебники для меня?

Ответы [ 9 ]

9 голосов
/ 13 января 2009

Я не совсем согласен с мнением: «C и Objective-C - это разные языки». Objective-C является строгим надмножеством C.

Конечно, он знает это - его точка зрения заключалась в том, что вам не нужно полностью овладевать С, прежде чем перейти к Objective-C. Я поддержу это (и, надеюсь, прояснил).

Но я думаю, что сначала стоит кое-что узнать о C, так как большинство вводных текстов по Objective-C предполагают базовые знания.

У меня нет никаких рекомендаций по этому поводу, но, вероятно, для этого будет достаточно большинства обучающих программ в Интернете (помните, что вы не пытаетесь освоить это на данном этапе). Если вы хотите отнестись к этому серьезно, тогда «Язык программирования C» от ​​K & R - классический текст.

Когда вы сможете сделать несколько основных программ hello world на C и понять систему типов, указатели и прочее - тогда возьмите копию "Cocoa Programming для Mac OS X" Аарона Хиллегаса. Это книга о Какао, которая охватывает Objective-C по пути, но это одна из лучших представленных оболочек языка. Предполагается, что вы кодируете на Mac (в конце концов, это в контексте Cocoa). Возможно, вы сможете следить за языком, используя GCC в Windows, но я бы не советовал.

Если вы собираетесь в конечном итоге работать на Mac, то лучше всего сделать это на этом этапе, ИМХО. Вы говорите, что у вас нет Mac, «достаточно мощного для программирования», но все, что может работать под OS X, было бы неплохо для начала.

4 голосов
/ 13 января 2009

Если вы знаете java, obj-c будет легким для вас (obj-c сильно повлиял на java.) У Apple есть отличная документация, вы можете запустить здесь . Я не думаю, что вам нужно изучать C, прежде чем изучать obj-c (извините Джоэл ).

Вы можете использовать obj-c в Windows, если вы получаете gcc. Также проверьте Cocotron :

Cocotron - проект с открытым исходным кодом которая направлена ​​на реализацию кроссплатформенный Objective-C API похож к описанному Apple Inc. Какао документация. Это включает в себя AppKit, Foundation, Objective-C API времени выполнения и поддержки, такие как CoreGraphics и CoreFoundation.

Со всем слухом о разработке iPhone, сейчас существуют десятки книг по obj-c. Не уверен, насколько они хороши, но я бы предложил классику Программирование Какао от Mac OSX Аарона Хиллегаса.

3 голосов
/ 14 января 2009

Программирование в Objective-C Стивена Кочана - это то, что вы хотите. Он не предполагает опыта программирования, но не сдерживает вас, если вы это делаете, и представляет все это, C с расширенным набором Objective-C, как полный пакет. Я прочитал первую половину Кочана (вторая половина попадает в Какао), и сейчас я работаю над Программированием Какао для Mac OS X (3-е издание) Аарона Хиллегаса, и чтение Кочана было огромной помощью. Эти два - «удар один-два», который поможет вам в кратчайшие сроки.

Имейте под рукой ссылки на C и Objective-C, так как документы Apple на C в XCode в значительной степени отстой от того, что я видел до сих пор. C-текст K & R подобен Британской энциклопедии C и, как и набор энциклопедий, не для всех. Я только что гуглил по ссылкам и вообще нашел то, что мне нужно в Интернете, так как Си настолько вездесущ.

Вы прожгете пару книг, прежде чем найдете набор, который лучше всего вам подходит, но вы просто не ошибетесь с Кочаном и Хиллегассом для Objective-C и Какао. К тому времени, как вы закончите первые пару глав Hillegass, вы захотите (и сможете) начать писать что-то самостоятельно.

2 голосов
/ 13 сентября 2012

4 руководства по началу работы с Objective-C, которые мне очень помогли, когда я начал разрабатывать в Xcode. Вы должны взглянуть на это:

http://cocoadevcentral.com/

http://developer.apple.com/iphone/index.action

http://developer.apple.com/iphone/library/referencelibrary/GettingStarted/Learning_Objective-C_A_Primer/

http://developer.apple.com/iphone/library/documentation/userexperience/conceptual/mobilehig/Introduction/Introduction.html#//apple_ref/doc/uid/TP40006556-CH1-SW1

2 голосов
/ 19 января 2009

В Tuaw есть недавняя запись в блоге: http://www.tuaw.com/2009/01/15/starting-out-with-objective-c/

1 голос
/ 20 апреля 2011

Соглашаясь с другими, я нашел Программирование Какао для Mac OSX - Hillegass отличное введение в Objective-C, инфраструктуру Какао и весь способ работы Apple.

Вы также можете запустить Objective-C на любом компьютере с Linux или Windows, хотя, конечно, у вас не будет доступа ко всем библиотекам Apple, например. NS (afaik). Эти фреймворки на самом деле представляют собой весь смысл Objective-C, и реальная причина, по которой он все еще существует, учитывая, что C ++ и C # появились позже, и является более или менее языком, разработанным вокруг себя (в отличие от Objective-C, который является строгим надмножеством C).

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

1 голос
/ 02 апреля 2009

Я недавно начал изучать программирование для Iphone и пробовал много разных книг, пока не обнаружил, что они помогли мне больше всего (Я бы также настоятельно рекомендовал приобрести Mac, поскольку Xcode - это лучший способ при программировании для Iphone. ):

Обратите внимание, что у всех этих книг один и тот же автор, и поэтому прослеживаемость великолепна! В книгах есть перекрестные ссылки между собой, которые действительно помогают.

1 голос
/ 13 января 2009

Я не знаю, что вы подразумеваете под Mac, достаточно мощным, чтобы программировать на нем (любой Mac должен это делать), но скоро вы получите что-то хотя бы незначительное полезное для системы разработки. (У вас вполне может быть система разработки на одном из компакт-дисков, поставляемых с вашим Mac, или вы можете скачать ее с Apple.)

Чем раньше вы заработаете Xcode, тем скорее вам будет удобно.

1 голос
/ 13 января 2009

Я бы сказал, что лучше сначала изучить С. Обязательно подходите к нему так, как оно есть: структурированный машинный язык.

когда вы почувствуете себя комфортно (нет необходимости осваивать это), переходите к Objective C, где вы заново откроете некоторые вещи, знакомые с Java, но знание инфраструктуры C станет более очевидным, когда они похожи, не эквивалентно.

очень важно не изучать язык, используя то, что вы уже знаете как «метафору» для нового. всегда старайся притвориться, что раньше ничего не знал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...