А никто ещё не оценивал крутизну ЯП по разнообразию и мощности встроенных в него структур данных? Не парадигмы, не скорости работы, а вот именно по этому параметру.
оценивают, как же без этого. на первом месте — языки с зависимыми типами (coq, agda) (там мощь достигается тем, что типы могут зависеть от значений), на втором месте — окамл, на третьем — х-ь (по сравнению с окамлом — нет объектов, нет полиморфных вариантов, нет структуры данных "first-class module").
1. очень редко — да, нужное, и, когда их нет, приходится извращаться. А так — хуйня-вопрос, методика извращений описана сотни раз, почему бы и нет, если нравится. Но да, очень редко нужно. 2. конкретно в окамле объекты это записи со структурной подтипизацией, а это няшно.
объект с добавленными методами является подтипом объекта без добавленных методов. Везде, где нужен объект с определённым набором методов, подойдёт объект с добавленными методами, если, конечно, типы изначального "определённого набора методов" сопоставимы.
это не ООП, к счастью. Это именно подтипизация. Впрочем, если не кушал подтипизацию на практике, то на первый взгляд она покажется такой же "alien technology", как функциональщина для императивщика.
Тайпклассы — их суть в угадывании значения по типу, а это другое (то есть, потребует кое-каких дополнительных телодвижений для эмуляции подтипизации). Для эмуляции же объектов — не очень нужны, в х-е есть "записи", с ними получше получится.
Сложно сравнивать же. В какой-нибудь Java ленивые списки нафиг не нужны, а в Haskell это дефолтная структура данных для всего.
оценивают, как же без этого. на первом месте — языки с зависимыми типами (coq, agda) (там мощь достигается тем, что типы могут зависеть от значений), на втором месте — окамл, на третьем — х-ь (по сравнению с окамлом — нет объектов, нет полиморфных вариантов, нет структуры данных "first-class module").
но это никак не связано с удобством использования и применимостью, однако.
Интересно. что такое мощность структур данных. И что такое «встроенные в язык».
Ты так говоришь, будто объекты — это что-то нужное.
1. очень редко — да, нужное, и, когда их нет, приходится извращаться. А так — хуйня-вопрос, методика извращений описана сотни раз, почему бы и нет, если нравится. Но да, очень редко нужно.
2. конкретно в окамле объекты это записи со структурной подтипизацией, а это няшно.
> структурной подтипизацией
Щто.
объект с добавленными методами является подтипом объекта без добавленных методов. Везде, где нужен объект с определённым набором методов, подойдёт объект с добавленными методами, если, конечно, типы изначального "определённого набора методов" сопоставимы.
Типичный ООП какой-то. И не что-то хорошее, как по мне. И да, я, возможно, туплю с утра, но чем не катят тайпклассы хачкель-стайл?
это не ООП, к счастью. Это именно подтипизация. Впрочем, если не кушал подтипизацию на практике, то на первый взгляд она покажется такой же "alien technology", как функциональщина для императивщика.
Тайпклассы — их суть в угадывании значения по типу, а это другое (то есть, потребует кое-каких дополнительных телодвижений для эмуляции подтипизации). Для эмуляции же объектов — не очень нужны, в х-е есть "записи", с ними получше получится.