Pocket

プログラミング必修化の是非

プログラミングが小学校で必須化されるようですね。2020年から始まるそうですよ。プログラミングが好きな僕は大いに賛成ですが、教える先生方は大変ですね・・・。 近い将来想定されるITエンジニアの不足を補うことが政府の思惑のようです。 つまり、IT関係の就職に関して「売り手市場」が予想されるわけです。プログラム勉強するしかないですねw
まずは個人的にプログラムを学ぶことのメリットとデメリットについて考えてみました。 デメリットはあまりないように思えるのですが・・・。以下ご覧ください。

プログラム学習のメリットとデメリット

メリット

論理的な思考が身に付く

言わずもがなですが、論理的な思考力が養えます。プログラムを動かすためには、プログラムの命令を順序良く組み立てていかなければなりません。少しでも手順間違うと全く別の動きをしたり、最悪動きません。プログラムを使えるものとして完成させるにはプログラム言語の理解より「アルゴリズム(問題解決のための手順)」の方が大切なんじゃないかと思っています。プログラミングで培われた思考は日常生活や他の分野の学問に対しても役に立つものです。

数学的な思考力

プログラムは数値計算が欠かせません。数値による条件分岐、繰り返し処理などを実行するための数式が出てきます。これはプログラムの素養というより数学的なセンスが要求される部分です。 基本的な算数・数学の学習にも寄与すると思います。特にゲームの作成は高度な数学と物理の知識が要求されます。 ゲームを作りながら数学や物理を学べるなんて一石二鳥だと思いませんか?
「ゲームやっちゃダメ!」なんて子供によく言いますが、ゲームを作るには相当な勉強が必要ですので、是非お子さんにオススメしてみて下さい。

ちょっとした英単語の勉強

プログラム言語の多くは英単語がベースになっています。英語の勉強になるとまでは言えませんが、アルファベットや英単語への抵抗をなくすのにはいい勉強材料ではないでしょうか。一方でマニアックな機能の実装を検討する場合、どうしても日本語の情報だけでは不足することがあります。当然プログラミングは全世界共通ですので、世界中に情報があふれています。英語のサイトから情報を収集することができればプログラムの幅が広がるのは言うまでもありません。英語を勉強するいい理由にもなりますかね?w

問題解決力。折れない心を磨く

人生において諦めない精神を磨くことは、プログラミングから教わったといっても過言ではありません。一生懸命考えて作ったプログラムでも、間違えて正しく動かないことが頻繁にあります。この様なエラーや意図しない動きが発生した時、色々考えて、あれこれやってみるわけです。

「まだ、だめか・・この方法なら・・。」、「これならどうだ!」
 
こんな試行錯誤の繰り返し。そして、「あっ、動いた!」となった時の達成感は感動ものです。苦労して作り上げたものが動くって、本当に気持ちがいいんです。困難に立ち向かえる力を養ってくれたのも、またプログラムのお蔭かなと僕は思っています。そしてプログラミングにおける問題解決方法は一つでないことが多いです。十人十色いろんなアプローチがあるのもプログラムの面白い所ですね。

デメリット

時間泥棒

プログラムに熱中するとすぐに時間をもっていかれます。ということは他の勉強に手がつかなくなるということ。これは恐ろしいですが、僕はこうも思います。例えば仕事の中で使うプログラムって、作業を効率化するためのもの。行ってしまえばサボるための道具を作ることです。プログラミングを学ぶことで人生を効率よくサボることが身に付くのではないかと!プログラミングから学べる論理的思考力と問題解決力で勉強時間の効率化もできるかもしれませんね。

プログラムとかかわった僕の場合

中学1年生の時にプログラムを始めました。その動機はパソコンのゲームを買うお金がないから自分で作ってしまえという単純なもの。当時のプログラミング言語は初心者に不親切極まりなく、またネットや雑誌から得られる情報も限られていて結構大変な思いをしました。

高校生になって出会ったプログラミング言語がたぶん人生を変えました。その名は”Visual Basic”。このVisual Basic、今までの苦労は何だったんだというぐらい簡単にプログラムが組めるようになりました。この頃からソフトをネット上で公開し、販売するようになりました。当然、大学での研究用ソフト開発や会社での計算ソフトの作成などにも役立ちました。

プログラムをやったことがない人からすれば、「なんだか難しそう」という先入観がきっとあると思います。しかし、中学生の僕でも始めることができたわけですから、目的があればそんなに苦ではありません。「慣れ」の部分が多いと思いますので、とにかく始めて見ることです。

プログラムをはじめるには

仕事で役に立つ

Visual Basic
Microsoftが無償で提供するプログラミング言語Visual Studioに含まれる言語です。Visual Studioの中で最も簡単にWindowsアプリケーションが作れる言語です。ユーザーが多いため情報はインターネット上で豊富に入手できますし、書籍もたくさん出版されています。実用ソフトから、簡単なゲームまで対応します。お友達にプログラム実行速度が速いVisual C++,Visual C#がありますが、初心者の方にはとっつきにくいのでオススメしません。一般用途ではVisual Basicが生産性もよく、実行速度面でも気になることは少ないでしょう。

VBA(Office)
Excelのマクロのことです。Excelがインストールされていればすぐに始めることができます。VBA(Visual Basic for Application)の名の通り、Visual Basicと似た文法のため、こちらも比較的簡単です。なんといっても業務に使うエクセル機能を拡張できるところが魅力ですね。事務関係の方や研究職の方はぜひ身に付けたい言語です。

プログラムの概念を知るには

プログラミン
文部科学省が提供するアニメーションをプログラミングするツールです。プログラムコードを必要としません。動かしたい絵に命令オブジェクト(右に動けとか、回転しろとか)をペタペタ張り付けていくと、貼り付けた順番に絵が動きます。プログラムを作成する上でのアルゴリズム()を学ぶのにいいのではないかと思います。小学校低学年から楽しめる内容となっていますのでお子様と一緒にやってみてはいかがでしょうか?

Scratch
プログラミンの元になった言語。こちらも命令オブジェクトをペタペタ貼っていくタイプのものです。プログラミンに慣れたらスクラッチで凝ったアプリを作ってみては如何でしょうか?(実務ではあまり使えなさそうなので、僕は触ったことありません。スミマセン。)

ゲームやスマホアプリをつくるには

JAVA
Javaの良い所は何といっても、いろんなプラットフォームで使えるところ。windowsでもMacでもunixでも使えます。Android OSはJavaをベースとした構成ですので、アプリ開発に挑戦したい方はぜひ学習してみて下さい。難易度は少し高めです。

Objective-C/Swift
こちらはiOSで使用できる言語。iPhoneの開発などで使われます。文法が少々独特なので最初はとっつきにくいです。とはいってもiPhoneの絶対的シェアを相手にプログラムを組むことができますので、スマホアプリ開発したい方は始めてみてもよいかもしれません。難易度は割と高めです。

Unity
プログラミング言語とは少し違うのですが、3Dゲームを比較的簡単に制作できるオーサリングツールです。使用できる言語は後述のJavascript,C#,Booという3言語。Javascriptは比較的簡単な言語ですので、最初はJavascriptから始めることをお勧めします。Unityの売りはいろんなプラットフォームに適したアプリ・ゲームが作れることです。iOSやAndroidはもちろんのコト、WiiU、PSやXboxなどで遊べるようにデータを変換してくれます。すっごく便利な開発環境ですが基本的には無償で提供されています。いい時代になったものだ・・・。

Webアプリケーション開発には

html・css
プログラム言語とはちょっと違うのですが、webページを作るためには欠かせない言語です。私たちが普段目にするホームページは基本的にhtmlで記述されています。cssというのはhtmlの表示を補正するコードのことです。スタイルシートと呼びますね。この二つを学べば基本的なwebページを作成することができます。難易度は低く1週間もあれば適当なページは簡単に作れるようになります。

PHP
htmlを拡張し、変数や様々な処理が行えるweb用のプログラム言語です。PHPが使えるようになると、色々なwebアプリ開発ができるようになります。既存webページの80%はphpを使用しているといわれています。プログラムの処理は個々の端末で実施されるのではなくサーバー側で実行し、その結果を画面に表示します。上記html/cssとphpを学んでおけば、それなりのweb開発が可能です。PHPも比較的簡単な言語で学習しやすいです。

Javascript
PHPと同じくhtmlを拡張するスクリプト言語です。Javaと名前が似ていますが、全く別の言語です。こちらはPHPより動的なコンテンツを扱うことに特化しています。(ボタンを押したら色が変わるだとか)
PHPがサーバーで実行されるのと違い、Javascriptは個々の端末上で実行されます。ブラウザの設定でjavascript実行をオフにしている端末では動作しなくなりますので注意が必要です。javascriptもそんなに難しくないので、phpとセットで学習されてはいかがでしょうか?

SQL
こちらもプログラム言語とは違いますが、web開発では欠かせないので紹介させて頂きます。SQLは一言で行ってしまえばデータベースです。たとえば会員制サイトを作った場合、ユーザーの登録情報を保管しておかなければなりません。txtファイルなどに保管しても構いませんが
ユーザー情報の検索や編集作業が大変です。SQLは高速・高度な検索ができるシステムですのでweb開発には欠かせないものです。PHPから容易にアクセスできるところもメリットですね。メジャーなSQLはMySQL,PostgreSQL,SQLiteあたりでしょうか。

最後に・・・

色々難しいことを書きましたが、プログラムは人生を快適にサボるためのツールの一つで、人生をうまく進めていくために必要なことを学べるものかなと思っています(大げさ?w)
ただ一つ言えることは0から何かを生み出せる力を持つことになるわけですから人生の視野が広がることは間違いありません。プログラミングを通して、あれこれ色々やってみようと思えるようになることは豊かな人生を送るためにきっとプラスになるはずです。

プログラミングの面白さを知ってもらうために、プログラミング塾なんて開けたらいいな~って思っています。希望があればやってみましょうかね。まずは大阪・神戸辺りで。
プログラミングに関するお問い合わせ


パソコンのトラブルはこちらへ
Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です