Что проще для начинающих: RubyCocoa или ObjC / Cocoa - PullRequest
2 голосов
/ 04 февраля 2009

В прошлом я слышал несколько дебатов, которые более зрелые: RubyCocoa или Obj-C / Cocoa ... но я чувствовал, что ответы появляются прямо над "новичком", который действительно оценит ответ.

Таким образом, вопрос заключается в следующем: для начинающего, с минимальным опытом программирования, легче изучать Ruby и исследовать Какао через мост (затем, возможно, взяться за Obj-C) или прыгнуть прямо в Objective -C и какао.

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

Обновление : Я прошу прощения, но когда я сказал «изучать Ruby и исследовать какао», я имел в виду не изучение программирования через RubyCocoa, а скорее изучение Ruby (и один раз достаточно уверенный), начинающий исследовать Какао с возможностью использовать свой растущий набор навыков для решения Obj-C.

Ответы [ 9 ]

11 голосов
/ 04 февраля 2009

Я бы не рекомендовал учиться программировать с RubyCocoa.

Я люблю Ruby и считаю, что это отличный язык для изучения программирования, но мост RubyCocoa недостаточно хорошо документирован, поэтому я рекомендую его в качестве учебной среды. Вы будете изучать общие концепции программирования, фреймворки Cocoa и причуды RubyCocoa одновременно. Это много вещей, которые можно запихнуть в вашу голову.

Если вы связаны и решили начать с Какао, начните с изучения Objective-C. В противном случае вы могли бы начать с изучения Ruby, а затем перейти к Objective-C, как только вы почувствуете себя более комфортно как программист. И как только вы сделаете все это, вы можете использовать RubyCocoa, но тогда вы будете знать, что это не заставит вас сойти с ума.

5 голосов
/ 04 февраля 2009

Я бы начал с того, что Apple проповедует: Objective-C / Cocoa

3 голосов
/ 04 февраля 2009

Написание кода - это простая часть

Нет смысла действительно:

  1. Постарайтесь понять, что легко, если вы выбираете легкий путь, вы всегда ошибетесь. Не бойтесь того, что трудно, потому что трудно бояться нет.

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

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

  4. Только один вопрос имеет значение: что нужно знать перед тем, как столкнуться с любым из двух подходов? - Вы сказали:

    для начинающих, практически без опыта программирования

Мой ответ:

Часто рядом, где я живу, туристы спрашивают:

"Как мне добраться до места X здесь?"

Люди здесь обычно отвечают:

«Если бы я был тобой, и я пытался добраться до места с названием X, я бы не стал начинать отсюда ..»

Итак .. ответ на ваш вопрос:

Ни

Всем начинающим следует всегда изучать основы программирования в соответствии с тем, что сказал @Tafkas ... (необязательно изучать языки ООП ... но программировать ...), прежде чем принимать какое-либо решение о том, что изучать и / или реализовывать. , (Это + сбор требований)

.. В противном случае люди, изучающие эти языковые / технологические навыки, станут просто еще одним набором детишек сценариев на пути к тому, чтобы стать копирующими обезьянами кода

2 голосов
/ 04 февраля 2009

Я бы посоветовал, если вы серьезно относитесь к написанию приложений для OSX и / или iPhone, я настоятельно рекомендую, чтобы вы промокли от Objective-C и какао.

Причина проста:

  • Документация от Apple по Objective-C превосходна.
  • Вы получите большую помощь от сообщества здесь, в Stack Overflow, потому что в Objective-C / Cocoa больше разработчиков, чем в RubyCocoa. (из того, что я видел до сих пор).
  • Разработчики Objective-C очень хорошо помогают друг другу, и я не смог найти лучшую группу разработчиков с распростертыми объятиями для новых людей, изучающих язык.
  • Книги Великого разработчика доступны, а также внешнее обучение, если хотите.
  • Самое большое, что я вижу, это то, что вы НЕ можете разрабатывать для iPhone, используя RubyCocoa. Но если вы изучите Objective-C / Cocoa, вы сможете погрузиться в Cocoa Touch.

Нет никаких гарантий, что Apple будет обновлять RubyCocoa так же, как и с какао.

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

2 голосов
/ 04 февраля 2009

Похоже, ваша цель - научиться программировать на какао, используя в качестве языка Ruby или Objective-C.

Хотя я никогда не использовал Ruby (или RubyCocoa), я понимаю, что Cocoa написан с Objective-C в качестве основного языка, а мосты (Python и Ruby) идут вторыми. Хотя они обычно работают хорошо, есть некоторые грубые края, которых нет при использовании Какао из Objective-C.

Я бы сказал, что вы должны идти по маршруту Objective-C / Cocoa. Может быть неплохо начать сначала с другого языка - C, если вы хотите изучать его (что было бы полезно, так как Objective-C - расширенный набор C), или что-то вроде Java, если вы хотите пойти по пути OO. 1005 *

Это не значит, что RubyCocoa не работает или бесполезен. Это отлично подходит для того, что он делает, но я не думаю, что это то место, с которого можно начинать программирование на Какао.

2 голосов
/ 04 февраля 2009

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

1 голос
/ 04 февраля 2009

Я думаю, что вы идете по более сложной дороге, перейдя с RubyCocoa, если вы хотите создавать серьезные приложения для OS X или особенно для iPhone.

Основная причина - просто возможность найти ответы на часто задаваемые вопросы по программированию. В Objective-C / Cocoa существует растущее сообщество с множеством форумов, фрагментами кода, примерами и т. Д. Вам будет бесконечно легче быстро научиться использовать Cocoa, если вы понимаете Objective-C. Вашим коллегам также будет легче устранять неполадки в вашем коде и помогать вам, когда вы застряли. Objective-C на самом деле не так сложен в изучении, особенно если у вас есть какое-то основание в концепции ОО.

0 голосов
/ 04 февраля 2009

Я думаю, это зависит от того, сколько новичок уже знает. Если вы уже знакомы с объектно-ориентированным программированием, вам обязательно нужно изучить target-c. Размышление в таких парадигмах, как обмен сообщениями, делегирование и категории, очень поможет понять систему Какао. Если у вас под рукой несколько языков, но нет объектно-ориентированного программирования, то у вас, вероятно, также достаточно опыта, чтобы изучать ООП через Какао, но вы понимаете, что он обрабатывает вещи не так, как языки C ++. Если у вас очень мало опыта программирования, то в краткосрочной перспективе может быть лучше ruby.

Еще одним преимуществом target-c, о котором следует помнить, является парадигма ручного подсчета ссылок на управление памятью. Это может быть намного проще, чем malloc / free, но он не допускает лени, которую порождают Java и языки сценариев.

0 голосов
/ 04 февраля 2009

Я бы предложил начать с языка oo, такого как c ++ или java. После понимания основных понятий оо не должно быть трудно усвоить цель-с.

Проблема с рубиновым какао состоит в том, что нет гарантии, что яблоко поддержит это в будущем. В прошлом они сбросили мост какао-ява.

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