ブログ,プログラミング

日本は、世界的に見れば格差の少ない社会
なので実感しづらいかもしれませんが、
「プログラミング・スキル」は世界中の
多くの人にとっての「希望」である、
という一面もあります。

たとえば、男女格差の大きい国や失業率の
高い国で暮らす人、そういった人々に
とってプログラミング・スキルは希望です。

プログラミング・スキルを磨くことで、
世界で活躍する可能性が生まれます。

プログラミングはインターネットに
つながる環境さえあれば、あとは本人
次第でいくらでも学習を進めることが
できます。

AIのソフト開発やドローンのアプリ開発も
夢ではありません。無料で学べる学習環境や
無料で利用できる開発キットも広くリリース
されています。

プログラミングは、他の分野と比較して
学習における初期投資が少ないという特徴が
あります。

ブログ,プログラミング

昨今では、プログラミング教育が
「9歳の壁」に対して役立つのではないか、
と一部で議論されています。

「9歳の壁」とは、その名のとおり、
9歳児、10歳児が直面する学業上の壁の
ことです。

日本の義務教育では、小学校低学年までは
「具体的に目で見て確認したり、理解できる
学習」が中心です。

しかし、小学3年生、4年生になると
たとえば算数であれば「割り算」や「分数」
「小数点以下の計算」といった、「九九を
応用して論理的に考えること」が求められる
計算が出てきます。

その結果、3、4年生を境目に学習に
つまづく子どもが増えてきます。
これが「9歳の壁」です。

この壁に対して、ゲーム感覚で学ぶことが
でき、かつ論理的思考力を養える
プログラミング教育が役立つのではと
期待されています。

パソコン,ブログ,プログラミング

この時代において「変化する既存産業や
社会の変化に対応できるように、自分自身も
変わって行かなければならない」という
ことです。

これからは、今は存在しない価値観や
ルールでものごとを考え、課題を解決しよう
とすることです。

今、求められている人材の1つは、既存の
競争社会を勝ち抜くためのノウハウを持った
人ではなく、新しい価値やルールを
生み出せる人です。

プログラミング・スキルは、目の前の
ビジネスに直接的に役立つ技術であると
同時に、広く・長い視点で見れば、自分自身の
ものの見方を変えてくれるキッカケに
なり得ます。

プログラミング・スキルを手に入れることで、
それまでに思いもつかなかった発想が生まれる
こともあります。

プログラミングを学べば、目の前の課題の
本質を見つけることができ、それを具体的に
やるべきことが見えてくるはずです。

ブログ,プログラミング

プログラミングスキルが求められる2つめの
理由は「大きな影響力をもって世界を良く
する、変えていくためにはITが必要」だから
です。

IT産業以外で1つのサービスを数十億人と
いう膨大な人数の人々が使用した過去が
ないと思います。

Microsoftはコンピュータを身近にし、
Googleはインターネットの利便性を
劇的に変えました。

このことからも、大きな影響力をもって
世界を迅速に変革していくためには、
何億人という単位の人々にサービスを
提供できる、ITの力が必要になります。

「ITやプログラミングが持っている力」が
どのようなものであるかは、きちんと
理解しておくべきです。

ブログ,プログラミング

ある調査によると、世界のGDPのうち
5分の1強(22%)は、デジタル分野の
スキルや資産から構成される「デジタル
エコノミー」と関連があるとされています。

その起爆剤と1つとなり得るのが、昨今
話題になることが増えている「人工知能」の
発展です。

今は開発途中ですが、車の自動運転です。
10年後には「自動車は人間が動かすもの」
という当たり前の概念も変わってきます。

このような社会での人間の仕事は、自動運転
システムの設計と開発(=プログラミング)に
なってくるでしょう。

最近の事例ですが、自動車配車サービスを
展開する「Uber」はタクシー業界の常識を
変えようとしており、宿泊施設の仲介
サービス展開している「Airbnb」はホテル
業界の常識を変えようとしています。

みなさんは「Uberization(ウーバー症候群)」
という言葉をご存知ですか?

Uberはスマートフォンを使った配車サービスを
運営する米国のスタートアップ企業ですが、
IBMが70か国、5,200人を超える世界の
経営者に対して調査を実施した結果、
世界中の経営者がこの現象を恐れています。

経営者が恐れているのは、Uberのような
新興企業が、新しいアイデアとテクノロジーを
使うことで、まったく新しい仕組みを作り、
その結果、従来の競争のルールを完全に
変えてしまうことに対して、恐れているのだと
報告しています。

日本でも2016年6月に「プログラミングの
義務教育化」が発表され、実施時期は
2020年度に決定されています。

ITやプログラムミングが義務教育化されると
いうことは、ITやプログラミングがそういった
汎用性の高いスキルとして認知されていると
いうことです。

ブログ,プログラミング

プログラミング・スキルが求められる
1つめの理由として、働き方がこれから
どんどん変わっていくことが挙げられます。

「ワーク・シフト」という言葉を聞いた
ことがある人も多いと思います。

米国の大学のある研究者によると
「2011年度にアメリカの小学校に
入学した子供たちの65%は、大学卒業時に
今は存在しない職業に就くだろう」と発言
しています。

つまりおおよそ10年後のことをいっている
のですが、10年後に65%もの人が”今は
存在していない職業”に就くというのは、
驚きです。

また、オックスフォード大学のある研究者は、
「米国労働省のデータに基づいて、702の職種が
今後どれだけコンピューター技術によって
自動化されるかを分析しました。

その結果、今後10~20年程度で、米国の
総雇用者の約47%の仕事が自動化されるリスクが
高いという結論に至ったのです。」と
いっています。

その一方で、現在の大人の私たち自身も、
自分たちが子供のときには聞いたことも、
イメージしなかった仕事、たとえば
「Webマーケッター」などの仕事に就いている
人が多数存在することを思えば、あながち
起こり得ない未来ではないですね。

そして、これから10年間に起こる変化は、
私たちがこれまでに体験してきた10年間の
変化よりも、さらに大きなものになることは
容易に想像できますね。

この問題は、小・中学生に限ったことでは
ないことに注意してください。現時点では
50代以下の人は10年後もまだバリバリの
現役です。

この変化を自分のこととして捉えて考える
ことが必要です。

ブログ,プログラミング

頭の中でルールの置き換えを簡単に
できてしまえる人が一定数存在するのです。

でも、そんな人を人を基準にしてはいけません。
決して自分と他人を比較しないでください。
普通の人は、プログラミング言語という
ルールを新たに身につけるのに時間が
かかるのです。

ブログ,プログラミング

プログラミング言語がたくさんあるという
のは、これからプログラミングを始めよう
とする人にとってはやっかいな問題です。

「どの言語から学べばいいの?」
「ひとつだけじゃダメなの?」
「いったん覚えた言語でも時間が経つと
使えなくなるの?」

そもそも、なぜこんなに数多くの
プログラミング言語があるのでしょうか?

実はプログラミング言語は個人のレベルで
作ることができるのです。現に今使われて
いる多くの言語は一人のプログラマーが
中心になって作られました。

必ずしも大企業がたくさんのプログラマー、
予算、時間をつぎこんで生み出した
ものではないのです。

プログラマーがその仕事を突き詰めていくと、
最終的に環境までも自分で作りたくなる、
ということがあります。

その究極の姿がプログラミング言語の作成です。

現在、プログラミング言語の数は、8,000くらい
あるといわれています。

でも、その中のごくわずかな言語、ほんの
数十種類の言語だけが多くの人に使われる
ようになり、生き残っています。

生き残りのためには、作者個人の継続的な
努力もさることながら、ときには普及の
きっかけになる偶然性も必要です。

まずは下記に示す主要な13言語から
一つの言語を身につけてください。

・C言語  ・C++  ・C#  ・Java
・Perl  ・Ruby ・PHP ・Python
・JavaScript ・Visual Basic
・Objective-C    ・Swift・HTML

ブログ,プログラミング

③アプリケーション開発とシステム開発
 
 ・アプリケーション開発
  ユーザが利用するサービスそのものを
  開発します。ゲームやスマホアプリ、
  ECサイト、事務処理ソフトウェアなど、
  開発対象は多岐にわたります。

  最終ユーザにとって必要な機能や使いやすさ
  などを正確に把握することができます。

 ・システム開発
  アプリケーションの実行を支えるさまざまな
  機能を開発します(OSをの実行環境まで
  含まれます)。

  インターネット通信や周辺ハードウェア制御
  など、縁の下の力持ち的なシステムの開発には、
  ハード寄りの知識も要求されます。

ブログ,プログラミング

②大規模開発と少人数(個人)開発

 ・大規模開発
  文字通り大きな仕事を組織的に受注し、
  いろいろなリソース(ヒト、モノ、カネ)を
  管理しながら開発を行います。

 ・少人数(個人)開発
  少人数での開発は柔軟性や機動性がウリです。
  アプリやゲームソフトなどは少人数の方が
  うまくいくことが多いようです。

次は、③アプリケーション開発とシステム開発に
ついて書きますね。