Какой язык программирования выбрать в 2023?
Сегодня мы разберем один очень важный вопрос: какой язык программирования выбрать и что будет если сделать этот выбор неправильно?
Человек, который первый раз обращается к тематике IT, обнаруживает, что языков программирования десятки. Помимо языков программирования в этой среде есть еще языки конфигурации ли описания чего-либо. Выучить язык с нуля непросто, нужно потратить много времени, денег и сил. Можно год учить технологию, а потом узнать, что она не подходит для той среды, в которой вы хотели бы развиваться. Поэтому очень важно правильно выбрать для себя язык программирования, ведь от этого будет зависеть ваша дальнейшая карьера.
Я начинал свою карьеру разработчика тогда, когда языки создавались каждый день. Буквально за год можно было прочитать анонс 10 новых языков, которые приходили на смену предыдущем или дополняли старые. Это было благодатное поле для экспериментов. Мне пришлось потратить несколько лет на то, чтобы изучать новые языки, знакомиться с нужными людьми, вступать в сообщества. Я выучил 5 или 6 языков программирования, которые впоследствии оказались мне не нужны. С ними я не мог достигнуть того результата, которого я хотел.
По прошествии 20 лет я понимаю, насколько важно для начинающего разработчика иметь в окружении опытного специалиста, который поможет определиться с выбором языка программирования. Это сэкономить вам несколько лет жизни, которые вы можете впустую потратить на выбор языка. Я благодарен судьбе, что в свое время она послала мне хорошего ментора, который подсказывал мне, какие технологии, какие инструменты надо изучить, чтобы стать востребованным программистом.
Сейчас уже, будучи опытным разработчиком и преподавателем на курсах программирования, я сам по мере возможности помогаю людям, которые начинают свой путь в IT. В этой статье я постараюсь расставить все точки над і в вопросе выбора языка программирования. Я расскажу вам какие языки дадут вам возможность двигаться в определенных направлениях индустрии и позволят зарабатывать нормальные деньги. Надеюсь, что эта информация будет для вас полезной.
Java – язык для построения долгосрочной карьеры
Обсудим язык программирования Java. Java является языком, который применяется практически везде. Он есть в мобильных телефонах, в настольных приложениях, в разных измерительных устройствах, даже в sim-картах для телефонов. Он очень разноплановый.
Java хорош для построения долгосрочной карьеры. Он очень распространен именно в enterprise-карьере. В нем есть очень много средств, которые позволяют обрабатывать большое количество данных на потоке. Эти средства используются, например, в банковской сфере.
Но легко ли будет новичку зарабатывать деньги с помощью Java? На самом деле, из-за его многообразия и разных сфер применения есть определенные сложности в использовании этого языка. Его главной особенностью является то, что в каждой отдельной среде применения Java — это немного другой язык. Инструменты, которые вы используете, допустим, для того чтобы делать мобильные игры, отличаются от инструментов, которые используются для обработки объемных данных.
То есть минусом этого языка является то, что он достаточно сложен для изучения и применения. Для того, чтобы написать программу, которая может на другом языке занимать 100 строк, в Java может понадобиться 3000 строк. Конечно, это не настолько драматично. Иногда бывают ситуации, когда без Java невозможно обойтись. Но именно для новичка Java не является лучшим выбором, если у вас нет нескольких лет, чтобы учиться, не зарабатывая денег.
JavaScript — язык, который рекомендуется для изучения новичкам
Следующий язык программирования это JavaScript или TypeScript . Java и JavaScript — это два разных языка. Их очень часто путают неграмотные рекрутёры.
До последнего времени JavaScript преимущественно использовался только для создания сайтов и внутри браузеров. Несколько лет назад этот язык начал активный рост в другие сферы применения. Например, стал применяться для создания web-приложений и не очень сложных мобильных приложений. Сейчас стремительно растет популярность еще одного направления использования JavaScript: разработка серверных приложений.
JavaScript — это один из нескольких языков, которые рекомендуются для изучения новичкам. Он не всегда дружественный, но у него есть определенные преимущества. Одним из плюсов этого языка является то, что его достаточно легко учить.
Но у него есть и минусы, связанные с безопасностью и качеством тех решений, которые получаются. Причиной этих сложностей является то, что изначально языком JavaScript пользовались люди, которые не были в основной своей массе академическими программистами. Поэтому в JavaScript очень много шансов "прострелить себе ногу", то есть сделать какую-то ошибку. Как следствие, этот язык не очень популярен среди профессионалов.
C# - язык для корпоративной и мобильной разработки
Следующие язык программирования — это C#. Этот язык, как и Java, тоже используется в большом количестве сред. Он подходит и для корпоративной, и для мобильной разработки.
В последнее время очень большое распространение получило использование C# для GameDev, то есть для разработки игр. GameDev — это отдельный мир, который никак не пересекается с остальными мирами разработки. И если вы в него попадете, то скорее всего вы там застрянете (в хорошем смысле этого слова). Потому что в разработке игр огромное количество инструментов и своих собственных подходов. Единственный минус, который заключается в GameDev – не самые высокие зарплаты по рынку. Но, с другой стороны, это очень увлекательная работа. Многим людям нравится играть в игры и создавать игры для других.
Недостатком C# является то, что он очень завязан на экосистему компании Microsoft, с которой у него очень длинная история. Сейчас она стала значительно более дружественной. Но были периоды, когда компания Microsoft навязывала языки программирования для своей операционной системы Windows, а потом их уничтожала. И это была такая чехарда, которая продолжалась больше 15 лет. Программистам постоянно приходилось заново переучивать все эти языки. Те знания, которые у них уже были, обесценивались. Я думаю, что сейчас Microsoft не станет предпринимать подобные шаги, не будет "стрелять" в своих собственных разработчиков, заставляя их учить новые и новые языки.
Microsoft — это огромная экосистема. И у программистов, на самом деле, не очень много шансов избежать взаимодействия с этой компанией и с теми технологиями, которые она навязывает для использования. Не всегда это плохо, но это отдельный большой мир, который не всем подходит.
Ruby — это язык одного фреймворка
Следующий язык программирования — это Ruby. Это интересный язык программирования, который был создан в Японии. Но даже самими создателями он не рекомендуется как первый язык для изучения новичками. В современном представлении Ruby — это язык практически одного фреймворка Ruby on Rails. В основном Ruby сейчас находится только в одной единственной среде — это в web-разработках.
Есть еще одна неприятная правда о Ruby. Количество вакансий и количество проектов, которые используют Ruby в enterprise очень сильно снижается. Язык стремительно теряет популярность. Это происходит потому, что он имеет очень слабую производительность. Для того, чтобы сделать проекты с высокой нагрузкой, приходится использовать какие-то дополнительные технологии. И очень часто они просто забирают на себя всю разработку. Если часть проекта у программистов получилось сделать быстро на другом языке, то и остальное они переписывают, отказываясь от Ruby.
Но есть определенная среда, где Ruby продолжает сиять. Это стартапы в Америке. Удивительным образом в тусовке стартаперов именно в Америке почему-то все еще очень модно использовать Ruby. Если стартапы для вас интересны, и вы свободно владеете английским языком, то вам на каком-то этапе жизни может понадобиться знание Ruby.
Swift — язык программирования от компании Apple
Следующий язык, о котором я хотел рассказать, — это Swift. Swift — это язык, который был сделан специально для разработки под операционные системы компании Apple. Это достаточно новый и неплохой язык. Он вобрал в себя много интересных идей и современных концепций. И по сравнению Objective-C, на основе которого он был создан, он очень популярен. У Objective-C отвратительно сложный синтаксис, к которому очень тяжело привыкнуть. Синтаксис Swift намного попроще. Я бы даже сказал, что он много взял от языка Python, который стремится к упрощению многих вещей.
Изучать Swift целесообразно в том случае, если вы уверены, что будете заниматься разработкой для устройств Apple. В основном это, конечно, мобильная разработка. Но вы должны знать, что ваши начальные вложения будут достаточно большими. Вам нужно будет купить Apple оборудование, телефон, ноутбук и, возможно, планшет. Таким образом начать инвестировать в свое будущее.
PHP – язык, который используется исключительно в web-разработках
Следующий язык программирования это PHP. Это такой язык, который очень популярен, но при этом его точно так же сильно ругают. PHP — это язык, который используется только в одной единственной среде, исключительно в web-разработках и во всем, что с ними связано. PHP подходит для того, чтобы написать серверную часть для мобильного приложения, но в том или ином виде какие-то взаимодействия все равно будут происходить через web-технологии.
Внутри PHP есть большое количество разнородных систем. Есть коммерческие системы для магазинов, блогов, Википедия. Даже большая часть Facebook написана на PHP. У этого языка не очень высокий порог входа.
Но с помощью PHP можно сделать очень большое количество ошибок, которыми часто пользуются злоумышленники. Этот факт подрывает репутацию языка. Поэтому PHP — это язык №1 в мире, с которого люди переходят на другие языки программирования. Из-за плохой репутации языка зарплаты разработчиков, которые работают на PHP, ниже, чем у людей со знанием других языков программирования.
Если вы хотите строить долгосрочную карьеру в каких-то более-менее крупных компаниях, то можете выучить язык PHP. Но я бы все-таки порекомендовал вам следующий язык программирования, о котором я сейчас расскажу.
Python — один из самых дружественных языков программирования
Мой любимый язык - Python. Я действительно счастлив, что выбрал его в какой-то момент жизни. Python — это один из самых дружественных языков программирования. Существует набор правил для Python, который называется "Дзен Питона". В нем написано, что язык должен быть простым, код должен быть читаемым, а вещи, которые сделаны с помощью этого языка, должны быть легкими для понимания. Эти правила очень активно используются разработчиками.
Python на сегодняшний день является языком №1 для изучения новичками. У него простой синтаксис и огромное количество сфер применения. Проще, наверное, перечислить области, в которых он не используется. Не используется он только для мобильной разработки и для создания приложений внутри браузера. Во всех остальных средах Python можно применять.
Основные сферы применения языка Python.
Сложно перечислить все:
- Этот язык используется для обработки видео и графики. Может показаться странным, но для многих приложений, которые работают с графикой, есть свои расширения на Python. Например, он является основным языком программирования в графическом редакторе Blender для создания 3D-графики.
- Web-разработка. В Python есть огромное количество готовых решений, на которых можно достаточно быстро создавать сложные сайты с гарантированным сроком исполнения.
- На Python есть большое количество технологий искусственного интеллекта. Все машинное обучение во всех компаниях мира сначала создается на Python. То есть если вы слышали про какие-то решения внутри Tesla, то изначально 100% они прототипировались на Python.
- Python сейчас встраивается в такие операционные системы, как Windows и Linux. Большинство дистрибутивов в мире так или иначе использует Python для того, чтобы обеспечивать процесс разработки, сборки, обработки ошибок.
- Python очень хорош для лингвистической обработки. Существует очень много технологий, которые позволяют определять смысл текстов, давать автоматические ответы в чат-ботах и так далее. Все они делаются на Python.
- Python - язык для научной обработки. Ученые в области биотехнологии, астрофизики, медицины и во многих других областях используют Python. Он является языком программирования во всех тех технологиях, которые формируют наше будущее и двигают прогресс.
- Встраиваемый Python очень популярен для создания встраиваемых систем интернета вещей, таких как умные светильники, часы, холодильники, фитнес-трекеры, медицинские датчики.
Недостатки и преимущества Python
Недостатком языка Python является, к сожалению, не всегда высокая скорость для обработки данных. Но и эту свою особенность Python превратил в свое преимущество, являясь "клеем" между более быстрыми технологиями.
Это единственный язык, знание которого не обесценилось за все время его существования. Мир Python не стоит на месте, в нем тоже происходят изменения. Был период, когда у него менялся определенным образом синтаксис. Но человек, который знает и один, и второй синтаксис, может использовать оба. То есть тут каких-то проблем нет в отличие от некоторых других языков, которые претерпевали очень сильную трансформацию. Мне кажется, Python на текущий момент является самым стабильным языком для изучения и для возврата инвестиций.
Я уже 20 лет программирую на Python и чем дальше, тем больше вижу неуклонный рост популярности этого языка во всех рейтингах: и счастья, и удовлетворенности, и использования, и применения. Поэтому я очень рекомендую начинающим разработчикам в первую очередь, конечно же, изучать Python. Чем бы вы не занимались в будущем: медицинскими технологиями, бухгалтерскими вещами или запуском большого количества серверов — Python практически везде применим как лучший инструмент для автоматизации.
Узкоспециализированные языки программирования
Есть еще другие языки программирования. Они могут быть более узкоспециализированными, но при этом иметь свой шарм и свою область применения, которая подходит именно вам. Существуют монотехнологии, для которых создаются эти языки. Например, язык R был создан специально для статистики. А язык 1С предназначен для работы в бухгалтерской системе и используется только в одном продукте.
Может оказаться, что один из этих языков вам подходит больше, потому что вы уже находитесь в среде его применения.
Но если вы сейчас делаете свой выбор с нуля, то должны понимать, что изучение одного из тех языков, о которых я вам рассказал, может определить вашу жизнь. Правильный выбор сэкономит вам очень много времени и денег. И самое главное – выбранный язык программирования может изначально определить путь, по которому вы будете успешно двигаться к своей цели.
Возможно будет интересно
На какие позиции выгодно брать Junior-разработчиков
Новичков экономически выгодно брать не на все позиции в компании. Но на самом деле они могут сильно уменьшить нагрузку на остальную команду и успешно вырасти в хороших специалистов достаточно быстро. В этом видео я рассматриваю несколько сценариев и объясняю почему это может быть выгодно.
Важность возраста для программиста
Поговорим о возрасте для старта карьеры программиста. И обсудим ограничения и преимущества у взрослых новичков и как компании смотрят на возраст при трудоустройстве.
В каком возрасте лучше стать программистом?
Ответ разработчика на вопрос, когда лучше учиться программированию, стоит ли заставлять детей писать код с 6 лет и поздно ли начинать в 50.