専門学校で学べるプログラミング言語とは?
◆ こんなプログラミング言語が学べます!
今回は、専門学校で学ぶ「プログラミング」について、特にいろんな「プログラミング言語」についてお伝えしようと思います。
専門学校でプログラミングを学ぶと、たとえばこんなことができるようになります。
(東京テクニカルカレッジでの例です。学科ごとに書きました。)
これらを実現するには、「プログラミング = プログラムを組む」ことが必要で、じっさいにプログラムを組むにも、いろんな「プログラミング言語」があります。
たとえば、東京テクニカルカレッジだと、こんなかんじのプログラミング言語を学びます。
※ ( )は読み方。
※ 言語名をクリックするとその説明箇所に飛びます!
これらのうちのいくつかは名前を聞いたことがあると思います。
これらの言語を、学ぶ学科ごとに一覧にするとこんなかんじです。
◎…がっつり学ぶ言語 / ○…サブとして体験する言語
データサイエンス+AI科 | IoT+AI科 | 情報処理科 | ゲームプログラミング科 | Web動画クリエイター科 | |
---|---|---|---|---|---|
C言語 | ◎ | ◎ | ◎ | ||
Java | ◎ | ||||
C++ | ◎ | ||||
C# | ○ | ○ | |||
Python | ◎ | ◎ | ○ | ||
JavaScript | ○ | ◎ | ○ | ◎ |
では、それぞれのプログラミング言語について見ていきましょう。
◆ C言語
■ 始まりにC言語があった…。
C言語はすべてのプログラミング言語の始まり! みたいな言語です。
どういうことかみてみましょう。
たとえば、C言語を使って画面に「Hello World!」と表示させるには、たとえば以下のようなプログラムを書きます。
#include <stdio.h>
main(){
printf(“HelloWorld!¥n”);
}
いきなりだと何のことかわからないですね…。
これは C言語の授業の最初のほうで学ぶプログラムの書き方の一つです。
多くの言語がこのC言語の影響を受けています。
たとえば、C# や C++ はC言語が発展してできた言語です。名前からしてそんなかんじですね。
人間が話す言葉で、2000年くらい昔の(マンガ『テルマエ・ロマエ』のころの)ローマ人が話していた「ラテン語」というのがあります。
※ テルマエ・ロマエの舞台は西暦130年代の古代ローマ。
ラテン語はいまはもう話している人がいない(ローマ・カトリック教会の総本山のバチカン市国ではいまも使われてます)ですが、イタリア語やフランス語、スペイン語などの現代のヨーロッパ語の元になっています。
※ ローマ人がヨーロッパをいろいろ征服したのでラテン語が広まりました。
C言語はこのラテン語みたいなものなのです(ほんとうなのか…)。
つまり、C言語を学べば、その系列の C# や C++ だけでなく、多くのプログラミング言語がめちゃ理解しやすくなる、ということです。
※ 明治時代の軍医で文豪の森鴎外という人は、ヨーロッパ語を学ぶ前に、まずラテン語を勉強したという話です。そのほうが現代のヨーロッパ語の習得が早いというわけです。
それにC言語はラテン語と違って、現役の言語です。
たとえば、いろんな「デバイス制御」などに使われています。
炊飯器や電子レンジ、冷蔵庫などの家電のほか、
…などなど、数え切れない場所で使われています。
結論: C言語は、プログラミング言語の基礎の基礎、そしてオールマイティ!!
■ C言語は「むずかしい」?
ただしそんなC言語にも問題が…。
C言語はむ・ず・い!
…と、よく言われます。
※ ラテン語も英語よりもずっと難しいみたいです…。
学び始めて少しすると
といった難敵が現れたり、
※ 上記の4つは東京テクニカルカレッジで学生がC言語を学んでいく順に、学生がぶち当たる難所を挙げてます。
※ 「関数」や「配列」は他の言語にも出てきます。
「他のプログラミング言語では、便利な補助プログラムみたいなものがたくさん用意されていますが、C言語にはそれがない!」
ので全部イチから自分でつくり上げたり…。
…。
でもプログラミングが学べる専門学校には、ン十年のC言語の教育の蓄積があります!
そのカリキュラムに沿って学べば大丈夫…なはず!
たとえば、東京テクニカルカレッジの例だと、ゲームプログラミング科では、1年生の1期からC言語を学び始め、2期(6月)にはコマンドプロントを使ったゲーム作成に挑戦します!
※ 「コマンドプロンプト」はWindowsに組み込まれている、すべて文字による命令(コマンド)で操作する画面のこと。表示できるのは文字と若干の記号のみ。色のない白黒画面。
コマンドプロンプトでゲーム作成! なんてことをやっている学校は(おそらく)他にはないんじゃないかな?
でもそれによってC言語の基本、つまりプログラミングの基本のキと、「こうすればこう動く」というゲーム作成の基本のキを体感し理解できるようになる、というわけです!
◆Java
■ 大規模なシステムもOK
Javaは信頼性が高く、たくさんの分野で使われているプログラミング言語です。
たとえば、
などなど、安全性が求められるシステムや大規模なシステムで使われています。
C言語が誕生したのは1972年、Javaの正式なバージョン1.0が1996年になるので、C言語と比べると「若い」です。
※ ちなみに、Javaが世に出た当時、東京テクニカルカレッジの社会人パソコン教室部門の「テラハウスICA」では、当時のJava開発元の Sun Microsystems の方をお呼びして、「Java – Sun Microsystemsの逆襲」というセミナーを開催したりしてました(なつかしい…)。
■ こんな人にオススメ!
東京テクニカルカレッジの情報処理科では、C言語でプログラミングの基礎を固めたあと、Javaを2年間みっちり・じっくりと学んでいきます。
C言語的な書き方と、Javaの両方を学んでおけば、他の言語を学ぶときの苦労も少なくなります!
◆ C++ / C#
■ 業務用アプリケーションからゲームまで
C++ は C言語を進化させた言語です。
※ 「 ++ 」はプログラミング言語では「プラス1」を表します。
C#はさらに、C++ と Java のいいとこ取りをした言語です。
※ 「 # 」は「 ++ 」に更に「 ++ 」をくっつけた形と言われてます。
(こういうこと?)
それぞれ、パソコンの基本システム(OS)の開発や、ゲームの開発に使われたり、また、Javaのように、業務用の大規模なアプリケーションの開発にも使われています。
東京テクニカルカレッジのゲームプログラミング科では、1年生の後半から2年生にかけて、C++を使って、3Dゲーム、ネットワークゲームの作成を行っています。
また、最近よく使われている Unityというシステムでゲームを開発するときにも C# を利用します。
ARと呼ばれる拡張現実を利用したゲームもC#で作ることができます。
ゲームプログラミング科では、ここ数年の卒業制作課題として「ポケモンGO」のようなARの位置情報ゲームを作っています。
ほかには、ソーシャルゲームのユーザー管理や、ガチャの出現確率の調整など、幅広く活用されています。
■ こんな人にオススメ!
◆ Python
■ AIのための言語?!
Python はここ数年は「AI(人工知能)」の開発のための言語としてよく名前を聞きます。
もちろんPythonの得意分野は AIだけではありません。
Pythonはたとえばこんな特徴を持っています。
こんなPythonは、じつにいろいろなことができます。たとえば、
東京テクニカルカレッジの IoT+AI科の先生の一人は自宅でカエルを飼っています。
昼間はカエルは部屋で一人ぼっち。そのカエルの水槽にセンサーをつけて、においを感知! カエルがおしっこをしたらその通知が LINEで先生に届きます! 「帰ったら水槽そうじしてやろう!」ってなります。
また、データの収集や分析にも長(た)けていて、インターネット上の膨大なデータから必要な情報を取り出して分析できます。
今ツイッターで話題になっているものは何だとか、販売データからどの商品をどう売っていくべきか考えたりとか…。
■ Pythonはこんな人にオススメ!
> Pythonを使ってデータの収集と分析と課題解決! データサイエンス+AI科の紹介!
> Pythonを使ってデバイスを制御! IoT+AI科の紹介!
◆ JavaScript
■ Web開発に欠かせない!
JavaScript はWebアプリケーションを開発するための言語です。
JavaScriptはいろんなことができますが、代表的な処理は、Webページに動きをつけること。
Webページそのものは HTMLとCSSという言語で書いてレイアウトします。
JavaScriptを使うと、そのページにアニメーションをつけたり、ページに表示する内容を切り替えたりすることができます。
※ 高校の「情報」の授業でHTMLやCSS、JavaScriptを少し学んだ人もいるかも。
GoogleマップやGmail、Webブラウザ上で動くゲームなど、高機能なWebアプリケーションにもJavaScriptは使われています。
また最近では、JavaScriptを使ってロボットなどの制御を行うことができるIoTデバイスも登場しています。
JavaScriptを学べばものづくりの世界が広がります!
> Webページの制作にJavaScriptを利用! Web動画クリエイター科の学科紹介!
> JavaScriptでセンサーデータを見える化!IoT+AI科の学科紹介!
◆ 専門学校で「プログラミング」を学ぶメリット
専門学校で学べるプログラミングということで、東京テクニカルカレッジで学べるプログラミング言語を中心に紹介してきました。
他にもプログラミング言語は多くあり、活用のされ方もさまざまです。
プログラミング言語を修得する上で大事なことは、たくさんソースコードを書き、間違えて直してを繰り返し、プログラミングに親しんで動くものを作ってみること!
専門学校では、たとえば大学と比べると(比べられないほどの)多くの実習時間があり、また、分からないことはすぐ先生に聞くことができます。
他の学生・仲間と切磋琢磨(せっさたくま)して、作品が形になった時の嬉しさ・達成感はひとしお!
楽しみながら勉強することもプログラミング修得には大事なこと。自分の好きなこと・趣味に活かせるのもプログラミング・ITの特徴です。
自分の興味のある分野から始めてみましょう!