Методология TIOBE вызывает вопросы. Купить их данные можно за USD5000. Компания TIOBE из Нидерландов занимается анализом качества кода.
Я лично вижу серьезную тенденцию в Go - это GUI-фреймворки. Очевидно, разработчикам на Go хочется эффективно кроссплатформенно писать GUI приложения. По крайней мере иметь для этого инструменты. Каждые 2-3 недели тут и там появляются новости о релизе очередного GUI-фреймворка.
В блоге timescale вышла очередная статья о том нужно ли использовать ORM. Я предлагаю рассмотреть преимущества ORM, которые выделил автор статьи и отнестись к ним критически.
Появление ORM вполне понятно: разработчики на ОО-языках стремились сократить рутину по преобразованию данных из объектов в поля таблицы и наоборот, из туплов результатов выборок в объекты.
Один язык программирования. В теории, можно не знать как устроена СУБД и использовать только ORM. Это возможно на простых проектах, где нагрузка на СУБД маленькая. Например, десктоп-приложения с небольшим количеством пользователей и небольшим объемом данных. Однако, язык запросов ORM зачастую слишком сложен и требует понимания как SQL, так и особенностей синтаксиса и замысла каждого конкретного ORM. Все равно прийдется учить SQL.
Бизнес-логика в сущностях. У объектов, которые используются в качестве DTO могут быть также методы. Т.е. объект `User` может содержать не только данные из СУБД, но и методы для определения тоталов, калькуляции задолженности или определения маски доступов и т.д.
Простой синтаксис запросов. Базовый синтаксис ORM намекает на спектр проблем, которым лучше ограничить использование этого самого ORM. Однако, за простотой базового функционала ORM скрываются неэффективные запросы, например, выборка всех полей всех JOIN-таблиц. В дополнение к этому, если в проекте больше одной таблицы и есть связи, то ORM будет выполнять слишком много ненужного меппинга для связанных таблиц.
Безопасность. Т.к. используется API ORM, то как правило нет возможности напрямую передать
строку запроса в СУБД и тем самым создать почву для возможной SQL-инъекции.
Команда EdgeDB опубликовала результаты бенчмарка сырых SQL-запросов и популярными TypeScript/JavaScript ORM'ами Prisma, Sequelize, TypeORM. ORM деградирует скорость выполнения запросов в 4 раза. Статья хорошая, с описанием методологии.
90% разработчиков используют официальную документацию. Это сильно контрастирует с тем временем, когда я начинал свою карьеру в 2005 году: я читал переведенные на русский книги, искал обрывочную информацию на русских форумах и очень не любил документацию, потому что не был к ней приучен (она была на английском и культура написания документации была не такой как сейчас: документация была ориентирована на уже опытных разработчиков).
PostgreSQL второй год подряд в лидерах: 48.7% разработчиков предпочитают её. Напомню, что в 2018 году, 6 лет назад, MySQL была на первой позиции с 59%. Топ СУБД:
AI dev tools используют 70% респондентов. Самые популярные инструменты (admired):
Многие хотят попробовать Google Gemini, но удовлетворены им всего 62.1%.
О вознаграждении рассказало 48000+ респондентов. Если наложить вышеупомянутый индекс TIOBE на топ-з/платы (медиана), то в лидерах разработчики на Go ($76_433) и Fortran ($70_351). При этом оплата за Go сильно упала, что свидетельствует о насыщении разработчиками. Если смотреть на динамиу оплаты 2023 к 2024, то хорошо подросла оплата за Nim ($80_000 => $94_924). По прежнему, разработчики Erlang самые оплачиваемые ($100_636) и даже чуть подросли. В целом, заметно снижение оплаты труда разработчиков почти по всем ЯП.
What is your current total annual compensation (salary, bonuses, and perks, before taxes and deductions)? Please enter a whole number in the box below, without any punctuation. If you are paid hourly, please estimate an equivalent yearly salary. If you prefer not to answer, please leave the box empty.
AI - угроза для вашей работы? 68.3% считают, что нет. 19.6% не уверены и 12.1% считают, что AI - это угроза.
На полной удаленке по прежнему высокий, но падающий процент. В этом году 38%, а 2022 было 43%. Полностью в офисе работает всего 20% (здесь рост на 5%). И неизменное количество сотрудников, которые совмещают удаленку и офис - 42%.
Расстраивает технический долг (62.4%), комплексный тех. стек (32.9%), надежность софта (31.5%), слежение за работой (27.1%).