Interested Article - Сильная и слабая типизация

> Единственный практически используемый язык программирования со строгой статической типизацией — это Ада.

Некорректная информация. Haskell, OCaml - практически используемые языки со строгой статической типизацией. 95.67.193.14 13:05, 31 июля 2011 (UTC)ololo [ ]

> Довольно большое число распространённых языков программирования используют нестрогую статическую типизацию. К таким языкам относятся, например Pascal , Модула-2, Fortran.

Почему это противоречит этой статье: Паскаль

>Типизация данных: статическая, Сильная типизация , безопасная (англ. Type safety)

178.150.124.26 20:47, 12 июля 2013 (UTC)[]

С уважением, Олег.

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

С уважением, Григорий.

Дана не совсем корректная информация по типизации в Си.

В статье есть вот такая вот фраза:

> неявного приведения практически любых типов друг к другу (как, например, в классическом языке Си) эти


Это не совсем корректно, ибо даже в классическом Си отнюдь не любые типы приводились друг к другу неявно.

  • Да, вы можете таким образом приводить целые типы данных неявно, если это не приводит к потере данных.
    Хотя даже так можно нарваться на неприятности.
  • Можете неявно приводить целые к вещественным, но не обратно.
    Вещественные к целым можно только явно. Как-то так:

int a = 3;
float b = (float)a;

  • Большую проблему представляло (и до сих пор представляет) автоматическое приведение int к bool , что в ряде случаев может приводить просто к адским вещам.
    Хотя в 20 стандарте это обещают исправить и приведение int к bool будет считаться потерей данных ( чем оно, по сути, и является ) и будет требовать явного приведения.
  • Структуры и другие сложные типы данных нельзя произвольно приводить к чему попало, без явного приведения.


Так что в Си не такой уж и бардак с типизацией. Бывает и хуже, но реже.


( обс. ) 08:55, 16 апреля 2020 (UTC) [ ]

Источник —

Same as Сильная и слабая типизация