METANIT.COM – Telegram
METANIT.COM
5.79K subscribers
1.64K photos
80 videos
9 files
984 links
Канал о программировании и разработке сайта metanit.com
Download Telegram
Российские программисты внезапно разлюбили Java и массово переходят на Python и С++

Как сообщили представители ассоциации «Руссофт» (некоммерческое партнерство (ассоциация) российских компаний-разработчиков программного обеспечения), всего лишь за год доля сотрудников, использующих Java, обвалилась с 33,3% в 2024 г. до 19,2% в 2025 г, то есть более чем в полтора раза.

Доля опрошенных компаний, использующих данный язык программирования, тоже рухнула за тот же период – с 51,2% до 45,4%.

При этом, согласно статистике «Руссофт», Java все еще удерживает лидерство среди самых популярных языков программирования в России. Впрочем, это лидерство уже на такое уверенное, как, например, в 2023 г., самом успешном для Java, когда на нем писали 36,1% программистов.

На втором месте по популярности среди российских программистов находится язык JavaScript – его в 2024 г. использовали 21,2% разработчиков, а в 2025 г. – 18,9%. Отставание от Java совсем незначительное, вот только едва ли у него есть много шансов в 2026 г. занять первую строчку рейтинга, в том числе и потому, что его популярность тоже падает.

В «Руссофт» подчеркивают, что основная опасность для Java исходит вовсе не от JavaScript, а от Python. В 2024 г. на Python писали лишь 7,7% из них, а в 2025 г. – уже 15,3%. Здесь виден двукратный рост его востребованности среди разработчиков.
Компании, пишущие ПО, тоже все активнее пользуются Python. В 2024 г. таковых было 57,1%, год спустя – 61,8%.

https://www.cnews.ru/news/top/2025-10-09_rossijskie_programmisty
🥴16🔥9🤔7👏1
Вообще разброс используемых языков программирования в России среди отдельных разработчиков и среди компаний, по мысли Руссофта, выглядит следующим образом (прикрепленном изображении)

Меня лично в этом рейтинге удивляет 9-е место у Visual Basic .NET

https://russoft.org/news/java-uderzhivaet-liderstvo-sredi-samyh-populyarnyh-yazykov-programmirovaniya-no-python-bystro-rastyot/
😐17😁12🆒4🤮1
Вышла стабильная версия Ubuntu 25.10 (Questing Quokka)

9 октября 2025 года Canonical представила релиз публичной версии Ubuntu 25.10 (Questing Quokka) на базе ядра Linux 6.17 и рабочего окружения GNOME 49. Стабильные сборки проекта доступны в вариациях Ubuntu Desktop, Server, Kubuntu, Lubuntu, Ubuntu Budgie, UbuntuKylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity и Xubuntu.

Компоненты Ubuntu 25.10: GCC 15.2, Mesa 25.2, Rust Coreutils по умолчанию вместо GNU Coreutils, Dracut по умолчанию, GNU C Library 2.42, GNU Binutils 2.45, Python 3.13.7, LLVM 20, Boost 1.88, systemd 257.9, Rust 1.85, Go 1.24, OpenJDK 21 LTS, Zig 0.14.1, OpenSSL 3.5.3, BlueZ 5.83 13, PipeWire 1.4.7, APT 3.1, Chrony в качестве NTP-клиента по умолчанию, поддержка Nvidia Dynamic Boost для игр, управление ключами восстановления FDE (Full Disk Encryption) с поддержкой TPM и Wayland для Ubuntu Desktop). Также в Canonical в Ubuntu 25.10 перешли на использование по умолчанию утилиты sudo-rs на языке Rust.

Ubuntu 25.10 перешла на использование средства просмотра изображений Loupe по умолчанию и Ptyxis в качестве эмулятора терминала по умолчанию на рабочем столе Ubuntu.

Доступно обновление до новой версии Ubuntu по команде sudo do-release-upgrade.

Версия проекта Ubuntu 25.10 будет поддерживаться до июля 2026 года.

https://canonical.com/blog/canonical-releases-ubuntu-25-10-questing-quokka
https://releases.ubuntu.com/questing/
👍21🔥4🍌3
Как Google Search выдаёт результаты за миллисекунды?
(описание в следующем посте)
👍5🤔3🤮3🗿3
Как Google Search выдаёт результаты за миллисекунды?
(описание к предыдущему посту)

Google Search работает на распределённой архитектуре массового масштаба, которая разбивает интернет на фрагменты и обрабатывает их параллельно на сотнях тысяч серверов.

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

Результаты затем ранжируются в мгновение ока с помощью сложных алгоритмов ранжирования (таких как BERT и MUM), которые учитывают сотни факторов — от релевантности ключевых слов и качества сайта до вашего местоположения и истории поиска, и всё это происходит ещё до полной загрузки страницы.

Основной поиск Google состоит из нескольких ключевых систем:
* Web Crawlers (Googlebot) постоянно находят и загружают новые страницы из интернета.
* Система индексирования обрабатывает эти страницы, разбивает их на термины и сохраняет в огромной распределённой базе данных индекса.
* Система обработки запросов понимает ваши намерения при поиске, исправляет опечатки и расширяет термины.
* Система ранжирования (PageRank как изначальный базовый алгоритм) использует машинное обучение для оценки и упорядочивания результатов по предполагаемому качеству и релевантности.

За кулисами Google запускает массовые пакетные и реальные процессы. Весь веб-индекс постоянно перестраивается в циклах, при этом инкрементальные обновления обрабатываются для отражения нового контента и свежих ссылок.

Эти данные хранятся в специализированных высокопроизводительных базах данных — Bigtable для веб-индекса, Spanner для транзакционных данных и колоссальных кэшах в оперативной памяти для мгновенной обработки распространённых запросов. Вся система спроектирована с учётом отказоустойчивости и низкой латентности, обеспечивая ответ даже при выходе из строя целых дата-центров.

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

## Технические характеристики Google Search

* Фронтенд: C++, Java, JavaScript
* Бэкенд: C++, Java, Go, Python, Protocol Buffers
* Базы данных и хранение: Bigtable, Spanner, Colossus (файловая система)
* Обмен данными и оркестрация: MapReduce, FlumeJava, Dataflow, Apache Beam
* Обработка данных: Borg (управление кластером), Dremel (BigQuery), Millwheel (потоковая обработка)
* Безопасность: Проприетарная аппаратная защита, TLS, непрерывное сканирование уязвимостей
* Инфраструктура: Глобальные проприетарные дата-центры, специальные чипы TPU/AI, сетевая структура Jupiter
* Девопс и мониторинг: Внутренние проприетарные инструменты (мониторинг Borgmon)
* Машинное обучение/ИИ: TensorFlow, BERT, MUM, RankBrain, LaMDA
10🤔6🤩3🤮3👏1😐1
Python ускорился

Мигель Гринбе (Miguel Grinberg), автор книг по Python, протестировал производительность CPython с 3.9 по 3.14 и сравнил с результатами тестов для Pypy 3.11 (Python с JIT), Node.js 24 и Rust 1.90. Для CPython 3.13 и 3.14 также тестировалась производительность с JIT-компилятором и режимом Free-threading без глобальной блокировки.

Для теста использовались скрипты для вычисления чисел Фибоначчи и сортировки пузырьком на Ubuntu 24.04 (Intel Core i5) и macOS Sequoia (Apple M2).

В большинстве тестов CPython 3.14 оказался быстрее 3.13 примерно на 20%. Отрыв 3.14 от 3.9 и 3.10 - примерно 2 раза. Pypy, Node.js и Rust обогнали CPython 3.14 в 1-ом тесте в 4.93, 4.88 и 69.82 раз, а во 2-ом тесте в 18.14, 6.64 и 36.15 раз.

Режим без глобальной блокировки в CPython 3.14 позволил в 2 раза ускорить многопоточное выполнение. А режим с JIT в CPython не привел к существенному росту производительности, а на macOS даже замедлил выполнение

https://blog.miguelgrinberg.com/post/python-3-14-is-here-how-fast-is-it
❤‍🔥13🤮62🌚2👏1
Slotted counters и конкуренция строк

Cлотовые счётчики (slotted counters) представляют способ распределения операций увеличения значений на множестве строк для уменьшения конфликтов при одновременном доступе

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

Конфликты == блокировки == медленная работа!

Как это исправить? Распределить подсчёт по N строкам в специальной таблице счётчиков. На рисунке N=3, но можно установить N=100 или N=1000 в зависимости от нагрузки

При каждом увеличении случайным образом для инкремента выбирается одна из N строк. Когда нужно получить общее количество просмотров для видео, суммируются все значения счётчиков для строк с определённым v_id. Это можно делать по мере необходимости или через регулярные промежутки времени и сохранять в таблице видео
👍9👏3🏆3
Microsoft напомнила о прекращении поддержки Windows 10 с 14 октября 2025 года. Компания предложила три варианта действий по переходу с Windows 10: обновление до Windows 11, замену ПК на новый с Windows 11 и программу Extended Security Updates (ESU).

Если ПК пользователей соответствует минимальным системным требованиям Windows 11, то можно обновиться напрямую с Windows 10. Чтобы проверить, подходит ли компьютер для бесплатного обновления, нужно зайти в «Пуск» > «Параметры», «Обновление и безопасность» > «Центр обновления Windows» > «Проверить наличие обновлений».

В случае отсутствия совместимости с Windows 11 корпорация предлагает просто купить новый ПК с последней операционной системой Microsoft. Компания рекомендует воспользоваться инструментом для подбора подходящего ПК с учётом индивидуальных потребностей пользователей.

Можно продолжить получать обновления для Windows 10 после 14 октября через ESU — программу расширения поддержки устаревших операционных систем. Год обновления по ESU стоит $30 или 1000 баллов Microsoft Reward. Получение бесплатных обновлений по ESU возможно при условии включения Windows Backup для синхронизации настроек и папок с облаком.

https://support.microsoft.com/en-us/windows/windows-10-support-ends-on-october-14-2025-2ca8b313-1946-43d3-b55c-2b95b107f281
👎23🤬8😢4🤡4😁2🤮1💩1
На конференции Gemini at Work генеральный директор Google Сундар Пичаи рассказал, что примерно половина нового кода внутри компании сейчас генерируется ИИ и затем проходит ревью инженеров прежде чем попасть в продакшн.

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

PS. Ну будем надеяться, что весь этот нагенерированный код все-таки проходит ревью...
🤪26😱5💩5🤡3💯3
Вкратце и наглядно как работает межсайтовый скриптинг (Cross-Site Scripting или XSS)
🥴5🔥32👍2
Классика CSS: центрирование блока <div>. Различные способы
👍7🔥1👏1
"
Программисты больше не в моде. ИТ теряют престиж

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

В России радикально изменились тренды в плане престижности профессий. Если еще в 2024 г. на первом месте были все работы, связанные с ИТ-сферой, то всего год спустя на первое место вырвались рабочие специальности, сообщили представители платформы hh.ru.

Что самое важное, квалифицированные рабочие профессии еще год назад престижными считали лишь 12% опрошенных. В 2025 г. их набралось уже 45%, то есть рост оказался более чем трехкратный.

ИТ-сфера скатилась на третье место – за нее в 2024 г. проголосовал 51% респондентов, а в 2025 г. уже 32%.

"

https://www.cnews.ru/news/top/2025-10-10_it_bolshe_ne_v_trendeotrasl

PS. Вот тока конкуренция на рынке труда говорит об обратном: больше 16 человек на место для ИТ и 1-3 человека на место для рабочих специальностей....
😁20🤪13🙏10💯6👍3🤬1
Сравнение минимальных требований операционных систем
60😁18😈8👍6👎6🤡4💊4😎3🥱2
REST vs gRPC vs GraphQL в проектировании систем
(продолжение в следующем посте)
🔥4🤯32👍2
REST vs gRPC vs GraphQL в проектировании систем
(продолжение предыдущего поста)

REST (Representational State Transfer — передача репрезентативного состояния)

* Определение: Архитектурный стиль, использующий методы HTTP (GET, POST, PUT, DELETE) для коммуникации
* Формат данных: Обычно JSON
* Преимущества: Простота, широкое распространение, лёгкая отладка с помощью инструментов браузера
* Недостатки: Необходимость множества запросов для связанных данных, проблемы с избыточным или недостаточным получением данных
* Области применения: Веб- и мобильные API, приложения CRUD, публичные API

gRPC (Google Remote Procedure Call — удалённый вызов процедур Google)

* Определение: Высокопроизводительная платформа, использующая HTTP/2 и Protocol Buffers (бинарный формат)
* Преимущества: Быстрая коммуникация, поддержка потоковой передачи, строго типизированные контракты через .proto файлы
* Недостатки: Сложность отладки, необходимость генерации клиентского кода, меньшая совместимость с браузером
* Области применения: Коммуникация между микросервисами, системы реального времени, внутренние API

GraphQL

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

### Ключевые различия

* REST = основанный на ресурсах | gRPC = основанный на процедурах | GraphQL = основанный на запросах
* REST использует JSON через HTTP/1.1 | gRPC использует Protocol Buffers через HTTP/2 | GraphQL использует единую точку входа через HTTP
* REST = простой и универсальный | gRPC = высокопроизводительный | GraphQL = гибкий и ориентированный на клиента
* REST лучше подходит для публичных API | gRPC лучше для внутренних микросервисов | GraphQL лучше для сложных фронтендов

### Реальные примеры использования

* REST: API Twitter и GitHub следуют принципам REST для стандартных веб-интеграций
* gRPC: Google и Netflix используют gRPC для внутренней коммуникации между микросервисами благодаря скорости и эффективности
* GraphQL: Shopify и GitHub используют GraphQL, чтобы предоставить клиентам контроль над получением данных
🔥76👏1
Крик души про корпоративную разработку на .NET
(перевод в следующем посте)
💯24🔥9👍4👎2😢2🤔1🤡1