はじめに 「『型なし』と『動的型』って同じ?違う?」「ピピーッ!JavaScriptやRubyを『型なし言語』と呼ぶのは間違いです!」 ツイッターを見ていると、このように「型」という言葉の用法に混乱がみられるので、私見で整理してみたいと思います。 まず、「型」という言葉の用法には、大きく分けて2つあります: 変数や関数についての静的にわかる性質 静的型言語では「型」と言ったら主にこちらを指します。 値の種類を区別するための実行時のタグ付け(型タグ) 「動的型言語」と言った場合の「型」はこちらです。 静的型言語でも「実行時型情報」という名前で、値にタグがついている場合があります。 前者の立場では、「動的型言語」は「型がない」ように見えて、後者の立場では、「動的型言語」にも「型がある」ように見えます。 「静的型 vs 動的型」(あるいは「型あり vs 型なし」)の議論をする際は、「型」という言
![「型」のお気持ち 〜 「型なし」と「動的型」って同じ?違う? - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/1d84388c2d50ba7eac72c23164e1de8963fc5c54/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgwJThDJUU1JTlFJThCJUUzJTgwJThEJUUzJTgxJUFFJUUzJTgxJThBJUU2JUIwJTk3JUU2JThDJTgxJUUzJTgxJUExJUUzJTgwJTgwJUUzJTgwJTlDJUUzJTgwJTgwJUUzJTgwJThDJUU1JTlFJThCJUUzJTgxJUFBJUUzJTgxJTk3JUUzJTgwJThEJUUzJTgxJUE4JUUzJTgwJThDJUU1JThCJTk1JUU3JTlBJTg0JUU1JTlFJThCJUUzJTgwJThEJUUzJTgxJUEzJUUzJTgxJUE2JUU1JTkwJThDJUUzJTgxJTk4JUVGJUJDJTlGJUU5JTgxJTk1JUUzJTgxJTg2JUVGJUJDJTlGJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz0xMGE2MDgyMjVjZjBlMjEwMGZhOGIyY2ZhMzhjNDViNA%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBtb2RfcG9wcG8mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTBmMzQxNGY4MWJmMmNiODhlNWE0YWRmOWUzZGNkNTA4%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Dd4d3c9c688c108447e6af0274c631f89)