И? В голанге много всего из разных языков. Вывод будет? Кстати, когда просто разглядывал синтаксис, ругался на страшность кода, но когда всё-таки сделал пару велосипедов, понял что язык удобный.
Трапы вообще у Go в крови. Он же произошел от Limbo, который произошел от Alef, который появился в Plan 9, маскотом которого был(а) Кролик Гленда, которого(ую) назвали в честь великого автобиографического творения Эда Вуда.
а... А я всё думал, почему же мне так противно юзать исключения, и я всегда стараюсь их не использовать?
оно могло бы быть ибо defer противопоставляется try|catch
а достаточно ведь показать как каналы ( чей предшественник pipe) так и defer (trap) - укоренены первые в конвеерах/пайпах и вторые в сигналах и обработке «внезапностей внешнего мира»
т.е Golang не просто наследник С , а наследник С+Unix(sh и сигналов).
т.е погружение некоторых(а не одного - потоков/процессов и взаимодействие через пайпы) элементов Юникса на уровень языка , что в случае начала 70ых не было сознательно опущенно на уровень Си по причине производительности , ну и видимо недо проработаности на тот момент каналов и сигналов как практикуемых инструментов.
в предисловие K&R так и сказано , что С намерено не включает в себя мультипрограммность на уровне языка , а решается через библиотеки.
в интервью[1] Боурна кстати обьясняющем эволюцию шеллов привёдшее к Bourne shell в v7
т.е вообще если посмотреть как видели языки программирования до С - там видно , что их(HLL) видели как компактную и переносимую запись для «как правило» голой машины,
Сишка же отделила кучу всего
и После Сишки стало трендом «знать о операционке(её существовании и её сервисах)»
Golang же погрузил часть ОС в себя (ибо его предназначение в гугле работать на голых(barebone) машинах образующих единую распределённую среду)
однако он(golang) был анонсирован несколько раньше го1релиза - т.е толи бета толи ещё - короче был момент когда golang hype уже начался , а про дефер в golang слышно не было и тока через несколько версий сообщили про дефер - так было так помню.
то что ошибся с номером версии в которой дефер уже был - да . признаю.
однако помню был момент когда в golang не было дефера(при том что дефер имхо клёвая весчь - я потому и рад обнаружению аналогии с трап на выходе в шелле)