Блог

Objective-C

Сегодня получил интересный вопрос:

Здравствуйте Михаил! Хотел поинтересоваться, как идут дела с программированием на Objective-C? Вы ходили на курсы, отписывали как они проходят, но закончив курсы больше Objective-C не вспоминали, или я не прав?

Да, действительно я больше не писал про Objective-C, просто потому, что не использую его. Меня направили на курсы, потому что на работе предполагается много работы в этой сфере. Как я уже много раз говорил, в Канаде iPad менапопулярен и планшеты на андроиде я пока ни у кого не видел. Может мне так везет, но я специально ради спортивного интереса стал поглядывать даже в метро на то, чем пользуется народ. С удивлением на прошлой неделе заметил одного мужика с Asus на Windows, а в остальном вижу только iPad.

Отладка программ - метод утенка

Сегодня на сайте журнала хакер прочитал очень интересный метод решения сложных задач. Если не можешь что-то решить, то нужно делегировать задачу мысленному помощнику (резиновой желтой уточке для ванной). Вроде бы так советует делать какая-то книга "Программист прогматик". Лично я ее не читал, но метод в чем-то имеет смысл.

Дело в том, что когда делегируешь задачу, ее нужно объяснить помощнику. В данному случае нужно объяснить задачу резиновой утке. Если будете это делать на рабочем месте, то не вздумайте делать этого вслух, а то сможете примерить смирительную рубашку на ближайшие несколько лет. Такой метод вроде бы как можно использовать в отладке и поиске неисправностей. Просто объясняете утенку, что делает каждая строка.

Microsoft MVC

На работе дали новый проект, чтобы я размялся от основного проекта, над которым работаю не покладая пальцев уже два года. В моем проекте мы используем корпоративную MVC, а тут для этого проекта нужно использовать MVC от Microsoft. В пятницу запустил устанавливать последнюю Web Developer и бросил компьютер включенным, ушел домой. Сегодня пришел, а программа установки предлагает установить еще кучу фуфла для Web Developer. Ну фиг с ним, я согласился. На установку еще 6 пунктов каких-то дополнений ушло еще 3 часа.

Парень на работе из нашей команды тоже должен работать над этим проектом и запустил ту же установку. У него она шла 5 часов и он не выдержал и остановил. Подозреваю, что нужно было отключить Mac Afee, потому что он может тормозить, но мы далеко не боги в системе и не можем останавливать антивирусы сами.

Шаблоны приложений

Что мне не нравится в С++, так это шаблоны. В компонентном программировании, таком как C# или Delphi при создании нового приложения в основном файле среда разработки прописывает для нас всего пару строк кода, которые должны инициализировать главную форму. Больше ничего нет. В самих формах окон среда разработки так же прописывает пустые классы, производные от формы.

Когда я начал знакомится с Objective-C, я увидел, что XCode при создании проектов или форм добавляет для нас в генерируемые исходные файлы кучу мусора. В принципе, создание новых проектов и файлов классов в С++ (не только XCode, но и Visual Studio) сопровождается банальным копированием определенного шаблона из недр среды разработки в ваш проект. И если Microsoft в своей Visual Studio скромничает, давая нам только реально необходимый минимум (если не считать шаблонов классического С), то Apple решила пойти своим путем. В свои шаблоны они помещают кучу кода и заготовок функций, которые по их мнению, могут нам понадобится.

Что плохого? За время моего обучения на курсах произошло два косяка, один из которых препод так и не смог решить. Мы выполняли по шагам инструкции, прописанные в его файле и у нас приложение не заработало так, как ожидалось. Я закончил первым и позвал препода, чтобы он показал, где я лох. Он минут двадцать не верил своим глазам, проверяя каждую строчку кода, но пример не работал как надо.

Отладка RSS

У меня на блоге в RSS закралась ошибка и XML нарушен. Возможно я где-то забыл закрыть тэг и теперь RSS не может отображаться в браузерах. Все браузеры лохи просто игнорируют RSS и никто не хочет показывать сообщение об ошибке. Только IE умочка вегда показывает, что RSS не может быть отображен, потому что у тебя там лажа с тегом.

Я попробовал RSS в Safari, Chrome и FF и никто из них не подсказал, в каком месте я лохонулся.

Пришлось вычислять, методом тыка. Оказывается RSS <DXFile.h> в предыдущем посте восприняла как тэг и не могла найти закрывающий тэг. Пришлось экранировать символ <

Перспективы Objective-C

Вот изучаю сейчас Objective-C и боюсь что трачу время зря. Не уверен я ч будущем платформы Apple без Стива Джобса. Ну а язык по ходу дела используется только в Apple.

Язык был создан относительно недавно и почему-то он понравился Стиву Джобсу который лицензировал язык для своей компании NeXT. Тогда Стив не работал в Apple, это было в период, когда его вынудили уйти из созданной им компании и до великого возвращения.

Когда Стива Джобса решили вернуть в Apple, яблочный гигант выкупил NeXT. И не удивительно, что Objective-C стал основным языком Apple. Только будет ли он таким без Стива Джобса - большой вопрос. Язык не очень популярный и если перейти на Java или C#, можно получить на много больше программистов уже сейчас.

Objective-C

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

Среда разработки X-Code стоит у меня уже пару недель, но дальше запуска дело не уходило. Я только запускал его и ни разу даже не пытался создавать проект. Создал новый проект и смотрю на рабочий стол, а совершенно не могу понять, а что же дальше. Ну, думаю, без бутылки здесь точно не разобраться.

Вчера зашел на сайт для разработчиков Apple, открыл документ для начинающих, в котором рассказывается, как создать свое первое приложение Hallo World для iPhone и начал повторять все шаги.

Новые статьи на английском

За последние пару недель на сайте Hackish Code я выложил следующие статьи:

Кто пропустил эти статьи в книгах, но знает английский, есть шанс прочитать в сети.

Программирование для iPhone

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

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

Нечего писать

Сегодня что-то ничего не хочу писать. Нет такой темы для заметки, которую бы прямо хотелось обсудить. А когда нечего писать, я выкладываю какие-то очень интересные материалы. Сегодня это будет очередная часть книги по Transact-SQL: Индексы в SQL Server

О блоге

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

Обратная связь

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

Пишите мне