metaclass: (Default)
[personal profile] metaclass
Любителей ерничать и цитировать русскую классику в ответ на объяснения из CS нужно в наказание ссылать программировать вот на оном: http://udpn.livejournal.com/94146.html#comments

Date: 2013-02-08 09:52 am (UTC)
From: [identity profile] plumqqz.livejournal.com
Да это все замечательно; но вот какой с этого прок крокодилам? Я лет шесть назад, сознаюсь, не от большого ума полистал книжку по, кажется, хаскелю и, к своей чести, довольно быстро ее выкинул. Почему? Потому что ни одной моей проблемы это не решало.

Date: 2013-02-08 09:55 am (UTC)
From: [identity profile] gds.livejournal.com
так надо было придумать себе проблемы, которые решились бы х-ем!

Date: 2013-02-08 10:09 am (UTC)
From: [identity profile] plumqqz.livejournal.com
Х-ем проблемы не решают. В самом лучше случае просто не создают.

Date: 2013-02-08 10:08 am (UTC)
From: [identity profile] metaclass.livejournal.com
Мои решило. Правда, не хаскель (который я изучил, но на практике почти не использую), а F# и Clojure.
Первое генерит код, второе считает бухгалтерские отчеты.
В первом случае, кроме функциональщины вообще слабо что пригодно, во втором - она используется как "более мощный sql, чем сам sql" :)

Date: 2013-02-08 10:11 am (UTC)
From: [identity profile] plumqqz.livejournal.com
Гм. А почему мало что пригодно в первом случае?

Date: 2013-02-08 10:30 am (UTC)
From: [identity profile] metaclass.livejournal.com
Представление AST кода наиболее естественным образом выглядит в двух случаях - или это лиспообразные языки, где код от данных и AST не отличается, или же нужны развесистые деревья с разнообразными структурами данных, которые проще всего на функциональных языках описываются.

Еще можно было бы генерить код без AST, а как любой текст - из текстовых шаблонов, но даже для этого входные данные проще описывать на функциональных языках.

Я пытался сделать кодогенератор сначала на C# - получился откровенный неподдерживаемый бред. Ну по аналогии - как SQL запросы руками на обычных языках имитировать, над курсорами :)
На F# то же самое получилось гораздо понятнее и лаконичнее.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 22nd, 2025 07:45 pm
Powered by Dreamwidth Studios