Какого языка начать изучение программирования. Какой язык программирования стоит выучить первым? (ʇdıɹɔsɐʌɐɾ: ɯǝʚɯо ņıqнqvиʚɐdu). На языке Си написаны большинство операционных систем

Программирование постепенно подминает под себя одну индустрию за другой: ещё не так давно вызов такси казался абсолютно офлайновым процессом, а теперь в Uber работает множество разработчиков. Глядя на это (а также на уровень зарплат специалистов), даже далёкие от программирования люди задумываются: «А не попробовать ли и мне».

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

Разобраться в этом помогают такие курсы, как « », где можно определиться, с какими перспективами ИТ лучше всего соотносятся ваши интересы..

Материал подготовлен при поддержке .

В закладки

Выбор языка во многом зависит от того, что предполагается сделать с его помощью. Самые популярные сейчас применения языков - веб-разработка, мобильная и игровая разработка. Веб-разработка, в свою очередь, делится на фронтенд (то, с чем напрямую взаимодействует пользователь) и бэкенд (незаметная пользователю, но необходимая «техническая» часть).

Фронтенд

HTML и CSS - лицо сайта

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

Однако сайты не обходятся без HTML, поэтому его базовое знание необходимо каждому, кто планирует заниматься веб-разработкой. И владение CSS может быть вполне ценным навыком: задача «правильно расположить элементы» не всегда оказывается тривиальной.

JavaScript - чтобы научить сайт понимать вас

Язык JavaScript отвечает за интерактивность и динамически меняющуюся информацию на страницах сайта. Например, когда вы вводите в форму сайта номер телефона в неверном формате или забываете о значке @ при вводе электронного адреса, JavaScript позволяет сайту моментально об этом узнать и подсветить поле красным. А вот счётчик просмотров этой страницы, меняющийся в реальном времени: на HTML-сайте можно было бы показать только статическое число.

...

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

Помимо этого, существует платформа Node.js, которая позволила использовать JavaScript и в бэкенде. В отличие от фронтенда, там он не является лидером и конкурирует с целым рядом других языков.

Веб-разработка: бэкенд

Java - надёжный, как дедушкин сюртук

Хотя название порой путают с JavaScript, Java - не просто другой язык, а почти противоположность JavaScript: это более консервативный выбор, проверенный годами. Его предпочитают использовать в бэкенде тех проектов, для которых надежность куда важнее веяний моды, - например, банковских систем. В рейтинге популярности языков TIOBE Java занимает первую строчку, а это значит, что в мире есть миллионы рабочих мест Java-разработчиков.


Молодые разработчики зачастую считают Java скучной и устаревшей, а её сторонники отвечают, например, такой GIF о том, что никакой Node.js не сравнится с ней по мощи:

Python - прогрессивный и популярный

Если сравнивать Python с Java, то он будет выигрывать в объёме кода, но проигрывать в скорости выполнения. Для большого высоконагруженного проекта, где важна производительность, Python будет не лучшим выбором. Язык отлично подойдёт для стартапа: например, чтобы показать инвестору прототип до того, как закончатся все инвестиционные деньги.

В 2016 году язык неожиданно получил ещё одно преимущество: на нём удобно писать ботов для мессенджеров.

PHP - популярный и относительно несложный

Популярность PHP бесспорна: его используют Facebook, «ВКонтакте», «Википедия» и, к слову, сайт. На нём также основана система WordPress, под управлением которой работает около четверти всех сайтов.

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

В списке вариантов есть и несколько менее популярные альтернативы - от Ruby до набирающего обороты Go.

Разумеется, список языков не ограничивается упомянутыми: кто-то предпочитает молодой Kotlin, созданный в Петербурге, а кто-то с 1980-х привык к Smalltalk. И круг задач тоже не ограничивается перечисленными: есть и «низкоуровневые», такие как написание драйверов.

Однако всё то, что не вошло в список, обычно либо узкое и нишевое (Smalltalk-вакансии в дефиците), либо плохо подходит начинающим (низкий уровень требует серьёзной подготовки). Поэтому в первую очередь стоит обратить внимание на перечисленные языки, а потом нетрудно будет разобраться и с остальным.

Пользователи Recoursia часто задаются вопросом, какой язык программирования стоит изучать. Мы подготовили краткий гид для тех, кто определяется с первым языком программирования. Хотим отметить, что он не претендует на то, чтобы быть исчерпывающим – это только очень беглый взгляд на то, чем сегодня занимаются разработчики, и какой язык программирования может быть первым, а какой – нет.

Один из достаточно популярных языков Web-программирования, который, в прочем, на белорусском рынке труда не всегда способен обеспечить своего носителя топовым по заработной плате рабочим местом. Курсы Ruby вряд ли стоит изучать для освоения первого языка программирования, потому что с высокой долей вероятности поиски работодателя затянутся, ведь вакансии для junoir’ов на Ruby появляются довольно редко.

Еще пять-семь лет назад именно Delphi был стандартным первым языком программирования - еще бы, ведь язык Pascal, который является предшественником Delphi , и был придуман для обучения школьников и студентов программированию. Но для реальной жизни Delphi уже подходит из рук вон плохо, поскольку программирование на нём оплачивается заметно ниже среднего, а новых крупных проектов на этом языке вы не найдете. Поэтому рекомендовать

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

Отмечу, что HTML и CSS - это не совсем языки программирования. HTML - это язык гипертекстовой разметки, а CSS - набор стилей. В веб-разработке JavaScript преподносится как язык «по умолчанию». Он идеально подходит в том случае, если вы хотите создавать что-то большее, чем красивые, но все же статичные сайты. Но это не единственная причина, по которой стоит выбрать JavaScript в качестве первого языка программирования.

Писать код можно прямо из браузера

Чтобы работать с JavaScript, не нужно ничего скачивать, устанавливать и компилировать, как для большинства других языков. Для новичка в программировании это особенно важно. Освоить командную строку и компилятор легко, но на первом этапе они усложняют восприятие и отбивают интерес к изучению. Все, что нужно для работы с JavaScript, - это браузер.

Как открыть консоль разработчика в браузере Google Chrome

Кликните правой кнопкой мыши в любом месте на странице, выберите Просмотреть код.

Попробуйте написать первую стандартную команду - console.log("Hello, JS!"); и нажмите Enter. В скобках вместо "Hello, JS!" может быть любое слово или число. Главное, не забудьте кавычки, если это набор букв (для чисел кавычки не нужны). Ниже строкой консоль выведет ваше сообщение.

Ресурсы по JavaScript для начинающих:

Книга «Выразительный JavaScript» .

Современный учебник Javascript .

Ресурсы по JavaScript на Mozilla Developer Network .

Курс JavaScript от CodeCademy (на английском).

FreeCodeCamp (на английском).

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

Команды для ввода в Терминал для создания директории, компиляции и запуска кода на Java

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

JavaScript позволяет создавать реальные интерактивные вещи.

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

Базовых знаний JavaScript и принципов работы DOM достаточно для создания хоть и примитивных, но все же рабочих приложений: приложение для ведения списка дел, калькулятор, конвертер температур. Два месяца активного изучения основ JavaScript было достаточно, чтобы разобраться с простейшим приложением по составлению списка гостей - RSVP app.

Пример кода для приложения RSVP

Другой пример - конвертер температур, написанный на ванильном Javascript (без использования библиотеки jQuery и фреймовиков).

В приложении3 документа: index.html, style.css и app.js

Пример визуализации данных с D3.js. Источник: mbostock.github.io/d3/talk/20111116/airports-all.html

Фреймовики и библиотеки JavaScript позволяют создавать десктопные приложения (Electron), мобильные приложения (React Native), игры (Phaser), а также работать с визуализацией данных (D3.js), базами данных (mongoDB), анимацией (Three.js).

JavaScript - один из самых популярных и быстроразвивающихся языков.

Ваш первый язык программирования не обязательно будет основным, мало кто ограничивается одной технологией. Но если вы планируете сделать JavaScript профильным языком, то международное js-сообщество вам в помощь. Согласно исследованию GitHub , крупнейшего веб-сервиса для хостинга IT-проектов, в 2017 году JavaScript был на первом месте среди 15-ти наиболее популярных языков.

15 наиболее популярных языков по версии GitHub

JavaScript уже пять лет подряд является самым популярным языком на одном из крупнейших ресурсов для программистов - StackOverflow.

Наиболее популярные языки по версии StackOverflow

JavaScript неидеален, и кто-то считает, что это слишком хаотичный, бессистемный и бесконтрольно развивающийся язык, который только запутает новичков. По моему опыту, бесполезно гуглить «какой язык программирования мне выучить первым», потому что только вы знаете, для чего вам программирование и веб-разработка.

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

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

Борис Горячев

backend-разработчик Meduza

Ниже приведена таблица плюсов и минусов наиболее популярных языков программирования помимо Javascript.

Это самый популярный вопрос у тех, кто решил стать разработчиком. Действительно, языков программирования очень много: javascript, php, c++, java, с++, python, go, perl, ruby и еще сотня других. В данной статье я расскажу про эти языки и дам вам несколько советов.

Какой язык самый популярный?

По данным TIOBE на начало 2018 года www.tiobe.com cамый популярный язык программирования в мире - это Java. Далее следуют С и С++. Язык JavaScript располагается на 6 месте.

Но я вам не рекомендую ориентироваться в своем выборе на рейтинги популярности языков. Данная статистика показывает просто наиболее распространенный язык и из этого не следует, что изучать нужно именно его. Если, например, Китай выпустит свой язык программирования и переведет всю разработку в своей стране на него, то он сразу станет самым популярным в мире:)

Так на что же смотреть при выборе языка?

Самое важное ответить на вопрос: какие задачи вы хотите решать? Мир технологий так устроен, что выбор языка программирования сильно зависит от решаемых вами задач.

Допустим, вы решили делать сайты, тогда ваш выбор это - javascript и php. Или вы всю жизнь мечтали программировать "железо", роботов создавать, тогда я вам рекомендую посмотреть в сторону C и C++.

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

HTML + CSS

Строго говоря, это не языки программирования в чистом виде. Это технологии для верстки веб-страниц. Они очень просты для освоения. Если вы начинаете обучение с нуля, то я рекомендую вам начать именно с HTML и CSS. После нескольких занятий вы уже сможете самостоятельно сверстать свой первый простой веб-сайт и считать себя программистом. Это сильно мотивирует продолжать свой путь как разработчика. Большинство успешных программистов начинали именно с HTML и CSS.

В 8 из 10 вакансий разработчика подразумевается, что вы этими технологиями владеете как миниум на среднем уровне. Так что, начните с этого.

JavaScript

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

Если вы решили заниматься веб-разработкой, то без знания этого языка хороший сайт вам не сделать. Вся современная разработка сайтов построена на использовании языка JavaScript.

Это один из самых быстрорастущих языков программирования. На сегодня он находит свое применение помимо сайтов еще и мобильной и серверной разработке.

PHP

Это язык создан специально для backend-части сайта, т.е. его код располагается на сервере. С помощью php можно, например, вывести каталог товаров из базы данных или реализовать регистрацию клиентов.

Это один из самых популярных язык программирования для решения backend-задач веб-разработки. На нем написано множество популярных движков сайта: Wordpress, Joomla, 1C-Битрикс и других.

У PHP довольно низкий порог входа и очень много инструкций как и что делать в интернете. Буквально через пару часов изучения вы уже сможете интегрировать ваш сайт в базой данных.

Если вы решили стать веб-разработчиком, то я рекомендую вам изучить именно этот язык. Большинство вакансий веб-разработчиков и фриланс заказов требует знание этого языка. Золотая четверка: HTML, CSS, JavaScript, PHP.

Python

Язык широкого назначения. Используется от веб-разработки до задач NASA. Обладает лаконичностью синтаксиса и довольно прост в изучении.

На данный момент широко используется в игровой индустрии, в анализе данных и разработке сайтов.

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

Java

Самый популярных язык программирования в мире на сегоднешний день. Используется в основном при разработке корпоративных систем, мобильной разработке под Android, а также для задач высокопроизводительных вычислений, когда на C++ писать очень долго.

Если вы решили создавать мобильные приложения, то рекомендую вам изучить именно этот язык и делать приложения для Android. Для iOS используются другие языки - Objective C и Swift.

С++

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

В тоже время за скорость работы нужно платить. Это самые безжалостные языки программирования, не прощающие ошибок. На С++ можно довольно просто написать программу, которая сломает ваш компьютер:)

На этом я закончу этот краткий обзор языков программирования. Конечно, я не стал писать обо всех языках, только о самых популярных.

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

От начинающих программистов звучит так: «С какого языка мне начать?» Для ответа мы привлекли наших экспертов.

Все зависит от того, какую область вы выберете. Если вы хотите работать непосредственно с железом, писать драйверы и различные приложения, для которых требуется максимальная производительность, - тогда подойдут только C или C++. Если ваша цель - приложения для мобильников, стоит изучить Java или Objective C, C#. Для веб-серверов необходимы go, python и php; для веб-приложений - JavaScript.

Если же вы пока не определились с областью, можно смело выбирать C/C++, поскольку, зная этот язык, вы без труда выучите любой другой. Есть только одна вещь, которую важно помнить: как и разговорный язык, язык программирования забывается, если его постоянно не использовать, поэтому лучше владеть одним или двумя языками в совершенстве, чем поверхностно знать большое количество.

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

Повысить Понизить

Python вполне подойдет для изучения общих концепций программирования. Это очень популярный язык, у него много библиотек, синтаксис легко читаемый и довольно аккуратный код. Основными преимуществами Python для новичков является то, что он довольно распространен и его легко выучить. Вы с легкостью сможете на нем писать как web-приложения, так и обычные десктопные. В зависимости от предметной области, необходимо выбрать объектно-ориентированный язык. Например, если вы занимаемся системным программированием, то лучше всего подойдет С++. Если вы разрабатываете корпоративное приложение (информационные системы предприятий), то это С# или Java.

Повысить Понизить

Я в своё время начинал с Фортрана и Паскаля, так как они были у меня в институте. Потом был С/C++, Visual Basic Script, PHP и Visual Basic, потом C#, потом немного F#.

Если опираться на свой опыт и иметь возможность выбирать, наиболее комфортно мне было разрабатывать на С#, и с него бы я и начал. Больше всего в плане понимания алгоритмов и механизмов работы ОС, под которые я писал, дал мне C++.

Повысить Понизить

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

Повысить Понизить

Все зависит от задачи, которую вы хотите решить. Однако если это ваш первый язык, я бы порекомендовал язык со строгой типизацией общего назначения (C++, Java, .NET): с ними в любом случае не пропадете и будет легко перейти на любой другой. Ещё интересный способ понять, какой язык взять для изучения – зайти на GitHub , ввести в поиск интересующую тему и посмотреть, на чем пишут другие разработчики.

Повысить Понизить

, технологический евангелист Microsoft, доцент МФТИ, МАИ, преподаватель детского лагеря JUNIO-R

Здесь всё зависит от возраста. Если вы решили действительно смолоду учиться программировать, и вам еще нет 12 лет – лучше начинать с простых графических языков, типа Kodu Game Lab или Scratch . Считается, что традиционные языки программирования стоит осваивать после 12-ти. Из традиционных языков мне всегда был близок C # – для него есть хорошая среда разработки, а программировать можно всё: от игр в Unity , до веб-сайтов на ASP .NET или электроники. Для обучения можно посмотреть видеоуроки , или почитать книжку C# для школьников .

Повысить Понизить

Новичкам я бы рекомендовал для начала понять, что язык - это всего лишь инструмент в работе программиста. Да, конечно, важно владеть им уверенно, чтобы создавать хорошие программы, но на первом месте должно быть именно мастерство разработчика, а не язык, на котором он пишет.

Но так как начинать всё равно с чего-то надо, да и изучать те же алгоритмы и структуры данных в вакууме не очень удобно, то могу порекомендовать использовать для этого язык Си. Он достаточно низкого уровня, чтобы не приучать к тоннам синтаксического сахара и дать общее понимание того, как устроен компьютер, который исполняет программу. Но вместе с тем это и не язык ассемблера, что даёт возможность сосредоточиться на общих вещах, не тратя бо льшую часть умственных усилий на запоминание всех названий jump’ов и значений регистров. В качестве литературы рекомендую классическую K&R .

Также можете обратить внимание на Python, который автоматически приучит вас к некоторой структуре и стилю оформления кода, что тоже полезно для новичков. Да и исполнение интерпретатором вместо полноценной компиляции даст чуть более быструю обратую связь, что важно при обучении.