僕が考えたこととライフハック

政治経済、ITについて書く。

静的・動的型付けの理解で参考にした記事

静的型付け、動的型付け・・・・

用語は知っているし、なんとなく概要は知っているつもりだけど、人に説明しようとすると意外と混乱してしまう。

そこで自分なりにいろいろ調べてみたので、メモとして残しておく。

プログラミングパラダイム

プログラミング言語にはそれぞれ特徴やルールがある。

そのことを「プログラミングパラダイムという。

例えば、Javaは「強い静的型付け」言語、

Rubyは「強い動的型付け」言語、といった感じです。

他にも”オブジェクト指向言語”,”関数型言語”などがよく聞く単語だと思いますが、調べてみるとめちゃくちゃありました。↓

https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%83%91%E3%83%A9%E3%83%80%E3%82%A4%E3%83%A0

Wikipedia - プログラミングパラダイム

参考にした記事

「強い型付け」「弱い型付け」って言葉を知った!

https://chomado.com/programming/type-safety/

「型安全ってなんだろう・・?」という問いに、強い方が例を出して答えるという一連のまとめ。

動的型付け、静的型付けの特徴や実際どういうメリットがあるのかが書いてあってわかりやすかった。

変数に型がないということの利点について考えてみる - Perl入門ゼミ

https://tutorial.perlzemi.com/blog/20130227136192.html

動的型付けの便利なところを挙げ、型がないということの有用性を紹介している記事。

記事自体も面白いのですが、コメント返信が特におもしろいです。いろんな意見を出し合い、自分の考えを深めるということの重要性がわかりました。

(私が積極的に動的型付けを推しているというわけでは決してありません。単純に面白かったので紹介しました。)

自分が何故、静的型付け言語が好きなのか少し考えてみた

http://koduki.hatenablog.com/entry/2013/03/02/163754

先ほどの記事とは逆に静的型付け言語のメリットについて書いてある記事。

結論はこう述べてらっしゃいました。

ケースバイケースです。というのが基本的な回答ですが、個人的には前述の通り静的片付けが好みなのでこちらを使うことが多いです。ただ、クイックに書きたい時はやはり動的型付け言語のが便利ですね。

ただ、実際のところ、これは静的型付動的型付けというより、どの言語を使うか、という話になると思います。クイックに書きたいとしてもPHPで書くより、Scalaで書いたほうが楽なところが私の場合は多いです。

あるいはC言語よりRubyの方がよっぽど安全に書けるでしょう。

結局は好みと、プロダクトの特徴に合わせて使い分けるというのが良いということですね。

まつもとゆきひとの「プログラミング言語論」【前編】

https://tech.nikkeibp.co.jp/it/members/NBY/techsquare/20031224/3/

「静的な型」とは,プログラムの式や変数などのデータ型がプログラムの字面を見るだけで分かるということです。「静的」とは「プログラムの字面上の」とか「コンパイル時の」とか「実行時でない」とかいう意味です。静的な型を持つ言語では,データ型に対して間違った操作を行うことはできません。そのような試みはプログラム上の間違い(コンパイル・エラー)として検出されます。

 ↑わかりやすい。

この部分だけでなく全体的に勉強になる内容だったのでぜひみてほしいです。

 

まとめ

普段使っている用語を掘り下げていくとほかの知識とつながったりしてより知見が広がっていく気がするのでたのしいですね。