10 языков программирования, которые пригодятся в 2023 году
Если ваши планы по карьерному продвижению или смене профессии требуют знания языков программирования, стоит задуматься над тем, какой из них выбрать для изучения. В конце концов, для овладения языком нужны время и деньги, поэтому так важно сделать правильный выбор.
При принятии решения следует учитывать несколько факторов:
- доступный вам уровень сложности языка;
- опыт написания кода на уже освоенных вами языках;
- необходимость в изучении более продвинутого языка программирования.
Правильный выбор языка программирования поможет разработать мобильное приложение, получить сертификат или овладеть новыми навыками. Ниже приведена подборка ведущих языков программирования, которые будут пользоваться спросом у работодателей в 2023 году. Рассмотрим особенности каждого языка, степень его сложности, сферы применения.
JavaScript
JavaScript — это высокоуровневый язык программирования, который является одной из основных технологий Всемирной паутины. Он используется для создания фронтенда 97,8% сайтов. Изначально сфера применения JavaScript ограничивалась разработкой браузеров, а теперь дополнилась развертыванием сайтов на стороне сервера и приложений, не связанных с браузерами.
JavaScript был создан в 1995 году и изначально назывался LiveScript. Поскольку тогда популярным языком был Java, LiveScript рекламировали как “младшего брата” Java. Со временем JavaScript стал полностью самостоятельным языком. Сегодня его нередко путают с Java. Хотя между ними есть некоторое сходство, эти два языка отличаются друг от друга.
JavaScript является самым популярным языком программирования в мире и пользуется большим спросом среди различных организаций.
Python
Python — один из самых популярных языков программирования на сегодняшний день. Благодаря своей читабельности он легко дается новичкам. Это бесплатный язык программирования с открытым исходным кодом, обширными модулями поддержки и развитым сообществом, легкой интеграцией с веб-сервисами, удобными структурами данных и десктопными приложениями на основе графического интерфейса. Этот язык широко распространен в сфере создания МО-приложений, в том числе приложений глубокого обучения.
Python используется для разработки пакетов 2D-изображений и 3D-анимации, таких как Blender, Inkscape и Autodesk. Он также был применен при создании популярных видеоигр, в том числе Civilization IV, Vegas Trike и Toontown. Не обошлись без Python и разработчики приложений для научных исследований (FreeCAD и Abaqus), и создатели таких популярных платформ, как YouTube, Quora и Pinterest.
Go был разработан компанией Google в 2007 году для создания API и веб-приложений. В последнее время Go стал одним из самых быстро развивающихся языков программирования благодаря своей простоте, а также способности работать с многоядерными и сетевыми системами и массивными кодовыми базами.
Go, также известный как Golang, был создан для удовлетворения потребностей программистов, работающих над большими проектами. Он завоевал популярность среди многих крупных IT-компаний благодаря своей простой усовершенствованной структуре и привычному для большинства пользователей синтаксису.
Среди многочисленных компаний, использующих Go в качестве языка программирования, — Google, Uber, Twitch и Dropbox. Благодаря своей гибкости и производительности, Go также набирает обороты популярности среди специалистов по обработке данных.
Java — один из самых популярных языков программирования на сегодняшний день. Этот язык программирования общего назначения с объектно-ориентированной структурой стал стандартом для приложений, которые могут использоваться независимо от платформы — будь то Mac, Windows, Android, iOS и т.д. Такие возможности языка обозначают аббревиатурой WORA (write once, run anywhere — написать однажды, выполнить где угодно).
Благодаря своей переносимости на различные платформы — от ЦОД-мэйнфреймов до смартфонов — Java получил широкое признание. Сегодня насчитывается более 3 миллиардов устройств, на которых работают Java-приложения.
Java широко используется как в разработке сайтов и приложений, так и в обработке больших данных. Он также нашел применение в бэкенде некоторых популярных сайтов, в том числе Google, Amazon, Twitter и YouTube.
Современные Java-фреймворки, такие как Spring, Struts и Hibernate, приобрели массу поклонников. Поскольку Java используют миллионы разработчиков по всему миру, изучить этот язык не проблема. К тому же Java-программисты сформировали обширное онлайн-сообщество и поддерживают друг друга в решении проблем.
Kotlin
Kotlin — это язык программирования общего назначения, первоначально разработанный и представленный как Project Kotlin компанией JetBrains в 2011 году. Первая его версия была официально выпущена в 2016 году. Он совместим с Java и поддерживает функциональные языки программирования.
Kotlin широко используется для разработки Android-, веб-, десктоп- и серверных приложений. Kotlin был создан, чтобы превзойти Java, и программисты, использующие этот язык, ценят его преимущества.
Большинство приложений Google основаны на Kotlin. Среди многих компаний, использующих Kotlin в качестве языка программирования, стоит упомянуть Coursera, Pinterest и PostMates.
PHP — это язык программирования с открытым исходным кодом, созданный в 1990 году. Многие веб-разработчики считают необходимым изучить PHP, поскольку на этом языке создано более 80% сайтов в интернете, включая такие известные платформы, как Facebook и Yahoo.
Разработчики в основном используют PHP для написания скриптов на стороне сервера. Но он также годится для создания скриптов командной строки, а высококвалифицированные специалисты PHP-программирования применяют его для разработки десктопных приложений.
PHP считается относительно легким языком для изучения начинающими разработчиками. PHP-профессионалы имеют доступ к нескольким специализированным онлайн-сообществам, что обеспечивает им поддержку и облегчает получение ответов на вопросы.
Язык C#, разработанный компанией Microsoft, приобрел известность в 2000-х годах благодаря поддержке концепций объектно-ориентированного программирования. Это один из наиболее часто используемых языков программирования для платформы .NET Framework. По словам Андерса Хейлсберга, создателя C#, этот язык больше похож на C++, чем на Java.
C# идеально подходит для Windows-, Android- и iOS-приложений, поскольку использует интегрированную среду разработки Microsoft Visual C++. C# используется в бэкенде нескольких популярных сайтов, таких как Bing, Dell, Visual Studio и MarketWatch.
Swift
Несколько лет назад Swift попал в топ-10 популярных языков программирования по результатам ежемесячного рейтинга TIOBE Index. Этот язык был разработан компанией Apple в 2014 году для создания Linux- и Mac-приложений.
Swift легко изучается, обладает открытым исходным кодом и поддерживает почти все функции языка программирования Objective-C (объектно-ориентированной версии C). По сравнению с другими языками Swift требует меньше навыков по созданию кода, который к тому же можно писать через IBM Swift Sandbox и IBM Bluemix.
Swift нашел применение в таких популярных приложениях для iOS, как WordPress, Mozilla Firefox, SoundCloud, и даже в игре Flappy Bird.
R — это язык с открытым исходным кодом, который является версией языка S. Большая часть кода, написанного на S, работает на R без изменений.
Приложения, созданные на R, используются для обработки статистической информации, включая линейное и нелинейное моделирование, расчеты, тестирование, визуализацию и анализ. R-приложения могут взаимодействовать с рядом баз данных и обрабатывать как структурированные, так и неструктурированные данные.
R не так прост для новичков, как некоторые языки из этой подборки. Однако, подобно другим языкам с открытым исходным кодом, R может похвастаться активным онлайн-сообществом разработчиков, что является большим плюсом при овладении новыми навыками программирования.
Если вы хотите начать с изучения языка, который можно относительно легко освоить, обратите внимание на Ruby. Этот язык разработан в 1990-х годах и, по замыслу создателей, должен был предоставить IT-сообществу более удобный синтаксис и при этом оставаться гибким с точки зрения объектно-ориентированной архитектуры, поддерживающей процедурные и функциональные нотации программирования.
Реализованный на Ruby фреймворк для создания веб-приложений известен как Ruby on Rails (RoR). Программисты хвалят Ruby за то, что на нем легко писать код, а изучить его можно довольно быстро. Эти качества привели к появлению большого сообщества Ruby-разработчиков и растущему интересу к языку среди начинающих программистов.
Какие языки программирования учить? Карьера в IT (часть 1)
Таблицы, списки и примеры из личной практики — собрали самое полезное и интересное с первого дня интенсива «Стратегическое развитие и карьера в IT», который провел Женя Картавец, тимлид и разработчик с 5-летним стажем на C #, а теперь руководитель отдела продюсирования образовательных программ OTUS. Передаем слово самому Жене.
Довольно популярное мнение среди разработчиков, что уровень квалификации и зарплата зависят от количества языков программирования, которыми разработчик владеет.
Я сам в свое время ходил и думал, что бы такого изучить, чтобы потом писать в резюме много умных слов. Затем однажды на работе познакомился с коллегой, С++ разработчиком, который за всю жизнь освоил только один этот язык и все. А зарплата у него была, как у меня, может даже больше. Помню, как он ходил и с интересом спрашивал, как такие же вещи можно делать на С #. Это меня очень удивило, потому что я увидел, что человек достаточно успешен в IT-карьере, хотя он хорошо выучил всего один язык, а за его пределами почти ничего не знает.
Конечно, это не значит, что надо ограничивать свой кругозор единственным языком. На мой взгляд, секрет успеха в том, чтобы стать профи в чем-то одном, а затем осваивать смежные области, которые будут дополнять друг друга и двигать в направлении одной цели. Например, если вы занимаетесь Web-разработкой, будет плюсом знать какой-то язык для бэкэнда и JavaScript для фронтэнда. Но если я буду учить С++ для бэкэнда, то знания JavaScript для фронтэнда мне ничего не даст, потому что я никогда не буду использовать их вместе.
Обычно, с одного языка пересесть на другой не так сложно из-за схожего синтаксиса и общих принципов. Например, с C # на Java. При этом вокруг каждого языка есть своя большая экосистема: библиотеки, фреймворки, либы. А вот на это уже нужно много времени, и быть достаточно высококвалифицированным специалистом в двух-трех разных областях в программировании очень сложно.
Если осваивать программирование с целью карьеры, а не в качестве хобби, ориентироваться надо на рынок вакансий. Идем на HeadHunter и видим такую картину (данные собраны в конце 2019-го года):
Зеленым выделены языки с положительной динамикой вакансий. За год Kotlin и Go впервые оказались в этом списке. Красным выделен Ruby — для него число вакансий сокращается, и возможно, скоро из топ-10 его вытеснит какой-нибудь другой перспективный язык.
Может показаться, что если выбрать что-нибудь экзотическое, у вас будет меньше конкурентов, а значит проще найти работу. Это не совсем так. Работодатели тоже идут на hh, смотрят кандидатов и решают, на чем запускать проекты, под которые реально собрать команду. Замкнутый круг. Поэтому мой совет с точки зрения развития карьеры: выбирайте популярный язык, при этом ориентируйтесь на спрос на рынке труда, а не по каким-то другим рейтингам.
Вместо того, чтобы обсуждать актуальность отдельно взятого инструмента — а именно этим являются языки программирования — я рассмотрю их в разрезе 4-х направлений разработки и составлю наборы навыков, необходимых для решения разных задач.
Здесь больше всего вакансий, но и сильнее конкуренция среди специалистов, т.к. направление развивается уже много лет. Web-разработка состоит из Frontend — визуальная часть сайта, то, с чем взаимодействуют пользователи, и Backend — серверная часть сайта.
Начальный маршрут для фронтендера:
- HTML, CSS — языки верстки
- JavaScript — для интерактивных элементов
- ECMAScript / Typescript — расширения JavaScript, дающие больше возможностей
- Опыт работы с одним из фреймворков: React / Angular / Vue
Как правило, выбор фреймворка не столь принципиален: работодатель готов рассмотреть кандидата с опытом в любом из трех, т.к. довольно быстро можно пересесть на нужный специально под проект.
Для бэкендера есть несколько вариантов. Каждый пункт в списке — пара из языка и его фреймворков:
- PHP + Laravel / Yii 2 / Symphony
- Javascript + NodeJS (Express.JS, Nest.js, TypeScript, GraphQL, Apollo)
- Python + Django
- Java + Spring
- C# + ASP.NET Core
Каждый из наборов актуален для написания серверной части сайтов, поэтому можно выбрать на свое усмотрение. В любом случае понадобится овладеть еще и этими знаниями:
- HTML & CSS — понимание верстки сайтов
- SQL (PostgreSQL / MySql) — работа с базами данных
- Архитектуры и паттерны — как писать код, который легко поддерживать и масштабировать
В большинстве случаев это необходимый минимум, джентельменский набор для бэкенд-разработчика, работающего над сайтами. Далее, можно развиться как разработчик в 2 разных направлениях: начать осваивать технологии из списка фронтендера, т.е. стать Fullstack-разработчиком, или углубиться в бекенд и хайлоад. Выбрав второй путь, будет полезно освоить следующие технологии:
- NoSql (MongoDB, Reddis, Cassandra)
- Брокеры сообщений: RabbitMQ / Kafka
- Docker / Kubernates
- Highload, микросервисы
Более молодое направление, в котором меньше вакансий, но пока наблюдается дефицит кадров. Языки программирования выбираются в зависимости от того, под какую платформу вы будете создавать приложения.
Android-разработчик:
- В большинстве проектов нужно знать и Java и Kotlin
- Новый код чаще пишется на Kotlin, однако очень много кода, который нужно поддерживать, написан на Java
Kotlin молодой, но очень перспективный язык, созданный питерской компанией Jetbrains в 2016 году. Он полностью совместим с Java, но примерно на 40% короче его, что значительно ускоряет разработку. Кроме того, в какой-то момент Google, устал от исков со стороны правообладателей Java за использование кода в Android и назвал Kotlin предпочтительным языком для Android-разработки. Сейчас все чаще приложения пишут на нем. Однако на текущий момент все еще очень много проектов, написанные на Java, которые нуждаются в поддержке и развитии. Поэтому Android-разработчику надо знать оба языка, чтобы уметь читать и вносить изменения в старый код.
iOS-разработчик:
- Достаточно знать Swift
- Старый код написан на Objective-C
Легкий и простой Swift пришел на смену и значительно потеснил первый iOS-язык Objective-C. Эти языки несовместимы, поэтому новые проекты начинают на Swift и его вполне достаточно для разработки на платформе. А Objective-C остается актуальным только для старых больших проектов, которые не решились переписывать на Swift.
Что касается востребованности, то Java и Kotlin универсальные языки, которые используют не только для мобильной разработки и под различные платформы. А вот Swift подходит исключительно для мобильной разработки под iOS и десктопной разработки под MacOS.
Еще один путь мобильного разработчика — освоить библиотеку ReactNative для JavaScript. Она устроена таким образом, что написанный код работает под все платформы. С одной стороны это очень удобно. Однако нередки случаи, когда появляется необходимость прописать нативный код для каждой платформы, а это значит нужно иметь наготове знания и Kotlin, и Swift.
Путь разработчика серверных приложений во многом похож на бэкендера, разрабатывающего сайты. Во-первых, надо выбрать и изучить один из языков. Сейчас в ТОП-е по количеству вакансий на российском рынке:
- C++
- Go
- Java
- Python
- C#
Во-вторых, как и бэкендеру, для большинства задач вам понадобятся навыки работы с базами данных и умение писать качественный код. Тут вам пригодятся:
- SQL (PostgreSQL / MySql)
- Архитектуры и паттерны
Дальше можно изучить:
- Алгоритмы и структуры данных
- NoSql (MongoDB, Reddis, Cassandra)
- Брокеры сообщений: RabbitMQ / Kafka
- Docker / Kubernates
- Highload, микросервисы
Из этого самый сложный пункт — выбор языка. Я подготовил сравнительную таблицу:
Java, Python и С # между собой очень похожи и довольно универсальны. Java используют для сайтов и мобильной разработки. Python отдают предпочтение стартапы (а также крупные проекты, выросшие из стартапов) из-за его простоты освоения и универсальности. C # популярен и для сайтов, и для написания игр на движке Unity 3D. Я советую выбирать тот, с которым вы уже хоть немного имели дело и на какую сферу больше ориентируетесь. При необходимости быстро пересесть на другой из этой тройки не составит труда.
C++, на мой взгляд, один из самых сложных в освоении язык, подходящий в основном для серверных, десктопных программ и игр, реже — для Data Science. Разработка на нем занимает значительно больше времени, но дает программисту огромные возможности. C++ используют для программ, требовательных к быстродействию, например, Photoshop, или масштабных игр, так как с его помощью можно контролировать и распределять нагрузку на «железо».
Golang (Go) появился как более простая версия С++. Его легко освоить, и он заточен под высокие нагрузки и многоядерные процессоры, но имеет очень ограниченный функционал, например, нет дженериков, исключений и т.д., которыми обладают другие языки программирования. В первую очередь его целесообразно использовать для консольных утилит и highload бэкенда. Вакансии разработчика на Go открывают преимущественно крупные корпорации, хотя в последнее время спрос на разработчиков Go начал появляться и в проектах поменьше.
Выбор языка во многом определяет платформу, на которой вы сможете писать игры:
- C#, Unity 3D — кроссплатформ, возможность быстро портировать игру с одной платформы на другую
- C++, Unreal Engine — PC, обычно используется для масштабных игр, требовательных к быстродействию «железа»
- Javascript — Web
- Java — Android
В российском геймдевелопменте больше вакансий на C #, Unity 3D.
Мой совет — выбирайте деятельность, а не язык. Посмотрите компании-работодателей, их проекты и вакансии и выберите те, что вам по душе. Ориентируйтесь на них с первых шагов, тогда вы сможете сфокусировать свои навыки вокруг конкретных задач программирования. И даже если вы потом не пойдете работать в эти компании, у вас будет актуальный набор скиллов и понимание своей специализации.
Специально для быстрого старта в профессию мы записали 5 видеокурсов для начинающих программистов: Java, Python, JavaScript, C++ и Linux. Их достаточно для решения задач уровня Junior, т.е. можно пойти на стажировку или претендовать на начинающую позицию в IT-компаниях. Или поступить и продолжить учиться на наших основных курсах, чтобы углубиться в выбранный язык.
Вторая часть интенсива посвящена карьерному пути в IT.
Рассмотрим, какие сферы есть, как и куда можно расти, в частности, как попасть в Data Science, какие варианты развития есть в DevOps и как айтишнику грамотно составить резюме.
Если по выбору языка какие-то моменты не осветил, задавайте вопросы — отвечу.
Не согласен с автором. и вот почему — зацыкленность на кириллическом (русско-говорящем) рынке.
Что такое HH.ru? А НИЧЕГО :(. Для программера — ничего. Программер не слесарь и не водила, которому надо быть физически на своём месте работы.
Надо смотреть и анализировать АНГЛОЯЗЫЧНЫЕ международные ресурсы. И делать это прежде всего. В настоящее время англоязычные — мировые.
Возможно, лет через 50 будет универсальным языком китайский, или опять, как и в 18-веке станет французский, но сейчас — это аглицкий.
Анализ трендов языков программирования:
http://pypl.github.io/PYPL.html
https://www.tiobe.com/tiobe-index/
А по ЗП и карьере, прежде всего, надо ориентироваться на международные
indeed.com
stackoverflow.com/jobs
jooble.org
www.glassdoor.com
linkedin.com
www.careerbuilder.com
Автор пишет для "детишек", которым начинать жить и трахать баб или мужиков, растить детей, кормить, в будущем, родителей. И при этом "замыкаект" их сознание через hh.ru чётко и жёстко на кирилическом мире.
1. Английски. Заменяете русский во всех аспектах жизни, где возможно, на английский. Фильмы в оригинале, для начала можно с рус. субтитрами, потом с аглицкими субтитрами. Инет "тусовки" — международные, книги — аглицкие, новости и прочее на аглицком. Вот не хрена смотреть вести24, смотрите russiaToday (https://www.rt.com/) и т.д. или CNN.
Русский вы и так знаете :). Он родной по гражданству или соц. происхождению, коли этот материал читаете.
2. Базовые знания тех. колледжа (института). ОЧЕНЬ желательно.
Параллельно учите computer skills — xNIX (Linux, BSD и им подобные), Винду — на уровне администрирования в командной строке (. ).
3. Язык программирования — лучше идти, при наличии денег, на ПЛАТНЫЕ курсы с преподом. Они, обычно, хорошо систематизированы и резко сократят "время вхождения в тему". Если нет возможности физически очно, то идите на on-line, но которые в real time.
3.1 Параллельно с очными русскоязычными курсами берёте на туже тему on-line АНГЛОЯЗЫЧНЫЙ на www.classcentral.com, udemy, coursera.org, lynda.com через VPN. Лучше брать с субтитрами аглицкими. Берите от колледжей для начала. Среди "индивидуалов" — бывает ерунда, сразу, без опыта, не разберётесь.
Тогда можно рассчитывать на middle income $120K year и более. И жить где угодно, где есть Инет. Можно срать на Moscow или "грёбанные штаты". Не замечать ни Зеленского, ни Путина. И не гундить как всё вокруг плохо, и как вам Меркель мешает жить.
Good luck.
Как выбрать первый язык программирования
Разбираемся, что учить новичку в программировании, даже если ты ничего не понимаешь, а вокруг одни противоречивые мнения.
Разработчики на Python хвалятся тем, как быстро пишут код. Программисты на C++ — что их код очень производительный. Те, кто используют Java, говорят, как важна кросс-платформенность.
И все торопятся друг друга обидеть: Swift — для геев (многие действительно так думают), Python — для малышей, а JavaScript, конечно же, для дураков. Разработчики готовы спорить даже о том, что лучше — табы или пробелы.
В этой статье мы рассмотрим две темы:
- Почему язык — не главное, о чём нужно думать новичкам.
- Насколько сложным должен быть первый язык.
Мой опыт
Я начинал с PHP и каждый день видел прогресс: какой-то новый подход, массивы вместо переменных, супермассивы, базы данных и так далее. Освоив PHP на более или менее сносном уровне, я двинулся дальше и приступил к JavaScript. Разобравшись с ним, я попробовал C++, потому что хотел заниматься играми. Скачал учебник, который все рекомендовали, позанимался по нему — и бросил программирование на несколько лет. М-да.
Сейчас я программирую на PHP, JS, Java, Python, C# и C++. С каждым новым языком я постоянно возвращался к основам и узнавал что-то новое о работе компьютера: как устроена память, как работает процессор, какой код будет работать быстро, а какой — нет. И, самое главное — почему. Если бы я сразу начал с C++, то, скорее всего, решил бы, что это не моё — слишком много информации.
Определите, чем вы хотите заниматься
Все эти споры, какой язык круче, бессмысленны, потому что:
- У каждого языка есть свои преимущества и недостатки.
- Один язык не может быть хорош для всего.
Новички ещё слишком мало знают, чтобы понять, что им нужно от языка. Поэтому выбирать нужно не язык, а то, чем вы хотите заниматься. Многие языки в первую очередь затачиваются под решение определённых проблем или под определённые сферы:
- Быстро создать сайт — PHP или Python.
- Создать игру — C++ или C#.
- Веб-систему для банка — Java, C# или C++.
- Красивый интерфейс для сайта — HTML, CSS и JavaScript.
- Приложение для Android — Java или Kotlin.
- Приложение для iOS или Mac OS — Objective-C или Swift.
Выбрав сферу, выясните, какие языки там используются, и выбирайте из них. Вы можете попробовать выучить несколько разных языков, чтобы определиться, какой вам больше нравится или лучше подходит для конкретной задачи.
Но даже если вы решите выбрать что-то совсем непопулярное — на чём пока не создавали крутые проекты, — это не значит, что вас ждет провал.
Выбор технологии не определяет успеха игры, сайта, приложения и чего угодно ещё.
А вот основные сильные и слабые стороны популярных языков:
Язык | Преимущества | Недостатки |
---|---|---|
С++ | • Высокая производительность • Прямой доступ к памяти • Строгая типизация |
• Высокий порог входа • Низкая скорость разработки |
C# | • Строгая типизация • Сборка мусора • Кросс-платформенность • Большое количество синтаксического сахара |
• Ориентированность под Windows • Нет возможности создавать кросс-платформенное GUI |
Python | • Высокая скорость разработки • Возможность быстро выучить язык • Широкий спектр применения |
• Слабая типизация • Низкая производительность |
JavaScript | • Высокая скорость разработки • Возможность быстро выучить язык |
• Непредсказуемость • Слабая типизация |
Java | • Кросс-платформенность • Строгая типизация • Сборка мусора |
• Требуется много времени на запуск приложения • Большой объём повторяющегося кода |
PHP | • Большое сообщество • Быстрое развитие |
• Слабая типизация • Небезопасный код |
Джоэл Спольски (CEO Stack Overflow) предпочитает C-подобные языки, но всё равно выбирает тот, который лучше справится с конкретной задачей.
Например, если вы хотите создавать игры, то какие? Посмотрите, на каком движке сделаны ваши любимые игры, и начните осваивать его. Если это Unity, то вам нужен C#. Если Unreal Engine 4, то С++.
Нужно ли начинать с простого языка
Если вы, как и я, выбрали геймдев, то перед вами встаёт дилемма: какой из языков выбрать. Оба достаточно крутые, на них написано большое количество известных игр. Допустим, вам всё же больше понравился C++.
Но тут возникает проблема: среди популярных сегодня языков C++ — один из самых сложных. Что делать?
Есть мнение, что если ваш первый язык будет слишком простым, то вы не сможете стать хорошим программистом.
Всё из-за того, что простые языки не требуют от вас знаний, как устроен компьютер, как данные хранятся в памяти, как процессор выполняет операцию деления и так далее.
Тот же Джоэл Спольски писал, что начинать погружение в программирование нужно с C (ещё сложнее, чем C++), потому что так вы освоите главные принципы и сможете писать более эффективные программы. Даже если они будут не на C.
С другой стороны, очень просто потерять мотивацию, когда изучаешь язык и подолгу останавливаешься на каждом термине. Несколько дней на изучение переменных, потом ещё недельку на массивы, месяц — на функции и так далее. За это же время другие успеют выучить Python на достаточном уровне, чтобы создавать простые блоги.
Так что я считаю нормальным начинать с чего-то простого. Вы будете расти — ступенька за ступенькой. Причём с большей эффективностью.
Вывод
Обсуждать можно бесконечно, но вот совет: начните уже изучать хоть что-то, сопоставив первый язык со сферой ваших интересов. И не переживайте, если вам понравился сложный язык. Сейчас обо всём можно найти понятные и подробные руководства. Например, в своей новой серии статей я максимально просто объяснил сложные понятия в C++. А на курсе Skillbox всё это можно закрепить на практике.
Первый язык программирования. Какой выбрать?
Смотрите видео Первый язык программирования. Какой выбрать в 2018 году?
Какой же язык программирования выбрать в качестве первого?
Достаточно часто мне задают вопрос:
В курсе Профессия веб-программист вы рекомендуете начать обучение с языка программирования HTML, а здесь с языка программирования PHP. С какого языка программирования начать обучение?
Прежде всего необходимо понять, что HTML — это язык разметки, а не программирования и относится к верстке html-страниц. С помощью HTML и CSS, вы объясняете браузеру, как должна выглядеть ваша страница, какого размера и цвета должны быть блоки на сайте.
Как начать программировать на PHP?
Программировать на PHP очень просто и все что вам нужно — это установить веб-сервер XAMPP, кстати он устанавливается буквально парой кликов мышью и создать в специальной папке веб-сервера файл с расширением .php.
Или вы можете вообще ничего не устанавливать на компьютер, а начать изучение PHP прямо в вашем браузере. Просто начните изучать уроки PHP в интерактивном видеокурсе PHP и MySQL и уже через несколько минут, вы самостоятельно напишите ваш первый скрипт на PHP! Попробуйте и вы увидите на сколько легко программировать.