[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "create", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-158433683", "adfox_url": "//ads.adfox.ru/228129/getCode?p1=bxbwd&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid21=&puid22=&puid31=&fmt=1&pr=" } } ]
{ "author_name": "Редакция vc.ru", "author_type": "self", "tags": ["\u043f\u0430\u0440\u0442\u043d\u0435\u0440\u0441\u043a\u0438\u0439"], "comments": 63, "likes": 30, "favorites": 36, "is_advertisement": true, "section_name": "default", "id": "19466" }
21 371

Закодируйся: обзор языков программирования для начинающих

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

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

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

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

Поделиться

В избранное

В избранном

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

Фронтенд

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, «ВКонтакте», «Википедия» и, к слову, vc.ru. На нём также основана система WordPress, под управлением которой работает около четверти всех сайтов.

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

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

В программе GeekBrains «Веб-разработчик» собраны вместе и фронтенд в виде HTML с CSS и JavaScript, и бэкенд, представленный PHP. А по Java и Python есть отдельные курсы.

Мобильная разработка

Android: Java — для приложений и ботов

Если в веб-разработке можно выбрать любой понравившийся язык, то в случае с Android-приложениями всё намного однозначнее: их пишут на Java. Теоретически альтернативой могут выступать Java-совместимые языки или связка JavaScript и HTML — но ни то, ни другое пока не стало массово популярным, поэтому в вакансиях Android-разработчиков обычно указывается требование знать один конкретный язык.

Android-разработка на Java заметно отличается от разработки бэкенда на том же языке, и при попытке перейти от одного к другому придётся многому учиться. Однако возможность сменить область деятельности без того, чтобы начинать всё с нуля, оказывается ещё одним аргументом в пользу Java.

iOS: Swift и Objective-C — только для Apple

Долгие годы единственным языком разработки iOS-приложений был Objective-C. В 2014 году Apple представила Swift как «усовершенствованный Objective-C», и сейчас писать для iOS можно на обоих языках. Пока что Swift ещё довольно молод, но его перспективы выглядят радужными: вероятно, в ближайшие годы он станет основным языком iOS-разработки. Впрочем, многие считают, что сперва стоит изучить Objective-C.

Недостаток Swift в том, что он ограничивается разработкой для iOS и macOS: в других областях он сейчас не применяется. Достоинство языка в том, что он был создан с расчётом на новичков, так что в качестве первого языка может оказаться проще многих других. Недавно Apple выпустила для iPad детское приложение Swift Playgrounds, призванное обучать языку буквально с пелёнок.

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

Разработка игр

Разработка игр с их требованиями к производительности и необходимостью взаимодействовать с «железом» — довольно непростая сфера. Игры писали даже на C и C++.

Со временем появились популярные движки, к примеру Unity: при создании игры он возьмёт на себя самые тяжелые задачи. Разработчику в это время можно будет сосредоточиться на решении более доступных проблем. Отпала необходимость писать на языке C, который появился ещё в 1970-е годы — вместо этого подойдёт более высокоуровневый C#, который некоторые называют «ответом Microsoft на Java», или уже упоминавшийся JavaScript.

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

На GeekBrains есть курсы по разработке игр на Unity и C# и даже целый комплекс курсов по профессии «Разработчик C#».

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

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

#партнерский

Популярные материалы
Показать еще
{ "is_needs_advanced_access": false }

Комментарии Комм.

0 новых

Популярные

По порядку

Прямой эфир

Хакеры смогли обойти двухфакторную
авторизацию с помощью уговоров
Подписаться на push-уведомления