eurekafag 04.08.2012 07:29 Home

А никто ещё не оценивал крутизну ЯП по разнообразию и мощности встроенных в него структур данных? Не парадигмы, не скорости работы, а вот именно по этому параметру.

Recommended by: @Minoru
1. Minoru 04.08.2012 09:23 antaeus

Сложно сравнивать же. В какой-нибудь Java ленивые списки нафиг не нужны, а в Haskell это дефолтная структура данных для всего.

2. gds 04.08.2012 09:34

оценивают, как же без этого. на первом месте — языки с зависимыми типами (coq, agda) (там мощь достигается тем, что типы могут зависеть от значений), на втором месте — окамл, на третьем — х-ь (по сравнению с окамлом — нет объектов, нет полиморфных вариантов, нет структуры данных "first-class module").

3. gdsgds /2 04.08.2012 09:34

но это никак не связано с удобством использования и применимостью, однако.

4. 0xd34df00d 04.08.2012 09:44 Azoth_primary

Интересно. что такое мощность структур данных. И что такое «встроенные в язык».

5. 0xd34df00dgds /2 04.08.2012 09:45 Azoth_primary

Ты так говоришь, будто объекты — это что-то нужное.

6. gds0xd34df00d /5 04.08.2012 09:53

1. очень редко — да, нужное, и, когда их нет, приходится извращаться. А так — хуйня-вопрос, методика извращений описана сотни раз, почему бы и нет, если нравится. Но да, очень редко нужно.
2. конкретно в окамле объекты это записи со структурной подтипизацией, а это няшно.

7. 0xd34df00dgds /6 04.08.2012 09:58 Azoth_primary

> структурной подтипизацией
Щто.

8. gds0xd34df00d /7 04.08.2012 10:02

объект с добавленными методами является подтипом объекта без добавленных методов. Везде, где нужен объект с определённым набором методов, подойдёт объект с добавленными методами, если, конечно, типы изначального "определённого набора методов" сопоставимы.

9. 0xd34df00dgds /8 04.08.2012 10:05 Azoth_primary

Типичный ООП какой-то. И не что-то хорошее, как по мне. И да, я, возможно, туплю с утра, но чем не катят тайпклассы хачкель-стайл?

10. gds0xd34df00d /9 04.08.2012 10:14

это не ООП, к счастью. Это именно подтипизация. Впрочем, если не кушал подтипизацию на практике, то на первый взгляд она покажется такой же "alien technology", как функциональщина для императивщика.

Тайпклассы — их суть в угадывании значения по типу, а это другое (то есть, потребует кое-каких дополнительных телодвижений для эмуляции подтипизации). Для эмуляции же объектов — не очень нужны, в х-е есть "записи", с ними получше получится.

Do you really want to delete ?