昨日の、
大学のプログラミング教育って、IT業界にとって、役に立つの?
http://blog.goo.ne.jp/xmldtp/e/5b7ed30b22348083ca6bbd3022239c83
の続きの話。
プログラミング教育の落とし穴
https://wirelesswire.jp/2015/10/47351/
という記事がある。
この記事、ScratchよりJavascriptとかを教えたほうが良いみたい
に読めるんだけど(私の読み方がおかしいかもしれないけど)
ほんとうにそうでしょうかねえ?
Javascriptは、今は絶好調だけど、今の中高生が仕事をしはじめるころ、
5年後、10年後には、今のBASIC見たいになっちゃっているかもしれません。
そもそも、手続き型言語が時代遅れになっているかも・・・
教育には、目的があって、目標があります。
プログラミングして、楽しかった!という目標達成には、
Scratchもいいかもしれません。
で、仕事の役に立つという場合、どんな仕事につくか・・・
によります。
コンピューター会社以外でプログラムが必要とすると、
Excel VBAやRだと思います。
コンピューター会社の場合は、いろんな言語が必要ですが、
今までは、多くは手続き型言語だった。
(COBOL,C,Java・・・)
ただ、SQLは、手続きというより宣言型という感じ
(やりたいことを書く&繰り返しを意識しない)
だし、関数型も出てきているし・・・
ということで、手続き型言語だけ分かればいいという
感じではなくなってきた。
そもそも、IT業界におけるプログラミングの位置づけが、
相当ダウンしてきた。
プログラミングは大学で学んできているけど、
じゃあ、「CakePHPで掲示板作ってください」というと、作れない
CakePHPで掲示板作るには、
・サーバーを立ち上げ、PHP,DB(MySQL等)が動くようにする
・CakePHPのフレームワークにあったプログラミングをする
・動かないとき設定を見直す
(プログラムのバグより、設定を知らないことのほうが多い)
というようなことをする。
つまり、学校で教わるプログラミングの知識以外のことが多い。
そうなってくると、CaePHPで掲示板作るのに、今の学校で行われている
プログラミング教育は重要なのか?という話になってくる。
もっとも、学校で、プログラミングをやる理由は「論理的な考え方を見につける」
だと思うけど、最近のJQueryやCSSは、論理的に考える
というよりか、とりあえず、入れてみて・・・というかんじだよね。。
ということで、
・プログラミングの勉強をする理由は、
将来システム関係の仕事に就くためではないとおもう
→そのために手続き型の言語を勉強することはプラスになるかどうかわからないし
そもそも、システム関係の場合、プログラムの比重は、いまや相当小さい。
・プログラミングの勉強をする理由が、
将来システム関係の仕事に就くためではないのであれば
Scratchが向いている、教育目標もあるかもしれない。
→たぶん、Pepperにつなげていくのが、いいような気がする
と思う。
P.S 13:00
ちなみに、プログラミングを教える意味としては
プログラミングを学ぶべきたった一つの理由
http://blog.goo.ne.jp/viscuit/e/63fe911b56d4c738cc32550ed3f0a7db
というのがあります。
で、プログラミング教育との差としては、
某R社を5日でクビになった話
http://codeio.hateblo.jp/entry/2015/03/07/003348
が参考になる。そこで、「自分が今まで作ってきたものなどを見せて」とあり
「フロントエンドはガッツリやったことある僕ですが、」とあるので、
Javascriptのコーディングは出来る人だと思います。
その人が挫折したお話。
ちなみに、その人に出された宿題
『開発環境に、user_idパラメーターでユーザー情報を表示するphpを作ってください』
の答えは(LinuxでPHPがはいっていて、ユーザー情報が、ここで言っているユーザー情報の場合)
こたえ?は

結果

で、これが5時間でできなかったから、NGになったと。。。
・・・ね、あんまり、プログラミング能力は、必要ないでしょ・・・
・・・別の知識は必要だけど・・
大学のプログラミング教育って、IT業界にとって、役に立つの?
http://blog.goo.ne.jp/xmldtp/e/5b7ed30b22348083ca6bbd3022239c83
の続きの話。
プログラミング教育の落とし穴
https://wirelesswire.jp/2015/10/47351/
という記事がある。
この記事、ScratchよりJavascriptとかを教えたほうが良いみたい
に読めるんだけど(私の読み方がおかしいかもしれないけど)
ほんとうにそうでしょうかねえ?
Javascriptは、今は絶好調だけど、今の中高生が仕事をしはじめるころ、
5年後、10年後には、今のBASIC見たいになっちゃっているかもしれません。
そもそも、手続き型言語が時代遅れになっているかも・・・
教育には、目的があって、目標があります。
プログラミングして、楽しかった!という目標達成には、
Scratchもいいかもしれません。
で、仕事の役に立つという場合、どんな仕事につくか・・・
によります。
コンピューター会社以外でプログラムが必要とすると、
Excel VBAやRだと思います。
コンピューター会社の場合は、いろんな言語が必要ですが、
今までは、多くは手続き型言語だった。
(COBOL,C,Java・・・)
ただ、SQLは、手続きというより宣言型という感じ
(やりたいことを書く&繰り返しを意識しない)
だし、関数型も出てきているし・・・
ということで、手続き型言語だけ分かればいいという
感じではなくなってきた。
そもそも、IT業界におけるプログラミングの位置づけが、
相当ダウンしてきた。
プログラミングは大学で学んできているけど、
じゃあ、「CakePHPで掲示板作ってください」というと、作れない
CakePHPで掲示板作るには、
・サーバーを立ち上げ、PHP,DB(MySQL等)が動くようにする
・CakePHPのフレームワークにあったプログラミングをする
・動かないとき設定を見直す
(プログラムのバグより、設定を知らないことのほうが多い)
というようなことをする。
つまり、学校で教わるプログラミングの知識以外のことが多い。
そうなってくると、CaePHPで掲示板作るのに、今の学校で行われている
プログラミング教育は重要なのか?という話になってくる。
もっとも、学校で、プログラミングをやる理由は「論理的な考え方を見につける」
だと思うけど、最近のJQueryやCSSは、論理的に考える
というよりか、とりあえず、入れてみて・・・というかんじだよね。。
ということで、
・プログラミングの勉強をする理由は、
将来システム関係の仕事に就くためではないとおもう
→そのために手続き型の言語を勉強することはプラスになるかどうかわからないし
そもそも、システム関係の場合、プログラムの比重は、いまや相当小さい。
・プログラミングの勉強をする理由が、
将来システム関係の仕事に就くためではないのであれば
Scratchが向いている、教育目標もあるかもしれない。
→たぶん、Pepperにつなげていくのが、いいような気がする
と思う。
P.S 13:00
ちなみに、プログラミングを教える意味としては
プログラミングを学ぶべきたった一つの理由
http://blog.goo.ne.jp/viscuit/e/63fe911b56d4c738cc32550ed3f0a7db
というのがあります。
で、プログラミング教育との差としては、
某R社を5日でクビになった話
http://codeio.hateblo.jp/entry/2015/03/07/003348
が参考になる。そこで、「自分が今まで作ってきたものなどを見せて」とあり
「フロントエンドはガッツリやったことある僕ですが、」とあるので、
Javascriptのコーディングは出来る人だと思います。
その人が挫折したお話。
ちなみに、その人に出された宿題
『開発環境に、user_idパラメーターでユーザー情報を表示するphpを作ってください』
の答えは(LinuxでPHPがはいっていて、ユーザー情報が、ここで言っているユーザー情報の場合)
こたえ?は

結果

で、これが5時間でできなかったから、NGになったと。。。
・・・ね、あんまり、プログラミング能力は、必要ないでしょ・・・
・・・別の知識は必要だけど・・