Обновить
-10
0

Пользователь

Отправить сообщение

Они никуда не деваются и их все равно приходится держать в голове, когда разрабатываешь многопоточные приложения

Подобное утверждение было бы справедливо при применении его к ограничениям растового борроу чекера (хотя и тот иногда выёживается тогда, когда не нужно. Часть этих случаев призван искоренить Polonius), однако все эти запреты на утечки и всякие &^* надёжности не добавляют.

автоматическиможет выбрать оптимальный вариант реализации объекта синхронизации

Всё-таки я недопонял суть изложенного. В таком случае, да, если компилятор будет чётко определять ситуации, в которых примитивы синхронизации не нужны, оверхеда не будет. Однако, это лишь укрепляет мою веру о том, что вы лишаете программиста всякой низкоуровневой свободы. Оверхед должен быть явным. Сама по себе неявность в данном случае противоречит основам функционального программирования и уводит нас чуть ли не в какие-то, простите за выражение, ООП-шные дебри.

В любом случае, буду рад взглянуть на результаты этих исследований в будущем.

Там rhs.0.cmp(self.0) вместо self.0.cmp(rhs.0)

Идеи, конечно, не безынтересны, но позвольте - путём использования мьютексов тут и там вы лишь добавляете оверхеда в ран-тайме, а это нагромождение правил, в отличие от весьма терпимого в том же расте, вообще лишает программиста всякой низкоуровневой свободы. Или я чего-то не понимаю в изложенных концептах?

у раста система типов ещё и слабая

А у, скажем, плюсов, она, по вашему мнению, вообще мнимая?

Ага, ещё хаб «Математический анализ» включить забыл.

И где же, позвольте спросить, тут мьютекс?

Так много понятнее. Заметить, право, должен, что помимо реализации в статье присутствует определение - чего вам ещё не хватает совершенно не понимаю, как, думаю, и вы сами. Если же нет, будьте добры чётко разъяснять, а не разбрасываться недо-оскорблениями.

Вы, конечно, извините, но я совершенно не вижу добрых намерений в написании гневных комментариев до прочтения статьи. В статье представлены не только дженерики, про них только в разделе со статической диспетчеризацией. Далее представлены совершенно иные способы реализации полиморфизма. Отсутствие представления реализации на вашем любимом языке не означает отсутствия представления реализаций на других языках - очевидно, казалось бы, но вы путём отрицания данного ещё и пытаетесь меня заклеймить. Я бы сказал, что вы просто пришли со своим блюдом, дабы заявить, что оно лучше стряпни поваров ресторана - блюда вы своего, право, нам так и не показали (а мне лично не очень-то и хотелось).

Критики не вижу, вижу бессмысленное, извините за грубость, нытьё, не имеющее совершенно никакого отношения к теме. Если вы не увидели в статье полиморфизма, вам стоит для начала её прочесть. Надеюсь, не оскорбил - не имел такой цели.

Жду вопросы типа «а как же J?», «а как же BQN?», «а как же brainfuck?» :)

К «энамной», словари ведь используются :)

Он не лучше. Статья про (в некоторых местах с натяжкой) параметрический полиморфизм, то есть перегрузку функций мы отбрасываем. В данном конкретном случае можно было обойтись статическим полиморфизмом, описанным в первом пункте, но я также указал две разновидности динамического - не по причине того, что их стоит использовать в данной ситуации, но просто ради демонстрации.

К тому же, я не плюсовик, не пытайтесь перенять у меня какие, как их принято назвать, «паттерны», плохому научить могу, вместо этого просто смотрите на главную мысль и подход к реализации.

Так ведь упомянул я про impl:
"В Rust статическая диспетчеризация реализуется с помощью типовых параметров или ключевого слова impl (по сути, являющего собой анонимные типовые параметры)."

А я вам говорю, что встроена. Вам нужно почитать код стандартной библиотеки.

В данном случае вывод и форматирование - не посторонние вещи, а, по сути, то, скорость чего тестируется. ООП - определённо медленно :)

А так, спасибо за шпаргалку

rustc тоже статически стандартную библиотеку линкует ?

Уже устал говорить, но для вас, человека вежливого, повторю: измерял не скорость языков, а скорость языковых средств. Именно потому и вывод, и форматирование включены.

И всё же люди принимают результаты близко к сердцу.

Насчёт джавы, я ни разу не ООПшник (бросил этой дурью маяться как пару лет), а особенно не джавист. Рад буду поглядеть на то, как дёрнуть этот метод без создания объекта, думаю, способы быть должны.

Спасибо за спокойный feedback ;)

Вас чем-то обидели физики?

В Rust тоже такая хрень в println встроена, и ничего, живёт.

А чего вы меня спрашиваете о том, зачем использовать объекты? Не я, дорогой, ЁЁПе придумал…

1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность