Сегодня попробовал написать свою первую программу на Objective-C для iPhone. Надо немного потренироваться с языком и основами перед курсами. Курсы будут всего три дня, и не думаю, что кто-то будет нас учить с самых нулей до самого сложного.
Среда разработки X-Code стоит у меня уже пару недель, но дальше запуска дело не уходило. Я только запускал его и ни разу даже не пытался создавать проект. Создал новый проект и смотрю на рабочий стол, а совершенно не могу понять, а что же дальше. Ну, думаю, без бутылки здесь точно не разобраться.
Вчера зашел на сайт для разработчиков Apple, открыл документ для начинающих, в котором рассказывается, как создать свое первое приложение Hallo World для iPhone и начал повторять все шаги.
Да, Objective-C – это совершенно другой мир и совершенно другой язык, который никак не связан с классическими С/С++. Как я понял, для компиляции программ в X-Code используется GNU компилятор. И вот тут возникает вопрос – а где еще используется Objective-C? Используют ли его в Linux? Я просто никогда не интересовался этим вопросом и реально не знаю. Но если это GNU компилятор, то мне кажется, он должен уметь компилировать код под Linux или BSD.
Судя по всему, придется покупать книженцию по Objective-C и изучать новый язык. На первый взгляд он какой-то долбанутый. Пример рисования банальной строчки Hello World на экране:
- (void)drawRect:(CGRect)rect { NSString *hello = @"Hello world"; CGPoint point = CGPointMake(10, 20); UIFont *font = [UIFont systemFontOfSize:24.0]; [[UIColor whiteColor] set]; [hello drawAtPoint:point withFont:font]; }
Очень не привычно.
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
По-моему, пример рисования -- это не совсем "Hello world". Как водится, "Hello world" -- это что-то проще: вывести строку в консоль или в Interface Builder'е перетащить на форму UILabel и прописать ей в свойство Text "Hello world"... Но это ж Apple -- у них всё по другому :-)
А язык, конечно, долбанутый на первый взгляд. Сразу режет глаза синтаксис "посылки сообщений" ([bla-bla-bla]) и ± перед методами.
Но жить с ним можно.
Михаил глянув на написанный вами код objectiv-c у меня уже появилось отвращение к этому языку:) Хотя мне говорили, что он очень похож на классический Cи.
Да.. судя по коду мне тоже кажется что он слишком странный и я тоже кстати не разу даже не начинал на нём писать или разбиратся, но говорят что те кто только вот начинает учить программирование причём классический С С++ у них нечего не выходит, а потом переходят на Objective-C и не то чтобы профессионалы можно сказать даже эксперты сам не видел но много наслышан от надёжных источников...
Это достаточно простой пример, просто он использует графический режим:
1 задать строку
2 задать точку вывода
3 задать шрифт
4 задать цвет
5 вывести результат
Язык больше похож на просто человеческий, а не программирования
Михаил, вот хорошая книга для изучения ObJective-C основ: BecomeAnXCoder. Есть с переводом на русский.
Пример вывода на экран:
int main()
{
NSLog(@"Здравствуй, мир!");
return 0;
}
Все же, от книжки...:)
Какой это язык по счету для тебя??
Как учил предыдущие??
уже наверно 7-й. Всегда учу тем, что пишу для себя что-то
Руслан - NSLog вывод не на экран а в ЛОГ )
Если в книге был такой пример - найдите автора и проломите ему череп.
Михаил - Пример да долбанутый. Но язык на самом деле очень интересный, стоит лишь чуть глубже взглянуть и уйти от такий примеров. Он не то что бы похож на простой человеческий, но на первых парах возникает ощущение что язык понимает что ты хочешь сделать а не что ты ввел) Потом конечно начинаешь понимать что его логика просто гораздо человечнее чем у тех же СИ СИ++.
И да по собственным ощущениям и из обсуждения с товарищами он "проще" СИ++. Правда ровно до тех пор пока не начнешь писать что то выходяшее за рамки баловства.
оО, так и сделаю)) Все же это пример попроще в плане вывода сообщений. А так, на самом деле Apple любит выделяться всякими "извращениями". В упомянутой книге функция NSLog рассматривается как функция вывода на экран. Пункт так и называется "Вывод сообщений на экран".
Описание функции:
"Функция NSLog() изначально была разработана для отображения ошибок, а не для
вывода результатов работы программы. Но из-за простоты использования, мы
адаптировали ее в этой книге для отображения результатов".
Возможно, не стоит ее так "адаптировать".
Здравствуйте Михаил.
Вот вы используете Objective-С, а как относитесь к выходу Delphi XE2?
Я никак не отношусь к Delphi XE2 и почему-то обратно не тянет. Меня вполне устраивают C# и PHP. Может еще Objective-C затянет, пока не знаю
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.