2022-03-05

プログラマ必要なのはググる力」"ではありません"

プログラミング必要なのはググる力だ」などとまことしやかに言われます。が、これは嘘なので、プログラミング初心者は(中級者以上も)真に受けないで下さい。そして、プログラミング教育に携わる人は、こういう有害な嘘を広めるのはやめて下さい。

なお、ここでいう「プログラマ」とはプログラミング仕事にする人、または作成したプログラムを公開する人を指しています純粋趣味プログラミングをしており、ソースコードソフトウェアも公開するつもりの無い人は、どんな方法プログラミングをしようと自由です。

プログラマ必要な力

プログラマに(プログラマに限らず)必要なのは自身の専門分野に関する基礎的かつ体系的な知識です。それらが不足していては、「ググる」ことさえままなりません。英語で喩えれば、時制や不規則動詞という概念を知らずに辞書を引いて、「I saw him yesterday. 」の「saw」をのこぎりのことだと思い込むようなものです。要するに、調べたい事項が何に関するものなのかを理解していなければ、調べようがないのです。

それでは、プログラミング初心者にとって必要な基礎知識は具体的にどのようなものでしょうか。

まず当然ですが、自分が使っているプログラミング言語フレームワーク機能は一通り知っている必要があります組み込みデータ型や制御構文はもちろん知らなければいけません。高階関数クラス、非同期処理等の発展的な機能も知る必要があります言語だけではなく、パッケージマネージャタスクランナー単体テストツール等の周辺ツール理解必要です。また、「コードコンプリート」とか「Effective ○○」のような書籍に書いてあるような設計コーディングベストプラクティスも知らなければいけません。要するに、現代プログラミングの「常識」は全て知っている必要があります

そもそも「そういう機能存在する」と認識して初めて「調べる」ことができるのです。列挙型という機能存在を知らずに「Javaで列挙型はどう書くのだろう」と調べることはできません。非同期処理の存在を知らずに、「JavaScriptで非同期処理はどう書くのだろう」と調べることはできません。

初心者は何から学ぶべきか

では、そのような一通りの知識を身に着けるためには、どのようなリソースから学ぶべきでしょうか。

結論から言えば、以下のような文献で学ぶべきでしょう。

逆に、WikipediaQiita等の個人趣味で書いた記事プログラミングスクール記事プログラミングスクール家庭教師etc主体に学ぶのはやめるべきでしょう。

もちろん、特定話題について調べる過程で、非公式情報に行き着くことはあるでしょうが、そこで使用されているライブラリ等の仕様については、必ず公式ドキュメントで裏を取るべきです。

時々、こういった正式ドキュメントを読むことが、初心者にはハードルが高いと言う人がいますしかし、冒頭で述べたようなプログラミング仕事にしようとしている人達が、こういうことができないのはおかしいです。

実際、公式ドキュメントを読むことはそれほど難しいことではありません。有名な言語ライブラリ等のドキュメントであれば、高校程度の数学英語とある程度のコンピュータ操作経験があれば、理解できるように書かれています。その程度の素養も無いのにプログラマ特に職業プログラマ)になろうとすることが、そもそもおかしいのです。運動が苦手なのにプロスポーツ選手になろうとするようなものです。

記事への反応(ブックマークコメント)

人気エントリ

注目エントリ

ログイン ユーザー登録
ようこそ ゲスト さん