В C++ уже есть возможность неявной типизации -
auto и
decltype (и динамической -
std::variant).
И в C# есть слово
var.
А как вы себе представляете динамическую явную типизацию? Приведите пример на воображаемом языке.
-- Пн авг 08, 2022 22:57:39 --На
http://wiki.c2.com/?TypingQuadrant принята такая классификация:
Static manifest typing (C, Pascal, ActiveOberon, C++, Ada, Java, C#...).
Static inference typing (Haskell, Standard ML, ObjectiveCaml, Clean...).
Dynamic typing (Lisp, Smalltalk, Python, Ruby, PHP...).
И экзотическая категория Soft typing (DrScheme, E).
То есть dynamic manifest typing, по их мнению, вообще не существует, что я считаю логичным.
И все это ортогонально сильной/слабой типизации, причем они выделяют случай Strong typing without loopholes, как в C# без
unsafe или в Java без
native.
Про static weak inference typing они где-то писали, что в этой категории трудно найти язык, и, кажется, приводили в пример BCPL, но, насколько я понимаю, по тривиальной причине - там все переменные были одного типа.
C++, несмотря на
auto, видимо, им не подошел, потому что эта вики довольно старая. Или потому, что слабая (
reinterpret_cast) и неявная (
auto) типизации в C++ лежат в совершенно разных пластах языка.