Начало работы с C и Objective-C

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

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

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

9 ответов


Я не совсем согласен с тем, кто говорит, что "C и Objective-C-разные языки". Objective-C является строгим надмножеством C.

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

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

I у меня нет никаких рекомендаций по этому поводу, но, вероятно, большинство интернет-учебников будет достаточно для этой цели (помните, что вы не пытаетесь освоить его на этом этапе). Если вы хотите принять это всерьез, то "язык программирования C" от K&R является классическим текстом.

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

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


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

вы можете использовать obj-c в windows, Если вы получаете gcc. Кроме того, проверить cocotron:

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

со всем шумом о разработке iPhone, теперь есть десятки obj-C книг. Не уверен, насколько они хороши, но классика, которую я бы предложил, это Программирование какао от Mac OSX Аарон Hillegass.


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

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

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


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


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


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

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

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


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

чем скорее вы получите Xcode работает, тем скорее вы будете комфортно с ним.


недавно я начал изучать программирование для Iphone и пробовал много книг differenet, пока не нашел, что они помогли мне больше всего (Я бы тоже сильно recomenned получение мак с XCode-это способ кодирования для iPhone):

отметить, что все эти книги имеют одного автора и, следовательно, прослеживаемость велика! Этот книги crossreferences друг с другом, что действительно помогает.


соглашаясь с другими, я нашел Программирование какао для Mac OSX-Hillegass отличное вступление к Objective-C, Cocoa framework и whole Apple способ делать вещи.

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

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