суббота, 30 мая 2015 г.

[prog.flame] Забавно, когда в качестве доказательства приводят неважно написанный C-шный код

В обсуждении релиза SObjectizer-5.5.5 на LOR-е в очередной раз всплыла идея о том, что приложение на акторах нужно писать на Erlang-е, а не на C++. И уж если производительности будет недостаточно, то тогда переписать узкие места на C в виде NIF-ов/драйверов:

Я и предложил нивелировать разрыв между C++, в данном случае, и чистым Erlang'ом с помощью NIF'ок, драйверов и пр. Ибо это элементарно проще, а по производительности будет идти ноздря в ноздрю с С++.

Идея не новая. Одна из вещей, которая серьезно портит эту идею, состоит в том, что писать нормальный и корректный код на C не просто. Как по мне, как гораздо сложнее, чем на C++. Ну да суть не столько в том, что C++ удобнее для написания надежного софта, чем C. А в том, какого качества C-шный код будут производить на свет обычные Erlang-еры, которые C видят лишь время от времени?

Собственно, приведенный на LOR-е код является тому подтверждением...

пятница, 29 мая 2015 г.

[prog.c++11] Пример уменьшения многословности в SObjectizer-5

Одной из главных претензий к SObjectizer всегда была его многословность. Посему в каждом релизе SO-5 этому аспекту мы старались уделять внимание. Продвижение вперед в этом направлении было постоянно, но каких-то кардинальных улучшений никогда не происходило. Была такая тихая ползучая эволюция...

Тем интереснее и неожиданнее оказывается сравнение того, как нужно было писать еще три месяца назад и того, как можно писать сейчас.

четверг, 28 мая 2015 г.

[work] Из личного опыта подготовки презентаций...

Хорошую презентацию, содержащую только текст на 30-ти слайдах, невозможно подготовить за два дня. Да и вряд ли можно за три.

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

Если презентация готовится для представления в PDF, то обязательно нужно регулярно вычитывать ее именно в PDF. Это удивительно, но просто ппц как много ошибок, опечаток и просто откровенных косяков не замечаются пока не увидишь результирующий PDF в Reader-е.

[prog] Erlang-style мониторы и супервизоры -- это хорошо, но не ими одними :)

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

[prog.c++11] SObjectizer-5.5 compared to C++ Actor Framework

There are two points of view from which a comparison could be made:

  1. Top-level view on the purposes of each frameworks and primary targets of framework’s developers.
  2. Low-level view on implemented features and technical details of the implementations.

From the top-level point of view it is obvious that each frameworks have different roots and it seems that authors have different targets.

среда, 27 мая 2015 г.

[prog.c++11] SObjectizer v.5.5.5 Released!

A version 5.5.5 of SObjectizer core is released!

In short the changes in 5.5.5 are:

[prog] All slides related to SObjectizer-5.5

The SObjectizer is a tool for simplification of development of concurrent and event-driven applications in C++. For the very long time almost all information about this project was in Russian language only. But we have spent some time preparing documentation and some introductory materials in English.

This blog-post will be a place for collecting together all slides related to SObjectizer-5.5.

вторник, 26 мая 2015 г.

[prog.flame] Любопытная презентация про использование Java в авиации

В связи с 20-летием Java захотелось поискать примеров использования Java в софтовой начинке для самолетов. Наткнулся на slideshare.net вот на эту презентацию:

Любопытные ощущения :)