Пятиминутка PHP – Telegram
Пятиминутка PHP
2.86K subscribers
334 photos
26 videos
825 links
Подкаст о PHP, DBA, архитектуре, DevOps. Авторское мнение о современных трендах в веб-разработке и интересные беседы с гостями. Темы про СУБД, Linux, DevOps

Автор: @petrmyazin
Download Telegram
Опубликованы результаты опроса разработчиков от компании JetBrains: The State of Developer Ecosystem 2023.

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

https://www.jetbrains.com/lp/devecosystem-2023/
2
Начнём с самого банального - рейтинга популярности языков. PHP на 11 месте, всё ещё обгоняет Go на один пункт рейтинга.

Однако, обратите внимание на серый столбик: сколько разработчико планируют перейти НА этот язык программирования или начать его использовать?

Больше всего хотят перейти на Go (9%), на TypeScript (5%) и на Python (5%).

На PHP почти никто не хочет переходить - всего 1%.
😢42🤔2😎1
Сравнивая с опросами прошлых лет - большинство языков теряют популярность, растут лишь три (по использованию):
1. TypeScript - быстрый рост
2. Rust - тоже уверенный рост (не такой быстрый как у TypeScipt)
3. Python - быстро рос с 2017 по 2020 годы, сейчас сбавил темп, но растёт.
👍7😢2
Картинка посложнее - с какого языка и на какой разработчики планируют мигрировать в ближайший год?

Сфокусируемся на показателях PHP.

Те, кто сейчас пишут на PHP, хотят мигрировать на:
1. Go - 12%
2. Rust и Python - оба 9%
3. TypeScript - 8%

А с каких языков разработчики хотели бы мигрировать НА PHP? Нет такой статистики! Даже пункта такого нет в таблице. Видимо, их так мало, что они все попали в Other.
😭19
Самооценка по уровню доходов: PHP где-то рядом с HTML/CSS внизу списка. Впрочем JS и TS рядом.

Больше всего зарабатывают мозголомные функциональщики на Scala и полностью противоположные им в по философии простоты разработчки на Go.
Какие AI инструменты популярны?

Я удивлён, что ChatGPT заметно обогнал GitHub Copilot.

Чтобы воспользоваться ChatGPT нужно открыть окно браузера (смена контекста), написать промпт вручную, потом копировать код туда-сюда. А GitHub Copilot просто работает и без переключения контекста - сразу в IDE всё пишет и автодополняет.

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

Кстати, подписывайтесь на мой новый канал https://news.1rj.ru/str/en_5minAI - "5 minutes of AI" (типа "Пятиминутка AI", но на английском)
👍41👎1
Говорят, что большую часть времени мы не пишем код, а читаем код, исследуем код, думаем над задачей.

Вопрос на этой картинке: "На что больше всего уходит времени?" - и самый популярный ответ Writing Code.

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

Это был вопрос с множественным выбором. Подозреваю, что многие респонденты сначала отмечали пункт "Writing Code", ментально включая в него всю возможную актвиность по написанию кода, а затем отмечали отдельные более конкретные пункты, например, "Undestanding Code" и "Debugging".

Мне было бы интересно посмотреть на статистику по двум метрикам: "Набираю код в редакторе кода (активно печатаю)" vs "Просматриваю код, перехожу по классам/методам". Наверняка, это можно собрать в PhpStorm автоматизированно из коробки или с помощью какого-нибудь плагина. Такая статистика даст ответ на вопрос: нужна ли и важна ли быстрая скорость печати для эффективной работы программистом? Моё субъективное мнение - быстрая скорость печати нужна и важна! Но хотелось бы увидеть это в цифрах.
👍9
Возвращаясь к теме AI - что программисты готовы делегировать нейросетям?

В первую очередь всю рутину: комментарии, документацию, тесты, commit messages.

Не готовы доверить: написание кода, изучение кода.

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

А когда комментарий написан (мной, вручную), тогда уже в дело вступает GitHub Copilot, который генерирует более-менее сносный код (но не всегда).

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

Код пишется тоже для людей, которые его потом будут читать, но в меньшей степени, чем комментарии. Написание кода я готов делегировать бездушной машине.
👍9👎9
Завершаю эту серию заметок парой картинок про СУБД.

MySQL расёт в Китае, Корее и Мексике, теряет популярность в остальном мире.

PostgreSQL полностью противоположно - рост по всему миру (особенно РФ, понятно почему), кроме Китая и Кореи.

Что там случилось с MySQL в Азии, почему такая популярность, кто знает?

Относительно языков программирования: PHP программисты плотно сидят на MySQL, а рубисты на PostgreSQL.

В целом, если полистать эту часть опроса про СУДБ - рулит PostgreSQL.
🔥8👍41
Субботний вечерний юмор
😁371👍1👎1🔥1
Какой замечатльный лонгрид про раскалдки клавиатур и, в частности, про раскладку для Moonlander! Не мог пройти мимо и не поделиться ссылкой: https://optozorax.github.io/p/my-keyboard-layout/
👏4🤮3💩2🤨21
Forwarded from phpinfo();
📺 Запись оффлайн/онлайн митапа сообщества Live PHP, проходившего 23 ноября 2023 года в г. Санкт-Петербург

https://www.youtube.com/watch?v=b1NE20DD2cc

Доклады:

👉 Применение SOLID при разработке на PHP
Эмиль Лимаренко, разработчик

Обновим знания о принципах SOLID на примерах PHP. Подумаем зачем и когда нам это нужно. Разберёмся наконец где заканчивается Dependency Injection и начинается Dependency Inversion.

👉 ИИ за место крыс
Иван Романов, аспирант лаборатории эволюции органов чувств ИЭФБ РАН

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

👉 PHP/Symfony/Doctrine: Создание и mapping сущностей, Enums, ValueObjects, etc
Станислав Ракчаев, [Software Developer]

Рассмотрим подходы "проектирования сущностей", варианты создания. Для чего могут быть полезны ValueObjects, Enums и стоит ли их использовать.

👉 Рефакторинг крупного монолита без архитектуры
Дмитрий Алин, тимлид

Монолит разрабатывался 15 лет, оброс клиентами и является одним из ведущих в своей сфере. Как спланировать, организовать и запустить процессы. Что и как настроть с наименьшим риском для бизнеса.
👍20🔥5🥱31
Как быстро запустить PHPStan из PhpStorm?

(не из консоли, а через интегрированный интерфейс PhpStorm - мы же в IDE работаем в конце концов)

Шаг 1: подключить PHPStan к PhpStorm через Settings -> PHP -> Quality Tools -> PHPStan = ON

Теперь непосредственно в редакторе кода будут подсвечены проблемные места – это отрабатывает новый Inspection, наличие которого можно проверить в Settings -> Editor -> Inspections -> поиск по слову «phpstan» -> PHPStan validation галочка.

Шаг 2: как проверить все файлы в проекте? Меню: Code -> Analize Code -> Run Inspection by Name… (обратие внимание в меню на незапоминаемый хоткей) – далее в поиске набрать название нашего Inspection = «phpstan»

Шаг 3: а можно без длинных меню и сложных хоткеев?
Да, есть несколько вариантов, которые я перепробовал, вот самый быстрый:

3.1 Settings -> Editor -> Inspections -> создать новый Profile, назвав его, например, «PHPStan Only»

3.2 На Toolbar добавить новую иконку: кликнуть правой кнопкой по Toolbar -> Customize Toolbar… -> кнопка в виде плюса «Add Action…» -> поиском найти действие «Inspect Code…» - таким образом на панели кнопок будет быстрая кнопка эквивалентная меню Code -> Inspect Code…

3.3 Особенность диалога Inspect Code… в том, что он предлагает выбрать профиль, по которому нужно проверить проект, и далее он запоминает выбранный в последний раз профиль! Именно для этого мы создали профиль «PHPStan Only» - выбрав один раз, следующий запуск сведётся до двух кликов. Впрочем, можно и удобный хоткей для вызова этого диалога настроить: Settings -> Keymap -> в поиске набрать «Inspect Code» и назначить хоткей. Этот способ немного удобнее того, что я описал как «Шаг 2» - теперь нам не нужно вводить название инспекции «phpstan», теперь есть профиль и он уже выбран по умолчанию в диалоге «Inspect Code…»
🔥19👍5👀2👎1
В продолжение предыдущего поста: как узнать, есть ли возможность настроить ту или иную функцию в PhpStorm? А какие варианты вообще бывают, чтобы выбрать наиболее удобный для себя?

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

Удача, если конкретно мой вопрос кто-то уже задал на StackOverflow или в YouTrack (багтрекер для всех продуктов JetBrains) - можно найти конкретный рецепт по шагам.

Последние несколько месяцев я задаю подобные вопросы в ChatGPT. Поскольку документация публичная и она проиндексирована в базе знаний ChatGPT, то обычно получаю достаточно сфокусированные ответы на конкретный вопрос.

Вчера попробовал для этих целей непосредственно AI Assistant в PhpStorm. Под капотом он отправляет запросы всё в тот же API OpenAI (по сути в ChatGPT), но теперь это выглядит как "справка по программе здорового человека". У меня есть вопрос к PhpStorm, я его пишу непосредственно в PhpStorm и получаю конкретный ответ.

Выводы: если вы пишете софт и к нему есть подробная документация, которая, будучи проиндексированной, могла бы стать пищей для ума AI, то попробуйте подключить в свой софт "справочный центр" на базе ChatGPT (или аналогов)!
👍17🔥5👎21
Решил попробовать запустить Qodana на своём проекте 😱🤦😭

(что такое Qodana: https://www.jetbrains.com/ru-ru/qodana/)
🔥17😁4