Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Nuzhny, Вы писали:
N>>Если интересно, то почитай про Джеймса Саймонса. Он миллиардер, в его конторе не торгует ни один живой трейдер.
VD>Видимо до этого он был мультимиллиардер.
Эх, жаль смайлика с Петросяном в оценках нет. Обычный могут неверно понять.
Здравствуйте, FR, Вы писали:
E>>Поскольку C++ и Ada -- это, пожалуй, единственные высокоуровневые языки, которые позволяют программисту контролировать все издержки. Есть еще C, Oberon, Modula-2 и, вроде как, специальные адаптации Eiffel-я, но они либо ниже уровнем C++ и Ada, либо совсем экзотика. Не могу судить про Forth -- про его использование во встраиваемом ПО я слышал, но не уверен на счет RT.
FR>У форта с этим все в порядке он к аппаратуре поближе чем C++ будет.
Может быть. Никогда не попадались мне статьи о разработке встроенного ПО или RT систем на Форте. Про остальные вышеупомянутые языки читал неоднократно и видел открытые вакансии на разных сайтах (C++, Ada, Modula-2).
О Форте точно знаю со слов одного знакомого, который в московском Sparc-центре писал на Форте BIOS-ы для Sparc-ов. Так что я по поводу Форта не копенгаген, скорее осло
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, VladD2, Вы писали:
VD>И где твои миллионы?
Надо понимать, что игра на Форексе — это мелкие спекуляции, попытка угадать движение "китов" рынка: финансовых воротил, центробанков крупнейших держав, международных корпораций. Т.е. при игре крупными суммами начинается влияние на рынок. Поэтому знания, данные нужны абсолютно другие. Мелкие спекулянты (к которым я и отношусь) и миллионы несовместимы.
VD>Тут все очень просто. Как работают реальные нейроны головного мозга науке практически неизвестно. Но ясно одно, каждый нейрон — это отдельная вычислительная еденица. Что не соответствует их компьютерной эмуляции.
Например, персептронная сеть это простой многомерный аппроксиматор, который стоит применять только для довольно гладких функций. Не стоит придавать ему некий философский смысл, моделирование работы мозга и т.п. Я вижу нейросети именно в таком разрезе — чистая математика.
VD>Теоретические ратобы в области нейронных вычислений показывают точность предсказаний порядка 50%. Это все равно что кидать монетку или использовать генератор случайных чисел.
Можно пару ссылок на такие работы? Уж больно сенсационно звучит.
VD>Если бы автоматизированные предсказания могли бы реально быть эффективнее живых людей, то на бирже давно бы играли одни программы.
Гм. Но ведь к тому и идёт. Данные из какого источника тебя бы убедили, что процент автоматических торговых систем постоянно возрастает?
VD>Ни один разумный человек не будет полагаться на решения принятые софтом. Использовать софт для принятия решений самостоятельно — разумно.
Эти два предложения противоречат друг другу. Поэтому мысль твою не уловил.
N>>Если интересно, то почитай про Джеймса Саймонса. Он миллиардер, в его конторе не торгует ни один живой трейдер. VD>Ты еще про гебролайф почитай или еще что-то в этом дуже.
М? Ты не веришь информации, выдаваемой поисковиком про этого человека? Информацию из какого источника ты примешь как достоверную?
Здравствуйте, VladD2, Вы писали:
VD>Кстати, реалтайм-задачи можно решать хоть на скриптах. Это просто распространенное заблуждение, что риалтайм == очень быстро. Риалтайм значит — выполнение за гарантированное время.
Тут согласен. Но системы охранного видеонаблюдения всё равно относят к софт-реалтайм. В лаборатории МВД они тестируются на соответствие количеству fps. Редкий пропуск кадров допускается (не помню точно цифры), тут с тобой согласен.
Если интересно, то скажу, что логика верхнего уровня в нашей системе задаётся на скриптовом языке (доступном и для конечных пользователей). Работает быстро, гибко и удобно. Например, по сработке детектора движения надо повернуть камеру, включить прожектор, звуковое оповещение и т.п. Можно и гораздо более сложную логику написать, работать с интерфейсом. Но это не касается критических участков: обработки видео, звука, работы с приёмно-контрольными приборами. И пока все довольны.
Здравствуйте, Erop, Вы писали:
E>Если кратко, то поинт состоит в том, чтобы совершенствоваться не в овладениями шаблонами С++, а в овладении искусством писать хорошие программы...
Мир не замкнулся на шаблонах, это один из инструментов. Но вот со вторым овладением и появляются некоторые проблемы в некоторых компаниях.
Здравствуйте, VladD2, Вы писали:
VD>Да любой клон МЛ-я или даже компилируемый Лисп.
А зачем? Кодирование в этих задачах не проблема будет. В чём будет выгода от функциональщины?
VD>Можно вспомнить СУБД Мнезию (так что ли) написанную на интерпретируемом Эрланге.
Ну-ну... Популярная и мощная СУБД, наверное?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, VladD2, Вы писали:
VD>У меня встречный вопрос. Ты сам то хоть одну из этих задач решаешь на работе? VD>Если, нет, то чем занимаешся?
Другими задачами ИИ...
Думаю, при нужде, мог бы порешать и эти (кроме СУБД. Там решать уже нечего )
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, alexeiz, Вы писали:
A>В майкрософте не используют не только особо продвинутые инструменты, но и сколько-либо мало-мальски продвинутые инструменты.
Используют, просто не везде.
Поинт 1:
The latter book engendered the Loki library, used in a variety of products, including Windows Vista (see attribution) and some Adobe products (see attribution)…
Пишут фактически на C с классами. Разумеется, наследуются от COM-интерфейсов, кроме них есть несколько базовых классов BaseEncoder, BaseDecoder, BaseBitmap да и все. Иерархии больше двух предков фактически нет.
Из темплейтов есть только один суровый джедайский контейнер DynArray, аналог std::vector, и все. Он настолько суров, что наверное следует сказать о нем пару слов. Он принципиально не зовет никаких конструкторов и никаких деструкторов, хочешь иницалироваться — зови inplace new или делай Init. Копирует, разумеется, тупо память, без всякой пидарасни с copy constructor. Большая часть реализации DynArray — не темплейтная, сам DynArray — ее темплейтный потомок, который только подставляет sizeof(T) базовому классу, практически все инлайнится. Есть вариант темплейта с начальным размером массива, он тогда выделится на стеке. Отличный контейнер, ничего лишнего.
Никаких смартпойнтеров (по мне, кстати, стоило бы).
Нет exceptions, вся обработка ошибок через return и HRESULT.
Здравствуйте, VladD2, Вы писали:
VD>Ты представляешь какова разница между проектированием алгоритма на С++ и скажем ОКамле?
Я разрабатываю настолько сложные алгоритмы, что такие мелкие подробности, на чём же они выражены, являются несущественными подробностями.
Недавно мы с двумя подчинёнными писали статью, описывающую один из наших алгоритмов. Написание статьи заняло почти две недели, она содержит доказательства кучи теорем, описание многих экспериментов и т. д. и т. п...
И в наших задачах, например, С++ очень удобен, так как представляет довольно адекватную абстракцию компьютера, с одной стороны, и при этом позволяет писать довольно абстрактный код, при этом имеющий строго определённую и понятную процедурную семантику...
Правда им надо уметь свободно владеть. Для меня сложность кодирования какого-то уже известного алгоритма, представляется чем-то странным. Это же чисто технический вопрос. Он не требует исследований и всегда легко сходится
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, VladD2, Вы писали:
VD>Ты думаешь в терминах С++. Потому и выводы у тебя однобокие.
Вроде обсуждались С++ные функторы...
VD>Тем временем если отвлечься от С++, то можно заметить, что есть языки и рантаймы позволяющие вообще жить без шаблонов и манипулировать функциями как обычными значения. В том числе передавать функцию в другую функции расположенную в другой длл и т.п.
Угу, например C и С++...
VD>Короче, тебе нужно немного почитать о других мирах.
Ну это, знаешь что не надо делать, чтобы не узнать куда следует идти?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, kaa.python, Вы писали:
KP>Могут сократить. Могут увеличить. Но, обычно, проект нужен в лучшем случае прямо сейчас. Соответственно как не крути, код должен быть максимально простым, т.к. рассчитывать на то, что все специалисты в компании знают навороченные и сложные инструменты сложно (если конечно не в гугле или майкрософте работаешь).
Кстати, в этом вопросе интересен Adobe. Посмотреть на ASL (Adobe Source Libraries) — высокоуровневый С++: концепты, свойства, gil (generic image library), вошедшая в буст. И линейка продуктов. Работающая. Без крайностей вида HRESULT UIntMult(x,y,&z).
Здравствуйте, byleas, Вы писали:
B>Мир не замкнулся на шаблонах, это один из инструментов. Но вот со вторым овладением и появляются некоторые проблемы в некоторых компаниях.
И так бывает. Но при чём тут тогда функторы?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, byleas, Вы писали:
E>>Ну и потом, КУДА, она пока что вроде как тока С и С++ поддерживает? B>Для C# тоже связка есть.
А что? Кто-то смог на "куде" реализовать ГЦ?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, VladD2, Вы писали:
VD>Интересно было бы узнать об офисных задачах для которых С++ был бы лучшим выбором. Поделись...
А что такое офисные задачи?
Я думаю твои страхи по поводу C++ сильно преувеличены.
Я вот на C# пишу, рядом люди на C++ пишут, причём то, что было бы уместнее на C# писать
и так большинство их проблем с C++ вообще никак не связано.
Хотя некоторые болезни присущие ему безусловно людям кровь портят.
Здравствуйте, eao197, Вы писали:
FR>>У форта с этим все в порядке он к аппаратуре поближе чем C++ будет.
E>Может быть. Никогда не попадались мне статьи о разработке встроенного ПО или RT систем на Форте. Про остальные вышеупомянутые языки читал неоднократно и видел открытые вакансии на разных сайтах (C++, Ada, Modula-2).
Ну он вообще-то даже создавался для решения именно такой задачи, система управления телескопом.
E>О Форте точно знаю со слов одного знакомого, который в московском Sparc-центре писал на Форте BIOS-ы для Sparc-ов. Так что я по поводу Форта не копенгаген, скорее осло
Я на нем немало пописал, но очень давно, сейчас остались только теплые воспоминания
Здравствуйте, eao197, Вы писали:
E>Скорее это попытка выдать online обработку за какое-то подобие real-time. В real-time обычным GC в принципе делать нечего, поэтому для JavaRT очень долго пилили специфический GC. А в нормальном real-time динамическая память вообще не используется.
На всякий случай намекну, что никакой обязанности выполнять сборку мусора наличие GC не накладывает.
Вполне нормальной практикой, к примеру, является вполне статическое выделение памяти под буфера на этапе инициализации; остатняя часть алгоритма, которая и шарашит в RT, выделениями вообще не занимается. В этом случае GC будет спать, пока его не позовут явно.
Невыделение памяти невовремя можно даже контролировать аналитическими тулзами типа FxCop.
И это — реально применяемая практика. GC, точнее его ограничения, вызывает проблемы не только в RT-системах. Даже в просто высоконагруженных системах с частыми обращениями в натив запиненые буфера вызывают преждевременную фрагментацию памяти; обходится это теми же мерами, что приведены выше.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, eao197, Вы писали:
E>Если по теме топика (C++0x vs D), то я уже неоднократно на эту тему высказывался, но могу повторить: E>- D, по-моему мнению, не выйдет в мейнстрим. Поскольку его разработчик не заинтересован в том, чтобы язык использовался более-менее прагматичными программистами. Был бы заинтересован, то давно бы озаботился бы стабилизацией языка. В общем, как был он долгостроем, так и останется. Хотя и жалко.
А разве ветка 1.xx не является стабильной ? Там заметных изменений и не появляется. Одно время доверчивых программеров стращали грядущей веткой 3.хх — якобы Брайт при подстрекательстве одиозного Александреску сделает из Д что-то совсем непредставимое.
E>Различие между hard- и soft-real-time заключается в том, что: E>- в hard-RT не попадание в отведенный квант означает, что результаты вычислений нафиг никому уже не нужны и, что самое важное, неизбежно приходит маленький пушной зверек; E>- в soft-RT не попадание в отведенный квант означает, что результаты вычислений нафиг никому уже не нужны, но, что самое важное, маленький пушной зверек не приходит. E>Однако, требований по укладыванию вычислений в отведенные кванты никто с soft-RT не снимал. И отсутствие маленького пушного зверька вовсе не означает, что разработка soft-RT гораздо проще hard-RT.
Я бы поправил это таким образом : Софт-реалтайм означает, что заданный процент вычислений должен укладываться в заданный квант времени.