Что такое звуковой язык программирования?

Согласно веб-сайту Dart

Дарт — это звуковой язык.

Каково значение звука в приведенном выше предложении?

Я не смог найти подобной концепции в других основных языках программирования. Кто-нибудь может привести другие примеры звуковых языков?


person Mir-Ismaili    schedule 19.03.2018    source источник


Ответы (3)


Это НЕ связано со звуком.

Согласно Википедии:

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

(ср. https://en.wikipedia.org/wiki/Type_system#Static_type_checking )

Чтобы узнать об этимологии, см. Прочность .

TL;DR: в данном контексте это означает крепкий, здоровый.

person SKZ 81    schedule 19.03.2018

Взято из языкового руководства Dart.

Что такое надежность?

Надежность заключается в том, чтобы гарантировать, что ваша программа не может попасть в определенные недопустимые состояния. Система звуковых типов означает, что вы никогда не сможете попасть в состояние, в котором выражение оценивается как значение, не соответствующее статическому типу выражения. Например, если статический тип выражения — String, во время выполнения вы гарантированно получите строку только при ее оценке.

Строгий режим, как и системы типов в Java и C#, является надежным. Он обеспечивает эту надежность, используя комбинацию статической проверки (ошибки компиляции) и проверки во время выполнения. Например, присвоение String типу int является ошибкой компиляции. Приведение объекта к строке с использованием as String завершится ошибкой времени выполнения, если объект не является строкой.

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

В классическом Dart проблема возникает во время выполнения — выборка Stream из списка, но получение другого типа приводит к исключению во время выполнения и сбою приложения. Например, следующий код присваивает список типа dynamic (который содержит строки) списку типа int. Итерация по списку и вычитание 10 из каждого элемента вызывает исключение во время выполнения, поскольку оператор минус не определен для строк.

Преимущества надежности Система звуковых типов имеет несколько преимуществ:

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

Более читаемый код. Код легче читать, потому что вы можете полагаться на то, что значение действительно имеет указанный тип. В звуковом дарте типы не могут лгать.

Более удобный код. В звуковой системе типов, когда вы изменяете один фрагмент кода, система типов может предупредить вас о других фрагментах кода, которые только что сломались.

Улучшенная предварительная компиляция (AOT). Хотя компиляция AOT возможна без сильных типов, сгенерированный код гораздо менее эффективен.

Более чистый JavaScript. Для веб-приложений более строгий режим набора текста позволяет dartdevc генерировать более чистый и компактный JavaScript.


Чтобы сделать Dart более надежным, потребовалось добавить в язык Dart всего несколько правил. При включенном сильном режиме анализатор Dart применяет три дополнительных правила:

Используйте правильные возвращаемые типы при переопределении методов.

Используйте правильные типы параметров при переопределении методов.

Не используйте динамический список в качестве типизированного списка.

person Pacane    schedule 19.03.2018

В этом контексте звук — это прилагательное, означающее в хорошем состоянии.

https://dictionary.cambridge.org/dictionary/english-japanese/sound

person XXLIVE    schedule 03.02.2021