Re[47]: Создание игр на managed-языках
От: LSL  
Дата: 14.05.05 11:30
Оценка: +1
Здравствуйте, Козьма Прутков, Вы писали:

КП>Но он ориентирован на разработку

КП>корпоративных приложений, автоматизации бизнеса, а не утилит и игр.

C# Language Specification: C# is intended to be a simple, modern, general-purpose, object-oriented programming language.
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Re[50]: Python vs C#
От: WFrag США  
Дата: 14.05.05 11:32
Оценка: +1
Здравствуйте, Cyberax, Вы писали:

>> 1) Любой синтаксис, который нам понравится.

>> 2) DSL будет компилироваться (в LISP-код, а затем и в нативный при
>> необходимости), а не интерпретироваться. В том числе есть обширные
>> возможности для оптимизации или применения Partial Evaluation. И это
>> все будет работать при компиляции кода, а не при его выполнении.

C>3) Lots of Incredibly Stupid Parentheses


Нет, это конфликтует с первым пунктом. Я же написал — любой синтаксис Если вдруг скобочки не устраивают.
Re[48]: Создание игр на managed-языках
От: GlebZ Россия  
Дата: 14.05.05 11:33
Оценка: :)
Здравствуйте, eao197, Вы писали:

E>Лично мне очень жаль, что Microsoft не занимается сама портированием .NET и C# хотя бы на Unix-ы (типа Linux-а и BSD). Моно и ДотГНУ -- это хорошо, то далеко не Microsoft.

Так я не понял, это хорошо или плохо?

С уважением, Gleb.
Re[48]: Создание игр на managed-языках
От: WolfHound  
Дата: 14.05.05 11:33
Оценка: -1
Здравствуйте, eao197, Вы писали:

E>Кстати да, очень часто в скриптовых программках натыкаешься на такой hard-coding. Это не значит, что на Python-е (Ruby) нельзя писать без hard-coding-а (равно как на C++, Java и C# легко писать с hard-coding-ом). Но часто именно на такой код нарываешься.

Дело в том что для питона что есть хардкодинг что его нет всеравно придется все отлажывать на всю катушку ибо этот дурак не требует объявления переменных. Помнится из-за такой ошибки (правда там был другой язык но с тойже проблемой) упал какойто космический корабль. Ну опечатался программер в одном месте с кем не бывает, а компилятор сволочь пропустил...
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[48]: Создание игр на managed-языках
От: LSL  
Дата: 14.05.05 11:41
Оценка:
Здравствуйте, eao197, Вы писали:

E>Жаль, что гуру, говоря о достоинствах .NET-а, часто отмахиваются от наличия других платформ

E>Лично мне очень жаль, что Microsoft не занимается сама портированием .NET и C# хотя бы на Unix-ы (типа Linux-а и BSD). Моно и ДотГНУ -- это хорошо, то далеко не Microsoft.

Mono для сабжа очень даже достаточно.

http://www.axiom3d.org/Default.aspx?tabid=27&amp;g=posts&amp;t=1536
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Re[47]: Создание игр на managed-языках
От: FR  
Дата: 14.05.05 11:44
Оценка: +1
Здравствуйте, Козьма Прутков, Вы писали:

КП>Трурль wrote:

>> Здравствуйте, WolfHound, Вы писали:
>> Поставим вопрс по-другому. Стоит ли связываться с C#, если есть питон?
КП> стоит ли шить сапоги если мы уже умеем плести лапти?
.........
КП>Итого, всему свое место в жизни

Угу только лапти запросто могут превратится в сапоги и наоборот в зависимости от решаемой задачи.
Re[49]: Python vs C#
От: FR  
Дата: 14.05.05 11:44
Оценка:
Здравствуйте, WFrag, Вы писали:

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


WF>>>Есть вообще мнение, что выгоднее вместо General Purpose Languages использовать DSL и развитие в ближайшем будущем должно идти в сторону удешевления создания DSL.


FR>>http://www.iso.ru/journal/articles/print/264.html


WF>До LISP-а ему в этом плане все равно далеко. В случае LISP-а мы имеем:


WF>1) Любой синтаксис, который нам понравится.


ты ссылку до конца прочитал?

WF>2) DSL будет компилироваться (в LISP-код, а затем и в нативный при необходимости), а не интерпретироваться. В том числе есть обширные возможности для оптимизации или применения Partial Evaluation. И это все будет работать при компиляции кода, а не при его выполнении.


Так тут тоже компилируется в байт код питона.

Вообще мне лисп не нравится лучше тогда форт взять
Re[47]: Создание игр на managed-языках
От: FR  
Дата: 14.05.05 11:45
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>FR wrote:


>> WH>На что спорим что я на питоне закриптую программу так что ты в ней

>> озвереешь разбираться.
>> Конечно напишешь Но суть в том что создатели java и C# выкинув
>> процедурный стиль просто принуждают из простейших вещей делать криптокод.

C>Объясните, что вы понимаете под "процедурным стилем"? Код с глобальными

C>переменными и фукнциями?

Нет скоре то что сильно любят Вирт и Дейкстра, код без глобальных переменных и goto, хорошо структуированный.

>> WH>Есть очень большая проблема: Отсутствие статической типизации.

>> Чем ее отсутствие помешает преименовыванию методов и т. п.

C>Вот такой код:

C>
C>class Test
C>    def test_method(self):
C>       ...
C>...
C>tst=some_external_function()
C>tst.test_method()
C>

C>Предположим, что код класса "Test" и переменная tst расположены в разных
C>файлах в большом проекте из 5000 классов. Как нам теперь переименовать
C>метод test_method в new_test_method?

C>В языках со статической типизацией все просто — переименовываем метод и

C>компилируем программу, а потом по сообщениям об ошибках находим все
C>точки использования метода test_method. Или если язык достаточно просто
C>(типа Java или C#), то IDE может проанализировать код и заменить все без
C>перекомпиляции.

так и в питоне можно запустить PyChecker и получить тоже AttributeError: Test instance has no attribute 'test_method'

>> WH>Что называется почувствойте разницу.

>> и что?

C>А то, что с ReShaper'ом или IDEA "производительность" получается ничуть

C>не хуже, чем у питонистов.

>> WH>Сомнительное преймущество.

>> угу также как и шаблоны в плюсах

C>Темплейты в С++ — это огромное его преимущество, и ничуть не сомнительное.


обобщенное программирование в питоне тоже.

>> Может наоборот? Тем более пока C#2 нет, а переносимые варианты

>> появятся еще позже.

C>Переносимый вариант (Mono) выйдет через пол-года.


А разве C#2 от ms уже вышел?

>> А связыватся стоит, так как портировать питон и настраивать под

>> определенную задачу гораздо легче чем шарп, и памяти он кушает намного
>> меньше.

C>Не факт.


Если судить по играм то факт.

>> FR>>и как плюс они будут короче и понятней, осбенно настроечные

>> скрипты с которыми работают дизайнеры, то есть те кто мало разбирается
>> в кодировании.
>> WH>Сильно сомневаюсь
>> зря, только то, что питон подерживает процедурный стиль уже гигантское
>> упрощение, код можно писать без всякой обвязки, и читатся он будет не
>> сложнее чем ini файл.

C>Только если при этом он будет делать примерно то же, что и "hello world".


ты контекст отслеживай, я говорил про настроечные скрипты в играх, это "умный" ini файл.
Re[49]: Создание игр на managed-языках
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 14.05.05 11:45
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


E>>Кстати да, очень часто в скриптовых программках натыкаешься на такой hard-coding. Это не значит, что на Python-е (Ruby) нельзя писать без hard-coding-а (равно как на C++, Java и C# легко писать с hard-coding-ом). Но часто именно на такой код нарываешься.

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

А другой взорвался на старте из-за того, что управляющий софт был написан на статически типизированной Ada...
... << RSDN@Home 1.1.4 beta 6a rev. 436>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[49]: Создание игр на managed-языках
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 14.05.05 11:45
Оценка: 2 (2) +1
Здравствуйте, GlebZ, Вы писали:

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


E>>Лично мне очень жаль, что Microsoft не занимается сама портированием .NET и C# хотя бы на Unix-ы (типа Linux-а и BSD). Моно и ДотГНУ -- это хорошо, то далеко не Microsoft.

GZ>Так я не понял, это хорошо или плохо?

Хорошо, что есть Моно и дотГНУ.
Плохо:
— то, что Microsoft официально не занимается портированием .NET и C# на другие платформы сама ;
— то, что VladD2 и теперь уже WolfHound прибегают к аргументу, что линукс их не интересует
... << RSDN@Home 1.1.4 beta 6a rev. 436>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[48]: Создание игр на managed-языках
От: Козьма Прутков Россия  
Дата: 14.05.05 11:45
Оценка: -1
LSL wrote:
> Здравствуйте, Козьма Прутков, Вы писали:
>
> КП>Но он ориентирован на разработку
> КП>корпоративных приложений, автоматизации бизнеса, а не утилит и игр.
>
> C# Language Specification: C# is intended to be a simple, modern, general-purpose, object-oriented programming language.
угу. И фото с рекламного проспекта
К тому же я имел в виду не только и не столько сам язык сколько .NET в
целом (без него шарп ведь не живет). Ну не будешь ты на C# писать
драйвера. Не будешь, пожалуй, писать и софт типа СУБД, веб-серверов и
т.п. — для этого есть C++. Не будешь писать поделку на 5 строк, которая
обработает текстовый лог используя регулярное выражение и что-нибудь
тебе сообщит — это удел скриптовых языков. Он предназначен для быстрой,
эффективной, дешевой разработки приложений. И с этой задачей справляется
на 5. А то, что язык general purpose — так это ежу понятно: он же не
заставляет тебя оперировать какими-то встроенными знаниями о целевой
области, только общепринятыми конструкциями и типами. Лом тоже general
purpose, хоть гвозди забивай, но это не означает, что пора выкинуть
шампуры и шашлык жарить на нем.
Ох, чтой-то я уже про шашлык вспомнил?
Posted via RSDN NNTP Server 2.0 beta
Да хранит вас господь в сухом прохладном месте...
Re[43]: Создание игр на managed-языках
От: Gaperton http://gaperton.livejournal.com
Дата: 14.05.05 11:47
Оценка: 1 (1) +3 :)
Здравствуйте, WolfHound, Вы писали:

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


G>>Да правда чтоли? VB со своим IDispatch, JScript, PHP, Perl и ваш любимый C# c контейнерами Object-ов — типизированны по самое нехочу?

WH>С++, C#2...
Это у нас весь мэйнстрим?
FR>>А отсутствие типизпции может быть и преимуществом.
WH>Да правда чтоли? Интересно почему тогда весь мейнстрем типизированый по самое нехочу?
Плохонький аргумент, короче, с твоей стороны. Совсем никакой.
Re[51]: Python vs C#
От: Gaperton http://gaperton.livejournal.com
Дата: 14.05.05 11:51
Оценка:
Здравствуйте, WFrag, Вы писали:

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


>>> 1) Любой синтаксис, который нам понравится.

>>> 2) DSL будет компилироваться (в LISP-код, а затем и в нативный при
>>> необходимости), а не интерпретироваться. В том числе есть обширные
>>> возможности для оптимизации или применения Partial Evaluation. И это
>>> все будет работать при компиляции кода, а не при его выполнении.

C>>3) Lots of Incredibly Stupid Parentheses


WF>Нет, это конфликтует с первым пунктом. Я же написал — любой синтаксис Если вдруг скобочки не устраивают.

+1. Взять хотя бы упомянутый Синклером Logo. Это диалект лисп .
Re[50]: Создание игр на managed-языках
От: GlebZ Россия  
Дата: 14.05.05 11:58
Оценка:
Здравствуйте, eao197, Вы писали:

E>Хорошо, что есть Моно и дотГНУ.

E>Плохо:
E> — то, что Microsoft официально не занимается портированием .NET и C# на другие платформы сама ;
А я бы сказал что наоборот хорошо. Чем меньше Microsoft будет вмешиваться в сам Net, тем лучше. Как уже говорилось, что покрытие предметной области в Java наиболее полное. И не последнюю роль в этом играли именно третьи фирмы и опенсорс и отсутствие монополии типа Microsoft. Когда у тебя в конкурентах Microsoft, на рынке делать нечего.
E> — то, что VladD2 и теперь уже WolfHound прибегают к аргументу, что линукс их не интересует
Это их проблемы. (хотя честно, сам работаю только на wintel).

С уважением, Gleb.
PS: вот если бы они коды JIT открыли, вот тогда Net компиляторы в натив начали бы плодится как грибы.
... << RSDN@Home 1.1.4 beta 4 rev. 358>>
Re[48]: Создание игр на managed-языках
От: Козьма Прутков Россия  
Дата: 14.05.05 12:06
Оценка: :)
FR wrote:
> Угу только лапти запросто могут превратится в сапоги и наоборот в зависимости от решаемой задачи.
типа, пиво — хорошая водка
нет, дружище, из лаптей хреновые сапоги получатся: хоть ты их резиной
заверни, а все равно в дождь промокнешь. Аналогично как из сапог —
хреновые лапти: не повесишь ты на стенку на даче полаченные сапоги, ну
не красиво
Posted via RSDN NNTP Server 2.0 beta
Да хранит вас господь в сухом прохладном месте...
Re[51]: Создание игр на managed-языках
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 14.05.05 12:07
Оценка:
Здравствуйте, GlebZ, Вы писали:

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


E>>Хорошо, что есть Моно и дотГНУ.

E>>Плохо:
E>> — то, что Microsoft официально не занимается портированием .NET и C# на другие платформы сама ;
GZ>А я бы сказал что наоборот хорошо. Чем меньше Microsoft будет вмешиваться в сам Net, тем лучше. Как уже говорилось, что покрытие предметной области в Java наиболее полное. И не последнюю роль в этом играли именно третьи фирмы и опенсорс и отсутствие монополии типа Microsoft. Когда у тебя в конкурентах Microsoft, на рынке делать нечего.

Может быть. Хотя вот у Java сама Sun заботиться о том, чтобы при выходе новой версии Java весь новый JDK сразу был доступен на всех официально поддерживаемых Sun-ом платформах. Кроме того, именно Sun позиционирует Java как кроссплатформенное решение (хотя Java -- это сама по себе платформа ) А в случае с Microsoft-ом, во-первых, такого позиционирования со стороны самого Microsoft-а нет и, во-вторых, как следствие, после выхода очередной версии .Net будет проходить некоторое время пока Моно и дотГНУ подтянуться. Да и опыт GNU Classpath показывает, что тяжеловато за Sun-ом угнаться в отдельной реализации JDK.

Поэтому мне, как стороннему наблюдателю за спорами C# vs something интересно читать про достоиства .Net/C#, но из-за необходимости быть портабельным я не рассматриваю сейчас .Net/C# как серьезную альтернативу C++/Java и даже Python/Perl/Ruby.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[50]: Создание игр на managed-языках
От: Трурль  
Дата: 14.05.05 12:08
Оценка:
Здравствуйте, eao197, Вы писали:

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


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


E>А другой взорвался на старте из-за того, что управляющий софт был написан на статически типизированной Ada...

Тот, о котором пишет WolfHound, тоже статически типизированный.
Re[47]: Создание игр на managed-языках
От: FR  
Дата: 14.05.05 12:13
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


FR>>Конечно напишешь Но суть в том что создатели java и C# выкинув процедурный стиль просто принуждают из простейших вещей делать криптокод.

WH> Может уже пора писать в объектно-ориентированом стиле?

Не везде выгодно писать в ОО стиле.

FR>>Чем ее отсутствие помешает преименовыванию методов и т. п.

WH>Ну попробуй переименовать функцию some принимающею три параметра типов int, float, string сласса foo. Причем так чтобы ничего не поломалось ни при каких наворотах в коде.

У питона своя специфика, но все таки не вижу проблем для написания такой утилиты.

WH>>>ReSharper не проверяет код. Он помогает его набивать, модифицировать и осуществлять навигацию. Те это часть IDE, а не компилятора.

WH>>>Что называется почувствойте разницу.
FR>>и что?
WH>А то что ReSharper не берет на себя функции компилятора по проверки программы на наличие ошибок.

так и для питона можно сделать тоже.

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

WH>Не знаю как там у тебя но у меня при малейшей нестыковки программа просо не компилируется. И не нужны мне никакие варнинги.


то есть ты всегда выставляешь level 4 и "Treat Warnings As Error"?

FR>>Тем более пока C#2 нет,

WH>Уже есть бета 2
FR>>а переносимые варианты появятся еще позже.
WH>Микрософт перенесет его везде где есть винда очень быстро. А всякие линухи лично меня не волнуют.

понятно
консоли тоже?

FR>>А связыватся стоит, так как портировать питон

WH>Ну для того чтобы портировать .НЕТ надо только прекомпилировать JIT и GC под конкретную платформу. А библиотеки те что чисто managed портируются автоматически.
FR>>и настраивать под определенную задачу гораздо легче чем шарп,
WH>Это чем же?

тем что гораздо компактнее, и сразу написан портируемым.

FR>>и памяти он кушает намного меньше.

WH>Ой да брось ты. .НЕТ жрет памяти сколько винде не жалко. Но как только винде понадобится память .НЕТ ее отдает еще до того как винда потянит свои ручки к свопу.



FR>>зря, только то, что питон подерживает процедурный стиль уже гигантское упрощение,

WH>Ну в программе из 10 строк это можно заметить. А вот в программе на несколько мегабайт исходников ты это и под микроскопом не увидишь.

Угу, только программа на питоне будет гораздо меньше чем эти несколько мегабайт.

FR>>код можно писать без всякой обвязки, и читатся он будет не сложнее чем ini файл.

WH>Очень обманчивое "преймущество". Взять тотже "Vampire: The Masquerade Bloodlines" блин все руки надо пообравать этим горе программерам которые эти скрипты писали.
WH>Замет все задается строками и магическими числами. И так везде.

А что ты еще хотел от дизайнеров?

WH>
WH>def mercurioFight():
WH>    npc = Find("Mercurio")
WH>    pc = __main__.FindPlayer()
WH>    state = pc.GetQuestState("Astrolite")
WH>    if(state == 5):
WH>        npc.SetModel("models/character/npc/unique/Santa_Monica/Mercurio/Mercurio.mdl")
WH>        npc.SetDisposition("Neutral", 1)
WH>        teleporter = Find("healthy_mercurio_spot")
WH>        teleporter.Teleport()
WH>        script = Find("mercurio_turn_around")
WH>        script.StartSchedule()
WH>        trigger = Find("mercurio_angry_talk_trigger")
WH>        trigger.Enable()
WH>        journal = Find("mercurio_journal")
WH>        journal.ScriptUnhide()
WH>        sparklies = Find("journal_sparklies")
WH>        sparklies.ScriptUnhide()
WH>    if(__main__.IsDead("Mercurio")):
WH>        npc.Kill()
WH>

WH>Представляю сколько времени они это отлаживали... Ведь одна опечатка в одном строковом литерале и...

вряд ли долго, очень помогает интерактивность, поменял что-то и сразу видно, часто без перезапуска приложения.
Re[49]: Создание игр на managed-языках
От: FR  
Дата: 14.05.05 12:13
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


E>>Кстати да, очень часто в скриптовых программках натыкаешься на такой hard-coding. Это не значит, что на Python-е (Ruby) нельзя писать без hard-coding-а (равно как на C++, Java и C# легко писать с hard-coding-ом). Но часто именно на такой код нарываешься.

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

Насчет необявленных переменных, на такой код:
from random import random

if random() < 0.001: 
    print x

PyChecker пишет: D:\temp\_tst\p1\tst1.py:4: No global (x) found

Насчет корабля ошибка была в том что вместо запятой поставили точку, программа была на фортране, подобная ошибка легко допускается и на си.
Re[51]: Создание игр на managed-языках
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 14.05.05 12:19
Оценка:
Здравствуйте, Трурль, Вы писали:

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


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


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


E>>А другой взорвался на старте из-за того, что управляющий софт был написан на статически типизированной Ada...

Т>Тот, о котором пишет WolfHound, тоже статически типизированный.

А про какие аварии вообще идет речь?

Я говорил об Ариан 5, который при старте взорвался.
Еще был, кажется, MarsExplorer, который врезался в марс из-за того, что в модуле подлета все считалось в одних единицах, а в модуле посадки в других. Интересно, на чем этот софт был написан.
Еще был какой-то случай, когда в программе на Фортране при написании константы вместо десятичной точки поставили запятую.

P.S. Лично я последние два случая знаю только из программиского фольклера (в смысле, что сам не читал каких-либо статей, где утвердалось бы именно такая причина катастрофы).
... << RSDN@Home 1.1.4 beta 6a rev. 436>>


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