В первом тексте рубрики я рассказал, с чего начать, если хочешь научиться программировать. Следующий материал - о выборе языка программирования. Для всех начинающих это становится головной болью. Существует столько технологий и языков даже опытные гуру сферы IT теряются среди этого многообразия. Однако не стоит пугаться. По собственному опыту расскажу, с чего начать.
Каждый язык и технология существует для определенных задач и целей. Например, одни языки предназначены только для разработки сайтов, другие - только для разработки программ под Windows, а некоторые могут сочетать в себе обе функции. Отдельно существуют языки для программирования на Android и iOS.
По опыту могу сказать, что многие из этих языков очень похожи, а разница заключается в их возможностях. Поэтому сначала выбирай не слишком сложный язык, который будет соответствовать твоим целям. Рассмотрим, какие языки подойдут именно тебе.
Веб-разработка
Направление разработки сайтов и различных сервисов быстро набирает обороты, становясь все более популярным, и в этом его преимущество. Чтобы реализовать все свои идеи, тебе понадобится изучить основы: язык разметки HTML и каскадные таблицы стилей CSS. Если хочешь, чтобы твой сайт отвечал современным реалиям и имел более чем одну страницу, то понадобится речь, например PHP.
Однако на этом не останавливаемся. Сайт имеет не только показывать какую-то информацию, но и взаимодействовать с пользователями. Поэтому понадобится такая вещь, как JavaScript. Для того, чтобы твой сайт был очень крутой, обязательно понадобятся базы данных SQL. И сразу же, не отходя от темы, непременно обрати внимание на технологию jQuery, а также формат хранения и передачи данных JSON. Они точно пригодятся.
Разработка для Windows
Говорят, что сфера разработки «обычных» программ для Windows идет на спад. Впрочем, возможностей у компьютеров больше, чем у Android или iOS. Поэтому, если у тебя есть идея серьезной программы на ПК, тебе понадобятся соответствующие инструменты. Есть несколько языков, которые подойдут для такой задачи. Самые популярные из них: C #, C ++ и Java.
Для изучения с нуля лучше всего подойдет C #. По моему мнению, этот язык объединяет в себе лучшие стороны от C ++ и Java. Для новичков самое важное научиться мыслить как программисты и понять базовые принципы разработки. Для человека, котрый ранее не программировал, C ++ и Java будут слишком сложные, может, будет трудно самостоятельно разобраться в определенных аспектах. Конечно, упрощения традиционных принципов разработки делают той же Java честь и дают определенное преимущество. Но новичку сначала стоит овладеть уже устоявшимися принципами и инструментами, перед тем как начинать эксперименты с языками.
Также стоит упомянуть Python: это довольно хорошая и понятная речь. Чем-то напоминает Java, но задача у нее немного другие. Как правило, используется в решении задач машинного обучения и анализа данных. Если тебя интересует одна из этих отраслей, то попробуй именно этот язык.
Мобильная разработка
Разработка под Android и iOS имеет четкое разделение. Для iOS есть два основных языка: Objective-C и Swift. Первый уходит своими корнями в далекие 90-е годы и является достаточно сложной для изучения с нуля. Второй появился не так давно и является более простым, поэтому начни с него, если хочешь писать программы для iOS. Однако еще лучше будет изучить после этого и Objective-C, так как он до сих пор считается стандартом на этой платформе.
Что касается Android, то с ним несколько проще, ведь стандартом считается Java. Однако у того же C # недавно тоже появилась возможность разработки для Android с помощью пакета инструментов от Xamarin, и это дает ряд преимуществ. Во-первых, тебе нужно будет знать только один язык независимо от того, для какой платформы ты хочешь писать программу. Во-вторых, если понадобится перенести свою программу на Android, то не придется писать ее еще раз на другом языке. Это экономит колоссальное количество времени и усилий.
Дополнительные инструменты
Стоит обратить внимание на систему контроля версий. Это инструмент, который поможет систематизировать все, что ты пишешь. Таких систем существует достаточно много. Удобными и популярными являются GitHub и Bitbucket. Их задача состоит в том, чтобы помочь контролировать изменения своего кода. Благодаря этому ты сможешь подойти к разработке программы более сознательно, а еще появится возможность поделиться своим кодом с другими программистами. Возможно, они посоветуют, как сделать программу лучше.
Где учить?
Прежде всего лучше изучить основы программирования в целом. Для этого лучше всего подойдет курс CS50 от преподавателей Гарварда, который есть в открытом доступе на образовательный платформе Prometheus.
Также могу рекомендовать образовательные платформы, например edX, Coursera, Udacity и, конечно, MIT OpenCourseWare. Для некоторых понадобится хотя бы базовое знание английского, и программирования во всяком случае в этом нуждается. Поэтому рассматривай это как прекрасную возможность подтянуть свои знания языка.
Труднее всего дается первый язык программирования. Не так уж важно, с чего ты начнешь путь в сфере IT. Нужно знать хотя бы несколько основных языков и технологий, чтобы узнать все аспекты программирования. А самое главное - начать!
Автор Николай Червоный