Re[2]: И снова Дельфи против СИ++
От: FR  
Дата: 22.01.11 04:36
Оценка: +1 -2
Здравствуйте, Ikemefula, Вы писали:

I>Что значит чистое ООП ? STL вдруг перестала быть ООП ?


Никогда и не была. По сути концепция целнотянутая из ФП.
Re[3]: И снова Дельфи против СИ++
От: FR  
Дата: 22.01.11 04:37
Оценка: +2
Здравствуйте, DelphiGuru, Вы писали:

DG>Отвечаю всем.

DG>1- Шаблонов и дженериков не будет

Спасибо не надо видел код на яве и шарпе до того как в них ввели генерики.
Re[4]: И снова Дельфи против СИ++
От: FR  
Дата: 22.01.11 04:38
Оценка: +3 -1
Здравствуйте, Ikemefula, Вы писали:

I>Шаблоны это не ооп ?


Нет конечно концепция ортогональная ООП.
Re[8]: И снова Дельфи против СИ++
От: Michael7 Россия  
Дата: 22.01.11 10:24
Оценка: -3 :))) :))
Здравствуйте, jazzer, Вы писали:

M>>Так что писать сугубо вычислительную часть на C++ неразумно.

J>

А что смешного? Зачем тормозить научные вычисления использованием C++ вместо Си или Fortran?
Re: И снова Дельфи против СИ++
От: Kerbadun  
Дата: 22.01.11 10:29
Оценка:
Здравствуйте, DelphiGuru, Вы писали:

DG>После недели детального изучения исходников STL я пришел к выводу, что ее можно реализовать при помощи чистого ООП. Что думают пишущие на Си++ об этом


Я тоже так думаю. Только уточни, что именно ты имеешь в виду.

Можно какой-то пример кода, концепт?

Когда он умрет, его мозг заспиртуют в стакане
Re[8]: И снова Дельфи против СИ++
От: Michael7 Россия  
Дата: 22.01.11 12:05
Оценка: :)
Там где нужны большие скорости вычислений, реально C++ лажает или кто-то станет туда пихать шаблоны, перегрузки операторов, множественное наследование, с запутанными иногда вызовами виртуальных функций и т.п. чтобы потом задолбаться, профилируя узкие места?

Тогда уж для математики лучше вместо C++ использовать Ada.
Re: И снова Дельфи против СИ++
От: nullptr  
Дата: 22.01.11 14:06
Оценка:
Здравствуйте, DelphiGuru, Вы писали:

DG>После недели детального изучения исходников STL я пришел к выводу, что ее можно реализовать при помощи чистого ООП. Что думают пишущие на Си++ об этом


Можно ли в Армении построить коммунизм? Можно, но лучше в Грузии
а чистый ООП пусть живет где-нибудь в дельфях, нам в c++ такого счастья не надо
Re[7]: И снова Дельфи против СИ++
От: Andrey.V.Lobanov  
Дата: 22.01.11 14:17
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Да и Фортран в вычислениях до сих пор широко используется и не только для поддержки старого кода. Еще один минус C++ в этом случае — это Name mangling из-за чего усложняется использование C++-ных библиотек в других средах и даже просто других компиляторов.

офигеть. а типа в фортране этого нет?

M>Так что писать сугубо вычислительную часть на C++ неразумно.

Re[7]: И снова Дельфи против СИ++
От: minorlogic Украина  
Дата: 22.01.11 14:51
Оценка: +1
Здравствуйте, Michael7, Вы писали:

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


S>>в расчётах, где-же ещё.


M>C++ именно в расчетах, в которых критична скорость, совершенно не оправдан. Потому что как только речь заходит об оптимизации по скорости все высокоуровневые абстракции C++ применять нельзя.

А пацаны то и не знали сделали ublas с нативными байндами.

M> От C++ остается фактически только Си, который и используется в расчетах. Да и Фортран в вычислениях до сих пор широко используется и не только для поддержки старого кода. Еще один минус C++ в этом случае — это Name mangling из-за чего усложняется использование C++-ных библиотек в других средах и даже просто других компиляторов.


M>Так что писать сугубо вычислительную часть на C++ неразумно.


GIL, VIGRA, BGL на другие мысли не наводят ?
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: И снова Дельфи против СИ++
От: hattab  
Дата: 22.01.11 14:52
Оценка:
Здравствуйте, nullptr, Вы писали:

n> Можно ли в Армении построить коммунизм? Можно, но лучше в Грузии

n> а чистый ООП пусть живет где-нибудь в дельфях, нам в c++ такого счастья не надо

Не наезжай на дельфю, нету там чистого ООП и небыло никогда
avalon 1.0rc3 rev 380, zlib 1.2.3
Re[8]: И снова Дельфи против СИ++
От: Michael7 Россия  
Дата: 22.01.11 15:50
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>>C++ именно в расчетах, в которых критична скорость, совершенно не оправдан. Потому что как только речь заходит об оптимизации по скорости все высокоуровневые абстракции C++ применять нельзя.

M>А пацаны то и не знали сделали ublas с нативными байндами.

Ublas — медленная библиотека. А вот быстрая оптимизированная Sun Performance Library, тоже реализующая функционал BLAS, таки на фортране сделана. Как и Lapack, например.


M>>Так что писать сугубо вычислительную часть на C++ неразумно.


M>GIL, VIGRA, BGL на другие мысли не наводят ?


Не имел с ними дела, но беглый гуглеж показывает, что это отнюдь не эталон быстродействия.
Re[8]: И снова Дельфи против СИ++
От: Privalov  
Дата: 22.01.11 18:53
Оценка:
Здравствуйте, Andrey.V.Lobanov, Вы писали:

M>>...Еще один минус C++ в этом случае — это Name mangling из-за чего усложняется использование C++-ных библиотек в других средах и даже просто других компиляторов.

AVL>офигеть. а типа в фортране этого нет?

А что, в Фортране есть name mangling? А когда оно там появилось? В те времена, когда у меня в проекте исполняемый файл собирался из идущих вперемешку С- и фортрановских исходников, я ничего подобного не замечал.

M>>Так что писать сугубо вычислительную часть на C++ неразумно.

AVL>

Может, и неразумно, но по той причине, что числодробилки на С читаются труднее, чем на Фортране. IMHO, разумеется.
Re[9]: И снова Дельфи против СИ++
От: Andrey.V.Lobanov  
Дата: 22.01.11 19:34
Оценка:
Здравствуйте, Privalov, Вы писали:

M>>>...Еще один минус C++ в этом случае — это Name mangling из-за чего усложняется использование C++-ных библиотек в других средах и даже просто других компиляторов.

AVL>>офигеть. а типа в фортране этого нет?
P>А что, в Фортране есть name mangling? А когда оно там появилось? В те времена, когда у меня в проекте исполняемый файл собирался из идущих вперемешку С- и фортрановских исходников, я ничего подобного не замечал.
ну, lower/upper case и всякие подчёркивания (по разному в разных компиляторах — за подробностями хоть в вики) вполне за mangling пойдут

M>>>Так что писать сугубо вычислительную часть на C++ неразумно.

AVL>>
P>Может, и неразумно, но по той причине, что числодробилки на С читаются труднее, чем на Фортране. IMHO, разумеется.
в плане читаемости да, согласен. только я и не предполагал, что мы тут за читаемость говорим...
Re[9]: И снова Дельфи против СИ++
От: minorlogic Украина  
Дата: 22.01.11 22:17
Оценка:
Здравствуйте, Michael7, Вы писали:

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


M>>>C++ именно в расчетах, в которых критична скорость, совершенно не оправдан. Потому что как только речь заходит об оптимизации по скорости все высокоуровневые абстракции C++ применять нельзя.

M>>А пацаны то и не знали сделали ublas с нативными байндами.

M>Ublas — медленная библиотека. А вот быстрая оптимизированная Sun Performance Library, тоже реализующая функционал BLAS, таки на фортране сделана. Как и Lapack, например.


Я бы не назвал медленной, хотя и не близко к лидерам. Просто есть много моментов которые на голом C повторить довольно непросто. А для скорострельности Ublas предоставляет байнды к нихкоуровневым реализациям.

M>>>Так что писать сугубо вычислительную часть на C++ неразумно.


M>>GIL, VIGRA, BGL на другие мысли не наводят ?


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


Хм ... странно , может у нас гугль другой ?
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[5]: И снова Дельфи против СИ++
От: Константин Л.  
Дата: 23.01.11 01:35
Оценка: +3
Здравствуйте, lazy_walrus, Вы писали:

_>Здравствуйте, Константин Л., Вы писали:


КЛ>>ну я. какая разница. предвосхищая вопросы — если чел пялился в исходники неделю и в 2011 задает такие вопросы и делает такие предположения, значит он зря потратил своё время


_>А почему зря? Человек с опытом программирования на Delphi изучил исходники STL, расширил свой кругозор, у него возникли понятные вопросы почему STL сделан так а не иначе, и нельзя ли сделать лучше.


подожди, ты всерьез считаешь, что после недельного изучения stl нормальный человек будет утверждать что (курсив мой, ибо а как иначе?)

ее можно реализовать при помощи чистого ООП не потеряв ничего в фичах и гибкости


?

Я считаю, что чел смотрел неделю и ничего в итоге не понял
Re[9]: И снова Дельфи против СИ++
От: Mazay Россия  
Дата: 23.01.11 07:54
Оценка: +1
Здравствуйте, Michael7, Вы писали:

M>>>C++ именно в расчетах, в которых критична скорость, совершенно не оправдан. Потому что как только речь заходит об оптимизации по скорости все высокоуровневые абстракции C++ применять нельзя.

M>>А пацаны то и не знали сделали ublas с нативными байндами.

M>Ublas — медленная библиотека. А вот быстрая оптимизированная Sun Performance Library, тоже реализующая функционал BLAS, таки на фортране сделана. Как и Lapack, например.


SPL смотрится круто, но для таких библиотек характерна одна проблема: они требуют определённого расположения данных в памяти. Если весь расчёт можно сделать в рамках одной библиотеки, то это не проблема вообще, но если для других операция требуется иное расположение данных то потребуется их конвертация и копирование. В C++ же, благодаря шаблонам, возможно реализовать обобщённые алгоритмы, которые могут работать с различными структурами данных без полиморфизма времени исполнения. А механизм специализации шаблонов позволяет по итогам профилирования оптимизировать код с минимальными изменениями программы в целом.
Главное гармония ...
Re[2]: И снова Дельфи против СИ++
От: DelphiGuru Россия  
Дата: 23.01.11 08:43
Оценка:
Отвечаю сразу всем:

1) Архитектура STL — это ФП переложенное на императив с помощью шаблонов.
2) Итераторы при всей похожести на указатели являются на самом деле замыканиями в чистом виде, используя терминологию ФП.
3) Из 2 следует, что итераторы, в принципе, можно определять и вне контейнера. Все, что нужно для создания итератора — это контейнер и тип хранимого в данном контейнере. И следовательно, итератор, указывающий на конец, в принципе не нужен, если мы все равно проверяем, то проверять надо в итераторе, указывающем начало.
Re[3]: И снова Дельфи против СИ++
От: FR  
Дата: 23.01.11 10:33
Оценка:
Здравствуйте, DelphiGuru, Вы писали:

DG>3) Из 2 следует, что итераторы, в принципе, можно определять и вне контейнера. Все, что нужно для создания итератора — это контейнер и тип хранимого в данном контейнере. И следовательно, итератор, указывающий на конец, в принципе не нужен, если мы все равно проверяем, то проверять надо в итераторе, указывающем начало.


Ну Александреску не так давно разразился http://www.informit.com/articles/printerfriendly.aspx?p=1407357 насчет итераторов, да и в бусте уже давно есть им замена http://www.boost.org/doc/libs/1_45_0/libs/range/doc/html/range/introduction.html
Но все это такой же "ООП" как и STL и как в D так и в C++ все это сделано на тех же шаблонах, иначе будет очень неудобно и коряво.
Re[3]: И снова Дельфи против СИ++
От: Ночной Смотрящий Россия  
Дата: 23.01.11 23:33
Оценка:
Здравствуйте, DelphiGuru, Вы писали:

DG>2) Итераторы при всей похожести на указатели являются на самом деле замыканиями в чистом виде, используя терминологию ФП.


Итераторы являются замыканиями? Что то не уловил глубину мысли. Ты closures с continuations, случаем, не попутал?
Re[9]: И снова Дельфи против СИ++
От: minorlogic Украина  
Дата: 24.01.11 06:50
Оценка:
Здравствуйте, Michael7, Вы писали:

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


M>>>C++ именно в расчетах, в которых критична скорость, совершенно не оправдан. Потому что как только речь заходит об оптимизации по скорости все высокоуровневые абстракции C++ применять нельзя.

M>>А пацаны то и не знали сделали ublas с нативными байндами.

M>Ublas — медленная библиотека. А вот быстрая оптимизированная Sun Performance Library, тоже реализующая функционал BLAS, таки на фортране сделана. Как и Lapack, например.


Чет путаете, вроде Sun Performance Library использует не фортрановские имплементации.

Насколько я помню, есть библиотеки заточенные на нативный перфоманс. Кажется eigen называется.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.