Считается, что Go гораздо проще поддерживать, чем PHP. Я не согласна. Видела очень много чистого, легко читаемого и поддерживаемого кода на PHP, а сейчас время от времени встречаю много плохо написанного кода на Go. Проблемы начинаются тогда, когда мы не следуем лучшим практикам языков и систем, которые разрабатываем… Или когда выбираем для своих задач не тот инструмент», — Елена Граховац, руководитель ПК GolangConf 2019 и соведущая подкаста GolangShow.
В эту субботу днем обсудим типичные ошибки выбора в стриме с Леной, Сашей Макаровым и другими замечательными людьми. Подключайтесь.
Пандемия оставила нас без привычных митапов, но
- Напишем (заранее) два «типовых» приложения на PHP и Go и разберем их код в эфире.
- Подберем примеры 8-10 часто встречающихся задач, которые Go-разработчики не стали бы делать на Go, и наоборот.
- И дадим зрителям включиться в эфир голосом с вопросом, комментарием или идеей — достаточно будет иметь браузер, гарнитуру и Youtube-аккаунт.
Так
А пока — представим других участников стрима.
Александр Макаров, куратор программного комитета конференции 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. Больше историй про неверный выбор стека в обе стороны, велосипеды и «как надо было» — уже в субботу. А если планы на день сложились, запись будет доступна по этой же ссылке.
Kanut
И это никоим образом не опровергает тезис что «Go гораздо проще поддерживать, чем PHP.»
То есть я вообще не в курсе кого из них там проще поддерживать на самом деле, но аргументация вообще никуда не годится…
KirEv
Извините, конечно, но когда говорят о поддержке языка, а не кода: у меня опускаются руки.
видел много чужого кода, как на php так и на go, и качество кода, в основном, зависит от архитектуры приложения и найденных простых решений для нетривиальных задач, которые, к слову, присутствуют в большинстве приложений.
Мое любимое: язык — не панацея, инструмент, и если решил кто забивать шурупы микроскопом — глупо жаловаться на результат и попытки сменить микроскоп.