ブログ,プログラミング

プログラミングの全体的な意味は読んで
字のごとく「プログラムを作ること」です。

もう少し細分化すると大きく、
「アイデア発案・設計」と「開発」の
2つの作業工程に分類できます。

(1)アイデア発案・設計
 ・実現したいアイデアを練る
 ・どのようなプロダクトやサービスを
  作るのか考える
 ・そのアイデアをどのようにして
  実現するのかを考える
 ・実現するための構成や構造などを
  考える
 ・実際に作るための設計図・設計書を
  書き起こす

(2)開発
 ・設計図や設計書を見ながら、
  プログラミング言語の文法にしたがって
  プログラム(コード)を書く
 ・書いたプログラムがきちんと意図通りに
  動くかテストする。

上記の関係は、建築士と工務店の関係に
似ているかもしれません。

パソコン,ブログ

PCI Express x16

グラフィックスボード用として、現在主流のスロットです。
PCI Express 2.0では、最大転送速度が上りが8GB/秒、
下りが8GB/秒の合計16GB/秒です。
3.0では2倍の32GB/秒に引き上げられました。
複数のグラフィックスボードを取り付けられるように
x16スロットを複数持つマザーボードもあります。
信号もx16の場合と、信号はx4やx8でスロットの形状だけ
x16になっているケースもあります。

次回は、PCI Express x8について、書きますね。

パソコン,ブログ

DDR3 SDRAM

現在主流のメモリ規格。
以前のDDR2 SDRAMとピン数やスロット本数は
同じですが、モジュール側の切欠きと
合致する突起の位置が異なるため、
互いには挿し込めない。
正式規格ではDDR3-1600ですが、
DDR-1866など、より高い動作周波数に
対応する製品もあります。

次回は、DDR4 SDRAMについて、書きますね。

ブログ,プログラミング

実際のところ、現在行われている
プログラミングの学習方法や教育方法に
関しては、現在もまだ試行錯誤は
続いています。

教育手法の成果は短期間で判断できないものも
多いので、「このように教えれば最適だ。
完璧だ。」といった、100%の正解は
まだ存在しません。

一般向けのプログラミング教育は、
始まって数年なので、受講の第一期生も
現時点でまだ20代前半です。

彼ら・彼女らが今後、受けてきた
プログラミング教育の成果が発揮されるまで
にはもう数年必要なのかもしれません。

そういった意味で、学校で習っているような
数学や国語、物理といった、歴史の長い
学問よりも、学習方法に関する経験値が
少ないのは事実です。

しかし、その一方で、プログラミングに
関しては、その必要性が非常に高いことも
あり、世界規模・数千万人単位で
さまざまな実証実験や研究が行われています。

このため、改善のスピードが驚異的に
速く、徐々にその成果も表れはじめています。

ブログ,プログラミング

5.アイデアを実際の形にできる

日本を代表するソフトウェア技術者の一人で
あり、プログラミング言語「Ruby(ルビー)」の
設計者でもある、まつもとゆきひろ氏は
「プログラミングはコンピュータへの翻訳
作業ではなく、自身のアイデアを表現する
もの」といっています。

アイデアをプログラムへ落とし込むことで、
思考が整理され、さらにルールさえ作って
しまえば、コンピュータが自分の代わりに
作業してくれるなど、自身の力を何倍に
拡張できるのが、プログラミングを学ぶ
ことの最大のメリットの1つです。

プログラミングを学ぶということは、
100年前にはあり得なかった次の3番目の
方法を使える時代になったということです。

1.自分でやる
2.人にやってもらう
3.コンピュータにやらせる

自分でプログラミングをしない人(他人の
作ったソフトウェアを使うだけの人)は、
誰かが決めたルールや、誰かが決めた
仕組みの中でしか作業したり、遊んだりする
ことしかできません。

一方、プログラミングを学べば、その世界
(ソフトウェア)のルールや仕組みを自分で
決められます。

大切なことは、アイデアをプログラムへ
落とし込む際の肝となる「考え方」や
「実現方法」を、みなさん自身が
”イメージできる状態”になることです。

プログラミングを学習することで、表現力や
コミュニケーション能力、検索力(必要な
情報をインターネットから探し出すスキル)
など、今後を生きていくために必須となる
さまざまなスキルを得ることが可能です。

ブログ,プログラミング

3.論理的思考力(ロジカルシンキング)の向上
  全社会人に必須のビジネス基礎力の1つで
  ある論理的思考力(ロジカルシンキング)は、
  一般的には、頭の中で考えていることを紙に
  書いたり、相手の立場になって物事を考える
  ことによって鍛えられるといわれています。

  論理的思考力(ロジカルシンキング)とは、
  端的にいえば「物事を、筋道を立てて
  きちんと考える力」です。

  この力はプログラミングを学習することで
  必然的に身につきます。

  プログラミングとは、実作業においては
  「小さな命令をいくつも組み合わせ、
  全体で何らかの目的を達成する作業」です。
 

  そのため、プログラミングの学習を進めて
  いくと必然的に、論理を組み立てることが
  トレーニングされ、論理的思考力の向上に
  つながります。

  コンピュータを使って自身の頭の中にある
  イメージを具体化するには、「どのように
  指示をだすのか」「どのように表現すれば
  よいか」を考えながら、形にしていくことが
  求められます。

  そのため、プログラミングを学習する過程で
  論理的思考力や表現力が高まります。

ブログ,プログラミング

2.世の中の仕組みを理解できる
  ITがここまで普及した時代において、
  コンピュータの仕組みを理解していない
  ことは、すなわち世の中の仕組みを
  理解できないことに直結します。

  現在では、電気、水道、ガスはもちろんの
  こと、自動車や医療機器など、ほとんどの
  ものがコンピュータによって管理・制御
  されており、ソフトウェアがないと
  世の中が動きません。

  そのソフトウェアを生み出すスキルである
  「プログラミング」は、世の中の仕組みを
  理解する上で不可欠といっても過言では
  ないでしょう。

ブログ,プログラミング

1.新しい考え方を習得できる
  Appleの創業者スティーブン・ジョブスは、
  プログラミングを学ぶことん重要性に
  ついて、次のように語っています。

  
  アメリカ人は全員コンピュータの
  プログラミングを学ぶべきだと思う。

  なぜなら、コンピュータ言語を学ぶ
  ことによって考え方を学ぶことが
  できるからだ。

  ロースクールに行くようなものだよ。

  全員が弁護士になるべきだといわないけれど、
  現実にロースクールに通うことは人生に
  役立つはずだ。

  一定の方法で物事の考え方を学べるからね。

  実際にスティーブン・ジョブス自身も
  「プログラミングから”考え方”を学んだ」と、
  Code.orgのどうがのなかでいっています。

ブログ,プログラミング

いったいプログラミングで何をするのか?

その回答は「コンピュータを自由自在に
あやつれる」ということになります。

コンピュータ上で動作するアプリや
サービスを作れるといえば、イメージ
しやすいと思います。

具体的には以下に示すことができます。

(1)人の手で行っていたことが自由化できる
 コンピュータは複雑な計算や、情報の管理・
 検索、繰り返しの作業など、大量のデータを
 扱って処理をするのが得意です。

 プログラムでコンピュータにさまざまな
 指示を送ることで、作業を自動化し、
 私たちの時間や手間を大幅に削減できます。

(2)アプリを作って世界に発表できる
 パソコンやスマートフォン上で動作する
 ソフトウェアを作ることができます。

 特にゲームはアプリのランキングの常連で、
 ヒットすれば100万単位でダウンロード
 されます。

 ゲームはいまや個人でも作れる時代です。
 これで起業する学生さんもたくさんいます。

ブログ,プログラミング

 プログラミング・スキルが世界的に求められて
いるもう一つの側面は、直接的にはなりますが、
「深刻なエンジニア不足」です。

現在、世界規模でスキルの高いエンジニアが
圧倒的に不足しています。

 IT化の波は生活のあらゆるシーンに押し
寄せており、製品だけでなく、サービスにも
ITが活用されています。

 ITから完全に離れて生活することは、
もはや不可能と行っても過言でありません。

インターネットは日々の生活を支えていますし、
直接的には見えづらいさまざまなインフラ
(電車・ガス・水道など)もITで制御されて
います。

自動車も今ではコンピュータの塊です。

 今後、ITがなくなることは絶対にありません。
それどころか増える一方です。昨今注目されて
いる「IoT」(Internet of Things:モノの
インターネット)も普及の一途をたどっています。

 世界的にはテクノロジー関連企業が今後も
伸びる産業であり、かつ必要とされる産業で
あります。

 それにもかかわらず、これまでの教育環境が
不十分であったために、慢性的なエンジニア
不足が続いています。需要ばかり増えて、
供給(エンジニアの育成・教育)が追いついて
いない状況です。

日本のエンジニア不足は他国よりも深刻かも
しれません。そのため、「プログラミングが
できる」ということが価値の高いスキルの
1つとなっているのです。

 不足しているという話は、「プログラミングが
できる人に需要が非常に高い」ということに
なります。

ある程度しっかりとしたプログラミング・
スキルを見につけていれば、様々な面で
役立つ、「あなたの価値」の1つになります。

 一定レベル以上のプログラミング・スキルを
身につければ、引く手あまたで、世界中の企業が
あなたを欲しがる状況です。

職に困ることがなくなります。実際、「就職・
転職のために、資格試験合格よりも、実践的な
プログラミングのスキル身につけたい」という
人が急増しています。