
プログラミングは難しい?解その6
10月20日に投稿した”プログラミングは難しい?”の検索結果としてえられた10アイテムについて、当日コメントさせて頂いていました様に、インターネットの再検索による、確認と各々のアイテムの検索結果について、講師のコメントを公開させて頂こうと思います。
諸般の都合で、すいませんが、LISTの若番順では無く、講師が説明を作成しやすい順(必要時間の関係です)に解説させていただこうと思います。今回の対象は以下の黒太字のアイテムになります。(6番目です)
尚、タイトルの”解その*”は、アイテムLISTの番号に合致させてあります。
1.どの言語を学べばいいのかが分からない<=>習得難易度の高いプログラミング言語を選んでいる
2.プログラミング学習をするための準備が難しい
3.英語のドキュメントが多い
4.プログラミング特有の用語や専門用語が多い
5.膨大な基礎学習が必要
6.厳密な論理性が求められる
7.抽象性の高い思考も求められる
8.エラーが多すぎる
9.覚える事が多すぎる
10.苦手意識が強い
インターネット上の情報を”プログラミングは難しい 厳密な論理性が求められる”のキーワードで検索すると、第一検索結果から、”論理性”に関する記述が見つかるようです。
情報によると、論理的思考はロジカルシンキングとも呼ばれる”物事を考える方法”のことで、物事を論理的に考えていくことで、論理的思考・分析能力や情報を整理・分析し再構築する能力が養われると言われているようです。
ビジネスの世界では論理的思考を求められる場面も多いと思いますので、社会人として論理的思考ができることはプログラミングのみならず、ビジネス全般で有利といえるようです。
論理的思考はロジカルシンキングの他、垂直思考とも呼ばれるようです。
そこで、逆の言葉として、ラテラルシンキングというものがあるようで、ラテラルシンキングは日本語では水平思考と訳されいているもので、前提条件・前提事項をなくし0の状態にして、発想を広げる思考方法と言われている様です。
まさに、ラテラルシンキングは前提事項を考えず、いわば自由に発想を広げていきますが、論理的思考では既成概念を基本にスタートして、問題を掘り下げていくので、行きつく結論は通常1つになります。
コンピューターでは、感覚的な処理はできません。例えば人間であれば、多少のスペルミスがあっても、それをミスだと判断して文章を読み進めることはできますが、プログラミングの場合には1文字入力誤りがあったただけでもエラーの原因となります。
プログラミングでは、普段あまり使わないような単語や記号を使うため、ミスが多くなりがちですが、ソースコードをじっくり見直してもなかなかミスを確認できない場合も多く、なぜエラーが出ているのか解明するのに時間がかかることが、プログラミングの難易度が上がり難しいと感じられる一因の様です。
”プログラミングにより論理的思考が身に付く”、”論理的に考えられる人はプログラミングに向いている”ともいわれるようですが、プログラミング的思考と論理的思考は同義ではないとの見解が記されていました。
物事を順序だてて考えていくという共通点はあるものの、両者の違いというのは、プログラミング的思考は”目的達成に向けて遂行する中で最適な方法を見つけだす”のに対して、論理的思考は”目的達成のための分析を行った後手順を組み立てる”違いがあるとの見解がありました。
ただ、講師はこの様な違いを実際には意識した事が無く、論理的思考としてのみ意識して、プログラミングを行ってきました。特にこの分析に違いを見出している点が、特に?な気がしています。(講師にとってプログラミングに際してデータ分析など必要であれば行ってきていましたので、分析のある無しの点で違いと分けるのは…です。)
尚、論理的思考のビジネスでのメリット(若しくは重要性)として以下のアイテムが挙げられていました。
効率的に仕事ができる
問題解決能力が高められる
生産性が高まる
ストレスを軽減できる
コミュニケーション能力を高められる
個人的意見ですが、講師は一応、これらのアイテムに反対はしませんが、具体的な説明を読むと、論理的思考というよりは、むしろプロセスの成熟に関連した効果に思えました。
一例として、”効率的に仕事ができる”の説明として、論理的に考えるので、過去の失敗を繰り返さないとの事だったのですが、これは作業手順を定義してその手順に従って作業を再び行う事で、同じトラブルを起こさないという事であり、論理的思考とは直接は繋がっていない印象が講師にはあります。
皆さんは、プログラミングについて、どの様なご意見・イメージをお持ちでしょうか?
講師の経験が、皆様のお役に立てれば幸いです。