Пролетело тут в сендере (читал архивы, чего понаписали за время моего пребывания в Москве). Обращаю внимание, это сеть компьютерного факультета, далеко не самого худшего вуза страны.
Наткнулся тут на несколько строчек описания характеристик языка программирования
(
Read more... )
Можно конечно искать глубокий смысл в Java Generics и извращениях вроде "метапрограммирования на template's", но лучше просто знать откуда там ноги растут. Способствует более осмысленному отношению.
Тем более, что оно все сейчас поперло в mainstream мутным потоком - в C# 3.0 разработчики уже даже мимикрией "под ОО" себя не особенно утруждают (хотя есть забавные извращения - при том, что слов type inference и expressions разработчики там уже не стесняются даже на публике, comprehensions мимикрируют под SQL-образный синтаксис :))
Смех, смехом, но 2/3 перечисленного списка вполне можно излагать применительно к C#, C++ и Java.
Ну и есть еще один аспект - FP, вообще говоря, не "парадигма", а просто набор технических приемов и поддерживающих их языковых средств. Какие-то из приемов без языковой поддержки почти бесполезны (ленивость, например), но многие вполне можно юзать и на той же Жабе или С++. Получается существенно более коряво, но все равно очень полезно.
PS: Чем на самом деле плох этот список - видно, что автор курса ни хрена кроме Haskell про FP не знает. Но это другая тема.
PPS: Что до прикладухи - O'Caml у меня уже лет 6 занимает место чего-то вроде Turbo Pascal в свое время - очень практичного инструмента, который сильно облегчает жизнь в тех ситуациях, где не требуется мэйнстримный язык.
Reply
Reply
А H-M type system c type inference на самом деле в С++/Java/C# присутствует в полный рост, хотя и в изрядно извращенной форме - в виде generics.
Reply
А в плюсах не сложно сделать юзабельную ленивость, пользоваться которой не сложнее чем контейнерами.
В С++/Java/C# H-M type system есть в самом языке. А в чистом C ей воспользоваться уже не удасться. В отличии от ленивости.
Reply
Reply
Reply
Что такое "отложенная оценка"?
Куда на асме пихать управление памятью? Энергичный язык может жить без закадровых махинаций с памятью, ленивый - вряд ли.
Reply
Отложенная оценка - что то типа FORCE(eax,value), где value - указатель на структуру с величиной, признаком вычисленности и ссылкой на код вычисления.
Замыкания можно хранить как указатель на функцию и массив аргументов.
Было бы желание, а извратиться всегда можно :-).
Reply
Получается очень даже громоздко. Не асмовский стиль. Лучше на другом языке делать.
Reply
Leave a comment