Re[25]: Goto's are evil?
От: OnThink Россия http://vassilsanych.livejournal.com
Дата: 08.12.05 14:30
Оценка: +2 :)
E>Идеи которого были обкатаны в C++, Java и Delphi

И, причём, разрабатывали C# в том числе и те, кто обкатывал.
... << RSDN@Home 1.2.0 alpha rev. 619>>
Re[19]: Goto's are evil?
От: vdimas Россия  
Дата: 08.12.05 14:53
Оценка: 1 (1)
Здравствуйте, Глеб Алексеев, Вы писали:

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


V>>n+1 надо сделать у кеш-счетчика каждого элемента списка

ГА>Нет, не надо. Точно так же, как не надо это в С++.
ГА>А спорить дальше не вижу смысла, уже все сказал и не знаю, как по-другому:

Извини, но я как программист могу захотеть получить cdddr списка и далее работать с ним. Твоя кешированная схема не сработала. А если делать коррекцию n+1 каждого элемента списка, после вставки в конец, то это все теряет свой первоначальный смысл.

ГА>Вам нравится утверждать, что С++, Ява и C# — достаточно универсальные языки, и все остальные можно посылать подальше, даже не попробовав их на тех задачах, в которых они сильны (кстати, вы писали, что разрабатываете парсеры — так это же задача номер раз для ML-языков, примеров найдете немало).


Да, находил. И пробовал (правда давно). Быстродействие не выдерживало никакой критики и ресурсы тоже. Когда-то это было критично, поэтому я писал парсеры/лексеры на С/С++.

Понимаешь, если делать парсер по классике (лексический + синтаксический анализ, автоматные модели или с предпросмотром K), то глубоко пофиг на чем его писать. Другое дело, что на некоторых инструментах удобно моделировать (играть) с грамматикой. Это есть и именно для этого и использовалось.

Кстати, когда-то я подобную "игруху" делал и на С++, т.е. программа выглядела примерно так:

NTerm A, B, C;
A = 'a' | 'b';
A = C & B;
C = 'c' | C & 'c';
B = A & C | C & C & A | A;
B = 'b'


И нисходящий разбор к нему. Вполне позволяла "играть", менять приоритет правил и т.д. Куда уж минимальнее.

ГА>Я убежден в обратном.


Я вообще ни в чем не убежден и по-сути действую по обстоятельствам.
Виртуально есть обсуждение подходов, реально у меня стоит задача подбора людей в свою команду и я даже не могу найти нормальных спецов на С++/C#/Java. Про обсуждаемые языки вообще говорить не приходится. Не все, к сожалению живут в Москве, где срабатывают законы больших чисел, и находятся несколько человек даже на экзотику.

--------
Сам я слежу за ходом дисскуссий с удовольствием и уже планирую "как только так сразу" поближе познакомиться с Haskel.
Re[19]: Goto's are evil?
От: vdimas Россия  
Дата: 08.12.05 14:56
Оценка:
Здравствуйте, reductor, Вы писали:

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


R>и


V>>Понимаешь, универсальные языки потому и являются универсальными, что на них легко делать весьма многое,

V>>вот за пол-часа на С# (мини-лисп, к нему легко прикрутить парсинг входного потока):

R>Я или чего-то не понимаю или здесь утверждение, что окамл или лисп менее универсальны, чем С#?


OCaml — нет (насколько я понял из вчерашнего моего первого знакомства с ним), Лисп — да, менее универсален. То, что я показал, позволяет прямо в C# программе "орудовать" по лисповым правилам игры. Я даже уже продумал как обыграть макросы Нетрудно это все превратить в интерпретатор или даже в компилятор Лиспа (там и макросы легче будет сделать). Сделать же наоборот на Лиспе — прямо в коде писать по правилам C# (или интерпретатор или компилятор C#) не так уж просто. Первое — вообще нереально.
Re[20]: Goto's are evil?
От: Глеб Алексеев  
Дата: 08.12.05 15:05
Оценка:
Здравствуйте, vdimas, Вы писали:


V>Извини, но я как программист могу захотеть получить cdddr списка и далее работать с ним. Твоя кешированная схема не сработала. А если делать коррекцию n+1 каждого элемента списка, после вставки в конец, то это все теряет свой первоначальный смысл.

Это потому что вы не заметили пары функций (они очень короткие, легко не заметить):
let cs_list_head (CSList (lst, _)) = List.hd lst

let cs_list_tail (CSList (lst, n)) = CSList (List.tl lst, n-1)

Про инкапсуляцию в модуль я тоже вроде говорил. (Да, в С++ я могу откастить итератор к какому-нибудь _ListNode<T>* и вперед, к новым вершинам, зачем мне insert(), когда есть _ListNode<T>* Pnext , это разве аргумент?).

V>Кстати, когда-то я подобную "игруху" делал и на С++, т.е. программа выглядела примерно так:


V>
V>NTerm A, B, C;
V>A = 'a' | 'b';
V>A = C & B;
V>C = 'c' | C & 'c';
V>B = A & C | C & C & A | A;
V>B = 'b'
V>


V>И нисходящий разбор к нему. Вполне позволяла "играть", менять приоритет правил и т.д. Куда уж минимальнее.

Симпатишно! Еще чуть-чуть, и будет буст::спирт . Жаль только, вы реализацию этой красоты не привели.
Ладно, не буду играть на чужом поле, я компиляторы не пишу.

V>Я вообще ни в чем не убежден и по-сути действую по обстоятельствам.



V>Виртуально есть обсуждение подходов, реально у меня стоит задача подбора людей в свою команду и я даже не могу найти нормальных спецов на С++/C#/Java. Про обсуждаемые языки вообще говорить не приходится.

V>Не все, к сожалению живут в Москве, где срабатывают законы больших чисел, и находятся несколько человек даже на экзотику.

Я нашел нишу ФЯ лично для себя — прототипирование. Здесь эти причины не действуют.

V>Сам я слежу за ходом дисскуссий с удовольствием и уже планирую "как только так сразу" поближе познакомиться с Haskel.


Аналогично!

Было приятно поговорить .
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[21]: Goto's are evil?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 08.12.05 15:12
Оценка:
Здравствуйте, Глеб Алексеев, Вы писали:

ГА>Я нашел нишу ФЯ лично для себя — прототипирование. Здесь эти причины не действуют.


А почему не эту роль, к примеру, Smalltalk не подошел?
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[22]: Goto's are evil?
От: Глеб Алексеев  
Дата: 08.12.05 15:25
Оценка:
Здравствуйте, eao197, Вы писали:

ГА>>Я нашел нишу ФЯ лично для себя — прототипирование. Здесь эти причины не действуют.

E>А почему не эту роль, к примеру, Smalltalk не подошел?

Я Smalltalk не знаю. Мнения на его счет не имею никакого. И никогда не слышал, чтобы смоллток был хорош для прототипирования научных и алгоритмических задач. Дело в том, что на основной работе я занимаюсь Win32/GUI/C++ + все понемножку (коммуникация по COM-порту с устройством, OPC-сервер и т.д., все эта солянка применяется в последнем проекте). А вот в аспирантуре (рекламировать себя не буду, т.к. ни черта толкового еще не вышло, и неизвестно, защищусь ли в результате) столкнулся с Natural Language Processing. С верой в буст и непогрешимость святого стандарта, кинулся я на это дело с С++ наперевес. Затея провалилась, все время ударяюсь в какие-то частности. Первые скромные результаты с применением (пока малознакомого!!!) ОКамла получены быстрее и выглядят значительно более многообещающе (тьфу-тьфу, чтоб не сглазить). Такие вот дела.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[20]: Goto's are evil?
От: reductor  
Дата: 08.12.05 15:32
Оценка:
Здравствуйте, vdimas, Вы писали:

V>OCaml — нет (насколько я понял из вчерашнего моего первого знакомства с ним), Лисп — да, менее универсален. То, что я показал, позволяет прямо в C# программе "орудовать" по лисповым правилам игры. Я даже уже продумал как обыграть макросы :) Нетрудно это все превратить в интерпретатор или даже в компилятор Лиспа (там и макросы легче будет сделать).


Написать компилятор лиспа на чем угодно несложно, только это не его недостаток, а достоинство :)

V>Сделать же наоборот на Лиспе — прямо в коде писать по правилам C# (или интерпретатор или компилятор C#) не так уж просто. Первое — вообще нереально.


Конечно же реально.
Макросы в лиспе — это полноценный же лисп и есть.
Даже если мы на них напишем LR-парсер, то все равно это будет только парсер, рантайм, интероп с лиспом и некоторые оптимизации мы получим даром. Весь разбор C#-синтаксиса будет идти при компиляции.

Что в случае с C# не так.

Это очень важный момент вообще — лисп сам по себе представляет из себя мета-платформу для быстрого создания множества языков.
Re[23]: Goto's are evil?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 08.12.05 15:38
Оценка:
Здравствуйте, Глеб Алексеев, Вы писали:

ГА>>>Я нашел нишу ФЯ лично для себя — прототипирование. Здесь эти причины не действуют.

E>>А почему не эту роль, к примеру, Smalltalk не подошел?

ГА>Я Smalltalk не знаю.


Видимо, это сюда: Re[9]: IDE: критерий универсальности ЯП? :)
Автор: WFrag
Дата: 08.12.05

Вопрос. Откуда ты можешь знать, что решаешь некую задачу оптимально, если ты просто банально не знаешь, какие еще подходы к ее решению существуют?


Может Smalltalk был бы еще эффективнее

ГА>столкнулся с Natural Language Processing.


Тогда все становится на свои места.

ГА> С верой в буст и непогрешимость святого стандарта, кинулся я на это дело с С++ наперевес.


А вот вера в Буст -- это напрасно, имхо.

ГА>Первые скромные результаты с применением (пока малознакомого!!!) ОКамла получены быстрее и выглядят значительно более многообещающе (тьфу-тьфу, чтоб не сглазить).


Удачи!
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[24]: Goto's are evil?
От: Глеб Алексеев  
Дата: 08.12.05 15:56
Оценка:
Здравствуйте, eao197, Вы писали:

ГА>>Я Smalltalk не знаю.

E>Видимо, это сюда: Re[9]: IDE: критерий универсальности ЯП? :)
Автор: WFrag
Дата: 08.12.05

E>

E>Вопрос. Откуда ты можешь знать, что решаешь некую задачу оптимально, если ты просто банально не знаешь, какие еще подходы к ее решению существуют?

E>Может Smalltalk был бы еще эффективнее
Сомневаюсь, но мого быть, попробую. Потом, когда время будет. Если вы заметили, я целиком и полностью согласен с Арамисом (ой, с WFrag'ом): чтобы судить о языках, нужно на них попрограммировать (чуть не сказал пописать) чуток. Но не разорваться же мне, сначала одно, потом другое. А кроме того, в ОКамле меня привлекает мощная (а в Хаскеле — и того мощнее) система типов, которая не путается под ногами, а очень помогает при работе с навороченными структурами данных (если я не ошибаюсь, смолток — он динамически типизируемый, так?). А кроме того (опять же понаслышке, никакой категоричности), смолток — классика ОО, а ОО — не самое нужное при экспериментах со сложными алгоритмами. Пройтись по дереву в 3 строчки — вот что нужно.

ГА>>столкнулся с Natural Language Processing.

E>Тогда все становится на свои места.
Кажется, на мне поставили клеймо .

ГА>> С верой в буст и непогрешимость святого стандарта, кинулся я на это дело с С++ наперевес.

E>А вот вера в Буст -- это напрасно, имхо.
А я до сих пор уверен, что там масса полезных вещей. И знаете, в чем между нами разница? Я буст попробовал. Просто его оказалось недостаточно. (Тут я осознаю, что у Вас опыта побольше, и в Ваших условиях он может быть категорично неприменим, просто у меня сложилось впечатление, что с некоторых пор Вы встречаете в штыки все радикальные веяния: в С++ не нужны шаблонные навороты, ФЯ нормальному человеку тоже не нужны, программисты-прагматики любят С++, Руби и юнит-тесты . Просто впечатление, без обид).

ГА>>Первые скромные результаты с применением (пока малознакомого!!!) ОКамла получены быстрее и выглядят значительно более многообещающе (тьфу-тьфу, чтоб не сглазить).

E>Удачи!
Спасибо огромное .
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[25]: Goto's are evil?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 08.12.05 16:16
Оценка:
Здравствуйте, Глеб Алексеев, Вы писали:

ГА>чтобы судить о языках, нужно на них попрограммировать (чуть не сказал пописать) чуток.


Собственно, похожие вещи я пытаюсь утверждать только относительно "знания" языка -- чтобы знать язык недостаточно прочитать пару книг о нем и написать несколько hello world-ов. Соответственно, чтобы знать много языков нужно много времени и усилий. Может быть даже слишком много.

ГА>А кроме того (опять же понаслышке, никакой категоричности), смолток — классика ОО, а ОО — не самое нужное при экспериментах со сложными алгоритмами. Пройтись по дереву в 3 строчки — вот что нужно.


Вполне возможно именно поэтому OCaml тебе и подошел. Но согласись, Natural Language Processing -- это отнюдь не самая распространенная предметная область.

E>>А вот вера в Буст -- это напрасно, имхо.

ГА>А я до сих пор уверен, что там масса полезных вещей. И знаете, в чем между нами разница? Я буст попробовал. Просто его оказалось недостаточно. (Тут я осознаю, что у Вас опыта побольше, и в Ваших условиях он может быть категорично неприменим, просто у меня сложилось впечатление, что с некоторых пор Вы встречаете в штыки все радикальные веяния: в С++ не нужны шаблонные навороты, ФЯ нормальному человеку тоже не нужны, программисты-прагматики любят С++, Руби и юнит-тесты . Просто впечатление, без обид).

А я вообще по природе консервативен, Pink Floyd и Крематорий, к примеру, мне уже лет 15 нравятся. А Space и Jean-Michele Jarre еще больше

Если же серьезно, то я практически так и думаю. Имхо, сложные вещи должны решаться просто. И когда для решения сложных вещей предлагается сложный инструмент, который к тому же не тривиально использовать (я про Boost.Lambda), то мне кажется, что это не правильно. Уж лучше взять другой язык, где все это есть (здесь и твой личный опыт с OCaml в тему). Либо создать такой язык. Я имею в виду DSL с последующей кодогенерацией. Тот же yacc уже лет 30 актуален, потому что использовать его просто.

Что же касается опыта, то он не такой большой, как хотелось бы. Но показывает одну штуку: слишком хитрые и "изящные" решения приходится выбрасывать при сопровождении. Слишком неустойчивыми к изменению условий оказываются. Но это мой субъективный опыт.

А еще более прагматичные программисты, чем я, используют Java и юнит-тесты, и Ruby и юнит-тесты.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[25]: Goto's are evil?
От: reductor  
Дата: 08.12.05 16:28
Оценка: 3 (1) :)
Здравствуйте, Глеб Алексеев, Вы писали:

E>>Может Smalltalk был бы еще эффективнее :)

ГА>Сомневаюсь, но мого быть, попробую. Потом, когда время будет. Если вы заметили, я целиком и полностью согласен с Арамисом (ой, с WFrag'ом): чтобы судить о языках, нужно на них попрограммировать (чуть не сказал пописать) чуток. Но не разорваться же мне, сначала одно, потом другое.

Смоллтолк — это такой мутировавший в ОО лисп без скобочек :)
Интересен в первую очередь своим image-based подходом "все свое ношу с собой" и существующими на рынке средами.
RAD на стероидах для всяких внутрикорпоративной фигни.
Хотя, есть просто очень интересные приложения типа Seaside (очень мощный web-фреймворк)
Ложками дегтя служат плохая совместимость между реализациями, древний стандарт, сильная коммерческая направленность коммьюнити и неуемный фанатизм некоторых представителей :)
И упаси бог где-нибудь что-нибудь сказать не так про Алана Кея.

Тем не менее, Squeak — довольно милая штука и хороший пример некоторых идей в области GUI (Он там правда вроде из self'a взят, но смешно — такая взбесившаяся динамичная рефлексивность)

ГА>А кроме того, в ОКамле меня привлекает мощная (а в Хаскеле — и того мощнее) система типов, которая не путается под ногами, а очень помогает при работе с навороченными структурами данных (если я не ошибаюсь, смолток — он динамически типизируемый, так?). А кроме того (опять же понаслышке, никакой категоричности), смолток — классика ОО, а ОО — не самое нужное при экспериментах со сложными алгоритмами. Пройтись по дереву в 3 строчки — вот что нужно.


ОО да, ОО напрягает в смоллтолке больше всего.
Правда за счет динамической направленности это не настолько давит как в Java, но все же.
И из-за этого в большинстве своем смоллтолкеры уверены, что отсутствие статической типизации — единственно верный путь :)
(это я все по материалам чтения конференций и фанклубов друзей смоллтолка :)
Кстати, я упомянул, что в смоллтолк-коммьюнити принято считать, что Java произошла от смоллтолка, а не от С++ или Оберона? ;)

ГА>А я до сих пор уверен, что там масса полезных вещей. И знаете, в чем между нами разница? Я буст попробовал. Просто его оказалось недостаточно. (Тут я осознаю, что у Вас опыта побольше, и в Ваших условиях он может быть категорично неприменим, просто у меня сложилось впечатление, что с некоторых пор Вы встречаете в штыки все радикальные веяния: в С++ не нужны шаблонные навороты, ФЯ нормальному человеку тоже не нужны, программисты-прагматики любят С++, Руби и юнит-тесты :). Просто впечатление, без обид).


Никого не имея в виду: http://psy.kemcity.ru/vocab/txt/r42.htm
Re[26]: Goto's are evil?
От: reductor  
Дата: 08.12.05 17:11
Оценка:
Здравствуйте, eao197, Вы писали:

E>Здравствуйте, Глеб Алексеев, Вы писали:


ГА>>чтобы судить о языках, нужно на них попрограммировать (чуть не сказал пописать) чуток.


E>Собственно, похожие вещи я пытаюсь утверждать только относительно "знания" языка -- чтобы знать язык недостаточно прочитать пару книг о нем и написать несколько hello world-ов. Соответственно, чтобы знать много языков нужно много времени и усилий. Может быть даже слишком много.


Много усилий нужно, чтобы знать 5 языков. Чтобы знать 20-30, нужно не сильно больше.

E>Вполне возможно именно поэтому OCaml тебе и подошел. Но согласись, Natural Language Processing -- это отнюдь не самая распространенная предметная область.


Интересно, а какая самая? любой language processing — это очень важная часть программирования.



E>Если же серьезно, то я практически так и думаю. Имхо, сложные вещи должны решаться просто. И когда для решения сложных вещей предлагается сложный инструмент, который к тому же не тривиально использовать (я про Boost.Lambda), то мне кажется, что это не правильно. Уж лучше взять другой язык, где все это есть (здесь и твой личный опыт с OCaml в тему). Либо создать такой язык. Я имею в виду DSL с последующей кодогенерацией. Тот же yacc уже лет 30 актуален, потому что использовать его просто.


yacc просто использовать?!
видимо, придется попросить определить что такое просто.
А то после комбинаторов мне при виде якка хочется застрелиться.

Вот. Причем, прошу заметить — ничего не генерируется, это все на самом же языке и пишется.
http://www.cs.uu.nl/~daan/download/parsec/parsec.html

На последнем OSCON'e Autrijus Tang показывал как за 15 минут таким образом пишется полный разбор грамматики perl 6.
Re[26]: Goto's are evil?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 08.12.05 18:11
Оценка:
Здравствуйте, reductor, Вы писали:

R>Смоллтолк — это такой мутировавший в ОО лисп без скобочек

R>Интересен в первую очередь своим image-based подходом "все свое ношу с собой" и существующими на рынке средами.
R>RAD на стероидах для всяких внутрикорпоративной фигни.
R>ОО да, ОО напрягает в смоллтолке больше всего.
R>Правда за счет динамической направленности это не настолько давит как в Java, но все же.
R>И из-за этого в большинстве своем смоллтолкеры уверены, что отсутствие статической типизации — единственно верный путь

Не удивительно, что это говорит человек, которого даже от Ruby тошнит. А уж от чистого Smalltalk...
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[27]: Goto's are evil?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 08.12.05 18:11
Оценка:
Здравствуйте, reductor, Вы писали:

E>>Собственно, похожие вещи я пытаюсь утверждать только относительно "знания" языка -- чтобы знать язык недостаточно прочитать пару книг о нем и написать несколько hello world-ов. Соответственно, чтобы знать много языков нужно много времени и усилий. Может быть даже слишком много.


R>Много усилий нужно, чтобы знать 5 языков. Чтобы знать 20-30, нужно не сильно больше.


Без обид, но я не увидел, чтобы ты хорошо знал C++.
А знать хорошо C++ -- это может быть посложнее, чем знать 10-15 других языков.

E>>Тот же yacc уже лет 30 актуален, потому что использовать его просто.


R>yacc просто использовать?!

R>видимо, придется попросить определить что такое просто.

А что сложного-то? Описываешь правила, прикручиваешь лексический анализатор. Проверяешь. Затем добавляешь синтаксические процедуры. И все дела.

R>Вот. Причем, прошу заметить — ничего не генерируется, это все на самом же языке и пишется.

R>http://www.cs.uu.nl/~daan/download/parsec/parsec.html

Выглядит интересно. Но то, что синтаксические правила можно сразу на языке программирования описывать -- не новость: http://i.loveruby.net/en/projects/racc/ (их есть у нас ).

R>На последнем OSCON'e Autrijus Tang показывал как за 15 минут таким образом пишется полный разбор грамматики perl 6.


Уже известной грамматики. И после нескольких часов подготовки к демонстрации.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[27]: офтоп - Брюс Эккель о Руби, эмишах и пр :)
От: z00n  
Дата: 08.12.05 18:41
Оценка:
Здравствуйте, eao197, Вы писали:

E>Не удивительно, что это говорит человек, которого даже от Ruby тошнит. А уж от чистого Smalltalk...


http://onthethought.blogspot.com/2005/01/thinking-in-ruby-not.html
Re[28]: Goto's are evil?
От: reductor  
Дата: 08.12.05 18:47
Оценка:
Здравствуйте, eao197, Вы писали:


R>>Много усилий нужно, чтобы знать 5 языков. Чтобы знать 20-30, нужно не сильно больше.


E>Без обид, но я не увидел, чтобы ты хорошо знал C++.


Хорошо или нет, я стараюсь на нем не писать и о нем не говорить.
И никому вообще знать его не обещал.
Не самая интересная для меня тема, без обид.

E>А знать хорошо C++ -- это может быть посложнее, чем знать 10-15 других языков.


Прошу прощения, но откуда такие сведения?
Неужели по собственному опыту? :)

E>>>Тот же yacc уже лет 30 актуален, потому что использовать его просто.


E>А что сложного-то? Описываешь правила, прикручиваешь лексический анализатор. Проверяешь. Затем добавляешь синтаксические процедуры. И все дела.


А можно просто — описываешь прямо на месте правила и все? А то мне так привычнее.

R>>Вот. Причем, прошу заметить — ничего не генерируется, это все на самом же языке и пишется.

R>>http://www.cs.uu.nl/~daan/download/parsec/parsec.html

E>Выглядит интересно. Но то, что синтаксические правила можно сразу на языке программирования описывать -- не новость: http://i.loveruby.net/en/projects/racc/ (их есть у нас :) ).


Racc (Ruby yACC) is a LALR(1) parser generator for Ruby [..]
Parsers generated by Racc requires "Racc Runtime Module".


Это называется "на языке"?

R>>На последнем OSCON'e Autrijus Tang показывал как за 15 минут таким образом пишется полный разбор грамматики perl 6.


E>Уже известной грамматики. И после нескольких часов подготовки к демонстрации.


Ну с удовольствием посмотрю здесь на разбор этой грамматике на yacc+С++.
Время можно будет прикинуть по количеству строчек там и там.
Re[27]: Goto's are evil?
От: reductor  
Дата: 08.12.05 18:50
Оценка:
Здравствуйте, eao197, Вы писали:

R>>Смоллтолк — это такой мутировавший в ОО лисп без скобочек

R>>Интересен в первую очередь своим image-based подходом "все свое ношу с собой" и существующими на рынке средами.
R>>RAD на стероидах для всяких внутрикорпоративной фигни.
R>>ОО да, ОО напрягает в смоллтолке больше всего.
R>>Правда за счет динамической направленности это не настолько давит как в Java, но все же.
R>>И из-за этого в большинстве своем смоллтолкеры уверены, что отсутствие статической типизации — единственно верный путь

E>Не удивительно, что это говорит человек, которого даже от Ruby тошнит. А уж от чистого Smalltalk...


??
Можно попросить расшифровать мысль?
Re[29]: Goto's are evil?
От: vdimas Россия  
Дата: 08.12.05 20:00
Оценка:
Здравствуйте, reductor, Вы писали:


R>Да чем это все отличается от самого крайнего случая с тем же окамлом — написанием модуля на Си и линковкой с ним.

R>Это по-моему что-то психологическое, скорее

С этим спорить не буду, психологических барьеров нет, сам регулярно пишу нечто на универсальных С/С++, и подлинковываю то в VB, то в .Net, то в Windows ScriptHost, то в Дельфи и т.д.
Re[29]: Goto's are evil?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 08.12.05 20:18
Оценка:
Здравствуйте, reductor, Вы писали:

E>>А знать хорошо C++ -- это может быть посложнее, чем знать 10-15 других языков.


R>Прошу прощения, но откуда такие сведения?

R>Неужели по собственному опыту?

Да. И не только моему. Думаю, что многие из учасников форума C/C++ со мной согласятся.

E>>Выглядит интересно. Но то, что синтаксические правила можно сразу на языке программирования описывать -- не новость: http://i.loveruby.net/en/projects/racc/ (их есть у нас ).


R>Это называется "на языке"?


Да, здесь я ошибся, раньше RACC рекламировался как инструмент, в котором правила прямо в Ruby декларировались. Все течет, все изменяется.

R>>>На последнем OSCON'e Autrijus Tang показывал как за 15 минут таким образом пишется полный разбор грамматики perl 6.


E>>Уже известной грамматики. И после нескольких часов подготовки к демонстрации.


R>Ну с удовольствием посмотрю здесь на разбор этой грамматике на yacc+С++.

R>Время можно будет прикинуть по количеству строчек там и там.

Просто разбор? А какой в этом смысл, в простом разборе-то?
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[28]: Goto's are evil?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 08.12.05 20:18
Оценка:
Здравствуйте, reductor, Вы писали:

E>>Не удивительно, что это говорит человек, которого даже от Ruby тошнит. А уж от чистого Smalltalk...


R>??

R>Можно попросить расшифровать мысль?

Ну просто разработчики Ruby не скрывают, что очень многое было взято из Smalltalk. Только язык попытались сделать прагматиченее.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.