Обоснование выбора языка программирования и критерии

Ни один язык программирования нельзя назвать объективно лучшим по сравнению с другими. Более того, хороший разработчик должен на отлично знать несколько языков и хотя бы поверхностно ориентироваться еще в парочке. Но учить сразу и JavaScript, и HTML, и Ruby – плохая идея. Даже очень плохая. Нужно начинать с чего-то одного.

Зачем вообще учить программирование

Даже если дело не дойдет ни до чего серьезного (полноценного заработка на разработке приложений или веб-дизайне, например, или запуска собственного проекта), учить программирование - способ создания консрукций для не очень умных, но очень послушных машин - однозначно стоит. Во-первых, это заставит мозг работать, а это всегда хорошо. Даже президент США говорит о пользе изучения программирования.

Во-вторых, всем тем, кто по роду деятельности так или иначе связан с технологиями. Обоснование выбора языка программирования даст любой разработчик сайта заказчику, любой администратор ресурса компании – копирайтеру. Хотя бы общее знакомство со средой разработки, в которой работают коллеги, позволит быстрее находить общий язык в коллективе и успешнее реализовывать различные проекты.

С чего начать изучение программирования

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

Да и в дальнейшем найти работу со знанием иностранного языка будет куда проще. Тут уж выгодно учить английским всем:

  • наемным работникам, которые смогут устроиться в корпорации с мировым именем;
  • фрилансерам, которые смогут работать на англоязычных биржах, где заказов, как правило, больше и оплата выше.

Критерии выбора языка программирования

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

Сперва нужно определиться с целями. Например, на какой платформе (в какой среде) хочется работать: веб, мобильные устройства, игры и 3Д-графика или крупные корпорации.

В веб-разработке нужно выбирать из нескольких сфер ответственности: front-end, back-end, full-stack. Front-end разработчики отвечают за скорость загрузки сайта и правильную работу кода, back-end - написание серверного кода, а full-stack специалисты могут в одиночку выполнить все требования заказчика. Full-stack разработчики сегодня являются самыми востребованными на рынке труда.

Три кита Front-end разработчика – это JavaScript, HTML и CSS. Кроме того, нужно ориентироваться в последних интернет-тенденциях и уметь их применять в повседневной работе. РНР – это базовые знания для back-end специалистов. Это не единственный инструмент, но основа всей back-end разработки. В качестве второго языка нужно учить Ruby или Python. Еще пригодится опыт работы с базами данных, азы JavaScript и SQL. Кроме самих языков программирования нужно изучить все прилагающиеся надстройки.

Для разработки мобильных приложений используются JavaScript для Андроид и Objective-C для iOS. Полезно посетить официальные ресурсы для разработчиков, а в случае работы с iOS еще и познакомиться с интерфейсом и функционалом Xcode – бесплатной среды для создания приложений. Для игр и 3Д-анимации нужен С++.

Тем, кто в перспективе хочет устроиться в одну из высокотехнологичных корпораций и больше не беспокоиться о благополучии завтрашнего дня, хорошо выполняя свои обязанности, нужно исходить из выбора этой самой корпорации. Windows работают с C#, Google и Фейсбук – с Python, а Apple – это Objective-C.

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

  1. Востребованность на рынке труда.
  2. Легкость изучения.
  3. Долгосрочные перспективы.
  4. Какие проекты можно разработать на этом языке (выбор языка и среды программирования).

Если с последним пунктом – платформы и подходящие языки программирования кратко перечислены выше – все более или менее понятно, то как быть с остальными пунктами? Indeed.com – ведущий сайт поиска работы в мире – время от времени публикует статистические данные по вакансиям (соотношение предложений и соискателей). Выбор языка программирования хорошо бы делать, основываясь именно на этих данных, но одной только сухой статистикой тоже руководствоваться не стоит.

Итак, на одно место разработчика Python, Java, Objective-C или РНР приходится 2,7 специалиста. Если взять данные по JavaScript, то видно, что это определенно рынок продавца – на одно место приходится всего 0,6 программиста. Кроме того, JavaScript развивается куда быстрее, чем любой другой язык, что открывает прекрасные долгосрочные перспективы.

Обоснование выбора языка программирования C ++, С#, Objective-C, РНР или любого другого строится и на легкости изучения. Новичок, особенно тот, который учит язык по книгам или курсам, вряд ли справится со сложными С++ или Java. Сравнительно легко учатся Python, JavaScript или Ruby. Ruby и Python читабельны и отличаются одними из самых активных сообществ.

Для тех, у кого нет никакого опыта

В том случае, если программирование представляется очень сложной задачей, начать стоит с чего-то более легкого, например, HTML или CSS. HTML не является языком программирования в полном понимании, скорее это язык разметки веб-страниц. CSS – это более современный «помощник» HTML, который позволяет делать страницы более приятными глазу, играть со шрифтами, добавлять дизайнерские элементы оформления сайтов и так далее.

Любой, кто когда-то писал статьи на заказ, наверняка уже сталкивался с HTML, а тем, кто пытался вести свой блог, возможно, знаком и CSS. Да и любой курс основ программирования начинается именно с этих двух элементов, так что знания азов лишними не будут. Учить можно по книгам:

  1. Б.Лоурсон, Р.Шарп «Изучаем HTML 5».
  2. К.Шмитт «CSS. Рецепты программирования».

Раньше с парой умных книг по CSS и HTML можно было уже претендовать на какую-то должность, сейчас – это плацдарм, с которого нужно двигаться дальше.

Разработчикам веб-приложений

Выбор языка программирования PHP или JavaScript – это для веб-разработчиков. Чтобы делать интернет-ресурсы красивее, интереснее и функциональнее понадобится JavaScript. С помощью него можно сделать довольно много очень разных вещей в пользовательском интерфейсе.

Наилучшее обоснование выбора языка программирования PHP - именно веб-разработка. Если речь идет о серверной части, подойдут PHP, Python, Ruby и тот же JavaScript. Выбор языка программирования С # - тоже хорошая идея. На С# работают в Microsoft, Python похож на Лего, а Ruby– на пластилин.

Для веб-дизайнеров и верстальщиков

Дизайнеры – творческие люди, которые могут считать себя далекими от точных наук. Но писать код – это как писать картину, так что сомнения, касательно того стоит ли вообще учить программирование, нужно отбросить сразу. Есть мнение, что лучше быть первоклассным дизайнером, чем второстепенным программистом, но дизайнеру стоит знать JavaScript хотя бы для воплощения своих идей. Еще подойдут относительно простые Python или Ruby.

Разработчикам android iOS-приложений

Приложения на "Андроид", как правило, разрабатываются в Java. Работать можно на любой операционной системе – распространенность "Андроид"-смартфонов сделала разработку приложений на них очень популярной. Среду для разработки можно установить и на Windows, и на iOS.

Что касается Apple, так тут разработка куда более требовательна к инструментам. Нужно учить Objective-C, комплект средств разработки и инструкцию разработчика от Apple. Работать можно только с «яблочных» устройств – Mac с версией операционной системы от 10.7 и выше.

Если ребенок хочет научиться программировать

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

Начать можно со Scratch. Этот сервис ориентирован на детей от 8 лет и позволит создавать мультфильмы, игры, анимацию. Среда распространяется бесплатно. Скорее всего, ребенку даже не понадобится помощь родителей, разобраться в сервисе довольно просто.

Что нужно знать кроме языка программирования

Кроме языка программирования и английского, нужно знать кое-что еще. Тут все зависит от выбранного направления. Нужно учить фреймворки, алгоритмы, базы и структуры данных, репозитории коды, понимать как работает техника, изучать физику и биологию для создания робов и знать еще много чего другого. Сначала лучше не бросаться в омут с головой, учиться постепенно, читать статьи на профильных ресурсах и понемногу разбираться с новыми терминами.

А вообще главный навык любого программиста – уметь пользоваться гуглом. Без этого вообще ничего не получится. Можно обратиться на форумы, где собираются программисты, работающие на определенном языке, поискать какие-то готовые решения или изучить англоязычные ресурсы.

В заключение

Есть один секрет, который поможет стать лучшим не только в сфере программирования, а вообще где угодно. Нужно просто делать что-нибудь. Хороший способ – найти проблему, которую нужно решить. Возможно, нужно сделать сайт-визитку для собственного бизнеса, найти удобный инструмент для контроля финансов или автоматизировать рассылку твитов своим подписчикам? Далее стоит убедиться, что цель достижима, ведь без опыта и команды сделать клон Call of Duty вряд ли получится. Теперь пора выбрать набор технологий, которые позволят решить проблему.

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

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

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