Здравствуйте, Nuzhny, Вы писали:
N>Как хобби занимаюсь иногда как раз предсказанием курса валют. На выходных, бывает, загружаю простаивающую сетку на работе — тот же анализ данных, расчёт статистики всякой и т.п. Представь, что обработка работала бы в 5 раз медленнее — ждать пришлось бы не 2, а 10 дней. Плохо же
Угу. Переписывали как то для одного банка систему, которая за ночь на гриде не справлялась с обработкой данных. Так что бывает что и "Скорость = Деньги".
N>Видеокарты, например, умеют работать только 4-х байтовыми float. Для многих задач это принципиальное ограничение. И оно не единственное.
Сейчас уже научили и int и вроде как double
N>Можно посмотреть на содержание тех же интеловских библиотек, на задачи которые они решают. Это область применения С++. А там и обработка сигналов, видео/аудио, сжатие, криптография, строки/регэкспы даже есть. Не говоря уже об универсальных математических библиотеках.
+1
IPP, MTL — просто глаза разбегаются чего там есть.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Здесь есть сугубо объективные факторы: невозможно знать обо всех решениях, имеющихся для решения некоторой задачи на некотором языке, потому иной раз лучше написать что-то своё за известное время, чем потратить неизвестное на поиск уже имеющегося.
Добавлю. Еще надо приплюсовать время, потраченное на допиливание найденного под свои нужды (найти на 100% подходящее не всегда возможно), + есть риск понять что то что ты нашел, все таки не устраивает по какому то из параметров и быстрее было бы все таки написать специализированный под свою задачу аналог.
ГВ>Скажу тебе по секрету, что С++ на самом деле — язык "системного" программирования. С теоретической точки зрения его не совсем разумно тыкать в те области, система терминов которых далеко отстоит от таких, как "память" и "процессор", равно как и функциональные языки не совсем правильно запихивать туда, где задача не описывается выражениями "найти решение" и "анализ". Кстати, применение функциональных языков в областях, связанных с коммуникацией, ИМХО, связано лишь с тем, что зачастую тут "операцию" можно свести к "функции от входящего сообщения".
+100
ГВ>Уж как C клеймили, противопоставляя ему то Аду, то ещё что-нибудь!
..а он все жив
ГВ>Спили мушку.
+1
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, VladD2, Вы писали:
ГВ>>Кто есть "офисный планктон"? VD>Те кто выбирают инструменты "как все" и пишут код "как у всех" в итоге решая, скажем, задачи офисной автоматизации на С++.
Тогда по моим наблюдениям это уже С# и Java
ГВ>>Попробуй просто поверить, что если бы, например, Lisp оказался столь же распространён, как C++, то на нём велосипеды строили бы не реже. Здесь есть сугубо объективные факторы: невозможно знать обо всех решениях, имеющихся для решения некоторой задачи на некотором языке, потому иной раз лучше написать что-то своё за известное время, чем потратить неизвестное на поиск уже имеющегося. VD>Зачем мне представлять "бы"? Я привел совершенно конкретный пример Яве/.NET. В них же все ОК с либами?
То, что с ними поставляется большая куча говна на все случаи жизни еще не означает, что никому и никогда не понадобится аналог, отличающийся от стандартной реализации по каким либо параметрам.
VD>Да чушь это. И используют его не для системного программирования, а для черт знает чего. А тот же Линкус и ядро НТ один хрен на С написано. А новые ОС пишутся но новых языках.
Windows 7 на чем пишут? Вроде ж новая...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CC>>>Я тут Числодробилки (не видео, но графические данные в том числе) писал до недавнего времени. С использованием SSE на Intel С++. VD>>Значит должен понимать, что это уже не совсем С++. И что имея оптимизированную библиотеку примитивов и на Яве можно весьма шутсрый код писать. CC>Это уже и не ява будет
Отнюдь. Все же есть огромная разница между специализированной либой используемой в программе написанной на переносимом, стандартизованном языке и специально заточенным под конкретный тип процессора языком.
CC>>>Сейчас правда основная занятость в другой отрасли. VD>>Боюсь спросить в какой. Не ужели снова финансы? CC>Ага на C#
Я всегда подозревал, что ты разумный человек .
Тогда что спорить, если ты и сам делом подтверждаешь мои тезисы?
VD>>Это я догадался. Я это к тому, что я ими пользовался. Правда SSE не использовал. CC>Ты — может и нет. А вот компилер — с удовольствием.
На практике код опережал VC в очень редких случаях и не принципиально.
CC>>>Не все алгоритмы возможны на видяхе. Баловался с CUDA — пока оно применимо в частных случаях. VD>>Не все. Но по иронии судьбы те что доступны один фиг пишутся на С++ и их разработчики гордятся "высокой" производительностью. Хотя реально она просто никакая... в сравнении. CC>В смысле доступны? кому доступны. Переформулируй, т.к. не понятно про что ты.
В смысле те что есть.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
VD>>Речь шла о преобразовании финансовых данных на биржах, как я понял. Поверить в то, что скажем на Лиспе это было бы сделать в разы проще программист не захотел.
N>При работе на бирже необходимо очень высокое быстродействие. Как для анализа данных, так и для банальных автоматических торговых систем. Да, их пишут на С++. И нейросети для предсказания курсов на фондовых и валютных рынках тоже. А это как-никак область ИИ (это про твои высказывания о непригодности для интеллектуальных задач).
Мнение, что высокое быстродействие достигается ковырянием битов на плюсах очень распространено среди (мягко говоря) людей с ограниченным кругозором.
На практике же при мало-мальски сложных задачах использование компилируемых вариантов Lisp-а или клонов ML даст значительное преимущество хотя бы потому, что можно будет воспользоваться всей мощью частичных вычислений и паттерн-матчинга.
ИИ на С++ — это вообще для человека в этом немного понимающего должно звучать как Чубайс на нанотехнологиях .
Про нейро-сети могу сказать, что это вообще ахинея на данном этапе развития компьютерной отрасли.
Ваши замечательные программы-предсказатели не более чем мошенничество. Программа может помочь проанализировать большие объемы данных и выявить закономерности в прошлых операциях. Но рынок — это живой организм и никто (кроме инсайдеров) не может предсказать его поведения. А ваши замечательные программы просто подгоняются под старые данные, чтобы продать их по лучше. В любой игре нужно что-то большее чем алгоритм. Там нужно чутье и везение. Так что не надо про эти бредни здесь рассказывать.
Если же я ошибаюсь, то просьба купить крутую программу-предсказатель и заработать миллион. 10% от него отдать мне. Это будет замечательным доказательством правоты и я возьму свои слова обратно .
VD>>Ну, пусть откликнутся те кто его пишут. Ау... Где вы...
N>Я. По работе — анализ видео. Есть, например, ограничение по времени на обработку одного кадра стандартного разрешения — 5 млсек. Это на сжатие (или, наоборот, разжатие), анализ, сохранение на диск. Система мягкого реального времени.
"мягкого реального времени" — это по русски будет называться система не реального времени .
N>Как хобби занимаюсь иногда как раз предсказанием курса валют. На выходных, бывает, загружаю простаивающую сетку на работе — тот же анализ данных, расчёт статистики всякой и т.п. Представь, что обработка работала бы в 5 раз медленнее — ждать пришлось бы не 2, а 10 дней. Плохо же
Хоби меня не интересует. Главное, что ты пока что один (ОДИН) откликнулся и сказал, что твои задачи действительно соответствуют выбранному инструменту. А наши главные крикуны ставящие мне минусы на любое не лестное слово в адрес С++ тихо молчат в тряпочку. Подозреваю, что они как раз из тех, кто пишет софт для офисов и обосновывают это тем, что им дико не хватает производительности.
VD>>А так и просто библиотека будет рулить. Напиши ее или возьми от того же Intel-а и использовать из любого компилируемого языка. VD>>Вот только решение на видюже один фиг порвет все твои выкрутасы.
N>Можно посмотреть на содержание тех же интеловских библиотек, на задачи которые они решают. Это область применения С++. А там и обработка сигналов, видео/аудио, сжатие, криптография, строки/регэкспы даже есть. Не говоря уже об универсальных математических библиотеках. N>Возьмём очень универсальный пакет Матлаб. Ох, и у него математика лежит в dll, написанных на С++.
Ну, и пускай лежит. Вот написание ОДНОЙ библиотеки низкоуровневых алгоритмов на специализированном компиляторе С++ я не считаю глупостью. Глупость — использовать эту библиотеку для прикладных задач из С++ же и рассказывать окружающим, что рекеспы и шифрование — это область применения С++.
N>Я хочу сказать, что адекватных задач для языка С++ много. Кому-то они встречаются редко, а у кого-то постоянно перед глазами. Не стоит абсолютизировать собственный опыт.
Много? Мне кажется мы это понятие по разному понимаю. Вот долболомов пишущих на С++ что не попадя — много. А задач которые действительно требуют использования С++ отнюдь не много и большинство из них сводится к написанию библиотек, если конечно, по уму все делать, а не писать велосипеды на каждый чих объясняя их появление кривостью всего вокруг и особенностями своих задач.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Erop, Вы писали: E>Вот тебе три задачи: E>1) Написание базы данных E>2) Написание системы, которая в реальном времени анализирует изображение с размещённых в здании камер и привлекает внимание оператора к подозрительным случаям (несанкционированный доступ кого-то куда-то, несанкционированное поведение и т. д.) E>3) Написание системы, которая анализирует видео с камеры наблюдения ГИБДД и выдаёт чкриншоты с наилучшими фотками нарушителей + госномер машины нарушителя.
E>На чём реализовывать будем?
Да, хоть на Лиспе. Более чем удобный язык для данного решения. Уж на любом клоне МЛ-я точно будет удобнее чем на С++.
У меня встречный вопрос. Ты сам то хоть одну из этих задач решаешь на работе?
Если, нет, то чем занимаешся?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Отнюдь. Все же есть огромная разница между специализированной либой используемой в программе написанной на переносимом, стандартизованном языке и специально заточенным под конкретный тип процессора языком.
Если >90% времени исполняется код из либы — то вообще пофигу на чем писать управление. Хоть на брейнфаке.
CC>>Ага на C# VD>Я всегда подозревал, что ты разумный человек .
У меня тоже про себя иногда закрадывались такие подозрения
VD>Тогда что спорить, если ты и сам делом подтверждаешь мои тезисы?
Не, не подтверждаю. У нас и на С++ и на Java и на С# проекты есть. Даже perl под линухом был.
Просто на данный момент я на C# проекте. Только и всего.
VD>>>Это я догадался. Я это к тому, что я ими пользовался. Правда SSE не использовал. CC>>Ты — может и нет. А вот компилер — с удовольствием. VD>На практике код опережал VC в очень редких случаях и не принципиально.
Какой код опережал VC? Что то ты в последнее время загадками говоришь.
У меня по тестам разница между VC 7.1 и ICC 10.1 — более двух раз на криптографии, написанной на С++. 56Mb/s vs 120Mb/s.
CC>>>>Не все алгоритмы возможны на видяхе. Баловался с CUDA — пока оно применимо в частных случаях. VD>>>Не все. Но по иронии судьбы те что доступны один фиг пишутся на С++ и их разработчики гордятся "высокой" производительностью. Хотя реально она просто никакая... в сравнении. CC>>В смысле доступны? кому доступны. Переформулируй, т.к. не понятно про что ты. VD>В смысле те что есть.
Тогда в сравнении чего с чем у кого никакая производительность?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, nikov, Вы писали:
E>>Вот тебе три задачи: E>>1) Написание базы данных E>>2) Написание системы, которая в реальном времени анализирует изображение с размещённых в здании камер и привлекает внимание оператора к подозрительным случаям (несанкционированный доступ кого-то куда-то, несанкционированное поведение и т. д.) E>>3) Написание системы, которая анализирует видео с камеры наблюдения ГИБДД и выдаёт чкриншоты с наилучшими фотками нарушителей + госномер машины нарушителя.
E>>На чём реализовывать будем?
N>Ко всем трем неплохо подходит OCaml.
Да любой клон МЛ-я или даже компилируемый Лисп.
Можно вспомнить СУБД Мнезию (так что ли) написанную на интерпретируемом Эрланге.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Глупость — использовать эту библиотеку для прикладных задач из С++ же и рассказывать окружающим, что рекеспы и шифрование — это область применения С++.
Ну расскажи тогда, к области применения чего относить криптографию?
На примере RC6 например, как одного из наиболее просто реализуемых современных шифров.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Erop, Вы писали:
E>>>На чём реализовывать будем? N>>Ко всем трем неплохо подходит OCaml.
E>1) А что, уже есть много пром. компиляторов, программистов, средств разработки, тоже промышленного уровня?..
Лет эдак 10.
E>2) (Кстати) Много баз на нём уже реализовали?
Море. Вопрос только в том, что пользуются люди в основном коммерческими раскручеными субды: IBM DB 2, MS SQL Server и Orcle.
Они конечно хороши, так как в них вложили сотни миллионов долларов (а может и больше), но они были бы во много раз лучше, если бы их писали на более адекватном инструменте.
Кстати, еще один встречный вопрос... Ты знаком хотя бы с одним клоном МЛ? Писал что-нибудь на нем? Подождут даже Scala, F# или Nemerle.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, FR, Вы писали:
FR>Угу только можем получить тормоза, компиляторы C++ намного лучше (особенно в графических алгоритмах) оптимизировать будут.
Используй библиотеки для битодробления и высокоуровневый язык для построения логики программы, и все у тебя получится .
Да и достали вы уже с этими графическими алгоритмами возмите готовую библиотеку (того же McКакЕгоТам) и пишите логику, а не утыкайтесь в частности обработки графики.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Так или иначе, но это имеет прямое отношение к языку. Если отставить в сторону пассажи про "офисный планктон", то наличие коммьюнити и поддержка гигантов в современных условиях — очень существенный аргумент. Я отнюдь не пытаюсь сказать, что он единственный, но то, что немаловажный — это бесспорно. Если ты не заметил, я здесь сам прибегаю к аргументам массовостью.
Вот этот вопрос главный! И "офисный планктон" тут как раз и рулит как хвост собаков. Дело в том, что большая часть работников гигантов — это тот самый узколобый офисный планктон. Плюс планктон — это основной потребитель. Его проще убить чем переучить на что-то стоящее.
По сему система самораскручивает бездарность и поддерживает экстенсивные средства разработки.
ГВ>Кроме Singularity, про какие ОС ты ещё можешь рассказать, которые пишутся не на C? Желательно, про те, которые уже продаются или имеют приличные шансы на это. Поскольку иначе ОС есть и на Lisp.
Оберон ОС. Да их куча если покапаться. Просто в фаворе сейчас Вынь и Линл. И хрен ты что с этим сделаешь все по тем же причинам.
В общем, все варится в рынке где игроки имеют слишком не равные возможности. Это тормозит прогресс.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, kaa.python, Вы писали:
KP>по большому счету, этих 3-4 либ хватает для решения всех задач которые действительно стоит, можно и нужно решать на С++.
Да, да. Это фраза такая же крылатая, как и "640 Кбайт хватит всем"...
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, CreatorCray, Вы писали:
ГВ>>>Кто есть "офисный планктон"? VD>>Те кто выбирают инструменты "как все" и пишут код "как у всех" в итоге решая, скажем, задачи офисной автоматизации на С++. CC>Тогда по моим наблюдениям это уже С# и Java
Человек выбирающий С# или Java для подобных задач значительно более разумен. А высшие существа и отличается от планктона тем, что могут думать и принимать разумные решения. Другое дело, что есть разные стадии развития. То что человек может понять, что С++ не лучшее средство для офисной автоматизации — еще не означает, что он дальше не выключит мозг и не начнет закидывать задачи буденновками.
Собственно, можно тебя привести в пример. Ты же себя наверно идиотом не считаешь? И ведь ты как раз предпочел C# для решения тех самых офисных задач?
VD>>Зачем мне представлять "бы"? Я привел совершенно конкретный пример Яве/.NET. В них же все ОК с либами? CC>То, что с ними поставляется большая куча говна на все случаи жизни еще не означает, что никому и никогда не понадобится аналог, отличающийся от стандартной реализации по каким либо параметрам.
На счет "говна" не надо. Там как большей частью код приемлемый. Не без маразма конечно, но до маразма С++-ных библиотек им все же долеко. К тому же их отличает внятный и логичный интерфейс. С++-ные библиотеки почему-то очень часто имеют настлько невнятный интерфейс, что код использующих их превращается в полную кашу.
VD>>Да чушь это. И используют его не для системного программирования, а для черт знает чего. А тот же Линкус и ядро НТ один хрен на С написано. А новые ОС пишутся но новых языках. CC>Windows 7 на чем пишут? Вроде ж новая...
В Windows 7 ядро Висты, в Висте ядро, ХРюши, в ХРюше ядро 2000-ных, ...
Намек ясен? Ядро как было на С, так и остается. Ну, иногда пара, тройка расширений из плеюсов. Но ты никогда не дождешся, чтобы в ОС экспортировался интерфейс на С++.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Lazy Cjow Rhrr, Вы писали:
LCR>И как обращаться из глубоко вложенного шаблона к параметру внешнего шаблона?
С этим проблем нет, если через параметры передаются ссылки на объекты.
LCR>А с динамической областью видимости можно обратиться прямо к var из template10 не протаскивая его через всю цепь вызовов. В обычных языках это конечно решается просто созданием глобального относительно template0..template10 бинда, а здесь такого нет. Или как?
Динамическая область видимости создает такие ошибки, что порой хоть "караул" кричи.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, eao197, Вы писали:
VD>>"мягкого реального времени" — это по русски будет называться система не реального времени .
E>...Как авторитетно заявил видный специалист в области систем реального времени VladD2.
Ты сам то кроме как обсуждать других что-то еще сам можешь сказать?
Если, нет, то просто молчи.
Лучше иди почитай определение понятия реальное время. Реальное время — это гарантированные задержки. А так называемый софтриалтайм — это фактически их отсутствие. Под софтриалтам обычно понимают не реалтайм софт кторый большую часть времени выдает требуемую производительность.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Erop, Вы писали:
E>Просто в твоём "кратком и лаконичном" варианте есть два существенных недостатка E>1) Интерфейс плохо описан формально E>2) Весь код, использующий интерфейс должен быть шаблонным. Иногда это довольно неприятное требование. А иногда и неприемлемое (например когда ты поставляешь наружу из DLL функцию, в которую надо передавать функтор)
Ты думаешь в терминах С++. Потому и выводы у тебя однобокие.
Тем временем если отвлечься от С++, то можно заметить, что есть языки и рантаймы позволяющие вообще жить без шаблонов и манипулировать функциями как обычными значения. В том числе передавать функцию в другую функции расположенную в другой длл и т.п.
Короче, тебе нужно немного почитать о других мирах.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
ГВ>>>>Кто есть "офисный планктон"? VD>>>Те кто выбирают инструменты "как все" и пишут код "как у всех" в итоге решая, скажем, задачи офисной автоматизации на С++. CC>>Тогда по моим наблюдениям это уже С# и Java VD>Человек выбирающий С# или Java для подобных задач значительно более разумен........
Я про то, что ["как все" и пишут код "как у всех"] — это уже те, кто на шарпе и жабе.
VD>И ведь ты как раз предпочел C# для решения тех самых офисных задач?
Не могу сказать что это было именно мое решение. Но для определенного круга офисных задач шарп ИМХО подходит лучше. Тут спорить я не собираюсь. У нас как раз такой круг: одно огромное приложение с которым юзер работает бОльшую часть времени.
VD>На счет "говна" не надо. Там как большей частью код приемлемый.
Ну, я бы сказал — сойдет.
VD> Не без маразма конечно, но до маразма С++-ных библиотек им все же долеко. К тому же их отличает внятный и логичный интерфейс.
Не всегда. Впрочем каки для других языков. Библиотеки пишут люди.
VD>С++-ные библиотеки почему-то очень часто имеют настлько невнятный интерфейс, что код использующих их превращается в полную кашу.
С++ных библиотек очень дофига. Я не думаю что ты видел их все.
VD>>>А новые ОС пишутся но новых языках. CC>>Windows 7 на чем пишут? Вроде ж новая... VD>В Windows 7 ядро Висты, в Висте ядро, ХРюши, в ХРюше ядро 2000-ных, ...
Это был подкол, если ты не заметил.
PS. В висте ядро 2003й
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока