Утащил у кого-то интересную статью Петцольда.

Dec 27, 2009 23:58

"Правда, что Visual Studio портит мозги?"

Интересный пассаж насчёт "зависимости" от наших компьютеров.

И, вот оно, от человека, специализирующегося на программировании на C# и под Windows Forms:And yet, IntelliSense is also dictating the way we program ( Read more... )

программирование, языки программирования

Leave a comment

kashnikov December 27 2009, 22:19:04 UTC
Я правильно понимаю, что главный поинт в том, что программист начинает быть зависимым от IntelliSense?

Reply

thesz December 28 2009, 09:27:05 UTC
Технология начинает диктовать, как её использовать.

В этом главная мысль (если что, то main point именно так переводится).

Reply

kashnikov December 28 2009, 12:35:35 UTC
Просто я так и не понял, а какой выход предлагается? Альтернативы-то точно существуют. Интересно какие.

За главную мысль спасибо, это всё тлетворное влияние :)

Reply

wizzard0 December 28 2009, 12:52:10 UTC
подпиливать студию под себя, юзать DSL, T4 и прочую фигню)))

Reply

thesz December 28 2009, 21:32:05 UTC
Я не знаю, что такое T4 и зачем подпиливать студию под себя.

Reply

wizzard0 December 29 2009, 00:47:12 UTC
T4 - Text Template Transformation Tool, язык шаблонов, компилятор которого доступен в VS а также отдельно в составе .net sdk от майкрософта, позволяет втыкаться в Language Service и заниматься метапрограммированием, не заморачиваясь с написанием парсеров и кодогенераторов тк работает на уровне обьектной модели VS, соответственно для всех поддерживаемых ею языков программирования. хотя никто не запрещает и самому парсить, конечно.

Reply

wizzard0 December 29 2009, 00:57:14 UTC
>> зачем подпиливать студию под себя

потому что когда в одном UI компактно представлены редакторы (применительно к играм - правил геймплея и редакторы уровней, например), которые генерируют код логики, которая подхватывается в текущий проект - это просто удобно.

подсветка ошибок и контекстный хелп к своим конфигам\DSL'ям, опять же. фидбек от компиляторов. правда, подсветку синтаксиса я пока написать не осилил.

Reply

thesz December 29 2009, 20:11:17 UTC
Ну, понятно.

C++?

Reply

wizzard0 December 30 2009, 13:47:02 UTC
я все же больше по C# и велосипедам, но и для С++ видел.

Reply

thesz December 30 2009, 22:27:17 UTC
C# в играх?

Такое бывает?

Reply

wizzard0 December 30 2009, 23:46:10 UTC
Редакторы, toolchain, build pipeline, AI, etc.

Кроме того, см. http://unity3d.com/ и сильверлайт (для прототипирования ничего так)

Reply

thesz December 31 2009, 11:42:10 UTC
Unity is a multiplatform game development tool.

Такое на C# бывает?

AI тоже рилтайм, чего у C# добиться тяжело.

Reply

wizzard0 December 31 2009, 12:29:27 UTC
>> multiplatform
>> бывает?

учитывая ваш авторитет я осмелюсь все же спросить - а насколько вы знакомы с сабжевой платформой? :)

если по существу, то всё упирается в доступность библиотек. если библиотеки ведут себя одинаково - то да, один и тот же бинарник
работает на x86/x64/MIPS (что было, на том и пробовал :) ) и на разных ОС. На практике - надо тестировать, дела где-то также плохо, как и с жавой, разве что перформанс получше, а реализаций не сотни а десятка полтора.

>> AI тоже рилтайм

...и с предметной областью?)

в отличие от графики, AI это soft realtime, протормоз этих тредов грозит максимум смертью или странным поведением ботов, их все равно никто не гоняет на каждый кадр, частоты 0.5..20 тиков в секунду обычно достаточно. все равно отзывчивость AI в мультиплеере упирается в лаг сети, который уменьшить нереально.

всё зависит от того, какую реализацию фрэймворка и GC взять, и как мы работаем с памятью.

Reply

thesz December 31 2009, 14:59:12 UTC
Одно сложное слово: MacOSX. Как насчёт него? Sony Playstation 3 это никак не MIPS/x86(64), кстати. Поэтому вопрос о мультиплатформенности стоит всё так же.

AI бывает разный. Есть просчёт пути ноги робота, а есть просчёт пути ботов.

Среди моего опыта есть и геймдев тоже.

Reply

wizzard0 December 31 2009, 15:29:04 UTC
Ну, в mac os официально поддерживается сильверлайт, вообще говоря. Я его много не крутил, за неимением железа, но на первый взгляд всё работает. Т.е. вообще всё. Как обстоят дела у Mono и Unity - не знаю. Юнити, впрочем, начинали именно с Mac (PowerPC), поэтому наверное у них всё хорошо. Как по мне, портирование дотнета упирается в написание JIT (интерпретировать все-таки тормозно) и platform interop layer'ов.

Про успешные опыты на PS3 (SPU) не слышал (модель памяти плохо ложится, согласен), на PPU вроде портировали.

Для роботов, эмбеда и разных computationally heavy tasks полезность сомнительна, согласен.

Как по мне, ценность дотнета в относительно безопасном рантайме, который позволяет извращаться с предметной областью всяких бизнес-процессов и не отвлекаясь на мелочи прототипировать идеи. Ну и того же сильверлайта не было бы, не будь VM песочницей - activex, слава богу, вымерли :)

Reply

thesz December 31 2009, 15:35:25 UTC
Меня точно не читают, или читают плохо.

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

Так что интеллект интеллекту рознь.

Reply


Leave a comment

Up