パソコンについて学ぼう-Pythonを学ぶ以前にやるべきこと-

本記事では、Python を学ぶ以前にやるべきこと、という内容で解説していきます。本記事からプログラミングを始めた、という方は、こちらのサイトを参考にしてください。

プログラミング以前の話

まず、プログラミングを学ぶ前に、パソコンについて勉強しましょう。

プログラミングの勉強をしているのに、なぜパソコンを学ぶのか???という方が大半かと思います。なぜパソコンからやるのか。それはプログラミングは、パソコンを動かすための手段の一つだからです。

まず当たり前の話ではありますが、パソコンは自分 1 人で動くことはできません。買ったばかりのパソコンが、急に起動したり、文字を書いたりし始めませんよね?(もしこのようなことが起こるなら、ハッキングされてたり、不良品の可能性が高いので、修理や買い替えをお勧めしますが。。。)

いまあなたが見ているパソコン・スマートフォンは、キーボードの入力後に表示する文字、マウスの位置、タッチした場所など、これらすべてがプログラムされたものを基に機能させています。

またパソコンは様々な部品から構成されています。

PCパーツ一覧と各パーツの解説【自作PC初心者向け】
パソコンに詳しくなりたい!これから自作PCをしたい!という方に向けて、パソコンがどういったパーツで構成されているのか分かるようにPCパーツを一覧にしました。また、パーツ毎に必ず必要なパーツかどうかも解説しています。

プログラミングでは、パソコンのどの部品にどのような作業をさせるのかを明確に定義する必要があります。また後述しますが、パソコンが読み取れるように、精確に文字の定義を行う必要があります。

これらを踏まえたうえで、 1 つ言わなければならないことがあります。Python はこれらの機能を記載しなくても、プログラミングを行うことが可能です。

これは機能の点では優秀ですが、学習の点では不利になる点があります。なぜなら、何をやってはいけないかを理解する機会が減るからです。説明書を見ずに、掃除用洗剤を混ぜ合わせるくらい危険なことだと言われると分かりやすいでしょうか。

掃除用洗剤は説明書を見なくても、容易に使えますが、説明書を見なかったら毒ガスが発生したりします。Python では生命の危機になるようなことはありませんが、重大な見落としや理解不足を生みやすい要因となってしまいます。

これらを防ぐにはどうすればよいのか。他言語でもやっている、簡単な機能について理解しておけばよいのです。以上の理由から、本記事では Python を勉強する前に、パソコンの勉強から始めます。

パソコンの勉強

最初に

さて、パソコンの勉強を始めていきましょう。ただし本サイトでは、パソコンを勉強することが主ではないため、概要のみ説明します。詳細が知りたい方はこちらの本を参考にするとよいでしょう。

独習アセンブラ 新版

筆者も勉強中ですが、全て丁寧に書いてあるので、理解しやすいかと思います。

パソコンの歴史

パソコンは計算を早くかつ正確にするために作成されました。初期のコンピュータが電気を使用したことから、電気が使用されています。電気が採用された理由としては、速度、情報の転送や記憶に効果的だったからからです。

ただし、電気そのものは、情報そのものを記憶することができません。そのため、何かしらの工夫が必要があります。その工夫の 1 つとして、スイッチのオン、オフが使われます。

パソコンでの文字表現

次にスイッチのオン、オフを表現する方法が必要になります。パソコンの場合、オンを 1 、オフを 0とします。この 0 と 1 の組み合わせによってパソコンは数字を表現することができます。この 0 と 1 の数値を 2 進法と言い、この 2 進法の数値を 10 進法に直したものがパソコンで表示される数値になります。2 進法と 10 進法はこちらのサイトがわかりやすかったので、参考にしてください。

【2進法】これ以上わかりやすくはできません!2進法を徹底解説
私たちが日々よく使っているのは10進法です。あまりにも使い慣れているので、何も考えることなく10進法を使いこなしていますが、2進法や5進法だって基本的な考え方は10進法と同じです。ですから10進法をもとにして考えれば...

さて数字を表現することができました。次は文字を表現します。これは、文字をある適当な数字で当てはめる、という手法で解決します。UTF-8 が代表例として挙げられます。

文字と数値が表現できました。じゃあ問題です。猫という文字を 0 という風に当てはめた、と仮にしましょう。数字の 0 とどうやって区別しますか?

結論から述べると、パソコンは区別できません。そのためにどうするか、何かしらの頭文字を定義します。文字の 0、数字の 0 といった感じです。

これらのルールはプログラミングにも適応されます。すべてのプログラミング言語において、文字の前には何かしらの定義が必要になります。このパソコンが定義できる形の文字をデータ型、人間が認識できる文字のことをリテラルと呼びます。

パソコンでデータの記憶をする

当然ですが、パソコンで保存したデータが次の日消えることはありません。メモ帳が次の日にいきなり削除されていたってことはないと思います。このように、作成した電子データは、パソコン内の部品の中に記憶されます。この部品のことをメモリと言います。

またこれも当然ですが、メモリは物体です。実際に手で触れますし、パソコン内でも実態があります。つまり保存できる場所は限られているわけです。この保存できる限界のことをメモリ容量と言います。

プログラミングの基本

さて、プログラミングに話を戻しましょう。まずプログラムの計算を行うにあたり、毎回データを記載するのは非常に面倒くさいですよね。そのため、入力した値を名前を付けてメモリに記憶します。これを変数と呼びます。プログラムではこの変数に情報を保存しながら、複雑な処理を行っていきます。

ただし、メモリには限界があります。変数を無限に定義することはできないわけです。この問題を解決するために、一時的にメモリに記憶し、その情報の一部を棄却する、という処理を行います。これを関数と言います。また、関数はコードを簡潔にし、再利用性を高めるためにも使用されます。

これだけ聞くと関数は便利である、と言えそうですが、関数のデータはすべて消えてしまうので、途中の処理を取り出したいときに不便です。そのため、クラスが提案されました。クラスは関数をまとめて表記したようなもので、同じ変数で複数の処理を行うことができたり、途中結果を保存することができます。

このように、プログラミングは、変数・関数・クラスを適切に使用して複雑な処理を作り上げていきます。

プログラミングまとめ

さて、長くなりましたが、以下の事が理解できれば本記事の理解は完璧です。

・プログラミングには共通のルールがあり、それはパソコンのルーツから学ぶことができる

・パソコンは 0, 1 で文字を認識し、数値と文字を分けるために接頭語が必要になる。

・プログラミングは、変数・関数・クラスを適切に使用して複雑な処理を作り上げるものである。

お疲れさまでした。そして長文にお付き合いいただき、誠にありがとうございました。

[次の記事]

タイトルとURLをコピーしました