LINUX.ORG.RU

История изменений

Исправление 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.

Ну и в итоге получилось то, к чему был привычен Пайк, а не то, что бы учитывало современный на тот момент уровень языкостроения.