Мне кажется, дело не в языке, а в том, как на нем пишут

    «Летом между 2 и 3 курсом я пошла искать работу — а в Новосибе того времени почти все вакансии для ребят без опыта были про PHP. Начинала с очень простых вещей — WordPress, Drupal… Потом писала бэкенды на Yii и много еще разного. Go впервые попробовала в 2014-м, вдохновившись докладом, и затем часто находила работу, связанную с разработкой на нем, через сообщество.

    Считается, что Go гораздо проще поддерживать, чем PHP. Я не согласна. Видела очень много чистого, легко читаемого и поддерживаемого кода на PHP, а сейчас время от времени встречаю много плохо написанного кода на Go. Проблемы начинаются тогда, когда мы не следуем лучшим практикам языков и систем, которые разрабатываем… Или когда выбираем для своих задач не тот инструмент», — Елена Граховац, руководитель ПК GolangConf 2019 и соведущая подкаста GolangShow.


    В эту субботу днем обсудим типичные ошибки выбора в стриме с Леной, Сашей Макаровым и другими замечательными людьми. Подключайтесь.

    Пандемия оставила нас без привычных митапов, но любой кризис — это возможность открыла новые возможности для сотрудничества сообществ разных городов. Организатор питерских PHP-митапов написал, что «интересно с кем-то сравнивать детально, чего стоит делать проект на го и пыхе», организатор йошкар-олинских Go-митапов включился и подтащил зарубежных экспертов. Идею поддержали ребята из Skyeng, PHP Russia, подкастов «Пятиминутка PHP» и Amorev. Мы созвонились и решили, что:

    • Напишем (заранее) два «типовых» приложения на PHP и Go и разберем их код в эфире.
    • Подберем примеры 8-10 часто встречающихся задач, которые Go-разработчики не стали бы делать на Go, и наоборот.
    • И дадим зрителям включиться в эфир голосом с вопросом, комментарием или идеей — достаточно будет иметь браузер, гарнитуру и Youtube-аккаунт.

    Так с помощью нехитрых приспособлений буханку черного хлеба получилась интересная по содержанию онлайн-трансляция — подключайтесь 15 августа в 11 утра по Москве.
    А пока — представим других участников стрима.

    Александр Макаров, куратор программного комитета конференции PHP Russia, разработчик Yii-фреймворка


    Самый необычный сервис на PHP, который ты встречал?
    Конвейеры для параллельной обработки данных на RabbitMQ, долгоживущие серверы для онлайн-игр, GUI-приложения под Windows. До недавнего времени необычными были проекты под AWS Lambda — тот же StyleCI.

    Что ты больше всего любишь и не любишь в своем основном языке?
    Радуют гибкость, экспрессивность, инфраструктура. И особенно — сообщество.

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

    Как давно пишешь на PHP?
    Года с 2008-го прям плотно — перешел с Java и ввязался в опенсорс. Но параллельно была Java под Android, немного предрелизного Golang, много TypeScript и всякое по мелочи.

    Как твои впечатления от Go — что-то делал на нем?
    Пережималку картинок. Понравилось для этой задачи, но это было очень давно — Golang тогда был немного другим.

    Илья Шихалеев, организатор митапов по PHP и Go в Йошкар-Оле, разработчик в iSpring


    Как давно ты пишешь на PHP и Go — и как так жизнь сложилась?
    Пишу на обоих языках по работе: монолит на PHP — лет 10, микросервисы на Go — лет 6. Go стал основным недавно, поэтому до карантина я активно проводил курсы, семинары и другую движуху, чтобы разработчики в компании и городе начали писать на нём.

    Что ты больше всего любишь и не любишь в своем основном языке?
    Прикольный гофер-талисман :) И сообщество открытое.

    В остальном, есть мелочи и нюансы, но они преодолимы. Например, для простых сервисов или для первых сервисов в компании, когда ещё нет шаблона или генератора сервисов, приходится решать очень много мелочей вроде graceful shutdown. Обработка ошибок хороша, но читать бизнес-логику периодически мешает — тут помогает скрытие обработки ошибок в GoLand. Однобуквенные имена переменных порой делают код совсем нечитаемым. Новички стараются использовать горутины даже там, где это неуместно :)

    Самый необычный сервис, написанный на Go и/или PHP, который ты встречал?
    Вспомнились бэкенд мобильного онлайн-шутера на PHP и браузерный генератор гоферов на Go.

    Руслан Ханов, организатор митапов Symcode в Петербурге, разработчик в ИТМО


    Самый необычный сервис на PHP, который ты встречал?
    Web crawler с пропускной способностью около ~5 MB в секунду.

    Как давно ты пишешь на PHP?
    Около 20 лет с перерывами и совмещением с другими языками. Более или менее вдумчиво — лет десять.

    Как твои впечатления от Go — что-то делал на нем?
    Выглядит многообещающим, ничего полезного не пробовал делать.

    Что ты больше всего любишь и не любишь в своем основном языке?
    Люблю Composer и Symfony.

    А раздражают несогласованность расширений по параметрам функций\методов даже внутри конкретного расширения, отсутствие сильного лобби PHP среди других технологических стеков — и попытка стать Java)

    Антон Морев, ведущий лайва, — руководит студией разработки, в которой пишут на обоих языках


    Самый необычный сервис, написанный на Go или PHP, который ты встречал?
    Даже писал: делал на PHP сервис асинхронного получения информации из большого числа разных источников в ходе одного запроса. Причем с помощью Gearman, что было очень нестабильно и неудобно.

    Когда в нашу компанию пришел Go-евангелист, он был настолько убедителен, что мы сделали лендинг на Go. Опыта не было, проект превратился в ад:) После этого стали внимательней подходить к выбору стека.

    p.s. Больше историй про неверный выбор стека в обе стороны, велосипеды и «как надо было» — уже в субботу. А если планы на день сложились, запись будет доступна по этой же ссылке.
    Skyeng
    Крутейшая edtech-команда страны. Удаленная работа

    Comments 8

      +1
      Считается, что Go гораздо проще поддерживать, чем PHP. Я не согласна. Видела очень много чистого, легко читаемого и поддерживаемого кода на PHP, а сейчас время от времени встречаю много плохо написанного кода на Go.

      И это никоим образом не опровергает тезис что «Go гораздо проще поддерживать, чем PHP.»

      То есть я вообще не в курсе кого из них там проще поддерживать на самом деле, но аргументация вообще никуда не годится…
        +1
        Извините, конечно, но когда говорят о поддержке языка, а не кода: у меня опускаются руки.
        видел много чужого кода, как на php так и на go, и качество кода, в основном, зависит от архитектуры приложения и найденных простых решений для нетривиальных задач, которые, к слову, присутствуют в большинстве приложений.

        Мое любимое: язык — не панацея, инструмент, и если решил кто забивать шурупы микроскопом — глупо жаловаться на результат и попытки сменить микроскоп.
        –7

        Пишу только на PHP SPL, не юзаю ни чего стороннего и сразу final классам. Разработчиков моего фреймворка кроме меня ноль поэтому поддерживать сущее удовольствие. Раньше да: война с хренокодом и кучей зависимостей доставляли не мало, но я ушел из программирования как с работы и теперь это хобби и мне спать кто и что критикует в моем подходе к разработке.

          0
          Этот холивар извечен…
          Ну правда, как поп vs рэп vs рок vs классика. Какая задача, какие прычки — тому там и проще.

          Воистину, тот язык — говно, на котором нельзя написать говно! (значит, мало возможностей)
            +1
            Начинала с очень простых вещей — WordPress, Drupal…

            А вы можете раскрыть этот тезис?
            Почему они вам показались очень простыми?
              0

              Привет! Согласна, что я как-то не совсем правильно выразилась.
              Пришла в комментарии, чтобы раскрыть этот тезис :)


              Наверное, мне надо было пояснить, что я начинала с маленьких сайтов-блогов на WordPress и Drupal, где особо не требовалось разбираться в архитектуре распределенных систем или, например, в оптимизации запросов к базам данных. Не нужно было глубоко копать в то, как устроены сами WordPress или Drupal. И было это лет 12-13 назад. Не исключаю, что сейчас ситуация с этими CMS/CMF совсем другая. Но это уже прям целые мемуары получаются :)


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

              0
              основное, что хотел сказать, написал ответом к первому комменту.

              касательно php VS go — мне лично, неудобно строить простые и быстрые сайты на go, под простотой и быстрый: имею ввиду потраченное время, скажем, на организацию структуры лендинга, который был упомянут, или какого сайта визитки, а также регулярки писать на go не особо удобно, в сравнении с php…
              Но дело, наверное, больше в том, что на go я этим попросту почти никогда не занимался.
              Да, есть в go и html templates, и regexp из коробки, но все оно не особо удобно по трудозатратам…

              Но когда: «делал на PHP сервис асинхронного получения информации из большого числа разных источников в ходе одного запроса» — сложно воспринимать… особенно в контексте ведущего лабы на обоих языках…

              ПС: интро-тайтл завлекает, но содержимое вселяет сомнение. В любом случае — постараюсь посмотреть в лайве все это, думаю, будет увлекательно.
                0
                Спасибо skyeng! Вы много делаете для сообщества PHP.

                Only users with full accounts can post comments. Log in, please.