Здравствуйте, rudzuk, Вы писали:
Pzz>> Пайк задумывал Go как C 2.0. Как язык для настоящих мужчин, но без недостатков C, и с достоинствами Алефа и Лимбо и с современным синтаксическим стилем, без всех этих ненужных скобочек после if'а. Но все мы знаем, что программировать на Go побежали в основном не небритые сишники, а молодые и прыщавые программисты на Питоне, не способные освоить даже JavaScript.
R>А я слышал, что его делали для неосиливающих нормальные языки:
Пайк — тот еще жук. Разным людям он рассказывает разное.
R>давайте послушаем слова самого Роба Пайка:
R> Фишка в том, что наши программисты гуглеры, а не ученые. Это обычно молодые, только выпустившиеся пацаны, которые возможно выучили Java, возможно даже C/C++ и может быть Python. Они не в состоянии понимать пробздетый язык, но мы все равно хотим, чтобы они делали хороший софт. Таким образом, мы даем им легкопонимаемый язык, к которому они быстро привыкнут.
R>Короче, нужно было хоть как-то этих обезьян утилизировать... GO!
Вот тут он врет. Перед кем, хоть, выступает-то?
В Go если от слайса сделать субслайс, получишь "указатель" на ту же память, где был оригинальный слайс. И если модифицировать субслайс, оригинальный слайс тоже изменится, и наоборот. А вот если потом к оригинальному слайсу сделать append, то может он переедет в другую память, а может и нет, как повезет. И тогда модификация одного может будет изменять другой, а может и нет.
Сишнику это очень понятно и естественно. А вот сколько раз "не ученым" придется через это место себе ногу отстрелить, пока до них дойдет, науке неизвестно.
Или, например, если мы от мегабайтного слайса отсубслайсим 5 байт, а про остальное "забудем", в памяти все равно будет занят мегабайт, потому что отсубслайсенные 5 байт все равно указывают на мегабайтный буфер, и GC его не приберет. Наивная идея организовать очередь, дописывая в конец слайса и откусывая от начала породит конструкцию, которая в конце концов сожрет всю память. Ну и т.д.
Слайсы при этом — очень базовый тип в Go, постоянно используемый. Не какая-нибудь там экзотика редкая.
В общем, не для только выпустившихся пацанов этот язык, а для гораздо более зрелых мужей.