初めまして。わかすぎです。
プログラミング歴は二年、普段はJavaでご飯食べてます。 現在は自社開発の手伝いでPHPの勉強を始めました。そんな中、頭に浮かんだことがあるので、今回はそれを題材にしてみようと思いました。
また、今回が初めての寄稿になりますので、拙い文章にはご寛容いただきますようお願いします。
はじめに
皆さんはどのプログラミング言語が好きですか?
Java, PHP, Ruby, Swift, Go, Python, RUST, JavaScript
言語によって、 得意なこと・ライブラリの豊富さ・記述のしやすさ
そんなところで決まってくるんじゃないでしょうか?
この中でも、『記述のしやすさ』にフォーカスして、今回は書いていきます。 (少し技術選定も関わってきます。)
静的型付け言語・動的型付け言語ってなに?
どれだけの人がこの言葉を聞いたことあるのでしょうか。
これは、プログラミング言語(またはフレームワーク)の記述ルールではっきりと分かれるものです。
『型』。つまりデータ型のことですが、 コーディングしていて、型をどれだけ意識しているか否かでわかります。
以下、引用します。
- 静的型付け: Java, C、C#, VB, .netなど
- 動的型付け: JavaScript, Python, Ruby, PHPなど
どうでしょう?イメージわきましたか?
それでは実際の例を挙げて書いていきます。
静的・動的ってどういうこと?
整数の配列を扱う変数を定義してみます。
- 静的型付け言語の場合 Javaでは、以下のように書きます。(一例)
※List, Integer, ArrayListが型になります。
List>Integer> a = new ArrayList>Integer>();
- 動的型付け言語の場合 PHPでは、以下のように書きます。(一例)
$a = [];
あれ?コードの量差違いすぎない??
ベーシックな書き方でこれを抜粋しましたが、ハッキリ違いがわかりますよね。
そうです。型の定義が、『明確』か『曖昧』かで静的動的がわかります。
じゃあどっちがいいの?
性格…といいたいところですが、 これは開発規模によって分けるべきだと思います。
先の例でいえば、
- 静的型付け言語では、予め定義された整数型の変数に、文字列型でも浮動小数点型でも、それらの値を入れようとしたものならコンパイル時点でエラーが出ます。
- 動的型付け言語では、型の定義をしておかないわけですから通ります。
他の例でいえば、
- なんでも許容してくれるほうが楽で便利だからそれにする。
- 平日だろうが祝日だろうが、6時には絶対に起きる。
- ご飯食べに渋谷へ来てみたけれど、お店が多すぎて決めきれない。
- 通勤はブーツって言われて行ってみたら、スーツだった。
などと予め決めておくということには、融通さや容易さに違いがあると思います。
これらがどういう影響を与えるかと言うと、開発速度・チーム連携・データ受け渡し。 これらをまとめて開発規模です。
…長くなってしまいましたので今回はここまで。
See you NEXT time.