Re[8]: Сложный язык для сложных срограмм.
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.01.07 22:29
Оценка: +1 -1
Здравствуйте, Cyberax, Вы писали:

C>А ты напишешь ВЕСЬ Q4 на Питоне? Ведь оптимизация — это не задача.


Что про Питон то речь вести. Ясно, что писать движек на интерпретаторе неразумно дорого. Впрочем как и прикладную логику на С++.

Но какие ты видишь проблемы чтобы написать игру скажем на Немерле. Причем как скрипты, так и львиную долю движка? Ну, скажем если использовать XNA или хотя бы Menaged DX?

Учитывая, что при этом будут покрыты две огромные платформы — Windows и XBox 360, и то что Немерле даст фору обоим упомянутым языкам на их родном поле, то эта идея очень заманчива. Не находишь?

Причем время идет. Прогресс тоже. И скоро будет какй-нить XBox Wow 1024K в котором будет гиг оперативки 40 процессоров и другая круть. К тому времени XNA заматереет и облипнет тучей утилит и библиотек. Основной заботой будет сложность и масштабируемость, а вовсе не выжымание последних битов из последнего байта.

Что думаешь? А?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Сложный язык для сложных срограмм.
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.01.07 22:29
Оценка:
Здравствуйте, FR, Вы писали:

FR>Кстати в подобных Q4 шутерах скрипты обычно очень мало используются.


Там пол игры скриптовых сцен.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Сложный язык для сложных срограмм.
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.01.07 22:29
Оценка:
Здравствуйте, Mckey, Вы писали:

M>Где-то я видел ссылки на порты Doom-а написанные на Java-е...

M>вполне играбельные...

Q3 на Хаскеле еще прикольнее.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Сложный язык для сложных срограмм.
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.01.07 22:29
Оценка: +1
Здравствуйте, eao197, Вы писали:

E>А не напомните, какой язык был доминирующим языком высокого уровня десять лет назад? Хотя бы на x86 платформе?


Как сейчас помню споры между С-шниками и Паскалистами в 1994-ом.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Ада: Сложный язык для сложных программ.
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.01.07 22:29
Оценка: :)
Здравствуйте, Сергей Губанов, Вы писали:

СГ>По сути язык Оберон и есть "ассемблер", только объектно-ориентированный и для "оберон-машины".


Скорее для "Оберон-голов".
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Сложный язык для сложных срограмм.
От: raskin Россия  
Дата: 30.01.07 22:32
Оценка:
konsoletyper wrote:
> На C#/Java пока не время. Экспериментировал с C# + ManagedDX. Пока
> слабовато, для серьёзных игр не потянет. А Pascal он же слабее C++.
C# в некоторых местах тоже, или нет? Pascal зато читаем человеком. С
приделанной кодогенерацией — можно жить...
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Ада: Сложный язык для сложных программ.
От: AVC Россия  
Дата: 30.01.07 22:35
Оценка:
Здравствуйте, Plague, Вы писали:

P>Хех, как Вы хитро сюда к разговору Вирта прикрутили, это намек на Оберон? Его простота в отсутствии "Синтаксического оверхеда"?


Просто там вот это
http://www.rsdn.ru/Forum/Message.aspx?mid=707886&amp;only=1
не нужно.
Впрочем, это, наверное, так интересно...

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[9]: Сложный язык для сложных срограмм.
От: Cyberax Марс  
Дата: 30.01.07 22:47
Оценка: 4 (1)
VladD2 wrote:
> C>А ты напишешь ВЕСЬ Q4 на Питоне? Ведь оптимизация — это не задача.
> Что про Питон то речь вести. Ясно, что писать движек на интерпретаторе
> неразумно дорого. Впрочем как и прикладную логику на С++.
Просто был выдвинут тезис о том, что оптимизация — это не задача. Я
оспариваю именно этот тезис.

> Но какие ты видишь проблемы чтобы написать игру скажем на Немерле.

> Причем как скрипты, так и львиную долю движка? Ну, скажем если
> использовать XNA или хотя бы Menaged DX?
Медленнее будет, причем заметно. У меня знакомый товарищ, занимающийся
разработкой игр, уже пробовал XNA Studio — пишется неплохо, но вот
заметно торррмознее.

Так что для этого поколения консолей и PC пока managed в сложных играх
использоваться не будет. В следующих поколениях — возможно, но еще не в
этом. В общем, в 2010 посмотрим.

> Причем время идет. Прогресс тоже. И скоро будет какй-нить XBox Wow 1024K

> в котором будет гиг оперативки 40 процессоров и другая круть. К тому
> времени XNA заматереет и облипнет тучей утилит и библиотек. Основной
> заботой будет сложность и масштабируемость, а вовсе не выжымание
> последних битов из последнего байта.
> Что думаешь? А?
Ну тут и альтернативные технологии подтягиваются. Мне вот лично нравится
LLVM — на ней можно было бы нормально (а не как в Managed C++)
совместить С++ и управляемые языки.

Подходы .NET и Java к созданию VM мне кажутся тупиком. Гибкости мало.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[12]: Сложный язык для сложных срограмм.
От: jazzer Россия Skype: enerjazzer
Дата: 30.01.07 23:59
Оценка:
Здравствуйте, VladD2, Вы писали:

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


J>>Ну и макросы макроассемблера тоже


VD>А как же?


J>>давайте все же разделим, что мы считаем метапрограммированием, а что — нет.


VD>Давай. Мое определение очень точно — это написание программы которая порождает другую программу.


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


Остаток моего поста прошел, мимо, видимо. Жаль.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
You will always get what you always got
  If you always do  what you always did
Re[12]: Сложный язык для сложных срограмм.
От: jazzer Россия Skype: enerjazzer
Дата: 31.01.07 00:09
Оценка:
Здравствуйте, VladD2, Вы писали:

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


J>>Так почему же _сейчас_ все бросились использовать шаблоны и препроцессор для вещей, на которые они изначально не были рассчитаны? Ответ простой: потому что _сейчас_ стало ясно, что без этого не жить.


VD>Это твой взгляд на мир из твоего мира (в котором кроме С++ ничего не видно).


-1. Переход на личность.

Остальное поскипано как не противоречащее моим высказываниям.

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


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

Так с чем ты споришь-то?
jazzer (Skype: enerjazzer) Ночная тема для RSDN
You will always get what you always got
  If you always do  what you always did
Re[8]: Сложный язык для сложных срограмм.
От: jazzer Россия Skype: enerjazzer
Дата: 31.01.07 00:11
Оценка:
Здравствуйте, VladD2, Вы писали:

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


J>>Шаблоны в С++ тоже вон были давно, но применяться для метапрограммирования и программирования в функциональном стиле они стали совсем недавно,


VD>Шаблоны то конечно были. Правда не очено давно (меньше чем существует С++), но вот одна загвоздка. Для их применения в целях метапрограммирвоания не просто шаблоны, а шаблоны допускающие рекурсивное определение, а это появилось в реальных компиляторах только где-то в конце 90-ых прошлого века. Даже VC 6 выпуска 1998 года имел кучу проблем в этой области и реально применяться для этого не мог. Следующая версия VC вышла в 2002 году.


VD>Меж тем макросам С столько же лет как и самому С. И это далеко не первый случай применения специальных мета-языков.



Опять не пойму, с чем ты споришь. Ты меня хочешь в какой-то флейм втянуть, что ли?
jazzer (Skype: enerjazzer) Ночная тема для RSDN
You will always get what you always got
  If you always do  what you always did
Re[10]: Сложный язык для сложных срограмм.
От: Андрей Хропов Россия  
Дата: 31.01.07 00:18
Оценка:
Здравствуйте, raskin, Вы писали:

R>Pascal зато читаем человеком.


Ну это знаешь кому что нравится. Лично меня всегда жутко раздражали и раздражают эти BEGIN/END вместо {} или () или вообще отступов.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: Сложный язык для сложных срограмм.
От: Андрей Хропов Россия  
Дата: 31.01.07 00:18
Оценка: +1
Здравствуйте, konsoletyper, Вы писали:

K>>>Движки действительно писать можно только на C++, а жаль .

АХ>>Да ладно тебе, можно и на C, С#, Pascal, Java...

K>На C#/Java пока не время. Экспериментировал с C# + ManagedDX. Пока слабовато, для серьёзных игр не потянет.


Хм, MS так не думает: Microsoft XNA. Там спецверсию компактного фреймворка замутили которая и на XBox 360 идет.

K> А Pascal он же слабее C++.


Ну слабее, я вообще эти Паскали-Обероны не люблю, но код там достаточно быстр, так что писать то можно.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Ада: Сложный язык для сложных программ.
От: jazzer Россия Skype: enerjazzer
Дата: 31.01.07 00:22
Оценка: +2 -1
Здравствуйте, AVC, Вы писали:

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


P>>Хех, как Вы хитро сюда к разговору Вирта прикрутили, это намек на Оберон? Его простота в отсутствии "Синтаксического оверхеда"?


AVC>Просто там вот это

AVC>http://www.rsdn.ru/Forum/Message.aspx?mid=707886&amp;only=1
AVC>не нужно.
AVC>Впрочем, это, наверное, так интересно...

Демагогия чистой воды.
В указанном посте описывается чистейшей воды извращение (цитаты: "Что-то вчера взбрело в голову", "заплатка для дебага"), а ты его сюда выносишь как будто все программы на С++ так пишутся.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
You will always get what you always got
  If you always do  what you always did
Re[10]: Сложный язык для сложных срограмм.
От: jazzer Россия Skype: enerjazzer
Дата: 31.01.07 00:45
Оценка: +2
Здравствуйте, eao197, Вы писали:

J>>В то время рулили всякие алголы и фортраны и прочие PL/1


E>Понятие "рулили" очень абстрактное. То, что большинство программистов в то время выполняли свою работу не на Lisp-е вовсе не означает, что на лиспе вообще не делалось важных и ответственных проектов. Думаю, что таки делались и метапрограммирование при этом использовалось на полную катушку.


Тогда понятие "бронзовый век" тоже очень абстрактное
Потому что наверняка кто-нть где-ть открыл возможность работы с железом.
И на этом основании давайте заклеймим все остальные кузни того времени как не имеющие "базовой вещи" — печи для работы с железом.

С++ вполне соответствовал состоянию индустрии на момент его создания.
Тогда позарез нужен был язык с ООП.
Это сейчас все во всех областях приложения программирования рванули в сторону функциональных языков и метапрограммирования. Ничего подобного, я уверен, в то время не было. Конечно, были отдельные проекты, и вообще разных языков было за сотню, наверное.
Но не было такого, чтобы, образно говоря, программисты стояли на улицах с плакатами: "Дайте нам язык с поддержкой рефлексии и метапрограммирования, без него не жить". А было "Дайте нам язык с поддержкой ООП, но чтоб он не тормозил, как Смолтолк, а работал со скоростью Си".
Скажем (может, сейчас Сергей Губанов подтянется), почему следующая версия Паскаля называлась Object Pascal, а не Meta Pascal?
Раз, как вы утверждаете, был большой запрос на это дело со стороны индустрии и это считалось "базовой вещью"?

Неужели я так криво пишу, что меня вообще невозможно понять?
jazzer (Skype: enerjazzer) Ночная тема для RSDN
You will always get what you always got
  If you always do  what you always did
Re[8]: Сложный язык для сложных срограмм.
От: jazzer Россия Skype: enerjazzer
Дата: 31.01.07 00:52
Оценка: :)
Здравствуйте, Kisloid, Вы писали:

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


J>>Ты не согласен? Старая? И когда же метапрограммирование начало рассматриваться и применяться как полноценный метод программирования наряду с другими? До рождения С++?


K>

K>Впервые термин квази-цитирование был введен известным специалистом в области логики Уиллардом Куини в 1940 году. Куин использовал квази-цитирование для конструирования выражений математической логики. И первым языком, использующим, механизм квази-цитирования стал Lisp разработанный Джоном Маккарти примерно в 1960 году, но внедрен в язык и начал применяться только с середины 70-х годов.

K>(с) мой, отрывок из моей работы

Спасибо за экскурс , но что, разве все программисты после этого сразу сказали: "Вау, как это круто, эй, если кто тут соберется разрабатывать новый язык — имейте в виду, если в нем не будет такой базовой вещи как квази-цитирование, он нафиг никому не будет нужен"?
jazzer (Skype: enerjazzer) Ночная тема для RSDN
You will always get what you always got
  If you always do  what you always did
Re[8]: Сложный язык для сложных срограмм.
От: Ужасть бухгалтера  
Дата: 31.01.07 01:06
Оценка:
АХ>Ну если многие использовали (и используют) VC++ 6.0 который абсолютно не соответствует стандарту C++, имеет реализацию STL, в которой течет память, и частенько ICEится, то чему удивляться.

offtop.
Нельзя ли немного подробнее о проблемах с STL? Немного тут отстал от жизни...
Re[9]: Сложный язык для сложных срограмм.
От: jazzer Россия Skype: enerjazzer
Дата: 31.01.07 02:07
Оценка:
Здравствуйте, konsoletyper, Вы писали:

K>Например, почему я должен к статическому члену класса обращаться через "::", а не через "."?

Обращайся через точку, на здоровье Попробуй сначала

K>Зачем дважды дублировать сигнатуру метода в .h и .cpp файлах?

Ну не дважды Одного дублирования вполне достаточно
Потому что в языке есть перегрузка, и компилятору банально нужно откуда-то догадаться, что ты имеешь в виду, определяя функцию f — f(int) или f(double, string). Плюс совместимость с Си?, в которой перегрузки не было, а было хрен знает что вообще без сигнатур. Не хочешь дублировать — пиши в стиле Java, объявляя все в заголовочных файлах.

K>Почему чтобы сделать вложенный неймспейс, я не могу использовать точечную нотацию, а должен вкладывать друг в друга несколько блоков?

Боремся с синтаксическим оверхедом?

K>Почему существуют три различных способа приведения типа?

Исторически (например, совместимость с Си). Они тебе чем-то мешают? Выбери один, которй тебе по душе, и пользуй его — в чем проблема?

K>Почему метапрограммные навороты выглядят так жутко? Почему нет нормального способа прикрутить человеческий GC, свойства, события и т.д. Потому что язык не был на все это рассчитан. Не было в его списке design goals соответствующих пунктов (а вот совместимость с Си была).

А сейчас есть — смотри ссылку в исходном топике.
Времена меняются — меняются и требования.
Успеет С++ измениться, чтоб соответствовать современным требованиям — будет жить.
Не успеет — останется только в legacy-проектах.

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


С этим тоже никто не спорит. К ним задаются другие вопросы (например, почему в Java нет const?)
jazzer (Skype: enerjazzer) Ночная тема для RSDN
You will always get what you always got
  If you always do  what you always did
Re[14]: Сложный язык для сложных срограмм.
От: AndreiF  
Дата: 31.01.07 04:03
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Я вот заявляю, что Оффис без VB в принципе не написать. Иначе как на нем

C>макросы писать?

Ну во первых, не VB, а VBA — это очень разные вещи.
Во вторых, интерпретатор VBA — это одна из составных частей офиса, написанная тем же производителем что и офис.

Так что ты доказать то хотел?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: Сложный язык для сложных срограмм.
От: Nuald Россия http://nuald.blogspot.com
Дата: 31.01.07 04:08
Оценка:
Здравствуйте, IT, Вы писали:

R>>Ну а как насчёт, ну не знаю, доступа к регистрам аппаратуры, или "написания программы на машинном коде" (ну это когда ты пишешь программу на яву, но при этом фактически знаешь, что будет делать процессор).


IT>Попробуй записать на C++ что-нибудь в порт под виндой, а я посмотрю


Запускаю драйвер GiveIO.sys и пишу (inp, outp). Более того, мы даже на C++/CLI это делали
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>