Изучение Comp Sci != способность делать классные вещи

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

Любая достаточно развитая технология неотличима от магии. - Артур Кларк.

Возьмите, к примеру, этот отличный пост, в котором Стивен Рэдфорд реконструирует API для приложения для подкастинга, чтобы создать отличные возможности для macOS. То, что недоступно обычным людям. Есть много замечательных приложений для подкастов на iOS (и, предположительно, на Android), но ни одного на macOS. В этом посте описывается процесс обратного проектирования непубличного API, а затем создание удобного UX для пользователей.

Вы никогда не узнаете об этом на курсе CS101. Лектор научит основам синтаксиса чтения, пониманию основных понятий и некоторой дискретной математике. Но это все. Никакого крутого хакерского дерьма!

Даже знающие студенты (которыми я никогда не был: молодежь тратится впустую на молодых) будут задаваться вопросом, когда же у них появятся необходимые навыки, чтобы перейти от написания простого приложения для банкомата на Java к созданию удобного приложения для macOS, подкастинга или чего-то еще.

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

Возьмите этот пост Лэнса Ньюмана, который описывает, как он реконструировал API Instagram, чтобы публиковать фотографии без телефона. Соедините это с этим постом о создании красивого пользовательского интерфейса, и вы продвинетесь дальше по дороге, чем если бы вы ждали, пока ваш лектор передаст вам эти знания.

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