Leave a comment

thesz December 3 2011, 17:37:52 UTC
>Возможно, в вашем мире микрооптимизаций под контроллеры их нет, но это не значит, что их нет у всех остальных.

О! Вы перешли на личности?

Если что, то я участвую в разработке сложной системы с большим пользовательским интерфейсом, сложной симуляцией и анализом. Это IDE для разработки систем.

Но я продолжу. К чему зацикливаться на чём-то одном, если можно идти дальше и открыть много интересного?

>Если вы посмотрите на код gen_server, там очень много своей логики, касающейся обработки событий и очередей сообщений. В supevisor - много логики, касающейся обработки ошибок. И так далее.

Я говорил про ваш код, не код gen_server. Можете ли вы показать ваш код на Эрланге, чтобы мы убедились, что там всё жестко на OTP и в библиотеку ничего выделить нельзя? Хотя бы один модуль.

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

>Я ответил на него, после чего вы начали требовать от меня доказательств.

Я задал вопросы, ответы на которые я бы хотел услышать сразу при упоминании упомянутого вами в качестве "опровержения".

Тем не менее, здесь беседуем мы с вами, а вы можете попросить nivanych ответить на ваши вопросы. Отдельным комментарием или даже личным сообщением.

>>Как часто она нужна? Можно ли добиться схожих результатов другими способами?
>Каждый раз, когда возникают какие-либо проблемы либо хочется посмотреть, что именно больше всего нагружает систему. Нельзя без дополнительной логики в самой программе, которую нужно вписывать ручками каждый раз(...)

Так ли уж "каждый раз"?

Хорошо, пусть "каждый раз". Как часто встречаются эти "каждые разы"?

Надо оценить и третью сторону вопроса. Как вы думаете, поддержка возможности интроспекции как-либо сказывается на производительности программы на Эрланге и возможности её преобразования оптимизатором?

Насчёт чтения учебников по Эрлангу. Я не считаю Эрланг достаточно интересным языком, чтобы читать по нему учебник. Если что, то я помогал коллегам разобраться в их коде на Эрланге и правильно указал источник утечки памяти. Я считаю проблемы, решаемые RTS Эрланга и OTP достаточно мелкими, на что пытаюсь намекнуть вам вопросами и предложениями по перегруппировке кода.

Вы считаете их большими, настолько, что согласны менять (весьма вероятно) сложный код логики в угоду стилю OTP. Ваше решение. Вы достаточно хорошо его аргументировали, настолько, что любой читающий нашу беседу вполне способен составить себе мнение об уровне разработчика, принимающего такие решения, и об уровне его проблем.

Лично я предпочитаю использовать язык, который позволяет поменять стиль выполнения по необходимости - нужен будет CSP, поменяю монаду в стеке преобразований и забуду. Нужно будет посмотреть, почему перекашивает нагрузку, сделаю код и посмотрю. Но до этого я сделаю всё, чтобы этого не случилось, заложив необходимое в ло-ги-ку. Которой много. Всегда больше, чем любая RTS. И краткость и правильность которой много важнее, чем возможность интроспекции.

Reply

si14 December 5 2011, 01:16:54 UTC
>Я задал вопросы, ответы на которые я бы хотел услышать

Конечно же, вы не хотели услышать ответов, потому как у вас уже есть экспертное заключение:

>Я не считаю Эрланг достаточно интересным языком, чтобы читать по нему учебник

под которое, конечно же, традиционно подгоняется оппозиция оппонента (которые он, естественно, не говорил):

>согласны менять (весьма вероятно) сложный код логики в угоду стилю OTP

Поэтому в целом я не вижу смысла дальше дискутировать с вами в силу вашей агрессивной некомпетентности как в плане разработки чего-либо реального на ФП (прошу прощения, но онанизм с использованием тайпчекера в том, для чего есть заведомо лучшие инструменты, в свободное от написания Java/C# кода я не могу назвать опытом разработки чего-либо на ФП), так и в плане проблем, возникающих в живом сервер-сайд продакшне (IDE, как и МК, не являются софтом такого рода по достаточно очевидным причинам).

Reply

thesz December 5 2011, 09:02:01 UTC
Если что, то вопросы я задавал не для себя. Для других людей. что будут читать нашу дискуссию.

Вот моё резюме, чтобы читающий нашу дискуссию мог составить мнение, имею ли я опыт написания высоконагруженных систем: http://hh.ru/resume/80f9c3f0ff0031a8380039ed1f736563726574?print

Это, кстати, была моя вторая работа, в ЮнионКард - надо было сделать разделяемый доступ к модулям криптозащиты, а до этого надо было сделать и оптимизировать (на всех доступных уровнях) систему, доступ к которой в пике достигал тысяч запросов в час (это 1992-1994 год).

>прошу прощения, но онанизм с использованием тайпчекера в том, для чего есть заведомо лучшие инструменты

Какие же инструменты для этого лучше? Расскажите, если не затруднит? Это я лично прошу, не для других.

Reply

thesz December 7 2011, 11:13:13 UTC
Поскольку вы ответили nivanych, я повторю свой вопрос.

Напомню, это я исключительно для себя: "Какие же инструменты для этого (создания строго типизированных DSeL) лучше (онанизма с тайпчекером Хаскеля)? Расскажите, если не затруднит."

Reply

thesz December 8 2011, 21:58:34 UTC
Коль уж я сюда зашёл, повторю вопрос.

Не подскажете ли, что за заведомо лучшие Хаскеля инструменты для создания строго типизированных DSEL?

Reply


Leave a comment

Up