Прошлые домены не функционирует! Используйте адрес
ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна.
Подробности случившегося. Мы призываем всех неравнодушных
помочь нам с восстановлением утраченного контента!
Я искренне офигеваю от наглой тупости го. Это язык, где тупость и очевидность ценится, возводится на пьедестал и является объектом поклонения (если вы думали что это питон, то го превосходит его на десятичный порядок как минимум).
Ну то есть, для начала:
1) Там нет generics. Но есть указатели (со сборкой мусора, не волнуйтесь), и есть возможность, соответственно, передавать by value (c копированием) и by reference (что позволяет не выделять место на куче для каждой фигни — крайне нетривиальный вопрос в джаве).
2) Очень тупое ООП, напоминающее таковое в раннем перле (если кто застал). Ссылка на this передаётся первым аргументом в функции (выделяется отдельными скобками, чтоб никто не перепутал).
3) Нет и не будет map, reduce и filter. Роб Пайк сказал, что они не нужны. Вася, не выпендривайся и слушай песню про валенки циклом for, как в прошлом веке. Чтобы ни у кого не было соблазна написать их самому (что несложно), Роб превентивно сделал это сам, выложил на гитхаб и сказал, что использование вот такого функционального гейства discouraged. Мужик!
4) Да, кстати, ровно два вида коллекций в стандартной библиотеке — массив с неизменным размером (и немного синтаксического сахара для копирования данных в новый массив, если прежний стал слишком мал), и map. Should be enough for everyone, не так ли? Впрочем, Lua вообще обходится одной коллекцией, ничо, живут.
5) Иммутабельности тоже, разумеется, нет. Кто-то таки сделал персистентные структуры данных и выложил их на гитхаб. Правда, не вполне понятно зачем они нужны в отсутствие простейших функциональных примитивов. Разве что тренироваться в рекурсии, почитывая SICP.
При этом нельзя сказать, что это быдлоязык навроде PHP (хотя с первого взгляда может так показаться). В быдлоязыках (это не только PHP, хотя не будем показывать пальцем) помимо простоты хуже воровства существует ещё множество неочевидных corner cases, про которые нужно знать и обходить стороной. Тут такого нет — всё брутально просто и вырублено топором, оставлено только самое нужное (concurrency-примитивы входят в число самого нужного). Это внушает уважение. Вообще, Роб Пайк дал нам целый Plan9, и быдлокодером его считать нельзя.
В общем, рекомендую, особенно для душевного отдыха и зализывания ран после скалы.