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

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

  • 26 января, 2017

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

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

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

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

С чего начать учить C#?

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

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

Рекомендуем курс по теме

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

Второй язык программирования — Java

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

Рекомендуем курс по теме

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

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

Проблемы с java

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

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

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

Советы начинающему программисту

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

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