D>Здравствуйте, VladD2, Вы писали:
VD>>... Надо вообще, вводить квоты на прибывание на этом форуме .
D>Судя по твоей активности на этом форуме, D>мне трудно представить, когда ты успеваешь спать.
он же прграммист, он давно написал программу, которая за него это делает. ну в смысле спит
Здравствуйте, BulatZiganshin, Вы писали:
D>>Судя по твоей активности на этом форуме, D>>мне трудно представить, когда ты успеваешь спать.
BZ>он же прграммист, он давно написал программу, которая за него это делает. ну в смысле спит
Здравствуйте, Cyberax, Вы писали:
C>VladD2 wrote: >> Я этот пример привел к тому, что нет там каких-то сверх-задач требудющих >> все до единой строчки кода оптимизировать до невероятности. C>Q3 уже заметно устарел — там даже современной физики нет. А она весьма C>прожорлива стала.
C>Еще в Q3 достаточно примитивный collision detector (они там просто по C>BSP проходят), который тоже является весьма вычислительно-прожорливой C>частью. А еще бывают зверства вроде совмещенных octree/BSP — это уже C>заметно увеличивает вычислительную нагрузку.
Ну, то есть ты тоже согласен, что никаких таких супер затрат при при выводе графики нет? Вот и славно.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Alexmoon, Вы писали:
A>Вам никогда не казалось то, что ваш вооруженный взгляд ошибается? Если ответите да, то я об этом не узнаю, а если нет, то ответ не верен, и врядли что либо изменит.
Казалось, но не в этом случае.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Alexmoon, Вы писали:
VD>>ОК, тогда тебе не составит труда описать известные тебе языки с встроенными возможностями метапрограммирвоания объяснить почему ты считашь, что С++-ное метапрограммирвоание на шаблонах лучше, или хотя бы не хуже. Не составит?
A>Не составит конечно,
Много воды вырезано. Как я и прдпологал кроме множетсва пафосных но совершенно пустых фраз мы ничего и не услышали. Списка не будет просто потому, ты не знаком с такими языками.
Так вот тогда нечего лезть в споры с теми кто знаком, и пытаться их убедить в том, что их слова громкие или не соотвествуют действительности.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Alexmoon, Вы писали:
VD>>Представь себе идеомы бывают более и менее удачными. А бывает так, что что-то новое полностью поддерживает идиомы старых решений и предлагают кое-что нове. Или поддерживает идиому более чистым образом. Ну скажем, поддерживает метапрограммирование напрямую, без александревсовских ухищрений.
A>А есть такое?
Есть.
A>И при этом это что-то полностью сводит эффективность испольования чего то к нулю?
Нет. В абсолютных величинах, конечно нет. Как наличие гидравлического пресса не сводит на нет эффективность каменного топора. Но вот если смотреть на вещи относительно, то конечно эффективность каменного топора выглядит не лучшим образом. Так же и с метапрограммированием на шаблонах. Они просто не так удобны, эффективны, гибки. Но все еще ими можно пользоваться.
A>Не в ваших словах было аггресивное безальтернативное заявление? Мне не показалось это вопросительным, как запрос к обсуждению. Вы уже все решили, и при этом мнение других заведомая ошибка?
То что ты называешь "аггресивное безальтернативное заявление" на самом деле является констатацией факта. И ты можешь сам в этом убедиться просто попробовав и сопоставив результат.
VD>>А что же нелогичного в том, что нас что-то не устраивает? Может быть мы знаем как можно делать тоже самое, но лучше? A>Кто знает как делать лучше?
Мы.
A>Я так понимаю, готов список фамилий.
Да. В него войдут минимум четверь активных посетителей этого форума. Многие из них с С++-ным бэкэндом (Я, Вльфхаунд и ИТ по крайней мере точно).
A> И пожалуйста вдумайтесь глубже в мои слова глубже чем вам могло бы показаться. Это не утверждение обратного, а лишь вам знак того, что так же полностью объективны и восприимчивы к тому на что отвечают, а не ищите подвох в словах.
В думался. Не объективности со своей стороны не заметил.
A>Вы никогда не воспримите актуально суть происходящих вещей, отличных от вашего мнения. Я это тоже прозрачно понимаю не вооруженным взглядом.
Воспринимаю. И даже меняю свои убеждения. Но для этого нужны аргументы, ссылки и доказательства.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, AndrewVK, Вы писали:
CC>>>Не столько сложен, сколько сыроват. Работал с Havok 2 — тот гораздо стабильнее. Впрочем и в нем тогда с ragdoll была проблема, которую даже с их саппортом решить не удалось. E>>Хавок денег стоит, насколько мне известно. Нам их не дадут
AVK>Сильно
Здравствуйте, BulatZiganshin, Вы писали:
ПК>>Ты один работаешь или в команде?
BZ>это вообще хобби а к чему ты спрашиваешь?
Потому, что у меня сложилось впечатление, что о C/C++ ты судишь с позиции опыта коммерческой разработки софта. А о Хаскеле с позиции использования его для удовольствия. Не исключено, что после 3-4-х лет клепания программ на Хаскел под заказ, имея реальных заказчиков, обычную ротацию коллектива и другие факторы, твое мнение о качествах Хаскеля могло бы измениться в какую-то иную сторону.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Андрей,
LCR>>1. Человек ушёл с одного проекта на Java, который он писал где-то года 2. Парень, который пришёл на замену, провёл 10 месяцев, прежде чем написал первую строчку своего кода!!!
АХ> В смысле нового кода?
Да. Имеется конечно в виду не добавление "\n" в вызов log.debug(...), а добавление новой фичи.
LCR>>Меня просто ужас охватывал, когда он мне показывал список классов — он просто нажимает скроллинг и держал. А классы бежали и бежали. От имён уже начинало рябить в глазах, и наконец они сливались в одно непрерывное полотно, и лишь отпечатывался префикс C* или I*...
АХ>А сколько кода-то? Да и вообще чтобы один человек столько нагенерировал?
Да, кода много. Без учёта смежных библиотек (в которых тоже нужно разбираться) получается 1435 классов.
LCR>> По сравнению со сроком изучения системы, изучение языка это просто "о малое".
АХ>А что у вас за безумный проект такой? А документации, что, нет?
Андрей, к сожалению детали и цели я рассказать не могу. Из документации есть javadoc. Документации высокого уровня нет (и это считается нормальным ).
Порог вхождения действительно зашкаливает. Чтобы войти в проект, нужно проштудировать официальные доки — EJB tutorial, спеку и прочие. Позапускать примеры, чтобы хорошо разобраться с EJB, отличия 2.1 от 3.0. Потом посоздавать примеры, которые чуть-чуть цепляются за классы проекта, получить представление о внутренней механике. Потом ещё и ещё больше, пока наконец весь проект предстанет рисунком с маленькими белыми пятнами, а не наоборот. Возможно уникумы с феноменальной памятью справились бы лучше, но в данном случае считаю, что парень достоин уважения — он вывез-таки этот проект из стагнации и обучил ещё одного парня.
АХ>Я вот сейчас работаю с С++ библиотекой в которой порядка 800000 строк и 2200 классов, но в принципе с более-менее нормальной документацией (doxygen-сгенерированная + примеры), и навигацией по исходникам и как-то получается сразу .
Ахренеть, тоже проект-монстр. Если тебе удаётся сразу добавлять фичи и править баги, то ты просто молодец!
LCR>>Так что с позиции руководителя — 100% согласен, но с позиции практикующего программиста — только 20%
АХ>По-моему, наоборот, это программисту интереснее новые решения, эксперименты, креатив, а руководителю нужно чтобы программист просто работал как часы на стандартных технологиях и его легко можно было заменить если надо.
У тебя буквы легли неправильно. Именно это я и сказал: если я встану на позицию руководителя — то чем примитивнее и мэйнстримивее технология — тем лучше для меня, поэтому но пасаран ни Хаскелю, ни Немерлю, ни Окамлу и т.п. Но если я встану на позицию практикующего программиста — то многим новые языкам и технологиям можно и нужно уделять пристальное внимание, опять же не впадая в крайности.
C>>Еще в Q3 достаточно примитивный collision detector (они там просто по C>>BSP проходят), который тоже является весьма вычислительно-прожорливой C>>частью. А еще бывают зверства вроде совмещенных octree/BSP — это уже C>>заметно увеличивает вычислительную нагрузку.
VD>Ну, то есть ты тоже согласен, что никаких таких супер затрат при при выводе графики нет? Вот и славно.
При выводе нет, вот при подготовке к выводу конечно очень даже есть. (В Q3 подготовки в современном смысле,
почти и нет).
Здравствуйте, VladD2, Вы писали:
VD>Не. Это конечно не проблемы комитета. Ему просто по барабану. Это вообщене человек. У него нет единого мнения. Да и язык от тупого животного по имени комитет не помрет сразу. Он будет медленно деградировать или просто остановится в развитии.
. Вымрет в любом случае, но не из-за комитета. Это естественный процес . Но раньше чем появится полноценная альтернатива во всех областях где С++ рулит (рулил?). Этот процесс идет и вполне успешно, пока комитет пытается дать новые возможности, при этом не разрушить то, что есть. Одно другому не мешает. Только мне не понятно ваше усердие во вбивании гвоздей в крышку гроба. Анекдот напоминает.
Идет мужик(М) грустный с лопатой. Ему друг(Д) на всречу.
Д: — Привет, чего такой грустный?
М: — Да вот тещу похоронил.
Д: — Ясно. А чего лопата в крови?
М: — Упиралась.
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
VladD2 wrote: > C>Еще в Q3 достаточно примитивный collision detector (они там просто по > C>BSP проходят), который тоже является весьма вычислительно-прожорливой > C>частью. А еще бывают зверства вроде совмещенных octree/BSP — это уже > C>заметно увеличивает вычислительную нагрузку. > Ну, то есть ты тоже согласен, что никаких таких супер затрат при при > выводе графики нет? Вот и славно.
При выводе непосредственно статической графики (то есть скармливание
треугольников карте) — да я разве когда-то против был?
А вот с подготовкой этой графики — очень даже есть. А то еще сейчас
пошла мода на полностью уничтожаемые миры — так там вообще динамический
пересчет BSP требуется, что весьма непросто.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, dr.Chaos, Вы писали:
DC>>ЗЫ Если уж придираться к орфографии и грамматике, давай придираться ко всем .
AVK>А я и не придирался вовсе, просто забавным показалось. А если тебе все же обидно за свои ляпы, так это не ко мне притензии.
Нет, не обидно. Просто вспомнилась пара постов Влада .
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Здравствуйте, eao197, Вы писали:
E>Здравствуйте, BulatZiganshin, Вы писали:
ПК>>>Ты один работаешь или в команде?
BZ>>это вообще хобби а к чему ты спрашиваешь?
а это разве ты был? двуликий яенус
E>Потому, что у меня сложилось впечатление, что о C/C++ ты судишь с позиции опыта коммерческой разработки софта. А о Хаскеле с позиции использования его для удовольствия. Не исключено, что после 3-4-х лет клепания программ на Хаскел под заказ, имея реальных заказчиков, обычную ротацию коллектива и другие факторы, твое мнение о качествах Хаскеля могло бы измениться в какую-то иную сторону.
оба — для удовольствия. и что касается качества *языка* — я не думаю, что ротация коллектива как-то скажется на моём мнении. я ж тебе писал уже, что как и у каждого small языка, инфраструктура у хаскела несравнима с большой тройкой или даже delphi
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, dr.Chaos, Вы писали:
DC>>Хм, т.е. все улучшения которые дают Немерл и Окамл это уменьшение многословности? Мда уж что-то тогда индустрия на месте топчется получается, только шаги красивше и меньше выходят.
VD>Это ЗНАЧИТЕЛЬНОЕ увеличение уровня языка, при спопоставимой с С++ производительностью. VD>Давай простой эксперемент проведем.
Влад я понимаю, что является преимуществом Немерле и Окамл.
VD>К сожалени, человек практически не может оценить более мощьный язык. Об этом замечательно в свое время сказал Пол Грэхем
Ну да трудно описывать вкус котлет по киевски не разу их не попробовав.
VD>Вот попробуй сравнить классический ОО-код (на C#, правда, но на C++ он меньше не стал бы) на ООЯ с кодом на Немреле написанном в фукнциональном стиле: VD>Re[9]: Принцип подстановки Барбары Лисков
Влад ну ты сам же постоянно говоришь, что где-то ООП, где-то ФП, а где-то МП.
VD>Можно попробовать сравнить и на простых примерах. Покажи, например, как ты на С++ решил бы задачу преобразования массива целых (скажем std::vector<int>) в строку где каждое значение разделено запятой.
Не вижу смысла смотреть это на синтетических примерах. Мне все таки стало интересно, что может дать мне ФП в алгоритмах использующихся в движках. Уже начал Хаскель смотреть, потом и на Немерле гляну. Тогда можно будет сравнивать.
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, dr.Chaos, Вы писали:
DC>>Здравствуйте, VladD2, Вы писали:
VD>>>Здравствуйте, dr.Chaos, Вы писали:
DC>>>>Переносимость на уровне исходников, это и есть основной приоритет комитета.
VD>>>К сожалению они добились полностью протевоположенного результата. DC>>Какого? Переносимости на уровне исходников нет? .
VD>Ага. Странно что ты считашь себя С++-программистом и не знал этого. Полной переносимости нет, так как компиляторы не реализуют стандарт, и так как стандарт изобилует кучей мест где возможно UB. Про то что такое UB объяснять надо?
DC>> Ты открыл мне глаза. Только как я компилюсь каждый деть с одним кодом под Win/AIX, может я что-то неправильно делаю??
VD>Ты используешь не весь С++, а его упрощенный сабсэт который переносим для выбранных тобой компиляторов. Причем ты находишь этот сабсэт по интуции тупо компилируя и тестирую код на обоих платформах. Так же ты избегаешь использования чужих библиотек, так как не хочешь разбираться в том, что они используют из "запрешенного С++".
И что? Я вообще на несовместимость СТЛ двух разных версий одного компилятора наткнулся. Она конечно была глубоко в кишках, но тем не менее весьма испортила настроение. Переносимость то есть, с оговорками и ограничениями, но есть.
DC>>Влад удобнее хотя бы потому, как это проверенный временем инструмент. Те что по-новее пока в стадии, если не разработки, то активного тестирования — не дальше.
VD>С тоже был проверен временем, а С++ молод и недоработан. Но почему-то ты на С сейчас не пишешь ведь.
Потому что С++ не молод уже . Вообще С++ дал возможность писать более сложные программы, продвинул новую парадигму. Кроме того до 90х годов его пользователями были весьма ограниченный круг людей которые его обкатывали, но это были фирмы которые могли себе позволить исследования и учебные заведения. Не думаю что производители игр(движков) относятся к одной из этих категорий.
VD>>>С++ марально устарел еще 5, а то и больше лет назад. Это здравый логический вывод. DC>>В чем его моральная старость?
VD>Во многом. Главный список фич: VD>1. Наличие моря UB.
Это не относиться к моральной старости у этого другие корни. VD>2. Отсуствие автоматического управления памятью.
Где-то плюс, где-то минус. VD>3. Не типобезопастность.
Ты про возможность грязных хаков, про наследие С или еще про что? VD>4. Наличие моря граблей в добавок к гланым гряблям из п. 3.
Хм, информативно VD>5. Плохая выразительность определяемая отсуствием в языке (вделенно так как библиотечная реализация перечисляемых фич сильно ущербна) удобных конструкций вроде функциональных объектов, интерфейсов (или классов типов Хаскеля если угодно), замыканий,
Очень сомневаюсь, что в С++ это нужно делать на уровне языка это еще больше его усложнит.
VD>модульности, метааднных, компонентности, сопоставления с образцом, полноценной системы метапрограммирования.
Итак только это можно считать его морально устаревшими чертами. Касаемо новых концепций для С++ МП и ФП их в язык точно вводить не надо, хотя бы потому что это будет смесь бульдога с носорогом, но, тем не менее, их можно использовать. Модульность и компонентность достичь только консенсусом производителей компиляторов, что ИМХО недостижимо по политическим причинам. А сопоставление с образцом ИМХО не такая уж и значимая концепция для С++, т.к. это фича декларативного подхода, но к моральной старость отнести трудно.
DC>>Каких именно слов? То, что это достаточно хороший инструме
VD>Например, вот этих: VD>
Кто кроме С++ дает такие возможности с обобщенным программированием при строгой типизации? Java, .Net?
VD>Чем тебе дженерики дотнета не обобщенное программирование при строгой типизации? И знаком ли ты с обобщенным программированием в Хаскеле и ОКамле, например?
DC>>Влад кто из производителей движков/ОС/драйверов переходит на Немерле/ОКамл/...
VD>Самые умные.
VD>>>Следующие должны писаться уже без С++, да и без скриптов. Технологии резко двинулись вперед и мы имеем все что имели и в скриптах, и в С++ (причем без их проблем) в одном флаконе.
DC>>Кому должны и где имеем?
VD>По логике должны. Но логика не всегда работает в человеческом мире.
Тогда по чьей логике?
DC>> Где 3Д библиотеки для Немерле/ОКамл/... которые удовлетворяют разработчиков движков?
VD>Они прекрасно исползуют имеющиеся бибилотеки. Для Немерле будет радным XNA, от МС и DirectX (хотя с выходом XNA смысла в последнем мало), для ОКамла лучше одойдет OpenGL, так как он довольно кросплатформынй. В прочем и для Немерла можно OpenGL исползовать. Инетроп у него отличный. Любые С-шные библотеки в виде dll/so он глотает без проблем.
Можно, но есть ли такие игры/движки?
DC>>Какие поименно? — причем в разрезе применения для ОС/драйверов/графических движков.
VD>Выразительность, типобезопасность, безграбельность, проверяемость (контрль времени компиляции за инвариантами и т.п.), ктаткость. В общем, почитай о том же Немерле или Скале хотя бы. А лучше попробуй. Уверяю тебя, что как только втянешся мнение твое резко начнет меняться. Я вообще-то тоже старый С++-ник. Просто меня перевербовали. Сначала через компонентные технологии, а потом и по астальным каналам.
Мда уж, ясно — это религия .
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы