Re[5]: ocaml срочно!!!
От: Аноним  
Дата: 17.05.07 10:16
Оценка:
Здравствуйте, anastassia, Вы писали:

A>Профессионалы! Выскажетесь!!! Кто с CAML знаком, чем плох, чем хорош, чем удобен, чем нет и т.д.


Я уже давал ссылку на мнение тов. Мински, к его списку претензий могу добавить ещё отсутствие continuations и недоступность компилятора из рантайма в native.

A> Как он вообще среди функциональных — не самый же отсталый?


Пожалуй, самый практичный. Компромисс между теоретической чистотой и требованиями суровой жизненной практики. При этом он более-менее общего назначения, в отличии от других практических узкоспециализированных языков, таких как Erlang.

Я его использовал неоднократно в реальных проектах, но сейчас по ряду причин перешел на Лисп — мне возможности метапрограммирования всё же важнее, чем типизация по Хиндли-Милнеру.
Re[8]: ocaml срочно!!!
От: Аноним  
Дата: 17.05.07 10:24
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>2) Противопоставления никакого нет и быть не может — OCaml полноценный императивный ОО язык. ("Чистый" функциональный язык, о котором можно сказать, что он "распространен" — вообще один. Это Хаскель.)


Зря вы так, про Хаскелль... Не один он. Например, есть чистый функциональный распространённый язык — язык темплейтов в C++. Есть чистый функциональный распространённый язык — XSLT.
Re[9]: ocaml срочно!!!
От: Аноним  
Дата: 17.05.07 10:30
Оценка: 25 (3)
Здравствуйте, anastassia, Вы писали:

A>Да вот нельзя другого...Как-то все на этом кэмле завязалось )) На окэмл я уже поглядела)))по-моему мы друг другу не понравились Но это не страшно, мне всего-то один раз надо рассказать какой это прекрасный язык и что ну никак без него нельзя)))


Нельзя рассказывать про ML, не рассказав, зачем он создавался. А создавал его тов. Робин Милнер, ныне нач. отдела в Microsoft Research, для одной конкретной цели — создание систем автоматического доказательства теорем. И наивысшим расцветом этого дела стала система HOL, с которой вам и следует непременно познакомиться. То, что язык оказался удачным, и его начали применять далеко за пределами первоначального предназначения — это чистая случайность.

Кстати, ещё об одном важном применении ML — следующий официальный стандарт языка EcmaScript (известного как JavaScript) будет содержать строгую формальную спецификацию в виде программы на Standard ML с поддержкой continuations. Как формальный язык спецификаций ML, пожалуй, действительно лучший: у ленивых, "истинных" языков есть очень серьёзные проблемы с оценкой времени выполнения и с доказательством конечности алгоритма, а для строгих языков эти задачи пусть и тяжко, но решаются.

A>а почему, собственно, все так шугаются от него в сторону Nemerle или Хаскеля?


Не знаю. Я в сторону Nemerle не шуганусь ни за какие коврижки, а Хаскелль применяю, и весьма активно, но только для весьма узкоспециализированных задач. Я скорее в сторону Лиспа постоянно от OCaml шугаюсь.
Re: ocaml срочно!!!
От: Аноним  
Дата: 17.05.07 10:41
Оценка: +1
Ещё вспомнил одно всем известное применение OCaml: в Википедии он формулки рисует.
Re[9]: ocaml срочно!!!
От: Gaperton http://gaperton.livejournal.com
Дата: 17.05.07 11:13
Оценка: :))
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Gaperton, Вы писали:


G>>2) Противопоставления никакого нет и быть не может — OCaml полноценный императивный ОО язык. ("Чистый" функциональный язык, о котором можно сказать, что он "распространен" — вообще один. Это Хаскель.)


А> Зря вы так, про Хаскелль... Не один он. Например, есть чистый функциональный распространённый язык — язык темплейтов в C++. Есть чистый функциональный распространённый язык — XSLT.


Да, действительно. Надо обязательно заявить дипломной комиссии, что "С++" и "язык темплейтов С++" — это два разных языка, и противопоставить их друг другу. Ну еще бы — один императивный, а другой чисто функциональный.
Re[10]: ocaml срочно!!!
От: Аноним  
Дата: 17.05.07 11:35
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Да, действительно. Надо обязательно заявить дипломной комиссии, что "С++" и "язык темплейтов С++" — это два разных языка, и противопоставить их друг другу. Ну еще бы — один императивный, а другой чисто функциональный.


Так ведь беда C++ именно в том, что это — два абсолютно разных языка, никак друг с другом не связанных. Одним из другого не воспользуешься. В рантайме C++ не поисполняешь выражений языка темплейтов, при раскрутке темплейтов sscanf(...) не дёрнешь.
Re[11]: ocaml срочно!!!
От: Gaperton http://gaperton.livejournal.com
Дата: 17.05.07 11:56
Оценка: +2 :))
Здравствуйте, Аноним, Вы писали:

G>>Да, действительно. Надо обязательно заявить дипломной комиссии, что "С++" и "язык темплейтов С++" — это два разных языка, и противопоставить их друг другу. Ну еще бы — один императивный, а другой чисто функциональный.


А> Так ведь беда C++ именно в том, что это — два абсолютно разных языка, никак друг с другом не связанных. Одним из другого не воспользуешься. В рантайме C++ не поисполняешь выражений языка темплейтов, при раскрутке темплейтов sscanf(...) не дёрнешь.


Я бы предложил прекратить студентке мозги поласкать. Чего доброго — начитается, и действительно скажет что-нибудь подобное комиссии.
Re[12]: ocaml срочно!!!
От: Аноним  
Дата: 17.05.07 12:19
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Я бы предложил прекратить студентке мозги поласкать. Чего доброго — начитается, и действительно скажет что-нибудь подобное комиссии.


А что в вышеизложенном не есть правда? С чем из этого умная и грамотная комиссия может не согласиться?
Re[13]: ocaml срочно!!!
От: Gaperton http://gaperton.livejournal.com
Дата: 17.05.07 13:08
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Gaperton, Вы писали:


G>>Я бы предложил прекратить студентке мозги поласкать. Чего доброго — начитается, и действительно скажет что-нибудь подобное комиссии.


А>А что в вышеизложенном не есть правда? С чем из этого умная и грамотная комиссия может не согласиться?


1) Не стоит говорить с комиссией о тех вещах, которые она, комиссия, знает. Порвут как тузик грелку на ровном месте. Лучше концентрироваться на узкоспециальных.
2) Умная комиссия укажет тебе на то, что "язык темплейтов С++" языком программирования не является — это одна из техник программирования на стандартном С++. Поэтому глупо их противопоставлять. Как именно комиссия разовьет эту мысль дальше — думать не хочется. Тут можно с фантазией подойти.
Re[14]: ocaml срочно!!!
От: Аноним  
Дата: 17.05.07 13:16
Оценка:
Здравствуйте, Gaperton, Вы писали:


G>2) Умная комиссия укажет тебе на то, что "язык темплейтов С++" языком программирования не является — это одна из техник программирования на стандартном С++.


Чушь какая. Это тьюринг-полный язык, пусть и узкоспециализированный. Что с того, что в языке нет ввода/вывода? Он от этого менее языком не становится. Синтаксис есть, семантика есть, любой алгоритм в рамках этой семантики выразить можно — значит, сугубо по определению — это есть язык.

G> Поэтому глупо их противопоставлять.


Ага, ага, а ещё C++ и C-препроцессор — это тоже всё один язык. И GNU autotools — конечно же тоже часть языка C++, как же без этого.

G> Как именно комиссия разовьет эту мысль дальше — думать не хочется. Тут можно с фантазией подойти.


Если они не дураки, то прекрасно поймут, о чём тут речь идёт. Не дураки ведь пользуются только строго формальными определениями.
Re[9]: ocaml срочно!!!
От: Gaperton http://gaperton.livejournal.com
Дата: 17.05.07 13:22
Оценка: :))
Здравствуйте, anastassia, Вы писали:

A>Да вот нельзя другого...Как-то все на этом кэмле завязалось )) На окэмл я уже поглядела)))по-моему мы друг другу не понравились Но это не страшно, мне всего-то один раз надо рассказать какой это прекрасный язык и что ну никак без него нельзя))) Что от metalanguage-то знаю, как раз весь диплом об этом, но пример надо именно на кэмле и на си(одну и ту же сортировку), вроде как посмотрите-сравните, как все красиво!


A>а почему, собственно, все так шугаются от него в сторону Nemerle или Хаскеля?


Ну прям так сразу и все. Грамотные пацаны и девчонки шугаются в сторону Erlang!
Re[15]: ocaml срочно!!!
От: Gaperton http://gaperton.livejournal.com
Дата: 17.05.07 13:38
Оценка: +1
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Gaperton, Вы писали:



G>>2) Умная комиссия укажет тебе на то, что "язык темплейтов С++" языком программирования не является — это одна из техник программирования на стандартном С++.


А> Чушь какая. Это тьюринг-полный язык, пусть и узкоспециализированный. Что с того, что в языке нет ввода/вывода? Он от этого менее языком не становится. Синтаксис есть, семантика есть, любой алгоритм в рамках этой семантики выразить можно — значит, сугубо по определению — это есть язык.


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

G>> Поэтому глупо их противопоставлять.


А> Ага, ага, а ещё C++ и C-препроцессор — это тоже всё один язык.

Если команды препроцессора описаны в стандарте С++ — то это один язык. С++. Если нет — то нет.

А>И GNU autotools — конечно же тоже часть языка C++, как же без этого.

Ну, это уже не знаю. Что за autotools такой. Но вряд ли это часть С++.

G>> Как именно комиссия разовьет эту мысль дальше — думать не хочется. Тут можно с фантазией подойти.

А> Если они не дураки, то прекрасно поймут, о чём тут речь идёт. Не дураки ведь пользуются только строго формальными определениями.
"
— Что такое экзамен?
— Это разговор двух умных людей.
— А если один из них дурак?
— Тогда второй не получит зачет.
"
Это во первых. А во вторых — если экзаменуемый не дурак, то он прекрасно поймет, что имеют в виду, когда просят противопоставить функциональный язык императивному на примере сравнения с С++. Уж разумеется, речь идет совсем не о "языке темплейтов С++" как примере функционального языка для сравнения с С++. Если же экзаменуемый будет настаивать на "языке темплейтов" в данном противопоставлении, комиссия, я думаю, с полным правом может усомниться в его компетентности и даже вменяемости. Надо уметь отвечать на заданный вопрос, а не на какой-нибудь другой.
Re[16]: ocaml срочно!!!
От: Аноним  
Дата: 17.05.07 14:01
Оценка: -3
Здравствуйте, Gaperton, Вы писали:

G>Возражения комиссии будут вполне обоснованы, потому как ты при всем желании не сможешь предъявить комиссии описание и стандарт "языка темплейтов С++" (не у него ни своего синтаксиса, ни семантики).


Есть. То, что это часть описания стандарта C++ — ничего не меняет.

G> Это не язык программирования, а одна из техник применения фрагментов языка С++.


Приплыли, язык уже назвали "одной из техник".

G> Дальнейшие твои упорствования комиссия может истрактовать, как непонимание разницы между языком, его синтакситом и семантикой, и техникой программирования на этом языке.


Сдаётся мне, что у вас очень серьёзные пробелы в образовании. Семантика есть — значит это язык.

G> Тут уже один шажок — (и пара словечек вроде "чушь") и будут поставлены под сомнения результаты всей твоей работы. Один хрен — комиссия в ней ничего не понимает. Не все же соглашаться.


А>> Ага, ага, а ещё C++ и C-препроцессор — это тоже всё один язык.

G>Если команды препроцессора описаны в стандарте С++ — то это один язык. С++. Если нет — то нет.

Скажите, вы, случайно, не гуманитарий? Уж больно у вас гуманитарские представления.

В формальном определении понятия "язык программирования" нет ни слова о том, куда должны быть подшиты страницы с описанием этого самого языка, чтобы он считался "самостоятельным" языком. Если можно выделить замкнутую семантику — то она и будет самостоятельным языком, чисто формально, а про всё остальное пусть волнуются гуманитарии, и желательно — где либо подальше от программирования.


G>Это во первых. А во вторых — если экзаменуемый не дурак, то он прекрасно поймет, что имеют в виду, когда просят противопоставить функциональный язык императивному на примере сравнения с С++.


А я вот — не пойму. Я что, дурак?

G> Уж разумеется, речь идет совсем не о "языке темплейтов С++" как примере функционального языка для сравнения с С++.


"Разумеется" — это только для гуманитариев. Я же — computer scientist, я математик, и мнение гуманитариев мне до лампочки.

G> Если же экзаменуемый будет настаивать на "языке темплейтов" в данном противопоставлении, комиссия, я думаю, с полным правом может усомниться в его компетентности и даже вменяемости. Надо уметь отвечать на заданный вопрос, а не на какой-нибудь другой.


Вы, как гуманитарий, увидели какой-то скрытый от всех прочих людей смысл в этом вопросе. Поздравляю.
Re[7]: ocaml срочно!!!
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.05.07 14:04
Оценка:
Здравствуйте, geniepro, Вы писали:

G>Как ты любишь повторять, это зависит... :о)

G>Можно провести простейшие тесты, в которых анализатор строгости в Хаскелле позволяет сгенерировать более быстрый код, чем даже в Си (пример — функция Аккермана).

Это все сказки. Практика она однозначно показывает, что добиться производитльности которую обеспечивают строгие, статически-типизированные, компилируемые языки на Хаскеле невозможно. И виной тому ленивость. Возможно кода-то будет прорыв в компиляторах для Хаскеля и этот недостаток исчезне, но сейчас он есть. И по факту какой-нить числодробильных код на нем сильно сольет не толкьо С++, но и тому же ОКамлу. Ленивость же можно эффективно эмулировать на других языках. Коду, возможно, будет болоше, но результат тот же.

G>Ну, можно привести в пример Common Lisp и Scheme, в которых есть отличная поддержка не только ФП, ООП и метапрограммирования, но и компиляторы, генерирующие нативный код не хуже (или ненамного хуже), чем у Си — Stalin, Bigloo, mzScheme, SBCL...


Ни Common Lisp, ни Scheme не поддреживают ООП на уровне языка. Для CL есть MOP — но это стандарт (которых похоже так и не реализуется одинаково всеми) на макро-библиотеку. В ОКамле же поддержка ООП встроена в язык.

Что до скорости, то Common Lisp и Scheme могут компилироваться только в JIT-манере. Плюс языки динамически типизированные без вывода таипов. По этому в них приходится явно задавть повсеместно типы чтобы получить хотя бы похожую на С-шную прозводительность. Сгенерировать более быстрый код они не в силах приципиально. Это просто вранье. Тут могут быть олько случаи вроде сравнения с освсем плохим компилятором С или сравнение разных алгоритмов.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: ocaml срочно!!!
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.05.07 14:04
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А> Не знаю. Я в сторону Nemerle не шуганусь ни за какие коврижки, а Хаскелль применяю, и весьма активно, но только для весьма узкоспециализированных задач.


А можно эту мысль развить? Ну, обоснования там привести и т.п.
Особенно это интересно в свете:

А>Я скорее в сторону Лиспа постоянно от OCaml шугаюсь.


Потому как Nemerle и есть ОКамл с С-подобным синтаксисом в котром доведен до ума ООП и прикручены Лисповские макросы.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: ocaml срочно!!!
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.05.07 14:04
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А> Зря вы так, про Хаскелль... Не один он. Например, есть чистый функциональный распространённый язык — язык темплейтов в C++. Есть чистый функциональный распространённый язык — XSLT.


XSLT сомнительно. Там циклы, переменные и даже расширения (стандартом описанные) скриптовые.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: ocaml срочно!!!
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.05.07 14:04
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>А что в вышеизложенном не есть правда? С чем из этого умная и грамотная комиссия может не согласиться?


Проблема в том, что она не сможет объяснить сказанное. Во-первых, для этого знать нужно не мало. А во вторых это все должны быть способны понять преподователи. А они скорее всего это все не поймут. Вон поглядите на выступления оных на наших форумах. Они ООП то с рудом понимают.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: ocaml срочно!!!
От: Трурль  
Дата: 17.05.07 14:06
Оценка: :))) :))) :))) :))
Здравствуйте, Аноним, Вы писали:


А> Я же — computer scientist, я математик, и мнение гуманитариев мне до лампочки.

It has been remarked that computer scientists would rather use each other's toothbrushes than each other's notation.

Re[8]: ocaml срочно!!!
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 17.05.07 14:16
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ленивость же можно эффективно эмулировать на других языках. Коду, возможно, будет болоше, но результат тот же.


Один из бенефитов ленивости by default в том, что кода при ней меньше.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[10]: ocaml срочно!!!
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 17.05.07 14:19
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>XSLT сомнительно. Там циклы, переменные и даже расширения (стандартом описанные) скриптовые.


Что значит "скриптовые"?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.