Вверх ↑
Разработчик
Ответов: 4697
Рейтинг: 426
#1: 2017-12-31 22:25:39 ЛС | профиль | цитата
Galkov писал(а):
Так вот, сотворенное Вами тогда не является легко читаемым -- КАТЕГОРИЧЕСКИ.

   Ну, 6 лет назад, конечно, я мог писать гораздо хуже, не спорю. Однако, раз уж о том речь зашла, замечу: как раз после того случая с MathParseEx у меня и сложилось впечатление, что Вы не решаете задачу поэтапно, а пытаетесь свернуть горы за один раз.
   Я тогда намеревался ускорить работу MathParse, и я получил результат, который хотел (заметьте, мне уже тогда был важен результат, и я его достиг). Однако Вы, безусловно, обладаете куда бОльшим опытом, чем я, поэтому когда Вы начали говорить, что надо сразу реализовать оптимизацию MT, оптимизацию байт-кода и прочее - я Вам доверился и стал пытаться все это сделать сразу. Потом у меня возникли продолжительные проблемы в жизни, и как итог - результат, которого я тогда достиг, а это, прошу заметить, увеличение производительности MathParse в разы (а может даже на порядок, не помню уже), - результат просто канул в лету. Если бы мы внедряли это по шагам (сначала уже готовое решение, а потом дополнительные оптимизации всего и вся) - то все эти 6 лет MathParse успешно служил бы обществу.
Примерно через полгода-год я понял, что тогда с MathParse поступил неправильно и признал Ваш подход неэффективным.

Galkov писал(а):
Вас, Assasin, интересовал именно процесс. Ах, ах, ах - а вдруг я не пойму, потому что написано "неправильно" (еще не глядя в коды).

   Я считаю, что результатом является не только работающая фича, а еще и качество кода, который эту фичу реализует. И одной из метрик качества этого результата является как раз его читаемость. Так что в этом наши с Вами мнения различаются.

Galkov писал(а):
Ибо, если бы Вы думали о Результате, то могли бы заметить, что я был не совсем прав в утверждении об асимптотике O(N*ln(N)).
Дело в том, что асимптотика Insert -- O(N). Хотя и с очень маленьким коэффициентом. Грубо говоря, это всего одна строчная команда проца - быстрее на данном железе невозможно. И заметить ее непросто...

   Честно скажу, что я не проверял на верность Ваши утверждения о сложности алгоритмов и просто Вам доверился, т.к. вы опытнее меня. Тем не менее, повторюсь еще раз: претензий к предлагаемым Вами идеям и алгоритмам у меня нет. Что Вы были немного не правы - это лишь доказывает мое раннее утверждение, что даже матерые професионалы могут ошибаться. И это нормально!

Galkov писал(а):
кстати говоря, а Вас в школе не учили, что логарифмическую асимптотику без деревьев не получить ?

   Сложности алгоритмов в школе, к сожалению, в наше время вообще не учат. Даже в университете про это лишь мельком пробегаются в одной дисциплине. Так что, как и в Вашем случае, приходится заниматься самообразованием.

Galkov писал(а):
Мои коды выглядят примерно так... Ну как бы, это еще одно отличие Инженера от IT-шника

   С ходу могу процитировать вас же:
Galkov писал(а):
Так вот, сотворенное Вами не является легко читаемым -- КАТЕГОРИЧЕСКИ.

   Почему? Чтобы понять, что такое на самом деле PArray, как с ним правильно работать и как нельзя, нужно прочитать весь код, использующий эту переменную (в отличие от моего типа, используемого в MathParseEx, который достаточно было прочитать один раз и быстро понять, благо он очень короткий). В Вашем случае в каждый такой кусок кода придется вникнуть и запомнить контекст, чтобы потом не дай бог где-то нечайно не ошибиться со списком корректных операций над PArray в данной конкретной строчке.

   Все это мое ИМХО, конечно, и я Вас тоже ни к чему не призываю, и тем более не хочу ругаться. А за подробный анализ меня, как профессионала, и поучительные примеры большое спасибо.
   Кстати, как я пишу код сейчас, можно посмотреть на моем GitHub. Там, конечно, тоже не везде все хорошо, но, по моему мнению, заметный прогресс за 6 лет у меня есть.



   И Вас тоже с Новым Годом! Добра, здоровья и всех благ!
карма: 10
0
Редактировалось 4 раз(а), последний 2017-12-31 22:29:59