Меня зовут Никита, я — Python бэкенд-разработчик из Surf. Месяц назад я закончил первый проект в аутсорс-компании. Признаться, он стал для меня открытием — раньше я работал только в инхаус-продуктах. Это два совершенно разных опыта с разным отношением к продукту, коду, работе, которые повлияли на моё общее отношение к программированию. И сегодня я хочу поделиться этими изменениями за 2 года коммерческого опыта. Многие из этих вещей могут показаться очевидными, но я их осознал только со временем (да, два года для молодых – это уже срок).

Начало

Учиться бэкенду я начал на известных курсах по Django. До этого мой опыт программирования был основан на Pascal в школе, калькуляторе на C++ со stackoverflow для курсовой по ИБ (не очень понимаю, зачем это было) и Python с PowerShell для ИБ-скриптов.

Чтобы понять, какой язык выбирать, я просмотрел весь Youtube и прочитал все статьи на эту тему. Остановился на Python —  он мне всегда нравился из-за синтаксиса. И также из-за относительно простого входа сами знаете куда (да, немного и на это повёлся, но только немного, честно). 

PHP, ну, как сказать... C++ показался сложным, и не хотелось учить работы Ады Лавлейс. В Go мне не подошёл синтаксис — помню, я тогда решил, что оставлю его на потом. C# я не рассматривал, начитавшись про его сравнительно небольшую популярность, сильную завязку на экосистеме Microsoft, слабость opensouce. Про Java мне говорить нельзя — техлид у нас джавист и котлинист. А Rust испугал, потому что люди уже на подступах кричали, что это только для мегамозгов. Но он, и правда, казался китайским на фоне остальных «европейских» языков.

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

Мои инсайты

1) Бизнесу важны деньги, поэтому Python — их выбор

Далеко не весь бизнес —  это биржи или облака, которым нужны 10^10 операций в секунду, или проекты с EDA архитектурой на 1 млн строк кода.

И зачем нужно платить программисту на ассемблере, если можно нанять питониста, который может сделать всё в разы быстрее (к слову, даже нагруженные проекты порой проще покрывать увеличением мощностей).

Многие узкие моменты можно нивелировать другими языками (Gо), C-шными библиотеками (numpy) или сторонними решениями (то же кеширование redis). Да и сам Python не такой уж и медленный, как его преподносят. К тому же, он невероятно активно развивается. Как пример, его интерпретатор ускоряют умными вещами, разрабатывают многообещающие subinterpreters.

Так какие же у Python преимущества для бизнеса:

  • Скорость разработки из-за высокоуровневости языка. 

    Зачем беспокоиться из-за использования лишних 100 мб оперативки? Да, это расточительство, но никто не будет платить С-шнику, чтобы он думал, как очищать память, чтобы поберечь природу.

    Код для перекладывания джейсончиков на Питоне можно написать гораздо быстрее, чем на других языках. А с решениями на других языках (orjson, pydantic и т.п.) и по скорости не сильно отставать.

  • Скорость разработки из-за ещё большей высокоуровневости Django. 

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

    Отдельно хочу упомянуть прекраснейшую админку, которая решает 90% бизнесовых вопросов, не требуя практически никаких временных затрат.

  • Скорость разработки из-за огромнейшего сообщества. 

    За тебя уже написано практически всё. Нужен ТОТР? Прочитал документацию, подключил, потратил пару часов. Нужна интеграция? В большинстве сервисов уже есть реализации, опять нужна только пара часов. Да, многие начнут, что это уже не программирование, вот в наше время на счётах считали, а сейчас…

2) Django всё умирает и умирает, но никак не умрёт (тут что-то на PHPшном).

Когда я ещё только начинал учиться, говорили, что Django конец. Срочно нужно учить FastAPI и запрыгивать в уходящий поезд.

Да, асинхронность и скорость замечательного последнего фреймворка будут полезны во многих случаях. Но писать лишний месяц-два сервис с сотней запросов в час, чтобы показать, что ты крутой Грандмастер Бит, который умеет в FastAPI, не даст тебе очков, особенно если ты работаешь в аутсорсе.

Суть не в том, что не нужно учить что-то ещё. Нет, напротив. Но это и не значит, что Django можно забывать. Просто нужно понимать, где и что лучше использовать.

А ещё по Django много вакансий. Да и в крайнем случае, всегда будут легаси.

3) Лакончиность и аккуратность!

Учитесь писать кратко и красиво. Питон создан для этого! Можно проходить по одному массиву  несколько раз, если это добавит читаемости (и если он небольшой, разумеется). Твой код должен быть легко понимаем.

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

4) Учитесь писать по документации.

Я раньше любил по двадцать раз переписывать код при дебаге (спасибо интерпретируемым языкам) на основе полученного.

Но время на это будет не всегда, особенно если другие стороны затягивают с предоставлением. Что и случилось со мной на последнем проекте, когда я сделал ETL, CRUD и эндпоинты для перекладывания данных заказчика в наш сервис, но они дали данные только спустя недели. Пришлось многое переделывать, например, во многих местах я не учитывал то, что поле может быть null (None).

5) Перфекционизма поубавится, сопричастности с кодом тоже.

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

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

Касательно сопричастности. Код, конечно, мой, но проект - нет. Со временем я стал понимать, что я делаю то, что от меня ждут. И тут я нахожу главный плюс: я делаю не то, что хочется, а так, как хочется.

я на прошлой работе
я на прошлой работе

6) Учиться. Учиться… Учиться….

Когда я про это читал до переквалификации, не осознавал серьёзности этих пунктов. Ну а теперь сижу как на картинке “что думают друзья”, ну или “что думают остальные”, какая больше нравится.

Мне нравится учиться, но порой это так надоедает. К слову, я не один такой. Даже за 3 года я устал… Не представляю, каково людям, занимающимся этим десятилетия. Современный мир слишком быстр. И тебе нельзя отставать…

Как жить дальше

Всё ещё не знаю, всё та же потерянность в этом зоопарке, всё та же неуверенность в завтрашнем дне, но уже чуть легче из-за большей (чем в прошлой жизни) зп, большего количества знаний в своей области, и, самое главное, большего смирения, привыкания к этому бесконечному потоку, появления умения вычленять важное. Ты лишь посторонний Альбера Камю, ты лишь маленький робот, делающий свою работу в окружении плитки Zima Blue и получающий от этой работы удовольствие.

Комментарии (66)


  1. Cere8ellum
    27.05.2024 18:47

    Почему обошёл вниманием JS (NodeJS)? Интересно услышать.


    1. kitah Автор
      27.05.2024 18:47
      +1

      Честно, даже не попадался во всяких топах и обзорах. Я на тот момент совершенно не понимал, как это всё работает)


  1. Flokis_guy
    27.05.2024 18:47
    +8

    Не стоит так нервничать из-за своего, вполне обоснованного выбора. Меня всегда забавляет, когда люди начинают обсуждать "какой язык самый лучший". И я даже больше скажу, когда ты только начинаешь что-то выбирать без нужной начальной информации, ты действуешь довольно-таки рандомно. Мозг пытается использовать какую-то знакомую информацию: "Вот, я слышал про Python, там авторитетный, по моему мнению, ютубер тоже так говорил", и понеслось. В итоге корректировать свой выбор нужно не исходя из по большей части крайне субъективных споров, а из потребностей и прочих факторов.

    Немного вырвалось, но тебе вообще успеха и удачи)


    1. venanen
      27.05.2024 18:47
      +3

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


  1. Asker1987
    27.05.2024 18:47
    +41

    У самурая нет цели, есть только путь.

    15 лет в деле, а ещё перед этим лет 10 активно в учебных целях кодил. Молодежь имеет тенденцию выгорать, прокрастинировать, потому что бегут за хайпом и деньгами, но действительность отрезвляет. Наше поколение не видело этих денег в начале пути. Кто-то мечтал писать игры, кто-то романтизировал образ хакеров, кто-то просто был в восторге от увлекательного процесса. Залетали не через курсы, а через многолетнее упорство. Никакого выгорания, потому что для этого типа людей, программирование больше, чем профессия - это ремесло. Ремесло, которое оттачивается ежедневно. Нет цели изучить какие-то конкретные технологии или достичь конкретного грейда. Есть только путь.


    1. zergon321
      27.05.2024 18:47
      +9

      Да нет, как раз выгорание больше ждёт не тех, кто идёт в IT за баблом и ему вообще всё равно, а тех, кто эмоционально прикипел к своей деятельности. Тех, кто романтизировал образ хакеров и мечтал писать игры. Потому что на реальной работе надо надо кранчить по 12 часов в день, по выходным, по ночам поднимать упавшие серверы, терпеть легаси-проект, состоящий просто из перегонки джонсонов, и отсутствие рабочих процессов. Если всё это соответствующе не оплачивается, человек выгорит (ну и в любом случае потеряется здоровье). А любовь к программированию от такого экспириенса точно угаснет

      Короче говоря, именно в IT следует идти исключительно ради денег и МБ удалёнки (хотя она сокращается), а если реально нравится программирование, то лучше просто оставить его как хобби и пойти во что-то другое


      1. SpiderEkb
        27.05.2024 18:47
        +13

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


        1. UranusExplorer
          27.05.2024 18:47

          просто потому что там на три копейки больше платят.

          Бывает что не "на три копейки", а в полтора-два раза. А у тебя семья и ипотека.


        1. zergon321
          27.05.2024 18:47
          +1

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


          1. SpiderEkb
            27.05.2024 18:47

            Ну не знаю... Мне всю жизнь (а в разработке с 91-го года) в этом плане везло. Всегда попадалось что-то, где требовалось нестандартное, требующее подумать, вникнуть.

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

            Сейчас банк. Очень интересная платформа на которой все работает. И задачи интересные попадаются (одну вот тут описывал). Интересно бывает когда что-то на оптимизацию прилетает - нужно придумать реализацию логики, которая будет делать все тоже самое, но быстрее/экономичнее по ресурсам.

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


      1. lipatkin96
        27.05.2024 18:47

        Согласен с Вами. У меня как раз такой случай был после универа. До первой работы живёшь в представлении, что будешь программировать классные интересные проекты. Вообще время когда учился было самое классное в этом плане. Потом когда попадаешь в реальный проект с уже большой кодовой базовой, где тебе нужно править баги - картина мира сильно крашнулась у меня. Даже не 12 часов, а 8 часов у меня вызывало боль и скуку. Я искренне люблю программировать. Но мне нравиться смена деятельности, а у программистов такое возможно наступает, когда они в тимлидство уходят или на смежные должности. А до этого момента что делать?) Просто терпеть и ждать? Сейчас я уже сбрасываю розовые очки постепенно, стараюсь относиться к работе как к работе. Но всё-таки надеюсь что любовь к программированию не выгорит, не замениться на просто монотонный бесчувственный приход в офис.


        1. SpiderEkb
          27.05.2024 18:47
          +3

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

          И что держит на этом месте? Что мешает найти что-то интересное и уйти туда?

          И да. Рутина есть везде. Иногда приходится что-то скучное делать. Но если кроме скучного нет ничего интересного - надо думать о том, что "не туда попали" и надо валить.

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


        1. PrinceKorwin
          27.05.2024 18:47
          +3

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

          Или найти компанию с хорошим RnD отделом и устроиться туда.


        1. SpiderEkb
          27.05.2024 18:47
          +1

          И еще. Смена деятельности возможна в любой момент когда вы сами этого действительно захотите.

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


      1. PrinceKorwin
        27.05.2024 18:47
        +1

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

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


    1. iosuslov
      27.05.2024 18:47
      +6

      Про путь согласен. Про остальное нет.

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

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

      Когда (и если) мне надоест эта сфера - может стану инженером-химиком, или инженером-строителем, или инженером по обслуживанию человекоподобных роботов убийц.

      Я инженер и я решаю проблемы, все остальное не так важно.


      1. SpiderEkb
        27.05.2024 18:47
        +4

        А я вот задачки решать люблю. Кому-то кроссворды нравится разгадывать, кому-то шахматы, кому-то преферанс... А мне задачки.

        Вот есть два массива данных (достаточно больших). Нужно сравнить и найти совпадения (причем, там не просто А = Б, а посложнее алгоритм). Делаем "в лоб" - работает двое суток. Подумали, покрутили, зашли с другой стороны - 7 часов. Но все равно много. Еще подумали, покрутили и нашлось решение, которое работает 15 минут. Причем, там нет никаких супералгоритмов, достаточно простое и оригинальное решение. Просто не очень тривиальное в плане подхода.

        И, вот удивительно, за это еще и платят неплохо.


  1. Daniel217D
    27.05.2024 18:47

    Есть представление о том, куда дальше будешь расти? Я имею ввиду больше в сеньоры/архитекторы или в управление проектами?


  1. ChizhM
    27.05.2024 18:47
    +18

    2 года опыта это не опыт, а так... лёгкое знакомство.

    Вы даже по щиколотку не зашли в мутные воды web-технологий, до погружения ещё очень и очень далеко.


    1. Yuri0128
      27.05.2024 18:47
      +6

      Палец замочил только.... А до пояса еще ой как далеко....


  1. Yuri0128
    27.05.2024 18:47
    +8

    Бизнесу важны деньги

    А кто-б сомневался?

    И зачем нужно платить программисту на ассемблере, если можно нанять питониста

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

    Далеко не весь бизнес ...., которым нужны 10^10 операций в секунду

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

    Во всем остальном - ну норм, что выговорился, - это помогает.

    Я вот тоже начинающий питонщик (3+ года всего). Но он не основной язык у меня, так - по необходимости. И на нем удобно отладку проводить (ну и писать отладку), со всеми этими тестами и прочим. Ну и ИИ на нем.... Ну без этого сейчас уже никуда.


  1. syrus_the_virus
    27.05.2024 18:47
    +21

    Товарищ едва попробовал программировать, но уже у него текст наполовину состоит из it-слов-паразитов, бессмысленного сленга, и он не понимает, зачем ему в университете давали с++.


    1. venanen
      27.05.2024 18:47
      +3

      Вы не понимаете, это же личный бренд!


      1. kitah Автор
        27.05.2024 18:47

        Странно человеку с таким опытом пытаться стоить бренд) Я просто поделился мыслями


    1. kitah Автор
      27.05.2024 18:47
      +1

      Я не говорил, что не понимаю, зачем давали c++, я говорил только про курсовую по ИБ, когда, как по мне, есть намного полезнее знания для такого рода специалистов.


    1. buratino
      27.05.2024 18:47

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


      1. IvanSTV
        27.05.2024 18:47
        +2

        Хабр и научил, разве нет?


        1. buratino
          27.05.2024 18:47
          +1

          в такой дикой концентрации? Чет как-то сомнительно


          1. IvanSTV
            27.05.2024 18:47

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

            Здесь аномалия только в том, что чувак за 2 года научился этим всем так свободно оперировать. Я вот хабру читаю лет этак шесть регулярно, но так не могу.

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


            1. DMGarikk
              27.05.2024 18:47

              Во всех отраслях есть свой собственный волапюк, тотже "крайний" в авиации превратившийся в каргокульт у непричастных

              у тех же юристов есть понятие "юридического языка"

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


              1. IvanSTV
                27.05.2024 18:47

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


                1. DMGarikk
                  27.05.2024 18:47

                  , а не волапюком из аджайлов, канбанов, скрам-сессий и прочей шелухи

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


                  1. IvanSTV
                    27.05.2024 18:47

                    И где тут "длинные пространные фразы"? Я так понимаю, что проблемы с переводом англицизмов и адаптации к нормальному человеческому языку связаны в основном с тем, что те, кто этими терминами пользуется, сами не очень ясно их понимают.


                    1. piton_nsk
                      27.05.2024 18:47

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

                      Вы понимаете неправильно.


                    1. DMGarikk
                      27.05.2024 18:47

                      Слово развертывать, очень обще определяет понятие деплоя

                      Установка библиотеки тоже в некотором роде развертывание, а деплой это конкретно развертывание в прод или тест всего сервиса (вот в прод, продакшн, как надо? В бой? В продуктовый контур? В рабочий контур? )


  1. 0gl04q
    27.05.2024 18:47
    +1

    Рутина съедает, но делает тебя лучше. Продолжай в том же духе и постарайся относится к этом как к марафону. Двигаясь постепенно и размеренно в какой то момент ты срастешься с процессом и начнешь получать истинное удовольствие!)


  1. Kenny201
    27.05.2024 18:47

    PHP "ну как сказать", это что значит? Он по-быстрее питона будет, и такой же простой. Опять начитались всякой ерунды, что типа он умирает?


    1. kitah Автор
      27.05.2024 18:47

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


      1. Kenny201
        27.05.2024 18:47

        Дак что же значит, "ну как сказать". Объясните пожалуйста.


        1. Stauroman
          27.05.2024 18:47

          Видать значит подсознательное презрение к языку на основе говорящих голов из ютубчика.

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


          1. Kenny201
            27.05.2024 18:47

            Ну причём тут приятен, не приятен. Python это сфера для дата сцейнтистов, ml, ии, ну игрульки там не большие какие-нибудь. Python используют в академических кругах, типа универы, школы какие-нибудь, где изучаются основы программирования. Если любите математику и все вот это вот, велком в питон. Для этого он был создан, я так понимаю. Зачем его в веб, для создания сайтов, пихают я понять не могу. Есть php, он создан был для веба, его и надо использовать.


            1. Yuri0128
              27.05.2024 18:47
              +1

              Охренеть.... Я Пайтон непрально пользую...... Я на нем отладку модулей пишу (и делаю), в ембединге пишу прототипы на АРМ контроллеры, в вебе тоже пользую..... (в школе не помню, в институте - Pascal был ну и C - по специальности, древненький я).

              Блин, - пихаю куда ни попадя.... Довольно успешно, правда. И время економится.

              А так - в вебе я тоже PHP (ну много там делал) но сейчас + Пайтон и еще куча всего.


              1. Kenny201
                27.05.2024 18:47

                Дак при чём здесь правильность. Пайтон широкого назначения язык. Но для веба - для сайтов, я бы использовал PHP и его фреймворки. Это ведь моё мнение.


                1. Yuri0128
                  27.05.2024 18:47

                  я бы использовал PHP и его фреймворки.

                  ну так и я пользую. Но иногда - пользую и Пайтон. В чем то проблема? Для меня - что удобнее и приемлемо для заказчика, - то и пользуется в проекте.


              1. LeoSv
                27.05.2024 18:47

                А могли бы поподробней, про отладку каких модулей на Питоне? Как это делается. И в эмбеддинге, на АРМ. Это МикроПитон?


  1. Dolios
    27.05.2024 18:47
    +23

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

    Я тут стройку затеял. Чтобы понять, какой инструмент выбрать, я просмотрел весь Youtube и прочитал все статьи на эту тему. Выбрал штангенциркуль. Да, им неудобно мешать цемент, но бетономешалка мне слишком сложно, а лопата и мастерок мне просто не нравятся, вайб не тот. А штангенциркуль, это приколько и звучит красиво...


    1. SanSeich_78
      27.05.2024 18:47
      +8

      плюсую!

      с другого форума:
      Автор: 0xffa500

      Представим что есть у нас 4 пипла. У каждого есть 3 доски: дубовая, сосновая, дсп. У каждого есть гвозди и шурупы. У 1го человека - молоток. У 2го - отвертка, у 3го - механическая отвертка с прокруткой и у 4го электро-шуруповерт.
      У всех задача ОДНА: вогнать в доски по гвоздю и шурупу.
      Первый легко и быстро вгонит молотком гвоздь и шуруп во все доски, но при этом доска их дсп треснет.
      Второй одинаково хорошо вгонит шурупы во все 3 доски, при этом он не сможет вогнать гвоздь.
      3й Быстрее 2го вгонит шурупы, с гвоздями та же ситуация.
      4й электрошуруповертом без особых усилий вгонит шурупы и быстрее предыдущих 2х, но при этом сам шуруповерт не сможет хорошо затянуть шуруп до конца без помощи человека, не хватит силы электромотора.

      Каждый из них может одинаково хорошо делать свою работу своим инструментом, при этом у каждый из них может чего-то не мочь делать своим инструментом, ибо этот ИНСТРУМЕНТ НЕ ПРИСПОСОБЛЕН для данных целей, и каждый из них имея кривые руки испортит одинаково хорошо и материал и инструмент!

      Мораль сей басни такова: языки програмирования - те же инструменты.

      Не стоит обсирать инструмент, особенно если не до конца понимаешь зачем он создан!!!

      НАдо за легкость расплачиваться. Не бывает идеала.
      Только не забывай что каждый инструмент для своих задач, и писать на ASM офис ты не будешь...
      Для некоторых хочу сказать что моей целью не было показаться "Шибко умным" и кого-то чему-то учить.
      Я просто хотел донести до людей то, что многие реально не понимают.


    1. SpiderEkb
      27.05.2024 18:47
      +2

      +100500!

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


      1. kbnrjlvfrfrfrf
        27.05.2024 18:47

        Выбор инструмента всего определяется задачей.

        Ну это раньше так было. А сейчас выбор инструмента определяется за сколько сможешь себя потом продать с соответствующей строчкой в резюме.


        1. SpiderEkb
          27.05.2024 18:47

          Это подход квалифицированного рабочего - умею работать на фрезерном станке, умею на токарном, умею водить грузовик с прицепом и т.п.

          Я рассматриваю с точки зрения инженера - умею делать прочностной расчет конструкций, умею делать ядерно-физический и теплогидравлический расчет атомного реактора (чему лично меня в институте учили), умею рассчитать каскад центрифуг для разделения изотопов (тоже немного учили)...

          Это более высокая ступенька в пирамиде вакансий. Их меньше, но они во всех смыслах интереснее. Тут уже не столько конкретный инструмент важен, сколько понимание что именно и как делать. А уж чем - зависит от конкретной задачи и платформы на которой она реализуется.


    1. IvanSTV
      27.05.2024 18:47
      +6

      вообще, меня несколько ошеломлял сам вопрос о том, какой ЯП учить. У меня в принципе было только 2 критерия: 1. Программируем на том, что есть. В начале 90-х у меня вообще не было выбора ни разу. В НИИ, где я учился работе на компьютере в рамках УПК, на единственной доступной мне персоналке был Фортран, высочайше одобренный первым отделом. В школе на БКшках был Бейсик, и ничпего кроме. На единственном IBMе на всю школу был VB и паскаль, и притаскивать туда что-либо категорически было запрещено. В институте был паскаль, но к компу допускали только чтобы на DB3 написать скриптики, шибко нужные для экономистов. А собственный комп в то время был настолько недоступной вещью для среднего школьника, что даже вопроса о том, что "купи и прогай на чем хочешь" не возникало. 2. Выбираем тот язык, который подходит для задачи. В офисе задачи были лепить в эксельке отчеты, формы, аналитику, шаблоны и прочую муть, причем возможность установить тот же Питон была ограничена, а С++, который там стоял, для этих же целей неудобен и излишен. Потому VBA. Надо при этом PowerShell дернуть - пришлось и в это погрузиться. Потом те же задачи надо было решать средствами Р7 - потому JS. Надо было решать специфическую задачу автоматизированного редактирования PDF - вот тут уговорил IT поставить питончик. На текущем месте задача - допилить 1Сную WMS, ну, потихоньку полистываю мануал по 1Ске. Не сказать, чтобы рад, но чтобы писать ТЗ надо понимать, как все организовано и как минимум объектную базу. Если завтра ко мне придет дочь и скажет, что ей надо на Javа написать что-то для мода, то открою учебник, ютюб, буду ковыряться.

      Одним словом, человеку, перед которым стоят какие-то задачи, так или иначе выбирать инструмент скорей всего не приходится - он уже рядом с этой задачей лежит, бери и забивай. И вообще, представление начинающих, что вот я схвачу инструмент, и у меня появятся задачи, несколько ложен. Сначала какие-то задачи, потом инструмент под них. А если задачи только учебные, то не очень важно, на чем учиться. Например, я вот последний год думаю, а не пойти ли мне на курсы С++ просто чтобы изучить что-то новенькое, да еще и проверить - действительно ли так сложно, как говорят... Так как задач нет, то если предложат условия лучше и интересней на какой-нибудь другой язык, то соглашусь и на другой. Потому что задача - просто систематически пройти курс по ЯП, так как систематически в условиях, когда ЯП изучаешь только под узкие рабочие задачи, выучить сложно.


      1. SanSeich_78
        27.05.2024 18:47

        отлично сказано!


  1. asd111
    27.05.2024 18:47

    Если не нравится программирование то попробуй системное администрирование или девопс. Может больше понравится. А может тебя вообще бесят компьютеры и уйдешь в другие профессии - например в люкс такси на 20тыс в день сразу на руки или крановщиком за 500к строить небоскребы.


  1. asatost
    27.05.2024 18:47
    +7

    Остановился на Python —  он мне всегда нравился из-за синтаксиса.

    И что в синтаксисе "невозможно писать без IDE" хорошего?

    C# я не рассматривал, начитавшись про его сравнительно небольшую популярность, сильную завязку на экосистеме Microsoft, слабость opensouce.

    Несколько лет назад? Когда уже даже .NET Core переименовали просто в .NET и все исходники выложили на github?

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

    Даже быстрее, чем на самом JavaScript?

    Для django написано уже всё. Только ищи и применяй.

    Что, уже и произвольный Python-код в template можно впихивать без костылей в виде самописных тегов?


    1. milkground
      27.05.2024 18:47

      И что в синтаксисе "невозможно писать без IDE" хорошего?

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


      1. Inqanter
        27.05.2024 18:47

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


    1. DMGarikk
      27.05.2024 18:47
      +2

      Что, уже и произвольный Python-код в template можно впихивать без костылей в виде самописных тегов?

      (поперхнулся)

      зачем вы вообще это делаете? ваc php-шник из нулевых покусал? мало того что не-spa сущности уже некомильфо делать и вообще рендеринг страниц на сервере, так еще и бизнеслогику писать в шаблонах...ну такооое...

      И что в синтаксисе "невозможно писать без IDE" хорошего?

      с каких пор на питоне невозможно писать без IDE?


      1. asatost
        27.05.2024 18:47

        (поперхнулся)

        Будьте здоровы!

        так еще и бизнеслогику писать в шаблонах...

        Да какую там бизнес-логику?! Оно в примитивнейшую базу не умеет, вроде положим данные в dict внутри dict. И всё, чтобы разобрать это в template, придётся вызывать шамана.

        https://stackoverflow.com/questions/1275735/how-to-access-a-dictionary-element-in-a-django-template

        с каких пор на питоне невозможно писать без IDE?

        Начиная с PEP-8 уж точно. Скорее всего Вы просто давно не пробовали редактировать код в каком-нибудь примитивном редакторе типа Блокнота и не помните, какое это "удовольствие".


        1. Yuri0128
          27.05.2024 18:47

          Оно в примитивнейшую базу не умеет, вроде положим данные в dict внутри dict. И всё, чтобы разобрать это в template, придётся вызывать шамана.

          во как!? А как же:

          2 года коммерческого опыта

          Что это за опыт такой был у ТС, что шамана на довольно простую операцию вызывали... Блин, а что же чел тогда учил? Или это просто... (пи..) абы поговорить....


        1. DMGarikk
          27.05.2024 18:47

          Скорее всего Вы просто давно не пробовали редактировать код в каком-нибудь примитивном редакторе типа Блокнота и не помните, какое это "удовольствие".

          всмысле? я помнится код через vi писал в своих модулях

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

          И всё, чтобы разобрать это в template, придётся вызывать шамана.

          вы хейтите язык придираясь к реализацию шаблонизатора?

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