Потенциал swift в backend

Считаю, что swift будет набирать обороты в backend, т. к. он нашел свою нишу и разрешил компромисс в выборе между хардкором (rust/c++) и казуалом (go/c#).

1) Все эти языки строго типизированные, экономичные по вычислительным ресурсам, и быстрые. Swift тоже.

2) Кроссплатформенность. Хоть swift её получил не сразу, но сейчас это факт и production ready.

3) Отсутствие сборщика мусора. В режиме highload go/c# могут увеличивать непредсказуемо задержку ответа, т. к. сборщик мусора не успевает вовремя очищать, и куча временно нарастает как снежный ком, и приложение дает фризы. Поэтому критическую инфраструктуру, где задержки болезнены либо сразу пишут на языке без сборщика мусора либо переписывют на него. И swift тут выигрывает вместе с c++ и rust.

4) Легкость написания кода. На swift писать в разы проще чем на c и rust, практически не теряя в производительности самого языка. Go и c# тоже любят за это, но учитывая пункт 3, они проигрывают. Также в swift меньше нужно думать над памятью, чем в c и rust.

5) От простого к сложному. Несмотря на простоту написания кода язык позволяет заглянуть в дебри (при желании), куда заглядывают только rust и c++: низкоуровневая работа с системой, передача владения, inline оптимизации, последовательный доступ к ресурсу в режиме конкуренции, макросы, ручная аллокация памяти и т. д.

6) Встраиваемость, а не замещение. Нативный интероп с C (без ffi) позволяет импортировать функции и структуры C. В больших и текущих приложениях можно строить мост между существующим C/C++/ python кодом и новым кодом на swift. Никто и не хочет переписывать legacy заново, это контрпродуктивно и очень рисковано. Swift позволяет внедриться в существующую архитектуру без проблем.

7) Надежность. Язык спроектирован до мелочей так, чтобы избежать популярных ошибок или неоднозначности. Гарантии безопасности памяти, проверки на data race, шикарная работа с опциональными данными. С версии 6 swift проверяет код на наличие гонок данных. Что скажешь C++?

8) Практическое удобство языка. Ничего лишнего. Ничего неявного. Нет неявных преобразований. Нет целого веера разного синтаксиса как в rust. Синтаксис в swift максимально однороден, но при этом очень функционален и не уступает rust.

Однако не все это осознали: 1) пока не было такого хайпа как с go, и количество вакансий не так много на backend разработку на swift. 2) язык постоянно улучшался и менялся. Это и плюс и минус, т к постоянно приходилось дорабатывать библиотеки. 3) только недавно он стал кроссплатформенным и начал предоставлять все необходимое для backend разработки. 4) тренд на backend разработку на нём только зарождается, что позволяет себя проявить в его становлении и дальнейшем развитии, при этом сразу получая все плюсы языка. Веб разработка только в emerging стадии. Уже есть production ready веб фреймворки, но они не такие производительные, и это временно. И Apple и я активно развиваем веб направление, и скоро нас ждут большие перемены в игре, когда go и c# нечего будет противопоставить, а rust будет излишне сложным для веб приложений, когда их можно написать на swift.

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