Эта идея была оригинальной с Роберто Иерусалимским и остальной командой Lua. Я слышал, как Роберто выступил с докладом об этом на семинаре по облегченным языкам в Массачусетском технологическом институте в 2003 году, и в этом выступлении он обсуждал предыдущую работу и убедительно доказывал, что идея была новой. Я не знаю, копировали ли это другие языки с тех пор.
Оригинальный Awk имеет несколько более ограниченную языковую модель, чем Lua; в качестве ключа в массиве может использоваться либо число, либо строка, но сами массивы не являются первоклассными значениями: массив должен иметь имя, а массив не может использоваться в качестве ключа в массиве.
Что касается реализации, я проверил источники исходного Awk, поддерживаемые Брайаном Керниганом, и реализация Awk использует хеш-таблицу, а не структуру гибридного массива / таблицы Lua. Различие важно, потому что в Lua, когда таблица используется с последовательными целочисленными ключами, затраты пространства такие же, как и для массива C. Это не верно для оригинального Awk.
Я не удосужился исследовать все последующие реализации awk, например, Gnu Awk, mawk и т. Д.