Меня всегда привлекало программирование под операционные системы. Мне всегда нравилась идея написания приложений, которые просто работают у тебя на компьютере. Не нужно открывать браузер и идти на сайт, что бы что-либо сделать! В век интернета и онлайн сервисов писать приложения это от части дикоcть… и все же, желание и мечты не оставляли в покое. По этой самой причине я решил сесть и изучить программирование под Мак ОС Х и за одно “посмотреть в сторону” программирования под iPhone.

Перед тем как критиковать недавно прочтенную книгу, скажу – я никогда особо не умел писать ни настольные ни мобильные приложения. Но малый опыт у меня всё же есть. Так на 4-ом году учебы в университете я написал приложение под iPhone и пару лет назад я написал прототип одной маленькой полезной утилитки. К сожалению, мир о моем “создании” никогда не слышал так как iPhone приложение в университете было сделано для получения оценки и потехи ради. А утилитка находится в очень сыром состоянии и предстать перед публикой не готова.

В те далекие времена я программировал программы, опираясь на форумы и разные статьи – такой подход работает, но только для очень маленьких приложений. Если чего-либо не понимаешь – то стоит это изучить. По этой причине я взял книгу и “начал с нуля”. Выбор книги был обоснован Амазон-рейтингом ( http://www.amazon.com/Cocoa-Programming-Mac-OS-4th/dp/0321774086/ref=sr_1_6/189-6665140-3425001?s=books&ie=UTF8&qid=1407865236&sr=1-6 ). С данным рейтингом я согласен и далее я поясню почему.

Книга маленькая – около 400 страниц. Сразу оговорюсь об основных недостатках – нет детальных объяснений некоторых фундаментальных вещей! Приведу пару примеров: core data – технология описана довольно поверхностно и кроме пары примеров больше ничего нет. Довольно скудно описаны аксессоры/средства доступа и свойства переменных. Я не раз столкнулся с тем что из-за отсутствия детального обсуждения, трудно было понять, где ошибка или как лучше написать то или иное задание. Я считаю, что автору стоило расширить книгу и написать пару подробных глав о важных фундаментальных технологиях и принципах. В книге редко встречается повторение выученных вещей. Нужно периодически использовать и вкратце повторять ранее изученный код, технологию и принцип – этот подход я видел в других технических книгах. Конечно, после большого количества повторений одного и того же начинаешь плеваться, но, по факту, в голову “укладывается” на ура!!!

Излив свое недовольство, отмечу, что книга хорошая! Я остался настолько доволен, что решил прочитать ещё одну книгу того же автора – программирование под iOS. Если вы никогда не программировали под Мак, то книга вас научит создавать приложения, заставит писать код и делать упражнения. Большим плюсом книги можно считать: изучение примеров “не отходя от кассы” и домашние задания, которые сразу дают вам почувствовать, поняли ли вы о чем в данной главе идет речь. Есть решения к домашним заданиям и примерам из книги, поэтому можно легко свериться и/или разобраться где допущена ошибка, если сами не можете разобраться. В книге описаны все самые “ходовые” технологии – что даст вам возможность сразу начать писать полезные приложения. Возможно, вы не будете понимать как и что работает, но работать будет и создавать приложения вы точно сможете. Одна из проблем, с которой я всегда сталкивался, работая с эпл-архитектурой (например в WebObjects) так это “другой подход”. Эпл-фреймворки всегда отличаются своей собственной конвенцией и это может ввести в ступор. Нужно отметить, что после того как я “прошел” через эту книгу, у меня больше нет странного чувства неадекватности. Конечно, я все ещё не понимаю некоторые моменты архитектуры, но по крайней мере теперь я начинаю постигать почему то или иное архитектурное решение было адаптированно Эпл.

Итого:

+: Легко читается
+: Большое количество примеров и домашние задания
+: Быстрое обучения с нуля до “полезного” уровня знаний
+: Изучение эпл-конвенции и архитектурных решений
-: Некоторые важные темы не обсуждаются в деталях
=: Хорошая книга для начинающих, но точно могу сказать одно – книга вас научит писать программы под Мак ОС Х. Стоит принять во внимание выше описанные недоработки книги и подходить к ней именно с этим уклоном. К моменту когда вы закончите книгу, вы сможете писать полезные приложения!

Название: Cocoa Programming for Mac OS X (4th Edition)
Автор: Aaron Hillegass
Обложка:
Cocoa Programming for Mac OS X (4th Edition)

ЗЫ: Большое спасибо Stripcode-у за помощь в редакции статьи.


Введение:

Грег Мандел – ветеран бригады Звездного Сознания, прошедший войны, генетические трансформации, бывший командо, боец за свободу и, наконец, просто убийца. На данный момент Грег занимается оперативной работой и его специальный навык телепатия делает его очень эффективным. В эпоху высоких технологий, компьютерных преступлений, контрабанды в невесомости и искусственного интеллекта, Грег именно тот человек, которому нужно звонить когда ситуация выходит из под контроля. Однако, очередное корпоративное расследование с саботажем оказывается достаточно опасным и Грегу приходится пройти пучок корпоративных интриг, научные открытия и потенциально спасти мир.

Мои мысли:

После того как я закончил книги Звезда Пандоры и Иуда Освобожден, пришла мысль ознакомиться со всем что Питер Хамильтон написал ранее. Мне нравится его стиль и истории всегда захватывающие.

Однако стоит отметить, что трилогия Грег Мандел отличается от вышеупомянутых книг фокусом на детективной работе. Конечно же Питер Хамильтон не скупится на описание окружающей среды, технологий и сражений, но фокус в основном на нескольких героях и детективной работе. Честно признаться, я не большой любитель детективов, мне просто не нравится жанр. Но эта книга мне понравилась. Питер Хамильтон замечательно смешал научную фантастику и детектив – оторваться довольно сложно. Местами я вижу Грега Мандела как своеобразный прототип к другому персонажу – Пола Майо, которая появится в последующих книгах. Мне очень нравится следить за развитием Грега как персонажа так как я постоянно создаю связь со следующим детективным героем других историй Питера.

Но не буду забегать далеко и отмечу что история начинается медленно и лениво набирает обороты. Однако, под конец история все же выстреливает! Чего не стоит ждать так это глубокой научной фантастики. Даже с учетом того что описываемый мир будущего имеет кучу электроники, роботов, заводов в космосе, он все же погружен в пост-социалистическую Британию, экономика которой была спущена на ноль из-за глобального потепления и других исторических событии. Эта атмосфера создает отличные условия для экономического и политического поля брани, но ни как не для высоко технологической расы людей стремящейся к звездам.

Итого:
+: Идет легко
+: Красивое описание окружающего мира
+: Интересно описано будущее Британии с пост-социализмом
+/-: Технологии описаны не глубоко, но фокус на детективной работе
+/-: История разворачивается медленно, но выстреливает в конце
=: Думаю что для любителей детективов и научной фантастики эта книга будет самое оно! Мне лично книга понравилась но детективы просто не мое. И я однозначно советую читать если вы хотите проследить траекторию развития детективных персонажей в книгах Питера Хамильтона.

Название: Mindstar Rising
Автор: Peter F. Hamilton
Обложка:
GregMandel1

ЗЫ: Большое спасибо Stripcode-у за помощь в редакции статьи.