Transcription
Неудобная правда о пайтоне.
Языку Python приписывают много достоинств и титулов. Его называют самым подходящим языком программирования для новичков, самым лёгким в изучении, самым универсальным. И с этим сложно не согласиться.
Скажу даже больше: это высокоуровневый язык, что позволяет на ранних стадиях вхождения в IT не забивать себе голову архитектурой и управлением памяти. Окей, а это немаловажно и автоматически добавляет любому языку программирования несколько очков к слову.
Если заглянуть в глубины Хабра, то можно услышать истории о том, как Python вылечил больных от рака и сделал слепого вновь зрячим. В общем, по всем признакам это лучший язык программирования на свете. И благодаря экспертам с Ютюба мы знаем, что каждый уважающий себя человек должен начинать свой путь в IT именно с него. Правда же?
Порядка пяти лет я наблюдаю активную пропаганду Питона. Блогеры наслаждаются молодому поколению программистов мыслью о незаменимости этого языка, тем самым вводя в заблуждение и порождая миллион мифов, далёких от реальности.
Новый миф. К большому сожалению, в будущем все иллюзии разбиваются о жестокую реальность. Потратив много часов на изучение, ребята узнают о всех минусах, постепенно понимая, что это далеко не то, что им было нужно. Но курсы уже куплены, время потрачено, а старт в карьере пошёл под откос.
Думаю, этот год нужно начать с разрушения мифов.
С вами Роман Сакутин, и сегодня я расскажу, почему стоит перестать изучать Python, какую альтернативу выбрать и за каким языком будущее. Убирай руки от своего Питона, мы начинаем.
Давайте начнём первую главу с разрушения главного мифа, а точнее с конкретизации, без которой нас всех вводят в заблуждение.
Ещё в начале я сказал, что Python - универсальный язык программирования. И многие считают, что это действительно так, хотя есть в этом и доля обмана, про которую все умалчивают.
Чтобы с ходу не углубляться в термины, я приведу аналогию. Как вы считаете, швейцарский нож - это универсальный инструмент? Уверен, что многие ответили "да", ведь при помощи него можно открыть бутылку вина, порезать бумагу и даже подстричь ногти.
Тогда попробуйте при помощи этого же самого ножа сделать в стене отверстие под шуруп, чтобы повесить полочку. И тут уже возникает проблема, после которой можно сказать: да, швейцарский нож универсален, но не для создания дыр в стенах.
И снова я вас попрошу при помощи всё того же инструмента починить Royal или надуть колесо велосипеда. Новые условия, новые проблемы, новые корректировки в слове "универсальный". Думаю, вам достаточно было этих примеров, чтобы понять, к чему я клоню.
А также напомню, что в профессиональных студиях ногти не стригут швейцарскими ножами. Python решает не все проблемы, от чего и следует очень много вытекающих факторов.
Молодому программисту внушили мысль, что один простой язык способен использоваться во всех сферах. Человек тратит время на курсы, а потом оказывается, что он всю жизнь мечтал писать сайты. Да, кстати, вот одна из сфер, где вам не поможет Питон.
Если вы хотите писать сайты с точки зрения фронтенда, то вам нужен JavaScript как минимум, потому что уже не первый год под него разрабатываются фреймворки и библиотеки. На собесе вас 100% спросят про Angular или React, но точно не про то, как создаётся переменная в Питоне.
И давайте, если мы пошли по конкретике, то скажу сразу: игры на Питоне никто не пишет. Если мечтой вашего детства было создавать игры и захватывать чарты Steam, то смотреть нужно в сторону того же C#, но никак не Питона.
Кстати, по статистике, 83% людей знают, чем они хотят заниматься, но 72% людей бросают всё и меняют направление деятельности в процессе. По этой причине я сделал Telegram-бота, который поможет разобраться новичку в огромном пласте профессий IT.
Он поможет выбрать лучшее направление из 100 штук, подходящее именно тебе, чтобы уже через полгода ты смог получить свой первый офер и максимально быстро выйти на заработок от 150.000 рублей. Бот в закреплённом комментарии.
Думаю, мы можем забить ещё один гвоздь в крышку гроба сегодняшнего героя: Android и Питон не дружат. Для тех, кто думал заняться мобильной разработкой, стоит присмотреться в сторону других языков программирования.
Под эти цели давно существуют Java и Kotlin, которые успешно работают в связке. Тем более их востребованность не вызывает вопросов. Тот же Kotlin активно поддерживается Гуглом, от чего вакансий большое количество.
Swift. Куда без него? Любой, кто хоть раз интересовался, как пишутся приложения под iOS или macOS, встречался с языком Swift. В целом, разработан он был компанией Apple под продукцию самой Apple. Поэтому углубляться в него сильно не будем, но и не сказать про него было бы нельзя.
Перечислять вещи, в которых Питон проигрывает другим языкам, я могу долго. Главное, чтобы вы поняли, что при выборе языка отталкиваться в первую очередь нужно от того, чем вы планируете заниматься. Иначе зря потратите своё время и, возможно, деньги.
Лучший язык для новичков. Сколько раз вы слышали эту фразу? Создаётся впечатление, будто она уже через дефис пишется рядом с названием языка Python. Настолько часто её употребляют блогеры.
И раз мы привыкли пользоваться аналогиями, то держите ещё одно. Когда вы идёте получать права на машину, то сдаёте ли вы практику на велосипеде или электросамокате? Нет, потому что для того, чтобы водить хорошо машину, не нужно уметь управлять электросамокатом. Это логично и закономерно.
Точно так же никто пилотов самолёта не проверяет на умение управлять батиной машиной. Потому что ты либо шь конкретным навыкам, либо нет.
Соответственно, когда тебя будут принимать на работу мобильным разработчиком на Kotlin, вряд ли кто-то из менторов вскочит посреди собеса и спросит: "Какие библиотеки Питона ты знаешь?"
Я уже устал слышать приписку "язык для новичков". Почему востребованность языка измеряется скоростью, с которой ты им овладеешь? При этом всегда и повсеместно я слышу, что этот язык легко читается за счёт своего простенького синтаксиса.
А того он и должен быть первым в жизни каждого программиста. Глупость, которой наделена эта фраза, несоизмеримо велика, так как это полный абсурд.
Слева код на Питоне, справа на C#. Разве нужно обладать какими-то сверхсилами, чтобы разобрать, что именно выводят эти две программы? Да, у C# больше строчек, а на первый взгляд он выглядит сложнее, но на простоту и читаемость это никак не влияет.
Итак, сейчас добьём миф про лучший язык для новичков. Знаете ли вы, что русский язык входит в топ пять самых сложных языков мира по разным рейтингам? Он уступает только китайскому, японскому и арабскому языкам.
Так вот, на каком языке вы сказали своё первое слово? Точно не испанском, хотя он считается лёгким. Я сильно сомневаюсь, что прежде чем вы выучили русский язык, родители заставляли вас учить английский, французский или итальянский.
Отсюда делается простой вывод: как говорил Суворов, "тяжело в учении - легко в бою". Ты не замечаешь, как ловко меняешь суффиксы слов и добавляешь окончания прилагательным в зависимости от рода существительного или падежа.
Хотя у иностранцев голова идёт кругом, когда они начинают изучать наш родной язык. Всё дело в практике. Поэтому, пожалуйста, не трать своё время на изучение бесполезных языков и сразу учи то, что тебе пригодится в работе.
На вертолёте про электросамокат не вспомнят. Любая репутация берётся не с пустого места, поэтому я всё-таки хочу рассказать, какие положительные стороны есть у Питона, чтобы никто потом не сказал, будто я Питон ненавистник.
Кстати, за ненависть к языкам программирования на Твиче почему-то не банят. Пахнет дискриминацией программистов. Так вот, за что Питон полюбили и насколько это было оправдано.
Я нашёл миллион аргументов в защиту, но отобрал только самые интересные и важные. Поэтому не обижайтесь, если к плюсам я не отнесу историю происхождения названия. Просто на англоязычных форумах люди до сих пор считают, что сериал "Monty Python" сделал для современного IT больше, чем компания Microsoft.
Один из плюсов - это читабельность кода. Да, очевидно, мы с вами этот вопрос уже обсудили, но я должен был вставить этот аргумент, так как на него всегда все питанисты опираются.
Действительно, с пунктуацией тут голову тебе никто не делает. Знаков меньше. Следовательно, код выглядит чище, поэтому вероятность забыть где-то запятую значительно ниже.
В целом, у опытного программиста ни с каким кодом особых проблем не возникает, но визуальная составляющая определённо у Питона приятней. Пару минут назад я уже сказал, что думаю по этому поводу, но не сказав про этот аспект языка в плюсах, я имел бы угрозу быть заживо съеденным в комментариях.
Многофункциональность. От слова "универсальность" мы с вами успели отказаться, поэтому давайте использовать "многофункциональность".
Потому что тут это слово как раз кстати. Питон можно пристроить под абсолютно разные задачи. Захотел - работаешь с базами данных, передумал - пишешь приложение. При желании обучил нейрон или даже занял позицию тестировщика.
Когда молодой программист не может определиться с тем, что именно ему нравится в IT, то он выбирает язык, который позволяет в любой момент сменить профиль задач. Крайне удобно, но за этим удобством стоят некоторые нюансы, про которые я говорил в первой главе.
И самое главное: вас берут не за знание языка, а за умение решать конкретные задачи. Мой побольше будет: главное не размер, а умение.
Если вы взяли Питон, работали с встраиваемыми в облачные функции, решали какие-то задачи и коммерсантов, тестирование, знание Питоном, конечно же, поможет.
Потому что и там, и там в автоматизации это используется. Но есть гигантский нюанс: когда вы пишете облачные функции для e-commerce и вы занимаетесь автоматизированным тестированием, вы занимаетесь разными вещами, хоть и с похожим инструментом.
Поэтому вам всё равно придётся доучиться. Сообщество. Я считаю, что при изучении чего-либо нового всегда удобно иметь группу людей, которые способны тебе в этом помочь.
Тут действительно стоит отдать дань уважения коммьюнити Питона. Из-за повышенной популярности языка образовалось много Telegram-каналов, форумов и пабликов, где можно заручиться чьей-то помощью в случае возникновения вопросов.
К этому же пункту я хочу притянуть широкий ассортимент библиотек под разные задачи. Энтузиасты хорошо постарались в этом плане, поэтому есть за что ухватиться.
И теперь, когда на нашем столе лежат как очевидные плюсы, так и менее очевидные минусы, можно подвести итог, ради которого мы все здесь и собрались.
Растягивать заключение видео не входит в мои правила. Каждый, кто внимательно смотрел, отметил для себя важные аргументы. Все претензии, сказанные в сторону Питона, были взяты не из воздуха.
Я не цеплялся к каким-то уж совсем второстепенным особенностям языка, а прошёлся исключительно по составляющим, на основе которых строится опыт использования.
Чтобы законспектировать предыдущие главы, отмечу самые важные тезисы. Во-первых, не кидайте изучать что-либо лишь по той причине, что оно кажется простым. Просто не всегда хорошо.
Во-вторых, отталкивайтесь от стеков, с которыми вы планируете работать. Для начала решите, кем вы себя видите: фронтом, бэком или вам вовсе хочется заниматься мобилкой. Иначе вы можете потратить много времени на изучение того, что вам даже не пригодится в будущем.
Именно поэтому и был сделан бот для помощи новичкам. Он закроет большинство вопросов и построит ваш индивидуальный путь развития, минуя все препятствия.
С вами был Роман Сакутин, и вот уже шестой год я помогаю людям устроиться в IT и изменить свою жизнь.