После двух лет разработки и спустя десять лет после формирования прошлой стабильной ветки 3.1 представлен новый значительный релиз реализации языка программирования AWK от проекта GNU - Gawk 4.0.0. Язык был разработан в 70-х годах прошлого века и не претерпел значительных изменений с середины 80-х годов, в которых был определен основной костяк AWK, что позволило на протяжении последних десятилетий сохранить первозданную стабильность и простоту языка. Несмотря на длительную историю AWK до сих пор активно используется администраторами для выполнения рутинных работ, связанных с парсингом различного рода структурированных текстовых файлов и генерации несложной результирующей статистики.
В новой версии устранены некоторое слабые стороны Gawk и отражены в языке современные реалии. Из добавленных улучшений можно отметить:
- Переработана внутренняя архитектура, проведена чистка кода и изменен метод генерации байткода, что в сумме положительно сказалось на производительности;
- Отладчик dgawk;
- Возможность включения кода из внешних файлов;
- Поддержка косвенного вызова функций;
- Реализация шаблонов BEGINFILE и ENDFILE;
- Поддержка IPv6;
- Возможность создания вложенных массивов;
- Реализация режима изолированного выполнения (опция sandbox);
- Включение по умолчанию switch/case;
- Удалена поддержка устаревших платформ, среди которых Atari, Amiga, BeOS, Cray, MIPS RiscOS, MS-DOS и Windows c использованием Microsoft Compiler, NeXT, SunOS 3.x;
- Множество небольших, но полезных улучшений.