avva: (Default)
[personal profile] avva
Много лет назад я заметил, что есть языки программирования, поклонники которых часто считают их не просто продуктивными, а волшебно-продуктивными - позволяющими им писать, скажем, на порядок больше полезного кода, чем за то же время на других языках, которые они хорошо знают.

У меня нет устойчивого мнения о том, насколько эти утверждения верны; и даже в случае, когда они верны, я подозреваю, что они не универсальны. Наверное, разным людям лучше подходят разные языки.

Тем не менее, само существование такого рода утверждений интересно и заслуживает внимания. У практически каждого языка найдутся поклонники, но далеко не в каждом случае они будут хвалить именно невероятную, волшебную продуктивность этого языка в сравнении с другими. Среди языков, о которых именно так говорят, мне попадались Forth, SmallTalk, Lisp... может быть, еще Хаскель, но на самом деле в этом последнем не уверен (он все же слишком академичен еще, так что информация о его продуктивности в реальном мире слишком шумная).

Я обратил внимание на то, что языки, о которых так говорят, оказываются как раз языками "одной идеи", доведенной до абсолюта, одной центральной парадигмы, которой все остальное подчиняется.

* SmallTalk доводит идею "все - объект" до абсолюта;
* Forth доводит идею "все - макро" до абсолюта;
* Lisp доводит идею "все - список, а код == данным" до абсолюта.

По-моему, это совпадение не случайно.

Date: 2009-03-28 10:17 pm (UTC)
From: [identity profile] kouzdra.livejournal.com
Довольно продуктивный язык это ML (в инкарнации OCaml) - но в нем нет вообще никакой парадингмы. Просто набор удачно найденных конструкций и неплохой дизайн (в Haskell на самом деле "парадигмы" тоже нет - но это менее очевидно - в него проще вчитать какую-нибудь "концепцию")

Date: 2009-03-29 01:39 am (UTC)
From: [identity profile] captain-tylor.livejournal.com
"Все функция". Он как раз самый монопарадигмальный.

Date: 2009-03-29 11:20 am (UTC)
From: [identity profile] kouzdra.livejournal.com
Там этой как раз упертности нет - от того же Algol-68 он в этом плане отличается только тем, что в нем замыкания нормальные (так они сейчас и в Java даже нормальные).

А в остальном - с этой точки зрения - довольно обычный процедурный язык.

Достоинства его (помимо полезности замыканий) лежат в основном в области системы типов и удачного очень дизайна конструкций для работы с данными.

Date: 2009-03-31 05:10 pm (UTC)
From: [identity profile] captain-tylor.livejournal.com
Мы про Хаскель или про Окамл щас? Окамл - да, просто та же Ява, только с вменяемым синтаксисом.

January 2026

S M T W T F S
    1 2 3
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 5th, 2026 10:27 am
Powered by Dreamwidth Studios