On Tue, 3 Dec 2019 at 13:31, Александр Коновалов
a.v.konovalov87_AT_mail.ru <refal@botik.ru> wrote:
>
> Бойко назвал Рефал _слаботипизированным_ языком, имея в виду то,
> что базовых типов мало и пользователь не может создавать новые
> типы. Но термин _слабая типизация_ (weak typing, синоним: нестрогая
> типизация) уже занят, означает, что компилятор допускает неявные
> преобразования между типами

Уточню, что я не совсем то сказал.  Цитирую написанное мной раньше:

«Слабо типизированным я называю язык, в котором, грубо говоря, типы
данных имеют небольшую роль. Например, их мало и нельзя определять
новые.»

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

В большинстве случаев это действительно идёт вместе с малым
количеством типов, но это не обязательно.  В языке REBOL,
например, довольно большое количество встроенных типов, однако
на программирование это несильно сказывается, так как у большинства
этих типов узко прикладной характер; например, имеется тип «имя
файла» — особый вид текстовой строки.  Это для программиста может
и удобно, но несущественно.  А для написания программ он так или
иначе создаст удобные ему структуры из блоков (как в Рефале — из
последовательностей).  В итоге REBOL всё-таки слабо типизирован.

Многие языки, в том числе Рефал, предоставляют средства создавать
сколько угодно сложные структуры данных, но не позволяют определять
новые типы в формальном смысле.  Для таких языков типы мало
существенны, в них они малозаметны, поэтому я их считаю слабо
типизированными.

Впрочем, вне зависимости от того, как называть то, что я называю
слабым, мне кажется ошибочным одно и то же называть словами
строгое/нестрогое и сильное/слабое (ошибочно это и в английском
языке).
  • RE:... Александр Коновалов a . v . konovalov87_AT_mail . ru
    • ... Eisymont Leonid verger-lk_AT_yandex . ru
      • ... Александр Коновалов a . v . konovalov87_AT_mail . ru
        • ... Александр Гусев gusev_aleksandr_AT_mail . ru
        • ... Boyko Bantchev boykobb_AT_gmail . com
        • ... Sergei M. Abramov
        • ... Александр Коновалов a . v . konovalov87_AT_mail . ru
        • ... Boyko Bantchev boykobb_AT_gmail . com
        • ... Александр Коновалов a . v . konovalov87_AT_mail . ru
        • ... Александр Коновалов a . v . konovalov87_AT_mail . ru
        • ... Boyko Bantchev boykobb_AT_gmail . com
        • ... Arkady Klimov arkady . klimov_AT_gmail . com
        • ... Александр Коновалов a . v . konovalov87_AT_mail . ru
        • ... Arkady Klimov arkady . klimov_AT_gmail . com
        • ... Александр Гусев gusev_aleksandr_AT_mail . ru
        • ... Boyko Bantchev boykobb_AT_gmail . com
        • ... Александр Гусев gusev_aleksandr_AT_mail . ru
        • ... Александр Коновалов a . v . konovalov87_AT_mail . ru
        • ... Александр Коновалов a . v . konovalov87_AT_mail . ru
        • ... Александр Гусев gusev_aleksandr_AT_mail . ru
        • ... Andrei Klimov andrei_AT_klimov . net

Ответить