プログラムと言う”言語”
プログラミングと言う手段について
プログラマーでない人にとって
プログラミングと言うのは難解なイメージがあるそうです。
プログラミングと言うのは難解なイメージがあるそうです。
しかしプログラミングも所詮はただの「言語」です。
コミュニケーションツールである各国の言語と同様に難しく考える必要はありません。
筆者が今まで色んな言語に触れてきた上で
取得に際してポイントだと思った点について今回は一つ例に挙げさせていただきます。
※ 個人的な解釈が多分に含まれています。
多様性の中に存在する共通点
例えば、ある会社の中から”山田”という苗字の人の名前を取得するとします。
1 2 3 4 | yamadas = Company.employees.where(lastname: "山田") yamadas.each do | person | print person.name end |
1 2 3 | yamadas = Company["employees"] for person in yamadas if person.name == "山田" print person.name |
1 2 3 4 | $yamadas = $company->getEmployees(); foreach ($yamadas as $person) { if ($person->getLastName() == "山田") echo $person->getName(); } |
もちろん言語が決まっていても
システムの仕組み(フレームワークと言われるもの等)によって大幅に変わります。
ぱっと見では経験者でないと拒絶するかと思います。
よーく見てみると理屈は単純です。
1. ある会社の苗字が「山田」である従業員を調べる
2. 得た従業員をループして名前を書き出す
やっていることはこれだけです。
自分の得意な言語に置き換えてみる
とは言え、色んな言語に触れて慣れた人でないと難しいと思います。
筆者も新たな言語に触れるときは検索して調べながら文法・構文を一つずつバラしていきます。
(半年も触れていなければ普通のことで、文法など忘れてもなんの問題もありません!)
そこで筆者が良くする方法として
「日本語に置き換えてしまう」というものがあります。
例えば前項で挙げた例で言うと
Ruby
1 2 | 山田さんたち = ある会社の中の従業員たち(苗字が"山田"の人を更に抽出) 山田さんたちに一人一人名前を訊ねてみた (メモに取る) |
Python
1 2 | 従業員たち = ある会社の従業員たち 従業員たちの名前を一人一人メモに取る (ただし苗字が"山田"の人だけ) |
PHP
1 2 3 | 従業員たち = ある会社の従業員たち 従業員たちに一人ひとり伺う もしも苗字が"山田"なら名前をメモに取る |
こんな感じになります。
(ややPHPさんに不利な実装になりましたが…)
作りたいものは逆をたどる
何かプログラムを組みたいけど、どう組むか想像がつかない。
そんな時は
「やりたいことを日本語で何となく組んでから一つずつ置き換えていく」
と言った手法を筆者はお勧めします。
そんな時は
「やりたいことを日本語で何となく組んでから一つずつ置き換えていく」
と言った手法を筆者はお勧めします。
「”もし””苗字”が”山田”なら”名前を書き出す”」
の中で「もし → if」などは共通の考えなので一つやればほぼ解ります。
その上で言語によって違う
「言語独自の思想や指向」
にあたった時は基礎から一つずつ分割して調べるのが確実です。
Author Profile
スターフィールド編集部
SHARE