Согласно результатам последнего исследования Stack Overflow, разработчикам на языке программирования Zig платят больше, чем остальным. Данные надежны: в опросе приняли участие почти 90 тысяч IT-специалистов из 185 стран. То есть выборка вполне репрезентативная. Но что это за язык такой? Подробности — под катом.

Коротко о Zig

Это довольно молодой язык программирования, который впервые появился в феврале 2016 года. Он до сих пор не вышел из бета-версии, несмотря на то, что ему исполнилось уже почти 9 лет. На данный момент последняя версия языка — 0.13.0. Ее выпустили 6 июня 2024 г.

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

Есть и другие достоинства:

  • статически компилируется, поэтому не имеет зависимостей во время выполнения;

  • использует развитую и весьма надежную инфраструктуру LLVM, которая обеспечивает глубокую оптимизацию и поддержку большинства основных платформ;

  • поддерживает кросс-компиляцию «из коробки» для большинства основных платформ;

  • поставляется с исходным кодом стандартной библиотеки C, которая будет динамически компилироваться при необходимости для любой поддерживаемой платформы;

  • содержит систему сборки с поддержкой кэширования;

  • компилирует код на C и C++ с поддержкой стандартной библиотеки C.

Важная особенность Zig — возможность прямого использования так называемых заголовочных файлов, которые написаны на С. Кроме того, язык совместим и с кодовыми базами С, а разработчики без проблем могут компилировать код на С и С++ посредством компилятора Zig. Вот пример кода:

const std = @import("std");
const parseInt = std.fmt.parseInt;
 
test "parse integers" {
	const input = "123 67 89,99";
	const ally = std.testing.allocator;
 
	var list = std.ArrayList(u32).init(ally);
	// Ensure the list is freed at scope exit.
	// Try commenting out this line!
	defer list.deinit();
 
	var it = std.mem.tokenizeAny(u8, input, " ,");
	while (it.next()) |num| {
    	const n = try parseInt(u32, num, 10);
    	try list.append(n);
	}
 
	const expected = [_]u32{ 123, 67, 89, 99 };
 
	for (expected, list.items) |exp, actual| {
    	try std.testing.expectEqual(exp, actual);
	}
}

Совместимость Zig с языком С его разработчики объясняют тем, что у ЯП, который не умеет взаимодействовать с кодом на С, большие шансы остаться неизвестным. А вот Zig пытается стать новым переносимым языком для библиотек, одновременно обеспечивая простоту соответствия «бинарному интерфейсу приложений» (ABI) языка C для внешних функций и предлагая безопасность и модель языка, который предотвращает распространенные ошибки в реализациях.

Отмечается, что на Zig можно не только писать вместо кода на C или C++, но и использовать его в качестве замены autotools, cmake, make, scons, ninja и т. д. При этом ЯП предоставляет пакетный менеджер для нативных зависимостей.

Хорошо, а что насчет денег?

Несмотря на то, что специалистов по Zig крайне мало (около 0,83% от 100% опрошенных), платят этим разработчикам больше, чем тем, кто пишет код на других ЯП. Средняя зарплата в долларах США составляет для Zig-программистов от $103 000 в год. Если в рублях, то это около 748 тыс. руб. за месяц или 8 986 880 руб. в год.

Это в два раза выше, чем, например, зарплата российского Objective-С-разработчика. Вот список зарплат программистов на разных языках по данным «Хабр Карьеры» по итогам 2023 года (рублей в месяц):

  • Objective-C — 379 000

  • Scala — 300 000

  • Ruby — 280 000 

  • Elixir — 280 000 

  • Golang — 271 000 

  • Kotlin — 250 000

  • Swift — 245 000 

  • Java — 230 000 

  • C# — 203 000

  • PHP — 200 000 

  • C++ — 200 000 

  • JavaScript — 196 000 

  • Python — 196 000 

  • C — 158 000

По тем же данным «Хабр Карьеры», во втором полугодии 2023 года зарплаты выросли в большей части языков программирования. Самый ощутимый рост зарплат был у разработчиков в Objective-C и С++ — на 21%, до 379 000 и 200 000 ₽ соответственно.

Было бы интересно узнать, есть ли среди наших читателей те разработчики, кто пишет на Zig. К вам пара вопросов: вы просто тестируете язык или уже используете его в качестве основного? Ответы можно оставить в комментариях к статье.

Что касается опроса на Stack Overflow, малоизвестные языки программирования сейчас неплохо оплачиваются. Согласно данным ресурса, средняя годовая зарплата разработчиков на языках Dart и SAS по итогам 2023 года выросла на 20%. Что касается популярности указанных двух ЯП, то по данным Stack Overflow они находятся на 23 и 22 местах соответственно. Zig размещается в этом рейтинге на 41 месте.

Ну а самый популярный язык по рейтингу Tiob в течение уже 10 лет — JavaScript. Второе место участники опроса отдали HTML/CSS, третье — Python.

Комментарии (5)


  1. Akuma
    02.07.2024 09:40
    +6

    Было бы неплохо указывать какие-то известные проекты, написанные на Zig.

    Правда кроме https://bun.sh ничего в голову не приходит


    1. Pongo
      02.07.2024 09:40

      Из известных есть еще распределенная БД tigerbeetle https://github.com/tigerbeetle/tigerbeetle


  1. Veliant
    02.07.2024 09:40
    +3

    Пытался попробовать. Хотел написать парсинг одного формата.. в итоге оказалось что для того чтоб считать из бинарного файла в структуру надо очень сильно поизвращаться с аллокаторами, доп обертками(свой десериализатор) и прочим тк в zig структуры это не совсем то же самое что в c++.

    И вот эти нюансы, что какие-то функции надо вызывать с try, какие-то без и тд.

    В общем, очень непривычный язык


  1. VanKrock
    02.07.2024 09:40

    чем zig лучше D?


  1. QtRoS
    02.07.2024 09:40

    Отсутствие полноценного строкового типа отталкивает. Кмк авторы зазря побоялись отойти от канонов C, сделав строки массивом символов.