Юрьев день
Dec. 25th, 2012 10:05 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Наткнулся на язык Rust. Позиционирует себя как "C, сделанный человеком, знающим Haskell". Читаю официальный туториал — и понимаю: да, так и есть. Алгебраические типы. Замыкания. Классы типов (называемые трейтами, но всем ведь всё понятно). И одновременно — язык достаточно близок к машине: не чисто функциональный, с указателями (причём, безопасными) — ну супер.
А потом натыкаюсь на такой пассаж:
И сразу у меня впечатление, что делал этот язык не "человек, знающий Haskell", а "человек, прочитавший пару страничек из Душкина".
А потом натыкаюсь на такой пассаж:
The Rust compiler compiles generic functions very efficiently by monomorphizing them. Monomorphization is a fancy name for a simple idea: generate a separate copy of each generic function at each call site, a copy that is specialized to the argument types and can thus be optimized specifically for them. In this respect, Rust's generics have similar performance characteristics to C++ templates.Ып. Вот тебе, бабушка, и сабж. Никакие это не дженерики, а обычные темплейты, только обрезанные. Попробовал на всякий случай свой тест — и, ЧСХ, Rust его зафейлил с совершенно невнятным сообщением об ошибке.
И сразу у меня впечатление, что делал этот язык не "человек, знающий Haskell", а "человек, прочитавший пару страничек из Душкина".
no subject
Date: 2012-12-25 10:13 pm (UTC)no subject
Date: 2012-12-25 10:29 pm (UTC)no subject
Date: 2012-12-25 11:05 pm (UTC)no subject
Date: 2012-12-26 04:18 am (UTC)А специализация-то нужна, кто бы спорил. Вот GHC, например, много чего специализирует. Что, почему-то препятствием не становится. Наверное, потому что специализация в нём не является единственно возможным выходом.
no subject
Date: 2012-12-26 04:55 am (UTC)>> что симпатичный язык
Что, вот этот очередной говноязык с говносистемой эффектов? Вот этот стопицотый высер на тему "как мы делали Си с сильной системой типов, но у нас нихера не вышло"?
no subject
Date: 2012-12-26 06:42 am (UTC)Сначала пусть заработает, и заработает так, чтобы абстракции не текли. Потом поговорим про zero overhead.
no subject
Date: 2012-12-26 12:18 am (UTC)no subject
Date: 2012-12-26 04:19 am (UTC)no subject
Date: 2012-12-26 06:07 am (UTC)no subject
Date: 2012-12-26 06:38 am (UTC)no subject
Date: 2012-12-26 07:13 am (UTC)no subject
Date: 2012-12-26 06:43 am (UTC)no subject
Date: 2012-12-26 07:13 am (UTC)