Шрифт:
Но если вы уже выучили Objective-C и теперь не знаете, как быть дальше, спешу вас успокоить. Рабочих мест, связанных с данным языком, довольно много. Существует множество приложений, написанных на нем, которые нуждаются в поддержке.
Тем не менее никто из нас не является провидцем и не может знать наверняка, какие языки будут популярны, а какие – нет.
Например, некоторое время назад я предсказывал смерть JavaScript. Однако он жив и поныне.
Недавно я посетил одну конференцию, где одним из докладчиков был соавтор языка Objective-C. Этот язык появился в начале 1980-х годов.
О чем это я? Ах да, о выступавшем. Так вот, данный человек по имени Том Лав является автором книги, в которой написано, что язык JavaScript мертв и никогда и нигде использоваться не будет. Однако на момент написания этой книги JavaScript входит в пятерку (а по некоторым данным, и в тройку) самых популярных языков программирования в мире.
Суть в том, что знать наверняка невозможно. Языку программирования Ruby понадобились годы, чтобы стать популярным.
Возможно, JavaScript – это один из худших языков программирования, который можно было придумать и который поначалу использовался лишь для создания небольших всплывающих окон на веб-страницах. А сегодня на нем пишут все подряд.
Мой вам совет – не гадайте. Если, конечно, у вас нет магического шара. Но если он у вас есть, то зачем вам вообще программирование? Отправляйтесь прямиком на Уолл-стрит, там вас ожидает головокружительная карьера!
Вопрос Джону!
За что ты не любишь JavaScript? Крутой же язык!
Каюсь, иногда мое мнение о JavaScript выглядит так, как будто у меня на него большой зуб или он нанес мне глубокую психологическую травму в детстве.
Позвольте рассказать вам небольшую историю о том, как появилась эта технология. В мае 1995 года Брендан Эйк, который в то время работал в компании Netscape, создал за 10 дней некую штуку под названием JavaScript, стремясь получить простой «связующий язык», который был бы легок для освоения web-дизайнерами и программистами, работающими неполный рабочий день. (Цитата из «Википедии».) В общем, я хочу сказать, что JavaScript, будучи созданным всего за 10 дней, изначально не мог быть хорошо продуман. Это факт. Знаю, что никто не любит гонцов с плохими вестями, но давайте обойдемся без насилия. Хочу подчеркнуть, что я НЕ НЕНАВИЖУ JavaScript. Просто для меня этот язык не является верхом элегантности, и поэтому я предпочитаю его не использовать. Вот и все.
Справедливости ради следует отметить, что в 2015 году появился новый стандарт этого языка (известный как ECMAScript). При создании этой версии языка ее авторы учли многие недостатки JavaScript.
Стыдно сказать, но эта версия мне даже нравится… Но лишь слегка!
Тем не менее мое мнение здесь мало что значит, ведь JavaScript сейчас – один из наиболее популярных языков программирования. Хотите верьте, хотите нет, но я смирился с этим фактом, однако оставил за собой право прохаживаться при случае по нелюбимому мною предмету.
Ну а если вы все еще сомневаетесь в моей правоте, подумайте, почему одна из самых продаваемых книг, посвященных этому языку, называется «JavaScript: сильные стороны» [9] ?
9
Речь идет о книге Дугласа Крокфорда. Издавалась на русском языке. Питер, 2013 г. – Прим. ред.
Технологии, которые вам интересны
Выбирая язык программирования, важно учитывать свои предпочтения в технологиях. Если вы начнете поиск, отталкиваясь от этого фактора, то сможете гораздо быстрее определиться с выбором. Я знаком с большим количеством Android-разработчиков, которые занимаются этим только из любви к Android. Для многих из них оптимальным выбором будет Java, потому что именно на этом языке разрабатывается большинство приложений для данной ОС. (Однако вы можете создавать Android-приложения и на других языках, например C#, Ruby и даже JavaScript.)
В общем, слушайте свое сердце, это упростит вам изучение вашего первого языка программирования. Чем больше вас привлекает изучаемая технология и чем больше вы ею увлечены, тем легче вам будет преодолевать виражи учебного процесса. Например, я очень хотел заниматься разработкой под iOS, потому что у меня появился мой первый iPhone, и я был в восторге от этой технологии. Эта воодушевленность значительно облегчила мне изучение Objective-C и создание моего первого приложения под iOS.
Будь я равнодушен к этой технологии, вряд ли я продвинулся бы в ней достаточно далеко.
Уровень сложности
Еще одним важным моментом, который следует учитывать при выборе языка программирования, является уровень сложности.
Некоторые языки программирования более сложны в освоении, чем другие. Я не рекомендую начинать изучение программирования с C++, потому что по сравнению с другими языками программирования он довольно сложен для понимания. В этом случае вы будете иметь дело с управлением памятью и указателями, а также с некоторыми другими неприятными конструкциями, которые могут вызвать у новичка настоящий ступор.
C++ это великий язык – один из моих любимых, но его изучение тот еще квест. Гораздо проще будет начать знакомство с программированием с таких языков, как C#, Lua, Python, Ruby или PHP. Более того, для начинающих программистов существуют даже специальные языки, такие как Scratch или Basic.
Я не хочу отговаривать вас от изучения более сложного языка, такого как C++, если вы действительно этого хотите. Однако следует заранее представлять, во что вы ввязываетесь, и принять осознанное решение, насколько легким для изучения должен быть ваш первый язык.
Доступные ресурсы
Оцените ресурсы, которые вам пригодятся при изучении выбранного языка программирования. Например, в случае некоторых малоизвестных языков вы можете столкнуться с недостатком учебных материалов по ним – книг, онлайн-видео или любых других ресурсов – все это может существенно осложнить процесс освоения языка.
Популярные языки программирования хороши тем, что вам будет доступна масса онлайн-руководств, учебных курсов, книг и других материалов, поэтому перед началом обучения обязательно изучите этот вопрос. Несмотря на то, что сейчас существует огромное количество разнообразных ресурсов для начинающих, стоит заранее учесть степень доступности обучающих руководств.