“HELLO WORLD”

こんにちは。IT KiDS東伏見教室のマイケルです!

新しい言語を学ぶとき、最初に作成するプログラムがあります。「Hello World」と呼ばれるものです。これは新しいプログラミング言語を学ぶために最初に紹介される伝統的なプログラムです。新しい技術を入門レベルで学ぶのに役立つ魅力的な方法です。

決して複雑なプログラムというわけではありません。誰でも書くことができます。目的は「Hello World」という文字列を画面に出力することです。

それ以上でも、それ以下でもありません。

ただし、このタスクを達成するための難易度は、実はそれほど単純ではありません。その理由を考えるために顕微鏡レベルで見返してみましょう。

顕微鏡レベルでは、CPU(中央演算処理装置)やコンピュータが家庭用は電気のブレイカーとそれほど違いません。ただの電気のスイッチです。スイッチオンの場合は電気が流れ、スイッチオフの場合は電気が流れません。

かつて人類はこれらのオンとオフの概念をとてもシンプルなものに捉え直しました。1と0です。これらのオンオフはバイトと呼ばれます。バイトを1に設定すると電気が流れ、0だと流れません。

ブレイカーのスイッチを入れると、そのブレイカーが管理する場所に電力が送られます。例えば、リビングのエアコンでしょうか。電源を入れるとエアコンが使えるようになり、オフだとできません。

CPUも全く同じように動作します。回路を1に設定すると、コンピュータの特定の部分に電力が流れます。0の場合は何も起こりません。

同じように「Hello World」を表示してみましょう。そのためには、コンピュータサイエンスについてもう少し詳しく学習する必要がありますが、ここでは割愛します。もちろん、各文字には8つのビットがあり、呼び出されると画面に表示されます。

それぞれの文字をどのように表現するかは次の通りです。HELLOとWORLDの間のスペースにも意味があります。

H: 01001000
E: 01000101
L: 01001100
L: 01001100
O: 01001111
(スペース): 00100000
W: 01010111
O: 01001111
R: 01010010
L: 01001100
D: 01000100

実際のコードは以下のようになります。

01001000 01000101 01001100 01001100 01001111 00100000 01010111 01001111 01010010 01001100 01000100

1940年代以降のパンチカードコンピュータはバイナリ出力で動作しました。出力が画面ではなくカードに印刷する形式で出てきます。さらに、カードには、コンピュータが割り当てられたタスクを実行できるように特別にパンチされた指示が含まれています。

皆さんが思う通り、カードは面倒で全く効率的ではありませんでした。ALTAIRコンピュータがそれの打開策として1970年代に発明されました。これは戦前の時代のパンチカードコンピュータよりもはるかに高速な基本的なコンピュータユニットでしたが、今日私たちが使っているコンピュータと比べるとただの石程度のものに過ぎません。ALTAIRもバイナリを使ってプログラムを操作して実行していましたが、プログラマはパンチカードの代わりにスイッチを切り替えてメモリと呼ばれる革新的な最先端のコンピュータ概念にデータを登録できるようになりました

カードの代わりに、ALTAIRのオンボードメモリには、操作を実行するための複数行のバイナリを保持できます。当時はまだデジタル表示はありませんでしたが、次の時代にはそこに到達することになります。

ビッグプログラムの時代

ALTAIRの成功とともに、メモリが増大し始め、CPUの力が強化され始めました。バイナリはもはや複雑な操作をプログラミングでするための基礎ではなくなり、そのすべてではないにしろ、そのほとんどがデジタルディスプレイ(CRTモニター)を使用するようになりました。記憶は研究するのが非常に複雑です。そのため、より「シンプルな」プログラミング言語が必要になりました。この言語はメモリアドレスにアクセスしてメモリビットを割り当て、コンピュータはそれを文字通り「記憶」し、CPUと通信することで画面上で処理を実行できます

これはアセンブリと呼ばれます。アセンブリの「Hello World」プログラムは次のようになります。

     PRINT NOGEN
     DC    X'05',CL8'HELLO'
     DC    X'15',CL8'WORLD'
     DC    X'15',CL8' '
     DC    X'04'

     END

アセンブリはメモリブロックを呼び出し、CPUが操作を実行するために適切なバイナリとして解釈する値を挿入します。

アセンブリは複雑ですが、今日でも単純なロボット工学や産業オペレーションの開発に使用されています。1970年代にアメリカ合衆国で育ち、Atari ST、2600、5200、および Nintendo Entertainment System (NES) でゲームをプレイしていた人であれば、アセンブリで書かれたソフトウェアをよく分かると思います。日本で例えるならファミコンですね。ファミコンとNESの両方に世界を変えたゲームがあります。マリオです。このゲームもアセンブリで書かれているのです。

教育におけるプログラミング

1970年代半ばから後半にかけて、Appleの共同創設者スティーブ・ウォズニアックは愛好家向けのApple Iから町名のApple IIに至るまで非常に初期のAppleコンピュータ端末として非常に単純なプログラミング言語を実装する方法を発見しました。この言語はウォズニアックが作成したのではなく、むしろ当時の普及に貢献したもので、BASICと呼ばれています。

BASICは実際にはアセンブリの「ラッパー」として作成されました。つまり、BASICはアセンブリ上に構築され、BASICで書かれたプログラムはアセンブリに変換され、残りの作業はコンピュータが実行します。

BASICはシンプルなので当時の小学校で教えるのが簡単でした。BASICの「HELLO WORLD」は次の通りです。

10 PRINT "HELLO WORLD"

1980年代から1990年代に進むにつれて、学校はC、C++、PASCALなど、より複雑で強力な言語を教えるようになりました。これらの言語は非常に人気があり、CおよびC++は今日でも使用されており、最新のコンピュータで動作する最新バージョンが提供されています。Cは産業システム開発やコンピュータボードの個々のコンポーネントとの通信によく使われますが、C++は一般的なアプリ、ゲーム、さらにはシステム開発の作成にも使われるようになりました。今日に至るまで非常に複雑なビデオゲームの作成に使用されている人気のあるUnreal Engineの基本スクリプト言語でもあります

#include <iostream.h>

int main()
{
    cout << "HELLO WORLD" << endl;
    return 0;
}

1980年代や1990年代においてさえ、コンピュータはもはや単純ではなかったのでより複雑に見えます。ファミコン / NESのほとんどのゲームも多くの人気ビデオゲームタイトルと同様に今日でもC++で書かれています。

現在、Python、Lua、Scratchなどの言語があり、1970年代や1980年代のエンジニアにとってのアセンブリと同じくらい私たちにとってもコンピュータエンジニアリングとソフトウェア開発が簡単になっています。この3つはIT KiDSでも取り扱っている言語です。

Pythonでの「Hello World」は以下の通りです。

print("Hello World")

Luaではこうなります。

print("Hello World")

同じに見えますね? それが現代の強力な言語の美学と言えます。学習を始めるのは簡単です。まもなく学生はこれらの言語のいずれかで複雑なプログラムの構築を始めることができるようになります。Pythonはシステム開発や、データサイエンス、サイバーセキュリティといった分野で人気があります。モバイルからデスクトップまであらゆるシステムと互換性があり、C言語で書かれているため非常に強力です。

Luaはそれと異なりゲーム開発に非常に人気があります。最も注目すべきなのはIT KiDSでも扱っているRobloxです。ただし、Angry Birdsなどの人気のあるモバイルゲームのほとんどはすべてLuaで書かれています。2000年代にヒットした大規模マルチプレイヤーRPGゲームであるWorld of WarcraftはすべてLuaで書かれています。コンピュータに1と0を1行ずつ入力してコンピュータに処理をさせるのとは大きく異なります。

IT KiDSのPythonコースは学生にブロックベースのプログラミングからスクリプトベースのプログラミングに移行するためのよい出発点を提供します。その後ゲーム開発に入る前に集中的な入門コースが続きます。近々Pythonを使用したゲーム開発への真っ向からのアプローチを提供し、現在の反復を生徒にとって集中的でありながら非常に楽しい経験に強化する予定です。

最近、AIが流行しています。ChatGPTが登場したとしても次のスーパーマリオブラザーズ、さらには次のChatGPTをもたらすにはクリエイティブな思考が必要です。これがなければChatGPTは機能することさえできません。それはあなたのお子さんではないでしょうか。

今すぐ IT KiDS に無料トライアルに問い合わせをして、お子さんを明るく豊かな未来への道に踏み出させましょう!

無料体験はこちら


矢印
無料体験予約

無料体験の
予約をする!