適当日記

日常の瑣事を書いています。

プログラミング教育が始まるそうで。②

 先の記事の続きです。プログラミングについてよくご存じの方は以下のことは当たり前すぎて読む価値もないかもしれませんが、私は知らないことだらけだったので、備忘録も兼ねて書いていきます。情報源は一番下の書籍です。

 

 プログラミングの際には特定の言語でコードを書いていきます。言語といっても挨拶などがあるのではなく、決められたいわば文法があって、それに沿ってPCに命令を出していきます。言語は一説には8000種以上あるといわれるそうですが。実際に世界で広く用いられている言語はせいぜい20~30程度であり、自分の目的に沿った言語を学べばそれで良いみたいです。私は言語に興味があるので、この8000という数字は実に面白いと思いました。といいますのも、人間が話す言語も数え方によって差はあるものの、8000種ぐらいだといわれているからです。人間の言語とコンピューター言語の数が近いというのは偶然なのでしょうが、不思議な感じがしました。

 

 さて、なぜにこれだけ多くの言語があるかというと、現状リリースされている言語のうち万能なものはないからです。このプログラムはこれしか受け付けない。このアプリはこれでないと動かないなど。万能言語がもし開発されたら、コンピューター言語は一種類とかになるのでしょうか。

 

 ともかく、身の回りのものが何らかの言語で動いているのは確かです。例えば、アンドロイドのアプリは「JAVA」、アイフォンのアプリは「Swift」のように。携帯電話だけでなく、家電や車も最近はプログラミングで動いているということで、私にとって発見でした。言語には得意分野があり、それぞれの用途に合わせて使われている。

 

・スマホアプリの開発に向く言語 JAVA Swift

・数式の計算が得意な言語 R Python

・ゲームの開発用の言語 C#

・高度なグラフィックを操作できる言語 Javascript HTML CSS

・サイトの動作に関する言語 Javascript

・家電や車に対して特定の動きをさせる言語

・・・・

 

 特に目的はないけれども・・・という人は、メジャーな言語を学んでおくのが良いそうなので、私のような無目的な人間はメジャーな言語を学ぶべきということになりそうです。メジャーな言語はほかの言語を学ぶときにも応用が効く部分があるので良いと読んだ本にありました。因みに、メジャーな言語とは以下の通りです。

 

・JAVA

 世界で最も使われている言語といわれる。汎用性が高い。Webシステム、サーバー管理、アンドロイドアプリなどに用いられる。但し、簡単な動作でもがっつりコードを書かないといけない点が面倒。

⇒特に目的がない人、アンドロイドアプリが作りたい人、大規模システムに興味がある人

 

・Javascript

 スマホアプリ、デスクトップアプリ、Webサービス、ゲーム開発で用いられている言語。開発環境(コードを書くための場所)がいらない点が良い。開発環境の導入が面倒くさかったりするので、環境不要であるのは大変良い。

 ただし、ほかの言語と抱き合わせで動かすことが多いので、HTML・CSSなどほかの言語の知識も必要になることが多い。三点セットで考えるので、覚える量が若干多い。

⇒WebデザインやWeb制作に関心がある人、手軽に始めたい人

 

・C  C++

 実行速度最速の言語といわれる。ゲームや機械制御に用いられる。WindowsのOSもこれで動いている。証券取引も。但し、JAVAと同じく、些細な動作であっても厳密なコードが要求される(JAVAより面倒らしい)。

⇒ハードウェア開発に関心がある人、ゲーム開発に興味がある人

 

・C#

 Windows上のアプリやUnityというゲーム開発アプリで用いられる言語。VRにも用いられだしており、今後伸びてくるかも?余談だが、UnityはPCがあればだれでもゲームが作れる無料ソフトなので、やってみたい人はぜひ。ゲーム開発以外に汎用性が低い。

⇒Windowsアプリを作りたい人、Unityでゲームを作りたい人

 

・Python

 ビッグデータ解析や、人工知能分野で利用されている言語。コードの書き方は優しいらしい。

⇒人工知能などに関心がある人

 

・Swift

 アップル社に関するアプリ(アイフォン含む)開発用の言語。汎用性は高くないが、文法がシンプルで分かりやすい。但し、マックでしか書けない。従って、大学のPCでは使えない。

⇒アップル社系のアプリなど作りたい人。

 

・HTML CSS

 Webサイト制作に関する言語。HTMLは画面表示、文字や図表の配置などを制御する。CSSは画面の装飾を決める。厳密には、システムを動かしているわけではないので、これら二つはプログラミング言語ではない。

 

 色々あって迷ってしまいますね。最近ではYoutubeでプログラマーが初心者おすすめ言語などを紹介しているものもありますので、そちらも見てみると良いかもしれません。プログラミングを途中まで無料で学べるサイトなどもあります。以下に載せておきます。このほかにも当然あります。

 

 WEB上にはプログラミング学習サイトや教室の情報があふれています。以下に、プログラミングを学べるサイトを挙げておきます。このほかにもたくさんあります。まとめサイトもありますので、そちらからもぜひ見てみて下さい。

 

・Codeacademiy(無料。PCスマホ可。英語のみだが、難しくない)

・Codecombat(無料版あり。日本語対応。4GB必要)

・CodinGame(無料?中級者むけだが、ゲームとしてめちゃ面白いらしい)

・Progate(無料版あり。国産サイト。多くの言語を学べる)

 

 

 [使用文献]

米田昌悟(2016)『プログラミング入門講座』SBCreative