Подпишитесь на рассылку
Компьютерной школы Hillel

Вы получите:

  1. Информацию о полезных отраслевых мероприятиях
  2. Интересные статьи IT-сферы
  3. Новости Компьютерной школы Hillel
Спасибо!
Нет, спасибо
На нашу рассылку уже подписалось 2241 человека.

Есть ли жизнь после C++, или Как я учил второй язык после первого

25 голосов
2129

Всем привет. Меня зовут Роман Гизатулин, мне 31 год. И я программист.

Начало вполне смахивает на монолог в клубе людей с вредными привычками:) Хотя для программистов, по моему скромному убеждению, вполне можно было бы открывать аналогичные клубы. На своем примере могу сказать, что мое увлечение программированием является также моей зависимостью. Это огромная часть моей жизни, которая меня всецело поглощает и зачастую не оставляет места для «нормальных привычных радостей бытия», по мнению стороннего обывателя.

Еще со школьных времен я знал, чем буду заниматься в будущем. Конечно, тогда я слабо представлял, как выглядит написание кода и все аспекты узкоспециализированной кухни программистов изнутри, но интерес к компьютерам и тяга к пониманию алгоритмов написания компьютерных игр (то, что было интересно школьникам в 14-15 лет:)) дали свои плоды.

Я занимался самообразованием. Уже в старших классах я выступал в роли консультанта по извлечению утерянных данных в различного рода госучреждениях. Этого было мало, требовались качественно иные знания, и мною было принято решение изучать программирование на более высоком уровне. Так я окончательно и бесповоротно связал свою жизнь с кодом, алгоритмами, байтами и прочей компьютерной терминологией.

Повелось так, что в учебных заведениях для начинающих программистов обучение стартует с самого распространенного и низкоуровневого языка программирования — C++, с которого и я начал свой путь к разработке программного обеспечения. На этом языке я постигал азы программирования микроконтроллеров (Arduino). На низкоуровневых языках (ассемблера) можно написать все, что угодно, но жизнь коротка, и на это потребуется много времени и сил. С целью экономии жизненных ресурсов были изобретены высокоуровневые языки программирования, с появлением которых скорость создания мощных программных систем существенно возросла.

В компьютерной школе мы изучали разработку под платформу MS. NET на её основном языке C#, который является C-ориентированным и очень мощным. Для усвоения и систематизации полученных знаний я пробовал самостоятельно писать программы для автоматизации различных рутинных процессов (например, ведение учета коммунальных платежей и архивации данных). По окончании обучения я устроился на работу, где имел возможность на практике реализовать полученный теоретический опыт.

Во время рабочего процесса я принимал участие в разработке desktop-приложений под ОС Windows в нескольких крупных проектах, связанных с торговлей акциями на биржах. После чего занимался разработкой нескольких веб-сайтов на все том же NET+C#. Эти платформа и язык программирования являются одними из самых мощных и с недавних пор открытыми инструментами для программирования. Также приходилось конструировать низкоуровневые быстродействующие библиотеки на С++ для интеграции с более медленными приложениями.

В один прекрасный день я получил возможность расширить горизонты своего сознания, когда меня задействовали в проекте, который был основан на языке программирования Java. Имея природную тягу к познанию и изучению нового, я, не задумываясь, согласился. Тогда я познакомился со всей прелестью открытости кода и набора инструментов этой платформы. Несмотря на то, что язык Java менее богат функционалом (в сравнении с C#), он позволяет писать приложения и сайты промышленного уровня и запускать их на всевозможных платформах.

В изучении, а также постижении всех нюансов этого языка программирования мне пришли на помощь находящиеся в свободном доступе примеры кода и видео на соответствующие темы, обширное сообщество (stackoverflow, habrahabr), где я не стеснялся показаться нелепым и задавал массу интересующих вопросов. Это все позволило мне в нем очень быстро разобраться и приступить к разработке.

Учиться языку программирования Java мне посчастливилось на живом desktop-приложении, которое должно было работать как на Windows, так и на Mac OS, а также взаимодействовать с сервером по сети. Конечно же, не обошлось и без Google и толстых книг по джаве, которые нужно было штудировать по ночам. Так я получил огромный опыт кроссплатформенной разработки, сборки и развертывания кроссплатформенных приложений на Java для разных операционных систем.

Конечно, помешать изучению нового языка программирования может отсутствие интересных и сложных практических задач и, безусловно, времени. В моем случае подобные проблемы были отброшены, и я ринулся в бой с задачами на Java. Огромный плюс был в том, что джава является C-ориентированным языком и синтаксически очень похож на C#, а я с ним уже сталкивался. Эти языки схожи во многих аспектах, таких как синтаксис, платформа исполнения, подход к разработке.

Несомненно, есть небольшие сложности с переходом между этими языками (C# -> Java и обратно), например, среда разработки, принятые стандарты форматирования и поддержки кода и огромное количество всевозможных фреймворков и библиотек. Знание двух этих языков программирования не только открывает два параллельных мира, но и позволяет писать взаимодополняющие приложения, используя обе платформы.

Я думаю, что через некоторое время эти языки придут к общему знаменателю и будут работать друг с другом без проблем.

Своим месседжем я бы хотел донести до вас несколько основополагающих моментов:

  • чем более обширными и глубокими знаниями вы обладаете в области программирования (а знание двух и более языков программирования — это несомненный плюс в вашем развитии как высококлассного специалиста в области IT), тем выше ваши котировки на современной бирже IT-труда;
  • чем выше уровень вашей грамотности и осведомленности в вопросах быстро изменяющихся технологий, тем проще вам реализовать свои амбиции;
  • чем труднее вам кажется поставленная задача, решение которой вы все-таки найдете, тем проще вы будете приступать к новым, на первый взгляд, трудно достижимым целям, и таким образом повышать свой профессиональный уровень;
  • чем более вы будете вовлечены в процесс, тем большее удовлетворение от работы получите в итоге, ведь самая лучшая работа, по моему твердому убеждению, — это та, которая является вашим хобби.

Роман Гизатулин, Java Developer в EPAM,

Преподаватель Компьютерной школы Hillel

26.01.2017 2129
Оцените этот материал
comments powered by HyperComments