SEが新しいプログラミング言語を習得するまでにどのくらいかかるのか?〜変数と型編〜

スポンサーリンク

こんにちは!めっそそです。

引き続きPHPの勉強を進めていますが、今回はタイトルのとおり変数と型について学習したのでその記録です。全11章のうち2章まで終わったことになりますが、体感思っていたよりも進捗が遅いですね。

今回の学習内容

今回学んだことは以下のとおりです。

  • PHPファイルの作成方法と実行方法
  • コメントアウト
  • 標準出力
  • 変数宣言、定数宣言、可変変数定義済み定数
  • 型、bool型の挙動、string型の挙動
  • 配列、連想配列
  • 型変換

赤字の部分はPHPにて独特の機能(すでに習得したJava等に比べて書き方やそれ自体に馴染みのないもの)だと思います。他言語の習得者は赤字を注意すれば良いですし、初学者は赤字部分以外は他の言語でもそんなに大きく変わらないと覚えておけば、他言語習得の際に役立ちますよ。

今回の所要時間:2時間

学習メモ

PHPがHTMLの中にスクリプトとして埋め込む形式のため、PHPを動作させるためには「{ファイル名}.php」を作成してHTMLを記載し、その中に「<?php {コード} ?>」を埋め込むようになるようです。

単純な動作確認やPHPの機能確認であれば、HTMLの記載は省略しても確認できます。ちなみに文字コードはUTF-8の改行はLF、BOMなしが定番とのこと。Windowsを使用する際には少し注意が必要かもしれません。

変数については、変数の頭に「$」をつけるのが特徴的ですね。一方で定数には$がないのもなんだか不思議な気がします。クラスはパスカルケース、定数は大文字のスネークケース、関数や変数はキャメルケースが定番ということで、このあたりはCやJava、JavaScriptと同じです。

一方で動的型付け言語のため、変数の取り扱いはJavaScriptやPythonに近い感覚です。動的型付け言語の方が最初は型を意識しなくて良いので初心者向けなのかもしれませんが、常に変数に何が入るかを気にする必要があると思うと本当に初心者向けか…?と毎回思います。

PHPで癖が強いなと思ったのが、可変変数と連想配列です。可変変数については、以下のようなものです。

<?php
  $var_1 = 'var_2';
  $var_2 = 'test';
  print $$var_1; // testが出力される
  // $$var_1のうち、${$var_1}の{}内が評価されvar_2となる。
  // $var_2を評価し、testとなる。
?>

ゆくゆく登場するそうなのですが、どんな場面で使うのか現時点では想像つかないですね。。

連想配列については、いわゆるMapのようなキーバリューの組み合わせを配列内に保持するものですが、宣言方法が配列の要素に「{キー}=>{バリュー}」と記載するようになります。そして普通の配列と混合させることもできるので、直感的には配列内の値の管理が大変そうだなと思いました。

これからMapのような使い方以外で連想配列をうまく使える状況が出てくるのでしょうか…?

ちなみに上で書いた定義済み定数はあまり馴染みがないですが、オブジェクトが保持する値を取得するのに比べかなり楽なのかなと思いました。

学習にあたりメモをバーっと取っているのですが、内容を整理するとこんなところです。

今回の発見

一つ新たに気付いたのが、「押さえておかなければならない定番の処理がある」ということでした。

言われてみれば当たり前なのですが、プログラミング言語自体を新たに習得するとしても、およそどの言語でも流れは変わらず

ファイルにプログラムを記載→動作させて結果を確認する

となります。プログラムを記載する際にも変数を宣言する、標準出力で値を出力させる、不要な処理はコメントアウトする…といった定番の流れがあります。

そのため、新しい言語を習得する際にはそんな定番処理を優先的に覚えることで、習得スピードがかなり上がるのではと思いました。定番処理を明文化してみるのも、何か発見があるかもしれません。

コメント

スポンサーリンク
タイトルとURLをコピーしました