Re[14]: Не пора ли нам перейти на D
От: jedi Мухосранск  
Дата: 27.02.07 18:43
Оценка:
Здравствуйте, VladD2, Вы писали:

VD> поливание D грязью опущено


Секундочку. Т.е. "правильные" языки позволяют вызывать недетерминированные ф-ции в compile-time? Как тогда в них решаются проблемы мной описанные?

P.S. Я не спрашивал почему D такой хреновый, я спросил как в языках поддерживающих compile time вычисления решаются проблемы с вызовом недетриминированных ф-ций (или может это не считается проблемой вовсе и программист вправе превратить процесс компиляции в процесс генерации случайного байт-кода).
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re[12]: Не пора ли нам перейти на D
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.02.07 18:46
Оценка: +1
Здравствуйте, Disappear, Вы писали:

VD>>Все отличие тебя от них в том, что ты немного задумался над тем, что происходит. Но как только тебе попробовали показать "как глубока эта заячья нора" ты сразу же решил, что лучше зашорить глаза и оставаться жить в своем мире.


D>Почему вы так часто переходите на личности?


Потому что ты споришь со своим отражением. Как, позволь узнать, говорить об этом явлении не упоминая тебя?

D>Этот и другие языке мне интересны чисто из академических интересов.


Хм. "Не пора ли нам перейти на D" это академические соображения?

D> Для работы, по прежнему нет ничего лучше старых добрых инструментов — это дело привычки.


Значит ты сам ответил на свой вопрос "не пора". Точнее "всегда — нет".

D>Речь шла, о возможности постепенного перехода к использованию других инструментов.


А как же "нет ничего лучше старых добрых инструментов"? И зачем тогда новые если старый — добрые?

D> И что бы дала эта возможность.

D>По сути дела, то что было высказано в этой ветке, могло бы нести обьективный характер — за и против. Но, как оказалось, многие не считают, что можно обсуждать такие темы, потомучто в массах преобладает "эффект блаба", народная истерия, костность дедушкиной бороды или что еще там...
D>Быть может, люди не такие тупые, как Вы о них думаете? И даже С++ программисты.

Я не думаю. Я циничный наблюдатель. Просто ты первый раз сталкнулся с эффектом блаба и не понял что это такое. Причем самое смешное, что ты при все при том сам болен этим же синдромом.

И лично меня синдром блаба нисколько не удивляет и темболее не раздражает. По началу я был удивлен, но потмо понял, что и сам подвержен ему. Это нормальное проявление человеческих недостатков. Единственное что можно тут сделать — это осознать что сам являшся блабом и изучить разные языки чтобы потом можно было оценивать их более-менее осознанно и бесрпистрасно.

Эта же ветка не более чем отличная демонстрация этого эффекта.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Не пора ли нам перейти на D
От: EvilChild Ниоткуда  
Дата: 27.02.07 19:08
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Нет у нативности никаких преимуществ. Вобще никаких. Он не нужен нигде. Ну кроме может быть микрокода и чегото в этом духе.


Это про текущий момент или о перспективе?
now playing: Angelzero — Laroux
Re[11]: Не пора ли нам перейти на D
От: Слоноежик  
Дата: 27.02.07 19:34
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Слоноежик, Вы писали:


[много всего вытоптано]

VD>ОК. Уложним условие. Попробуй создать аналог вот такой примитивной вещи:

VD>
VD>macro LoadStringLiteralFromFile(fileName : string)
VD>{
VD>  def str File.ReadAllText(fileName);
VD>    <[ $(str : string) ]>
VD>}
VD>

VD>Что не выходит?

Нет. Но я ни капельки даже не расстроен. Никто вообще и не говорил что круче D только яйца, а про то что Nemerle есть Слово Господне... (ну в крайнем случае идеальный язык всех времен и народов) по крайней мере на этом форуме твердится постоянно.
Относительно примера — вызов метода из рантайма во время компиляции — это конечно интересная идея, но на практике это есть великое зло.

VD>>>В обличии от D или C++ мы вольны произвести в макросе вычисления любой сложности. Так если у нас уже есть нужная функция которую нужно вычислить во время компиляции, то мы просто вызваем ее в макросе и получаем требуемый результатм.

VD>>>То есть для нас нет разницы между кодом программы и метакодом. В D же и в С++ мы вынждены писать метакод на птичьех языках которые сильно отличаются от того языка что мы вынуждены применять в реальной программе.
С>>Ну D это уже не относится.
VD>Еще как отностися. Метакод в D пишется не на базовом D, а на статических расширениях.
И что из этого. Правильное решение. D как впрочем и CLI не может гарантировать отсутсвие побочных эффектов. Сомневаюсь — что кому нибудь понравится функция которая вычисляет правильное значение только по чертвергам в полнолуние.

На сим откланяюсь.

P.S. Принимать участие в дальнейшем флейме не вижу никакого смысла.
для забивания гвоздя надо выбирать правильный микроскоп.
Re[15]: Не пора ли нам перейти на D
От: fmiracle  
Дата: 27.02.07 19:34
Оценка:
Здравствуйте, jedi, Вы писали:

J>P.S. Я не спрашивал почему D такой хреновый, я спросил как в языках поддерживающих compile time вычисления решаются проблемы с вызовом недетриминированных ф-ций (или может это не считается проблемой вовсе и программист вправе превратить процесс компиляции в процесс генерации случайного байт-кода).


Программист даже на самом строгом языке может с легкостью нагенерить совершенно случайного кода.
Язык должен представлять защиту от случайных ошибок. Если же програмист использует кодогенерацию на основе вызовов rand(), то тут никакая защита не поможет...
... << RSDN@Home 1.2.0 alpha rev. 673>>
Re[12]: Не пора ли нам перейти на D
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.02.07 19:50
Оценка:
Здравствуйте, Disappear, Вы писали:

F>>Похоже, это уже даже не софт для АЭС...


D>И даже не CRM система для нового склада памперсов...


Небольшая справка. "Софт для АЭС" — это такой прикло который постоянно всплывает как последний аргумент против управляемых сред. В общем, "Софт для АЭС" стал таким примера притянутого за уши аргумента.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Не пора ли нам перейти на D
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.02.07 19:50
Оценка:
Здравствуйте, jedi, Вы писали:

J>Секундочку. Т.е. "правильные" языки позволяют вызывать недетерминированные ф-ции в compile-time? Как тогда в них решаются проблемы мной описанные?


Я не в курсе какие проблемы ты описал. Но правильные языки действительно повзволюят вызвать во время компиляции любой код.

J>P.S. Я не спрашивал почему D такой хреновый, я спросил как в языках поддерживающих compile time вычисления решаются проблемы с вызовом недетриминированных ф-ций (или может это не считается проблемой вовсе и программист вправе превратить процесс компиляции в процесс генерации случайного байт-кода).


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

Если есть боязнь за то что можно "свалить" компилятор, то утешу тем, что свалить его можно и так. Создай вечный цикл в компиляторе. Этого будет достаточно.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Не пора ли нам перейти на D
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.02.07 19:50
Оценка: +2
Здравствуйте, Tilir, Вы писали:

T>Вы только что назвали г@вном библиотеку, которая стабильно использовалась для написания невероятного количества кода. Рабочего, активно использующегося, стабильного. Хочу добавить — мою любимую библиотеку. Минус ставить не буду, но прошу сбавить градус снобизма.


Извини, но хвастаться макросными мапами — это смешно. Это даже для С++ дремучее и страшное прошлое. А для языков поддреживающих функции высшего порядка вообще смешно.
Вот как может выглядить подключение обработчика события без макросов:
listView.AfterSelect += fun(_, e) { Text = e.Node.Text; };

Здесь мы подлючаемся на событие смены выделенного элемента и копируем его текст в заголовок формы.
Заметь, никаких макросов. А стало быть никаких ошибок и грязи.

T>А что вы предлагаете для программирования COM-серверов и ActiveX на D вместо ATL? Вы хоть раз пробовали делать это без ATL? Или всё, про COM дружно забываем?


В Ди можно полностью потворить стиль ATL используя миксины.
Но лично я предпочитаю просто не связываться с КОМ. Уж больно некрасивая реализация у этой технолгии. Компонентная модель у дотнета и Явы куда лучше. Чтобы создать контрол не нужно так извращаться и "набивать" свой класс тонной непонятной функциональности (которая потом еще неясно как будет сосуществовать). Мне достаточно просто создать наследника от подходящего класса и все будет работать.

T>Насколько я понимаю, для WTL D использовать тоже не стоит (множественное наследование, да?). В общем резюме такое — для разработки программ чуточку сложнее Hello World, язык D пока что не имеет ни достаточной инфраструктуры, ни средств для переноса на него существующих библиотек с C++.


Во истину если у тебя в руках молоток, то все вокург кажется гвоздями.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: Не пора ли нам перейти на D
От: jedi Мухосранск  
Дата: 27.02.07 19:51
Оценка: 6 (1) :)
Здравствуйте, fmiracle, Вы писали:

F>Программист даже на самом строгом языке может с легкостью нагенерить совершенно случайного кода.

F>Язык должен представлять защиту от случайных ошибок. Если же програмист использует кодогенерацию на основе вызовов rand(), то тут никакая защита не поможет...

Дело не в том ... rand() — это просто пример недетерминированной функции. Другим примером может быть предположение о наличии какого-то файла на диске, какие-то тонкие предположения о наличии у пользователя каких то-прав в системе, наличие интернета в момент компиляции, да мало ли еще что.
Т.е. возникает неявная (!) возможность того, что компилируемость кода зависит от внешних факторов никак не отраженных в исходнике (напр. если происходит вызов внешней либы).

Вот еще подумалось — если такие языки распространятся, то скачав безобидный исходник из сети и поставив его на компиляцию, я могу стать жертвой
очень хитрого вируса. Нет, в самом коде не будет "format c:", но какой-то хитрый макрос будет вызывать какую-то стандартную либу и использовать дыры в ней. Да мало ли ужастей можно придумать?

Я понимаю, что это все может показаться надуманным, но все-таки ... Одно дело plain-text code, который не больше чем код, а совсем другое — зверь, который во время компиляции может приконнектиться куда нужно и сдать нахрен все номера моих кредитных карточек
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re[16]: Не пора ли нам перейти на D
От: jedi Мухосранск  
Дата: 27.02.07 20:01
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Я не в курсе какие проблемы ты описал. Но правильные языки действительно повзволюят вызвать во время компиляции любой код.


Хороший повод читать всю ветку, а не последнее сообщение в ней .

Ок, самоцитируюсь (было 4-мя постами выше):

А вдруг:
1) функция factorial зависит от некторых глобальных переменных (которые инициализируются в main и соответственно не проиницализированы в момент выполнения этой функции на этапе компиляции);
2) функция factorial вызывает функции из внешних библиотек, о которых неизвестно детерминированы они или нет (я уж не говорю оразных версиях этих библиотек в момент компиляции и исполнения);
3) тупо зовет rand() или time();

VD>Программист всегда прав. Если он вменяем, то его код будет дейсвовать только во благо.


Ага, он также прав когда пишет =, а имел в виду ==. От глупых ошибок никто не застрахован (тем более в сторонних либах).

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


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

VD>Если есть боязнь за то что можно "свалить" компилятор, то утешу тем, что свалить его можно и так. Создай вечный цикл в компиляторе. Этого будет достаточно.


Нет, этого я не боюсь.

P.S. Ради бога, не нужно сводить все к флейму. Я задал вполне конкретный вопрос, а в результате услышал:
1) D — отстой;
2) "Программист всегда прав";
3) "правильные языки действительно повзволюят вызвать во время компиляции любой код".

Конструктивнее, пожалуйста
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re[17]: Не пора ли нам перейти на D
От: fmiracle  
Дата: 27.02.07 20:12
Оценка: 1 (1) +2
Здравствуйте, jedi, Вы писали:

J>Я понимаю, что это все может показаться надуманным, но все-таки ... Одно дело plain-text code, который не больше чем код, а совсем другое — зверь, который во время компиляции может приконнектиться куда нужно и сдать нахрен все номера моих кредитных карточек


Та же самая байда, если plain-text код, скажем, на С использует вызов из бинарной библиотеки, который сделает чертичто при запуске приложения (ты ж его вряд ли только компилируешь, но скорее всего и запускаешь?)
Аналогично, нет гарантии как эта библиотека поведет себя в четверг после осадков.
Значит, если имеется приступ паранойи, то по любому надо изучать исходники всех используемых библиотек

Ну так в Nemerle макросы времени компиляции — это точно такая же библиотека, как и библиотеки времени исполнения.

Так что не думаю, что тут что-то серьезно меняется по сравнению с тем, что есть.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Re[12]: Не пора ли нам перейти на D
От: WolfHound  
Дата: 27.02.07 20:20
Оценка:
Здравствуйте, Слоноежик, Вы писали:

С>Нет. Но я ни капельки даже не расстроен. Никто вообще и не говорил что круче D только яйца, а про то что Nemerle есть Слово Господне... (ну в крайнем случае идеальный язык всех времен и народов) по крайней мере на этом форуме твердится постоянно.

Не нат. Говорят что это один из лучших языков на текущий момент.

С>Относительно примера — вызов метода из рантайма во время компиляции — это конечно интересная идея, но на практике это есть великое зло.

Это еще по чему?

С>На сим откланяюсь.


С>P.S. Принимать участие в дальнейшем флейме не вижу никакого смысла.

Разговор только начался, а ты уже в кусты?
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[17]: Не пора ли нам перейти на D
От: WolfHound  
Дата: 27.02.07 20:20
Оценка: +1
Здравствуйте, jedi, Вы писали:

J>Дело не в том ... rand() — это просто пример недетерминированной функции. Другим примером может быть предположение о наличии какого-то файла на диске, какие-то тонкие предположения о наличии у пользователя каких то-прав в системе, наличие интернета в момент компиляции, да мало ли еще что.

J>Т.е. возникает неявная (!) возможность того, что компилируемость кода зависит от внешних факторов никак не отраженных в исходнике (напр. если происходит вызов внешней либы).
Если программист совсем больной то да. А если нет то все будет нормально. И мы имеем огромную мощь недоступную подавляющему большинству языков.

J>Я понимаю, что это все может показаться надуманным, но все-таки ... Одно дело plain-text code, который не больше чем код, а совсем другое — зверь, который во время компиляции может приконнектиться куда нужно и сдать нахрен все номера моих кредитных карточек

Угу с тем же успехом можно скачать просто исходник (скажем на С++) из инета, скомпилировать и запустить то что получилось. И результат потырит все твои кредитки.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[7]: Не пора ли нам перейти на D
От: minorlogic Украина  
Дата: 27.02.07 20:57
Оценка:
Здравствуйте, VladD2, Вы писали:

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


M>>Я пытался найти реальные недостатки МН, но к сожалению не смог. Единственный недостаток о котором я слышал это передваваемое из уст в уста легенда о недостатках МН . Пожалуйста подскажите мне , где я могу почитать об этом ?


VD>http://en.wikipedia.org/wiki/Diamond_problem


Вы же прочли что эта проблема решена в С++ ? на тоже вики странице ?


M>>Надеюсь вы читали , что по этому поводу пишет Страуструп , ?


VD>Да, читал. И не только по этому поводу. Мне интересно другое. Появилось бы в С++ МН если бы Страуструп в свое время додумался бы до трэйтсов/миксинов?


Или что то путаю , или миксины создают различную имплементацию много раз ?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[12]: Не пора ли нам перейти на D
От: konsoletyper Россия https://github.com/konsoletyper
Дата: 27.02.07 20:58
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Что касается конкуренов С++, то для меня это само по себе смешно. С++ маральный урод. Он устарел еще 10 лет назад. Его испоьзуют не потому что он лучий, а потому, что к нему привыкли и потому что вокруг него море фобий. Конкуренты ему попросту не нужны.


Что ж, а я всё уже думал сам высказаться по поводу "C++ vs !C++", правда не хочется опять флейм поднимать. Но раз уж начало положено (причём не в первый раз в этой ветке) то и я выскажусь.

Недавно прочитал замечательную книжку "The UNIX-HATERS Handbook". Книжка выпущена в далёком 1994 году. Собственно, кое-где авторы (ИМХО) перегибают палку, но в общем и целом мысли высказаны вполне адекватные (причём высказаны очень весело, я под столом валялся, когда читал, хотя некоторым бы впору горько плакать).

Не обошли авторы стороной и C++. Ему посвящена целая глава: "C++ — The COBOL of the 90s". Причём в самом начале есть замечание, что сравнивать C++ и COBOL было бы нечестно по отношению к COBOL'у.

Собственно, не буду приводить здесь полную аргументацию, кому нужно сами прочитайте, или постучитесь ко мне (мыло в профиле указано) и мы сразимся в "СВ". Показательно лишь одно: даже более 10 лет назад его считали неудачным. По сути, книжка утверждает, что "C++ was never formally designed: it grew". Причём, вырос он, преимущественно, согласно UNIX-овской философии (по мнению авторов): простота реализации — главное, в ущерб её можно (и нужно) проносить надёжность. А вот получается после этого сложный неповоротливый монстрик.

Короче, на всякий случай повторюсь: если кто-то хочет развить флейм, давайте начнём его в "СВ". Не хочется "ФП" засорять...
... << RSDN@Home 1.2.0 alpha rev. 672>>
Re[17]: Не пора ли нам перейти на D
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.02.07 21:55
Оценка:
Здравствуйте, jedi, Вы писали:

J>Хороший повод читать всю ветку, а не последнее сообщение в ней .


J>Ок, самоцитируюсь (было 4-мя постами выше):


J>А вдруг:

J>1) функция factorial зависит от некторых глобальных переменных (которые инициализируются в main и соответственно не проиницализированы в момент выполнения этой функции на этапе компиляции);
J>2) функция factorial вызывает функции из внешних библиотек, о которых неизвестно детерминированы они или нет (я уж не говорю оразных версиях этих библиотек в момент компиляции и исполнения);
J>3) тупо зовет rand() или time();

Это я читал. Только проблемы тут я не увидил. Это же приемущество, что мой код может сделать что-то полезное.

VD>>Программист всегда прав. Если он вменяем, то его код будет дейсвовать только во благо.


J>Ага, он также прав когда пишет =, а имел в виду ==. От глупых ошибок никто не застрахован (тем более в сторонних либах).


Ну, конкретно от этого не застрахован только тот кто пользуется С++, а точнее его плохими компиляторами. Хотя конечно ошибки бывают у всех. Но ошибка есть ошибка. Ее надо устранять. Кроме того язык надо проектировать так, чтобы избегать максимальное количество классов ошибок. И тут у Nemerle есть немало приемуществ. Потому на нем можно без проблем писать мета-код.

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


J>Вот, уже ближе. Теперь конкртней, что за сообщения об ошибках? Как компилятор вообще узнает что их нужно выдать?


Если твой код приводит к ошибкам времени выполнения, то он с огромной вероятностью вызовет исключение. Если это произойдет, то компилятор тебе об этом сообщит.

Естествно, что паравишьный язык позволяет выдавать и сообщения об ошибки штатными средствами компилятора. Но это умеет и Ди. Это только С++ не умеет.

VD>>Если есть боязнь за то что можно "свалить" компилятор, то утешу тем, что свалить его можно и так. Создай вечный цикл в компиляторе. Этого будет достаточно.


J>Нет, этого я не боюсь.


Ну, а тогда какие проблемы? Мета-код — это такой же код как и обычный но выполняемый во время компиляции. Ошибки в нем возможны. Их нужно просто отлаживать. Для этого есть все редства.

J>P.S. Ради бога, не нужно сводить все к флейму.


Вообще-то эта тема флэйм и есть. Ее сюда именно по этому передвинули.
Но лично я за конструктив в любой дисскусси. Темболее, что не часто приходится поговорить с ортодоксальными С++-никами (это я в общем).

J> Я задал вполне конкретный вопрос, а в результате услышал:

J>1) D — отстой;
Почему отстой? Он просто недостаточно хорош чтобы претендовать на лидерство.

J>2) "Программист всегда прав";

J>3) "правильные языки действительно повзволюят вызвать во время компиляции любой код".

J>Конструктивнее, пожалуйста


А что не конструктивно? Может быть лучше повернуть вопрос по другому?
Может лучше ты сам обоснуешь почему нельзя вызвать недетерминированные фукнции внутри мета-кода?

Лично у меня даже нет сомнений, что без этого смысл в мета-коде стремится к нулю. Ну, что простите, за фигня если я не могу вызвать библиотечную функцию внутри мета-программы?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Не пора ли нам перейти на D
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.02.07 21:55
Оценка:
Здравствуйте, Слоноежик, Вы писали:
VD>>Что не выходит?

С>Нет.


От и я о том же.

С> Но я ни капельки даже не расстроен.


Оптимизм — это хорошо!

С>Никто вообще и не говорил что круче D только яйца, а про то что Nemerle есть Слово Господне...


И правда такого наверно никто не говорил. Но сама данная тема явно свидетельствует о том, что D в глазах автора являет нечто большее чем просто заурядный ЯП. А ее развитие (закономерное с моей точки зрения) показывает, что его явно не понимают/не принимают его точки зрения.

С>Относительно примера — вызов метода из рантайма во время компиляции — это конечно интересная идея, но на практике это есть великое зло.


Дык, обоснуй. Обсудим. С моей точки зрения (того кто пробовал это делать) все ОК. Ну, и следовательно слова "на практике это есть великое зло" не более чем фобия.

VD>>Еще как отностися. Метакод в D пишется не на базовом D, а на статических расширениях.

С>И что из этого. Правильное решение.

В чем его правильность? В том что надо использовать второй — ограниченный и интерпретируемый язык вместо того чтобы использовать исходный и мощьный язык?

С> D как впрочем и CLI не может гарантировать отсутсвие побочных эффектов. Сомневаюсь — что кому нибудь понравится функция которая вычисляет правильное значение только по чертвергам в полнолуние.


Побочный эффект — это главное что добиваются от шаблонного метапрограммирования (ШМП) в С++ и Ди. Причем С++ реализация более чистая, так как ди имеет откровенные средства императивного программирования времени компиляции.

Суть ШМП в том, чтобы порождать некие структуры или код в зависимости от некоторых входных настроек (данных). Так что просто несерьезное утверждение.

С>P.S. Принимать участие в дальнейшем флейме не вижу никакого смысла.


Правильно. Для этого прийдется изучить что-то нове. А это всегда напрягает.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Не пора ли нам перейти на D
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.02.07 22:05
Оценка: 1 (1) +1
Здравствуйте, ie, Вы писали:

ie>Не знаю. Но C# программеры в моем окружении относятся к Немерле скорее положительно, а C++ наоборот


Дык это понятно. Если для C#-программиста Nemerle — это логическое развитие с небольшим количеством изменений, то для С++программиста — это крушения образа мысли. Сам переживал подобное пару раз и знаю насколько это тяжело переносить.

Реакция обычно следующая. Сначала полное не понимание и безразличие. Потом страх и животная неприязнь. Потом разбитое состояние, ощущения расстерянности вызванное тем, что человек начинает понимать, что знакомые идеомы, навыки и т.п. все-все-все — это много лет не лучшим образом проведенной жизни. Далее есть варианты. Сильный человек оценивает достоинства и недостатки и выбирает более мощьный и простой язык, а мнее сильный обычно просто говорит себе — ну и хрен с ним — и поглубже зарывает голову в песок.

ie>Тот же D будет несомненным шагом вперед


+1
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Не пора ли нам перейти на D
От: Слоноежик  
Дата: 27.02.07 22:10
Оценка: :)
Здравствуйте, Слоноежик, Вы писали:


С>И что из этого. Правильное решение. D как впрочем и CLI не может гарантировать отсутсвие побочных эффектов. Сомневаюсь — что кому нибудь понравится функция которая вычисляет правильное значение только по чертвергам в полнолуние.

Досадный Глюк. естественно не CLI а CLR
для забивания гвоздя надо выбирать правильный микроскоп.
Re[18]: Не пора ли нам перейти на D
От: jedi Мухосранск  
Дата: 27.02.07 22:51
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Может лучше ты сам обоснуешь почему нельзя вызвать недетерминированные фукнции внутри мета-кода?


VD>Лично у меня даже нет сомнений, что без этого смысл в мета-коде стремится к нулю. Ну, что простите, за фигня если я не могу вызвать библиотечную функцию внутри мета-программы?


Знал бы почему — обосновал бы . В принципе, я понял твою точку зрения. К тому же выше fmiracle & WolfHound также привели достаточно весомые аргументы. Теперь надо бы подумать над этим

В общем-то суть в том, что у меня никогда не возникало необходимости звать что-то недетерминированное в рантайме. Даже кодогенерация зависит только от своих параметров (заготовка-описание, код на DSL итп), те детерминированна. Когда же мне сказали, что можно звать абсолютно все, я немного испугался. Теперь успокоился и понял, что это просто инструмент — такой же как и другие, обычный. Бъет по лбу (программиста сразу или юзера — через месяц), если что-то напортачил.

Короче, compile-time code execution — это просто возможность писать все на одном языке, не привлекая скрипты и внешние тулзы для кодогенерации. Ничего сверхъестественного. ИМХО, кроме всех очевидных плюсов, здесь есть минус — хитрый метакод запрятан в исходниках и внешне (в файл-менеджере) неотличим от "обычного" кода. Эта проблема решается, видимо, только тщательным документированием ...
... << RSDN@Home 1.2.0 alpha rev. 0>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.