Обожаю, сука, теоретиков

Вот некоторые люди, не будем показывать пальцем, любят строить свою картину мира (в последнем абзаце) по рекламным листовкам типа таких:

https://www.techbriefs.com/component/content/article/tb/techbriefs/aerospace/28025

Так вот, немного оторвавшись от разгребания нагенерированного MATLAB Coder’ом говна, скажу – все эти заявления про торжество “model-based design” на основе MATLAB – чистая реклама, к реальности имеющая очень опосредованное отношение. Для тех, кто не знает – MATLAB – это такой весьма кривой и уебищный язык программирования в комплекте с не менее кривой и уебищной IDE, имеющий, впрочем, ровно два достоинства:

  • На нем легко и непринужденно пишутся всякие сложные вычислительные алгоритмы;
  • И даже их писать не обязательно, потому что на любой случай в матлабе предусмотрен соответствующий Toolbox.

Так вот, что мы имеем в процессе “кодогенерации” из матлаба? Во-первых – генератор местами тупит и требует писать код с “грязными хаками” для учета его особенностей. Во-вторых – нагенерированный код страшен и уебищен с точки зрения человека (нет, пресловутой readability из матлабовской же рекламы там не пахнет). В третьих… Нет, если вам нравится копаться в коде вроде такого (нет, ошибок в нем нет) – я не могу вас винить:

i100500 = b_mxA->size[0] * b_mxA->size[1];
b_mxA->size[0] = b_mxB->size[0];
b_mxA->size[1] = b_mxB->size[1];
emxEnsureCapacity_creal_T(b_mxA, i100500);

Ругаться закончил.

4 комментария

  1. savant пишет:

    А ведь я видел как примерно так же ругались на выхлоп avr-gcc ассемблерщики…

  2. hirou пишет:

    Массаракш. Только оторвался от создания чудовищного кода в Матлабе, зашел в ЖЖ, а тут…

    • hirou пишет:

      Алсо, я примерно 7 лет ковыряюсь в Матлабе, и впервые вижу оператор “->”. Что за черную магию ты там творишь?