История изменений
Исправление eao197, (текущая версия) :
И здесь сразу видно, что any — это проблема не только конкретно здесь (что решается тривиально рефлексией), но и потенциальная проблема, если бы иерархия типов была возможна.
Простите, весь текст про «ООП – бедрок…» поскипал т.к. ничего в нем не понял.
Неуместный пессимизм.
Етить-колотить, откуда вы такие умные беретесь? Упомянутое мной ранее специфическое дерево позволяет экономить гигабайты памяти просто на ровном месте, просто за счет другой упаковки данных.
К какому выводу вы пришли, кроме «красиво» и «все остальные так делают»?
Компактнее и надежнее. Верующих в надежность существующего сейчас в Go подхода к информированию об ошибках еще раз ткну в примитивнейший пример: https://go.dev/play/p/qvaVqEtJEZp
После такого все разговоры Go-шников на тему «А нужно учитывать цель языка, чтобы программист думал об ошибках и занимался ими своевременно, когда они возникают.» можно отправлять прямиком в /dev/null. Просто по факту того, что язык запросто позволяет игнорировать ошибки.
И да, рассуждения Go-шников о «красоте» должны отправляться туда же просто по факту того, что в XXI веке они добровольно и с удовольствием использовали ParseBool/ParseInt/ParseUint/ParseFloat и SearchFloat64s/SearchInts/SearchStrings в то время, когда у всех вокруг уже были шаблоны/дженерики.
А кто-нибудь кроме Go смог должным образом усвоить уроки Alef и Limbo?
Какой-то странный, мягко говоря, вопрос.
Из того, что я читал про историю Go у меня сложилось впечатление, что было так:
- группу товарищей с общим прошлым задолбало использовать C++, Java и Python в условиях Google;
- эта группа товарищей посовещалась и выработала некий список требований к языку, который они бы хотели иметь;
- из-за их общего прошлого у них получилось что-то очень похожее на Limbo/Alef/Newsqueak. Совершенно случайно, ага;
- эта группа товарищей начала делать свой язык мечты, но, вероятно, не с нуля, а с переиспользованием
исходниковопыта Limbo.
В результате получился Go. Настолько же примитивный для своего времени, насколько примитивным для 2007-го года был сам Limbo.
При этом есть у меня уверенность, что тот же Пайк не сильно смотрел по сторонам. И вряд ли он имел опыт работы с D (который в 2007-ом зарелизился в версии 1.000 с очень быстрой компиляцией, мощными шаблонами, гораздо более простым синтаксисом, чем C++ или Java), OCaml, Erlang.
Ну и в итоге получилось то, к чему был привычен Пайк, а не то, что бы учитывало современный на тот момент уровень языкостроения.
Исходная версия eao197, :
И здесь сразу видно, что any — это проблема не только конкретно здесь (что решается тривиально рефлексией), но и потенциальная проблема, если бы иерархия типов была возможна.
Простите, весь тест про «ООП – бедрок…» поскипал т.к. ничего в нем не понял.
Неуместный пессимизм.
Етить-колотить, откуда вы такие умные беретесь? Упомянутое мной ранее специфическое дерево позволяет экономить гигабайты памяти просто на ровном месте, просто за счет другой упаковки данных.
К какому выводу вы пришли, кроме «красиво» и «все остальные так делают»?
Компактнее и надежнее. Верующих в надежность существующего сейчас в Go подхода к информированию об ошибках еще раз ткну в примитивнейший пример: https://go.dev/play/p/qvaVqEtJEZp
После такого все разговоры Go-шников на тему «А нужно учитывать цель языка, чтобы программист думал об ошибках и занимался ими своевременно, когда они возникают.» можно отправлять прямиком в /dev/null. Просто по факту того, что язык запросто позволяет игнорировать ошибки.
И да, рассуждения Go-шников о «красоте» должны отправляться туда же просто по факту того, что в XXI веке они добровольно и с удовольствием использовали ParseBool/ParseInt/ParseUint/ParseFloat и SearchFloat64s/SearchInts/SearchStrings в то время, когда у всех вокруг уже были шаблоны/дженерики.
А кто-нибудь кроме Go смог должным образом усвоить уроки Alef и Limbo?
Какой-то странный, мягко говоря, вопрос.
Из того, что я читал про историю Go у меня сложилось впечатление, что было так:
- группу товарищей с общим прошлым задолбало использовать C++, Java и Python в условиях Google;
- эта группа товарищей посовещалась и выработала некий список требований к языку, который они бы хотели иметь;
- из-за их общего прошлого у них получилось что-то очень похожее на Limbo/Alef/Newsqueak. Совершенно случайно, ага;
- эта группа товарищей начала делать свой язык мечты, но, вероятно, не с нуля, а с переиспользованием
исходниковопыта Limbo.
В результате получился Go. Настолько же примитивный для своего времени, насколько примитивным для 2007-го года был сам Limbo.
При этом есть у меня уверенность, что тот же Пайк не сильно смотрел по сторонам. И вряд ли он имел опыт работы с D (который в 2007-ом зарелизился в версии 1.000 с очень быстрой компиляцией, мощными шаблонами, гораздо более простым синтаксисом, чем C++ или Java), OCaml, Erlang.
Ну и в итоге получилось то, к чему был привычен Пайк, а не то, что бы учитывало современный на тот момент уровень языкостроения.