プログラミング言語ってなんでそんなに沢山あるの??
今日はプログラミング言語についての話題。
私は一応WEBディレクターという仕事をしているのですが、レベル的には下の下の下の下の下くらいです。底辺中の底辺。世界ランク5億位くらいだと思います。
そこで5億位の男がプログラミング言語についていろいろ調べたのでまとめたいと思います。
まあ、WEBディレクター1年以上やっておいて今更かよ。って話ですが...
そろそろ本腰を入れて知識を入れていこうかなと思ってる訳です。
まず、なぜ世の中には非常に沢山のプログラミング言語で溢れているのか?
という点に注目してみました。
確かに、これはなぞでしたが、深く考えたことがありませんでした。
ちなみに私がパッと思いつくプログラミング言語は...
HTML、CSS、JAVA、javascript、PHP
このくらいです。
まあ、いいでしょう。分からないものは分からない。これから勉強すればいいだけです。
気を取り直して、世の中的に代表的なプログラミング言語を調べてみました。
C言語、C++、JAVA、javascript、ruby、PHP、python
こんな感じでした。確かに聞いたことがあるようなないような単語ばかりです。
『python』これとかなんて読むか分かります?
『パイソン』ですって!『パイセン』じゃないですよ。
そんなことは置いといて、なぜ世の中には沢山のプログラミング言語があるのか?という話でしたね。
これに関しては非常に分かりやすく解説をしてくれているサイトがありましたので紹介。
これです。
興味のある人はじっくり読んでみてください。
興味のない人は私が30秒くらいで説明しますのでご安心を。
つまりですね、なぜプログラミング言語が世の中に沢山あるのかというと....
例えば『穴を掘れ』と言われたとするじゃないですか。そこで3種類の指示が飛んできます。
「まずは10㎝の穴を掘れ、次に1mの穴を掘れ、最後に10mの穴を掘れ」と。
で、10㎝の穴を掘る場合、子供用の小さいスコップを使いますよね?
1mの穴を掘る場合、大きめのスコップを使いますよね?
そして10mの穴を掘る場合、ショベルを使いますよね?
このように穴の規模に応じて掘る道具を使い分けるのと同じで、プログラミング言語も開発規模によって、言語を使い分けているということなのです。
だから世の中には沢山のプログラミング言語が存在します。
プログラミング言語の使い分け
次にプログラミング言語の使い分けについて調べてみたいと思います。
沢山あるので、先ほど紹介した
C言語、C++、JAVA、javascript、ruby、PHP、python
こちらの言語の使い方を調べてみました。
C言語
C言語を使って作れるものは非常に沢山あるが、その中でも代表的なものは『ロボット』『ソフトウェア』『OS』だそうです。かなり規模の大きいものを作るときに使う言語。という認識でとりあえずは大丈夫でしょう?いや、大丈夫じゃないか。んじゃ、もう少し深堀してみよう。
<ロボット>
”「電子レンジ」「炊飯器」「プリンタ」「洗濯機」「カーナビ」などにはC言語で作られたソフトウェアは入っている”
<ソフトウェア>
”「chrome」「safari」などのブラウザもC言語で作られている”
なるほど、ここまで分かればもう十分。というよりこれ以上深堀しても多分ついていけない。とにかく、C言語を学んでおけばかなり汎用性は高く、かなり需要がある言語ということ。
C++
” C++はC言語に「オブジェクト指向」を加えたもので、より効率よくプログラミングができるように作られています。”
とのこと。
『オブジェクト指向』????????????
まずはここから。
結果⇒『オブジェクト指向には明確な説明がない』
・・・・・・・・
ヤバい。
”愛や国家などが分かりやすい。それが何かについて明確な解答ができるだろうか?”
だいぶ逃げ腰の解説きた(笑)
そんなんどうでもいいからざっくりと説明してくれればいいのに。
結局オブジェクト指向とは?
車というモノを操作するとき、中でどういう原理が働いて動いているかを知る必要はない。アクセルを踏めば車は進む。
というざっくりとした考え方のこと。(多分)
とりあえずC言語の親戚のようなもの。
JAVA
WEBサービスを作ることができる。『Twitter』『Evernote』『楽天』などなど。
他にも、『Androidアプリ』『銀行システム』『Blu-rayプレーヤー』
C言語と比べると小規模だが、WEBサービス、アプリ以外にも広範囲で使われている。
javascript
javascriptでは、『ポップアップウィンドウ』『ページ遷移しなくてもデータを読み込める(Ajax)』『画像の横スライドで切り替え』『カウントダウンタイマー』『ソート・検索機能』『リアルタイムで動くグラフ』などなど。
細かい動きにかなり対応できるイメージ。
ruby
rubyは他の言語と比べてコードの読みやすく、書きやすいらしい。なのでかなり早い速度でアプリなどを完成させることができる。なので人気。
そして日本発のプログラミング言語でMatzさんという方が作成した。
きっと天才なのでしょう。まずプログラミング言語を作るっていう発想がすごいよね。
<アプリが作れる>
<API>
APIというプログラムを作成されるために、rubyが使用されることがある。
<スクレイピング>
WEBの情報を抜き取って、加工して使用する技術をスクレイピイングという。
PHP
WEB上で動いているものを作るためのプログラミング言語。
PHPを使ってできること。
『お問い合わせフォーム』『予約システム』『検索機能』『ログイン機能』『ブログ』『ECサイト』『SNS』『API連携』
python
rubyと同じでコードが書きやすく、読みやすい。
初心者にとって覚えやすいのが特徴。
また、機械学習やデータ解析で注目されているので将来性が高い。
pythonでできること
『WEBアプリ制作』『デスクトップアプリ制作』『機械学習・データ解析』
いろいろ調べてみると結構おもしろかった。
以上!