本日のお題であるプログラミング言語,自分もちょろっと程度しか触ったことはありませんが,初心者仲間を増やすつもりで説明してみます.
プログラミング言語の分類
プログラミング言語を分類しようとしたら,それこそいくらでも分類方法があります.使われ方でも,使われる業界でも,ユーザコミュニティの空気感でも,本当に多種多様です.
そこでここでは,一番分類の基準がわかりやすい,コンパイルが必要か否か?という分類で紹介しましょう.…さて,ここで早速,プログラミングを今,始めた人にはわからないであろう単語が出てきしまいましたね.コンパイルです.
コンパイルとは簡単にいうと,プログラムを「人間に読める言語」から「コンピュータが読める言語」に変換する作業です.この作業を経たプログラムは,人間の中でも相当コンピュータに近い人じゃないと意味がわかりません.世の中にあるプログラミング言語はこの作業が必要か否か,という点で分けられます.(が,どちらにも対応している言語もあります.というかやろうと思えば,できないということがあまりないのがプログラミングですよね.)
代表的なプログラミング言語
- C
- C++
- Java
これらの言語は,代表的な「コンパイルが必要な言語」です.
これらの言語は当然ながらコンパイルの工程を挟むため,プログラムを書くだけでは結果が見られません.しかし,数秒のコンパイル作業を経たプログラムはコンピュータが読める言語であるため,コンパイル無しのものに比べてプログラムの実行速度が速い傾向があります.
javascript, python
この二つの言語は,「コンパイルしなくても実行できる言語」です.なんでちょっと回りくどい言い方なのかといいますと,一応コンパイルもできるためです.
javascriptはホームページの一部を自動生成したり,特殊な効果を入れようとしたりするときに使われている言語です.pythonはパイソンと読む言語で,以前は知ってる人は知っているようなイメージだったのですが,いつの間にか有名になり,いろいろな場所で使われています.特にpythonは,CG作成ツールのプラグインに使われるなど,CG系ではかなり重要なものになっています.
これら二つの言語は1972年に生まれたとされるC言語に対して,javascriptが1995年,pythonが1991年に生まれたとされていて,歴史は浅めです.それでももう20年前なんですね.
コンパイルが必要ない言語は,プログラムを実行するときに読んで,コンピュータが理解するため,実行速度はどうしても落ちてしまいます.ですが,テキストファイル一つ渡すだけで実行ができたり,人間が見えるコードがそのまま動いたりするため,サッっとトライするときのハードルが低いように僕は思います.
初心者のプログラミング学習に推奨される言語
もし僕が友人に勧めるなら,まずはjavascriptを勧めます.その理由はいくつかあるのですが,まとめると以下のようになります.
- プログラミングを始めるための準備がほぼ必要ない
- 参考資料が豊富
- 簡単に使える拡張機能が豊富
プログラミングを始めるための準備がほぼ必要ない
コンパイルが必要な場合は,そのために必要な道具を用意する必要があります.この準備は慣れている人なら一瞬でできるのですが,初めての場合,これだけで一日終わってしまったりしてしまいます.せっかく沸き上がったやる気も,そんなことでは取り組む前に失せてしまいますよね.
準備が必要なものに比べ,javascriptは簡単で,必要なツールはもうあなたのパソコンにインストールされています.そのソフトというのはブラウザで,IE(Internet Explorer)でも,火狐(firefox)でも,Chrome(Google Chrome)でもかまいません.それさえあれば,後はプログラムを書いて,ブラウザで開くだけです.
参考資料が豊富
javascriptはインターネットでサービスを提供するために欠かせないものになっていることもあり,使用者がたくさんいます.この人たちの中には親切な人もいたり,もっとjavascriptの人気が出てほしい人もいるので,言語自体の説明書が充実しています.
簡単に使える拡張機能が豊富
ほぼすべてのプログラミング言語は,ほかのプログラムを読み込んで使う機能をもっています.これを使うことで,あっという間に複雑なソフトを作ったり,外から情報をとってくることができます.
もちろん,誰かが作ったプログラムしか使えないようでは困りますが,ほかの人が作ったものをどれだけ上手く組み合わせられるか,というところにも,面白さがあると思いませんか?
javascriptはこの機能が充実していて,ちょっと日付の情報がほしい場合などに,すぐ取得することができます.僕が最初に始めたC言語でも,もちろん機能を読み込んで使うことができるのですが,お手軽さの面ではjavascriptに軍配が上がると思います.
最後に
今回はプログラミング言語というものが何かを考えてみました.
最近プログラミング言語変えてないな,という人は,全然かかわったことのない言語を見てみると違った発見があるかもしれません.
初めてプログラミング言語を始める人には,javascriptをおすすめさせてもらいました.僕は,作業に入るまでが大変で挫折する,という点がプログラミング学習における問題の一つだと思っています.なのでjavascriptのような言語で,まず自分が作ったものでコンピュータが動いている感覚を楽しんでもらえるとよいと思います.
もし,とりあえずプログラミングを理解して,もっと知りたくなったら,いくらでも世界は広がります. どんどん深く潜っていけば,果ては本当にコンピュータと対話するような世界も見ることができます.
長くなりましたが,お読みいただきありがとうございます.僕もまだ全然素人もいいところのレベルなので,頑張っていきましょう.