Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > С чего начать программировать на Мак ОС?


Автор: artemvyrtosu 29.8.2009, 21:50
Добрый день,

Мне нужно выучиться программировать на Мак. Но проблема в том что у меня дома нету мака, и я скачал виртуальный образ установленного леопарда 10.5.5 (хакинтош). Могу ли я на нем научиться программить под мак? И если да то с чего мне лучше всего начинать. Я системный программер под Юникс - Винду, 8 лет опыта девелопмента. И к сожалению в ближайшее время которого как раз у меня нет покупка мака не предвидится. После да, но надо уже осваиваться так сказать smile

Я также скачал с пайратбея среду разработки под мак - xcode3.12.2621. Но как я не пытаюсь ее сконвертировать в формат исо и скормить вмваре, мой хакинтош не хочет его видеть. Т.е. таким образом я не могу установить софт маковский на мой вмварьный мак. Есть какой то солюшен к этой проблеме или я делаю что то неправильно?

Я буду рад любым общим советам которые помогут мне стать профессионалом в программирование под Макинтош. Подскажите с чего начинать пожалуйста

С уважением.

Автор: kemiisto 29.8.2009, 22:12
Цитата(artemvyrtosu @  29.8.2009,  22:50 Найти цитируемый пост)
Но как я не пытаюсь ее сконвертировать в формат исо и скормить вмваре, мой хакинтош не хочет его видеть.

Самый простой путь - расшарить папку, содержащую *.dmg в VMWare. Ну можно скопировать внутрь виртуалки для надёжности. Двойной клик - образ смонтируется. Там дальше разберётесь.

Цитата(artemvyrtosu @  29.8.2009,  22:50 Найти цитируемый пост)
Подскажите с чего начинать пожалуйста

Учить Objective-C. Литературу можно обсудить в ПМ. smile 

Автор: Riddik 30.8.2009, 00:17
Можно вопрос - почему для Mac обязательно  Objective-C, неужели не обойтись С++?

Насколько  Objective-C отличается от С++?

Автор: kemiisto 30.8.2009, 00:33
Цитата(Riddik @  30.8.2009,  01:17 Найти цитируемый пост)
Можно вопрос - почему для Mac обязательно  Objective-C, неужели не обойтись С++?

Потому, что это основной язык для разработчиков под Mac OS X. Так сложилось исторически. На данный момент все ключевые фреймворки (в т.ч. Cocoa) на нём написаны и его же и лучше использовать для разработки. Заголовки, документация, поддержка в XCode, ...

Цитата(Riddik @  30.8.2009,  01:17 Найти цитируемый пост)
Насколько  Objective-C отличается от С++? 

Достаточно. Objective-C - всего лишь надстройка над C. Его объектное расширение. С++ - монструозное мультипарадигменное нечто.

К тому же, ООП реализовано несколько иначе (внешне). Посылка сообщения объекту вместо вызова метода (но это только внешне, в отличие от Smalltalk'а, там всё по-честному). Язык проще, приятнее, можно использовать сборщик мусора. Но... Как любой C-based language не лишен своих недостатков.

Это если очень коротко.

Автор: nerezus 30.8.2009, 00:37
Цитата

Я системный программер под Юникс - Винду, 8 лет опыта девелопмента.
 По 2 минуты в неделю? Судя по вопросу и отсутствию возможности купить мак.

Цитата

Можно вопрос - почему для Mac обязательно  Objective-C, неужели не обойтись С++?
 Обязательно. 

Цитата

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

Цитата

и я скачал виртуальный образ установленного леопарда 10.5.5 (хакинтош)
 Слайдшоу. Так что поработай программистом или грузчиком и накопи на мак. В Москве сделаешь это за 10 дней(20т.р. стоит минимальный мини)

XCode качаешь с оффсайта.

Update: и ты задрал флудить все форумы этой темой. Мог бы и на одном разместить.

Автор: andrew_121 30.8.2009, 00:56
Цитата(Riddik @  30.8.2009,  00:17 Найти цитируемый пост)
почему для Mac обязательно  Objective-C, неужели не обойтись С++?

Не обязательно. На С++ можно писать легко. Для Обжект-С существует огромное кол-во С++ оберток. Если чего-то нет, напиши и пользуй.

Кстати. Чтоб изучать Обжект-С Мас не нужен. Ставь Обжект-С компилятор и в перед!

Автор: Riddik 30.8.2009, 00:58
Цитата(nerezus @  30.8.2009,  00:37 Найти цитируемый пост)
Обязательно. 


Какие заморочки мне гразят, если для Mac'a напишу на C++/Qt?

 
Цитата(kemiisto @  30.8.2009,  00:33 Найти цитируемый пост)
Достаточно. Objective-C - всего лишь надстройка над C. Его объектное расширение. С++ - монструозное мультипарадигменное нечто.


Сколько адоптироваться С++-программисту к Objective-C?

Автор: Любитель 30.8.2009, 00:59
Цитата(andrew_121 @  30.8.2009,  00:56 Найти цитируемый пост)
Не обязательно. На С++ можно писать легко. Для Обжект-С существует огромное кол-во С++ оберток. Если чего-то нет, напиши и пользуй.

Ээ.. Где пруфлинк?

Цитата(andrew_121 @  30.8.2009,  00:56 Найти цитируемый пост)
Кстати. Чтоб изучать Обжект-С Мас не нужен. Ставь Обжект-С компилятор и в перед!

Да-да! Мак не нужен. Нужно просто по**ться с хакинтошом.

Автор: kemiisto 30.8.2009, 01:08
Цитата(andrew_121 @  30.8.2009,  01:56 Найти цитируемый пост)
Не обязательно. На С++ можно писать легко. Для Обжект-С существует огромное кол-во С++ оберток. Если чего-то нет, напиши и пользуй.

Бла, бла, бла...

Цитата(andrew_121 @  30.8.2009,  01:56 Найти цитируемый пост)
Кстати. Чтоб изучать Обжект-С Мас не нужен. Ставь Обжект-С компилятор и в перед!

Это будет бесполезное знание. И к топику никакого отношения не имеет.

Цитата(Riddik @  30.8.2009,  01:58 Найти цитируемый пост)
Какие заморочки мне гразят, если для Mac'a напишу на C++/Qt?

Риторический вопрос. Если писать только под Mac - лучше Objective-C + Cocoa + ... Мириады возможностей (взять хотя бы виджеты), нативный API, море документации, куча утилит, ... 

Цитата(Riddik @  30.8.2009,  01:58 Найти цитируемый пост)
Сколько адоптироваться С++-программисту к Objective-C? 

Недельку-две. Вопрос не в языке. Фреймворки, как обычно, сожрут море времени.

Автор: Riddik 30.8.2009, 01:14
Большое спасибо за ответы.

Вывод: если не собираешься специализироваться только для Мака, если нужно написать кроссплатформенное приложение, то лучший вариант - С++.

Автор: kemiisto 30.8.2009, 01:17
Цитата(Riddik @  30.8.2009,  02:14 Найти цитируемый пост)
Вывод: если не собираешься специализироваться только для Мака, если нужно написать кроссплатформенное приложение, то лучший вариант - С++.

С++ - всегда худший вариант. Но иногда он единственный... smile

Автор: andrew_121 30.8.2009, 01:19
Цитата(Любитель @  30.8.2009,  00:59 Найти цитируемый пост)
Ээ.. Где пруфлинк?

Вот к примеру: http://www.play3d.net/iPhone/index.html
В инете полно инфы об этом.

Цитата(Любитель @  30.8.2009,  00:59 Найти цитируемый пост)
Да-да! Мак не нужен. Нужно просто по**ться с хакинтошом.

Если тебе изучать Обжект-С, то Мас не нужен. Другое дело изучать SDK! Не путайте.

Цитата(kemiisto @  30.8.2009,  01:08 Найти цитируемый пост)
Бла, бла, бла...

Убедительно.

Автор: Riddik 30.8.2009, 01:23
Pascal - всегда худший вариант. К счастью, он сто лет не нужен. Как и его мёртвое дитя Оберон.
Приятно читать?

Вот и мне не приятно про  С++ читать в таком же духе.
Сорри, ругаться и спорить не хочу и не буду.

Автор: andrew_121 30.8.2009, 01:26
Riddik, Посмотри GNU Object-C компилятор(для винды входит в поставку мингв). Или GnuStep(это получше).

Автор: Riddik 30.8.2009, 01:30
andrew_121, спасибо.

Под iPhon тоже Objective-C или только плюсики? 

Автор: andrew_121 30.8.2009, 01:37
Riddik, Я, если нахожу обертку на С/С++, то пишу на С/С++. Если не нахожу, а объект часто используется в проекте, сам пишу обертку, это не сложно.

п.с.
если хочешь писать ГУИ приложения дла Мас и тестить под виндой, качай GNUStep(http://www.gnustep.org/). Если нет, можно просто GNU Object-C компилятор. Но GNUStep по лучше будет smile 

Автор: nerezus 30.8.2009, 01:49
Цитата

Кстати. Чтоб изучать Обжект-С Мас не нужен. Ставь Обжект-С компилятор и в перед!
 Ага, только вот насколько я помню, там даже свойств нету )

Цитата

Не обязательно. На С++ можно писать легко. Для Обжект-С существует огромное кол-во С++ оберток. Если чего-то нет, напиши и пользуй.
 Все обернуть невозможно. Так что придется.

Цитата

Вот к примеру: http://www.play3d.net/iPhone/index.html
В инете полно инфы об этом.
 Ага. На китайском. И такого же качества.

Цитата

Под iPhon тоже Objective-C или только плюсики? 
 Только ObjC.
+ извращения.

Автор: kemiisto 30.8.2009, 01:56
Цитата(andrew_121 @  30.8.2009,  02:19 Найти цитируемый пост)
Вот к примеру: http://www.play3d.net/iPhone/index.html

Теперь сравни с количеством приложений на Objective-C.

Цитата(andrew_121 @  30.8.2009,  02:19 Найти цитируемый пост)
Если тебе изучать Обжект-С, то Мас не нужен.

Внимание, вопрос!
Цитата(artemvyrtosu @  29.8.2009,  22:50 Найти цитируемый пост)
Мне нужно выучиться программировать на Мак.

Я выделил для слабовидящих флудеров.

Цитата(Riddik @  30.8.2009,  02:23 Найти цитируемый пост)
Приятно читать?

Нет. Потому что за индустрию обидно.

Цитата(Riddik @  30.8.2009,  02:30 Найти цитируемый пост)
Под iPhon тоже Objective-C или только плюсики?  

Я бы лучше сказал, только Objective-C... Но смысл... 

Цитата(andrew_121 @  30.8.2009,  02:37 Найти цитируемый пост)
если хочешь писать ГУИ приложения дла Мас и тестить под виндой, качай GNUStep(http://www.gnustep.org/). Если нет, можно просто GNU Object-C компилятор. Но GNUStep по лучше будет

А вот за этот бред ты достоен "минуса". Итак, показывай мне как ты напишешь на "GNU Object-C" (что это вообще такое?) ГУЕвое маковое приложение под Виндой. Я жду.

Автор: andrew_121 30.8.2009, 01:56
Цитата(nerezus @  30.8.2009,  01:49 Найти цитируемый пост)
Ага, только вот насколько я помню, там даже свойств нету )

В версии 4.3.3 были, и в 4.4.0 тоже есть.

Цитата(nerezus @  30.8.2009,  01:49 Найти цитируемый пост)
Все обернуть невозможно. Так что придется.

Естественно.

Цитата(nerezus @  30.8.2009,  01:49 Найти цитируемый пост)
Ага. На китайском. И такого же качества.

Странно smile  У меня на англиском. И это одна из многих ссылок. На эйпл-дев также есть обсуждения этого.

Цитата(nerezus @  30.8.2009,  01:49 Найти цитируемый пост)
 Только ObjC.+ извращения.

Давайте не устраивать холивар!

Добавлено через 5 минут и 17 секунд
Цитата(kemiisto @  30.8.2009,  01:56 Найти цитируемый пост)
Теперь сравни с количеством приложений на Objective-C.

Согласен. Естественно их больше.

Цитата(kemiisto @  30.8.2009,  01:56 Найти цитируемый пост)
Я выделил для слабовидящих флудеров.

я ответил Riddik

Цитата(kemiisto @  30.8.2009,  01:56 Найти цитируемый пост)
А вот за этот бред ты достоен "минуса". Итак, показывай мне как ты напишешь на "GNU Object-C" (что это вообще такое?) ГУЕвое маковое приложение под Виндой. Я жду.

Щас все бросил, и начал тебе что-то доказывать. Установи GNUStep и тыкайся.
Я не говорил что это полноценная среда разработки для Мас. Так, эмулятор среды и некоторых библиотек.

А по счет минуса - ставь, у меня их там много smile

Добавлено через 12 минут и 54 секунды
И в доказательство: http://images.google.ru/images?hl=ru&source=hp&q=gnustep&lr=&um=1&ie=UTF-8&ei=iLSZSvvdLdqH_Aa8oty8BQ&sa=X&oi=image_result_group&ct=title&resnum=4

Будет время, наклепаю скринов своих программ(писанных для Мас) из Мас-а и GNUStep.
Закончим на этом.

Автор: Любитель 30.8.2009, 10:46
Цитата(andrew_121 @  30.8.2009,  01:19 Найти цитируемый пост)
Вот к примеру: http://www.play3d.net/iPhone/index.html
В инете полно инфы об этом.

Итак. Во-первых, да, если очень хочется - писать на плюсах можно. Только на самом деле это лишние проблемы. ТАкже как Дельфисты пытаются юзать ВинАПИ, используя МСДН в качестве документации и периодически дописывая собственные объявления констант под последнюю версию WinSDK...

Во-вторых, насчёт "С++ - худший..." - давайте не скатываться к холивару. Если он единственный - то по определению лучший. Но в программированиии под маки/айфоны полноценную конкуренцию составляет ObjectiveC.

В-третьих, насчёт GNU Step. OpenStep - этолишь сверхбазовая спецификация маковских АПИ. Т. е., скажем, в винде частично реализована поддержка POSIX API. Поэтому точно также можно писать на винде под никсы... Это настолько же оправдано.

Автор: andrew_121 30.8.2009, 18:33
Цитата(Любитель @  30.8.2009,  10:46 Найти цитируемый пост)
OpenStep - этолишь сверхбазовая спецификация маковских АПИ

Не забываем про Cocotron. Плюс, куча дополнительных фреймворков на С++

Автор: nerezus 30.8.2009, 18:34
По факту для C++ есть рабочее решение: Qt.
Но ObjC все равно придется юзать для системнозависимых вещей.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)