Один язык (VHDL, уж простите), где типы надо явно приводить, настолько неуклюж, что разработчики зачастую пишут совершенно дикий неэффективный код, лишь бы не разбираться, как их приводить.
Верилог отличается от Си тем, что в нем нет базовой ширины операций, какой в Си является int.
Верилог всего на год моложе, чем С++, так что и его можно уважить. А язык с явными кастами на этапе компиляции в индустриальном использовании приводит к тому, что разработчики с ума сходят и пишут белиберду вместо эффективного кода.
Язык был, вестимо, VHDL, а код был связан с размножением знакового бита при преобразовании с увеличением ширины данных, где данные были не числа, а битовые векторы. Безымянный автор кода, который мне пришлось отлаживать, отчаявшись написать компилируемый код, не придумал ничего лучше, чем присваивать биты в цикле по одному. В его оправдание скажу, что и у меня получилось правильно написать необходимую функциональность не с первого раза. А на weakly typed language это пишется тривиально, типа b = signed(a);
Сравнения (на равенство, больше-меньше, я о целых и вещественных числах) должны быть автоматически математические без требования явного приведения типов в коде программистом, даже если язык поддерживает целочисленные типы со знаком и без. Прошлый век же такое требовать или за кулисами нематематически приводить знаковые к беззнаковым, ломая простую и понятную всем математическую идиому.
no subject
Date: 2014-01-04 01:04 am (UTC)no subject
Date: 2014-01-04 01:17 am (UTC)no subject
Date: 2014-01-04 02:13 am (UTC)В Верилоге я плохо понимаю. Знаю, зачем он, но не знаю вовсе самого языка, так что насколько такой экстрим был бы допустим — не могу сказать.
no subject
Date: 2014-01-04 02:19 am (UTC)Верилог отличается от Си тем, что в нем нет базовой ширины операций, какой в Си является int.
no subject
Date: 2014-01-22 04:01 am (UTC)no subject
Date: 2014-01-04 01:05 am (UTC)тому кто любит сложности -
c ложно
тому кто любит женщин -
c истинно!
no subject
Date: 2014-01-04 01:16 am (UTC)no subject
Date: 2014-01-04 01:19 am (UTC)как мы ни бились отличить
но тему мог зато раскрыть!
no subject
Date: 2014-01-04 01:19 am (UTC)no subject
Date: 2014-01-04 01:23 am (UTC)no subject
Date: 2014-01-04 01:44 am (UTC)no subject
Date: 2014-01-04 01:50 am (UTC)no subject
Date: 2014-01-04 05:31 am (UTC)no subject
Date: 2014-01-04 01:58 am (UTC)no subject
Date: 2014-01-04 02:10 am (UTC)no subject
Date: 2014-01-04 03:36 am (UTC)Я считаю, что неявные касты и численные сравнения для разных типов допустимы только в C и в C++, исключительно из уважения к истории.
В во всех остальных языках это выглядит отвратительно. Надо требовать явный каст на этапе компиляции.
no subject
Date: 2014-01-04 04:12 am (UTC)А язык с явными кастами на этапе компиляции в индустриальном использовании приводит к тому, что разработчики с ума сходят и пишут белиберду вместо эффективного кода.
no subject
Date: 2014-01-04 04:44 am (UTC)Можно примеры? (Если не белиберды, то хотя бы языков, где вы её видели).
no subject
Date: 2014-01-04 04:56 am (UTC)no subject
Date: 2014-01-04 05:06 am (UTC)no subject
Date: 2014-01-04 05:36 am (UTC)no subject
Date: 2014-01-04 05:57 am (UTC)no subject
Date: 2014-01-04 06:51 am (UTC)