Far Manager Unicode и std::vector, std::list, std::queue.

Здесь обсуждаются проблемы мироустройства.
eJ
Posts: 5
Joined: Tue 04 Aug, 2009 13:49

Far Manager Unicode и std::vector, std::list, std::queue.

Post by eJ »

Почему в исходниках Far на каждый чих городится свой array, list, stack или queue?

Что мешает использовать стандартные классы std::vector, std::list и std::queue? Я понимаю, что когда Евгений Рошаль начал писать Far, то этих типов не было и в помине. Но сейчас-то они уже есть.
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: Far Manager Unicode и std::vector, std::list, std::queue.

Post by t-rex »

כובע
eJ
Posts: 5
Joined: Tue 04 Aug, 2009 13:49

Re: Far Manager Unicode и std::vector, std::list, std::queue.

Post by eJ »

t-rex wrote:כובע
То есть, вы считаете, что написать "шляпа" на иврите это ответ умного человека?
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: Far Manager Unicode и std::vector, std::list, std::queue.

Post by t-rex »

למה כובע?
User avatar
Alexey Samlyukov
Posts: 1765
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

Re: Far Manager Unicode и std::vector, std::list, std::queue.

Post by Alexey Samlyukov »

всегда удивлялся, как такие закорючки можно разобрать...
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Far Manager Unicode и std::vector, std::list, std::queue.

Post by NightRoman »

eJ wrote:Почему в исходниках Far на каждый чих городится свой array, list, stack или queue?

Что мешает использовать стандартные классы std::vector, std::list и std::queue? Я понимаю, что когда Евгений Рошаль начал писать Far, то этих типов не было и в помине. Но сейчас-то они уже есть.
А почему надо использовать "стандартные"? Ты объясняй почему ты считаешь, что это лучше. Доказывай даже. С какой стати щас все все бросят и начнуть перелопачивать весь код? Если будешь чепуху нести, причем, а не предметно доказывать, то могут и забанить, учти.
eJ
Posts: 5
Joined: Tue 04 Aug, 2009 13:49

Re: Far Manager Unicode и std::vector, std::list, std::queue.

Post by eJ »

NightRoman wrote:
eJ wrote:Почему в исходниках Far на каждый чих городится свой array, list, stack или queue?

Что мешает использовать стандартные классы std::vector, std::list и std::queue? Я понимаю, что когда Евгений Рошаль начал писать Far, то этих типов не было и в помине. Но сейчас-то они уже есть.
А почему надо использовать "стандартные"? Ты объясняй почему ты считаешь, что это лучше. Доказывай даже. С какой стати щас все все бросят и начнуть перелопачивать весь код? Если будешь чепуху нести, причем, а не предметно доказывать, то могут и забанить, учти.
Этот вопрос адресован участникам Far Group. Вы состоите в этой команде?

Единственный ответ, который я увидел здесь - от t-rex и тот неадекватный.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: Far Manager Unicode и std::vector, std::list, std::queue.

Post by Skirda »

eJ, с учетом открытости кода твой вопрос скорее адресован всем, а Far Group примет окончательное решение.
Так что вопросы NightRoman`а обоснованные и имеют место быть.
Алга.
We are the Borg. You will be assimilated.
So Say We All!
eJ
Posts: 5
Joined: Tue 04 Aug, 2009 13:49

Re: Far Manager Unicode и std::vector, std::list, std::queue.

Post by eJ »

Skirda wrote:eJ, с учетом открытости кода твой вопрос скорее адресован всем, а Far Group примет окончательное решение.
Так что вопросы NightRoman`а обоснованные и имеют место быть.
Алга.
Нет, это вопрос не всем, а конкретно к Far Group. Изменять исходники только они имеют право.

Вот прислал я патч для использования аналога boost::shared_ptr, его отвергли. Вывод какой: если хочешь сделать код фара хорошим, то делай fork или упрашивай команду. Первый вариант для меня не подходит, поэтому начал сразу со второго. :)

Меня полностью устраивает работа фара в бинарном виде, но от его исходников веет курсовой работой на 3-м курсе института. Можно понизить вероятность дальнейших ошибок, вот и все.

Например:
1. Публичный член Length в CList, а значит и в DList.
2. Возврат ссылки на внутренние данные в TStack (Peek, Pop, Push), TArray (setItem, getItem, addItem)
3. Использование циклов for (... i = 0; i < BLABLABLA.getCount(); ++i) { BLABLABLA.getItem(i); } где можно использовать итераторы (однозначно быстрее)
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Far Manager Unicode и std::vector, std::list, std::queue.

Post by NightRoman »

eJ wrote:Этот вопрос адресован участникам Far Group. Вы состоите в этой команде?
Хоть Skirda уже и ответил, могу добавить - я не разработчик Фара, но мне совсем неохота, чтобы разработчики занимались сомнительными "улучшениями" работающего кода.

У STL, кроме красивого слова "стандарт" есть и оборотные стороны. Навскидку: по сравнению с домашними грамотно сделанными альтернативами STL может быть медленнее, может есть больше памяти, может быть сложнее для отладки и диагностики. Я согласен, что для утилки на один-два дня разработки STL - неплохой выбор. Для проекта с многолетним стажем - очень не уверен.
eJ wrote:Единственный ответ, который я увидел здесь - от t-rex и тот неадекватный.
Каков вопрос, таков ответ.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Far Manager Unicode и std::vector, std::list, std::queue.

Post by DrKnS »

Не, я конечно, всё понимаю - папа Бьярне велел юзать стандартные контейнеры повсюду, ибо это хорошо.
Но так сложилось, что тут все упёртые и словам не верят.
Покажите нам на пальцах.
Берите код, меняйте самопальное на stl'ное, замеряйте прирост производительности.

Если хотя бы 10% наберётся - приходите.
DiRTy_GaRRy
Posts: 705
Joined: Tue 05 Apr, 2005 09:26
Been thanked: 3 times
Contact:

Re: Far Manager Unicode и std::vector, std::list, std::queue.

Post by DiRTy_GaRRy »

DrKnS, справедливости ради стоит заметить, что если производительность отсанется такой же, а кода станте в N раз меньше, то это тоже очень не плохо.
Ы?
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Far Manager Unicode и std::vector, std::list, std::queue.

Post by DrKnS »

DiRTy_GaRRy

Разумеется.
User avatar
HaRT
Moderator
Posts: 10868
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Far Manager Unicode и std::vector, std::list, std::queue.

Post by HaRT »

DiRTy_GaRRy wrote:если производительность отсанется такой же, а кода станте в N раз меньше, то это тоже очень не плохо
Это справедливо только при хорошем покрытии автоматизированными тестами, а это, боюсь, не наш случай.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Nikolay
Posts: 602
Joined: Sat 14 Jan, 2006 17:17
Has thanked: 1 time
Been thanked: 34 times

Re: Far Manager Unicode и std::vector, std::list, std::queue.

Post by Nikolay »

NightRoman wrote: У STL, кроме красивого слова "стандарт" есть и оборотные стороны. Навскидку: по сравнению с домашними грамотно сделанными альтернативами STL может быть медленнее,
При правильной юзании - крайне маловероятно.
может есть больше памяти
Аналогично.
может быть сложнее для отладки и диагностики.
Диагностику и отладку самих контейнеров не считаем? Далее, если для сборки используется VisaulStudio2008, там есть cheked iterators и прочие вкусности для отладки. Домашние подели отдыхают.
Я согласен, что для утилки на один-два дня разработки STL - неплохой выбор.
Для проекта с многолетним стажем - очень не уверен.
Для вновь начинаемого большого проекта проверенные решения вроде STL - однозначно лучший выбор, нежели наколенные разработки.
Для проекта с уже многолетним стажем (как FAR) - согласен, что есть ньюансы, и ответ не столь однозначный.
Post Reply

Return to “О тщете всего сущего”