ググる能力を鍛えよう

その他 プログラミング

「ググレカス」なんて言う過激な言葉は、もう流行ってない?

ちょっと酷い言い方だよね。

でも、自分で調べずに何でも人に聞くなんてのも失礼な話。

だから言われるんだろう。

赤ちゃんならまだしも、調べることのできる年齢になってるなら、現代ではネットを使って調べられる。

調べるときは、グーグルを使うのが一般的になってきた。

それから「ググる」とか「ググれ」とかいう言葉が出てきた。

ネットを使って、いろんな事が調べられて便利な時代になったよね。

プログラミングする上で、調べることは頻繁に発生する。

  • これ、どうすればいい?
  • いいサンプルないかな?
  • あれはどうやるんだったっけ?

なんて事は多いよね。

情報の氾濫

いろんな情報があって便利になった反面、「情報の氾濫」を感じる事がある。

目的のものを調べるのに、情報が多すぎて邪魔だなと感じる事はありませんか?

特に「アフィリエイター」の「どうでもいいような記事」が多くなったような気がする。

いわゆるスパムサイトって、本当に迷惑だよね。

検索結果に、その手がずらりと並ぶとうんざりしますね。

グーグルがその手の記事に対して対策を打ってるという話をよく聞きます。

だから、簡単に「ググレカス!」なんて言うのは良くないと思う。

「ググれ」ば、すぐ見つかるというものでもないのが昨今の事情だと思う。

wikiる

wikipedia でも、最近は似たようなことを感じる。

本筋だけさらりと読みたいのだけど、記事が詳細すぎて、なかなか目的を達成出来ないことはありませんか?

wikipedia の裏では、様々な人たちがボランティアで記事を投稿し、整理・編集してくれている。

たまに裏事情を読むことがある、

「記事の記述方法」で「喧々諤々」の話し合いをしているようだ。

一つの記事で意見の不一致も「あるある」な話のようだ。

要するに、揉めているのである。

そういうのを見ると、「私は記事作成に参加したくないな」と思った。

ググる能力

さて、本題に入ります。

プログラミングするときに、ググることになるケースが多い。

これは、初心者だけでなくて、ベテランのプロでもある。

しかし、上記に書いたとおり、そう簡単に調べられないケースが多くなってきた。

「プロでも大変なんだから、初心者はもっと大変だろうな」と思うときが多い。

プログラミングする上で、新しい言葉(特に横文字の外来語)が理解できないことはありませんか?

分からない言葉をググる。

そうすると、また分からない言葉が出てくる。

そして、またググる。

そんな事ばかりが続くとウンザリするよね。

最低限の基礎知識

ググるには、ある一定の知識が必要だという事。

基礎的知識がないと、ググっても永遠に理解できないことにもなりかねない。

「急がば廻れ」という諺(ことわざ)があるけど、まさにこれにあたる。

プログラミングする人には、コンピュータを使うときに必要な知識とセットで別の知識も必要なんです。

別の最低限の知識とは何だろう?

このサイトでは、それらの基礎知識も掻い摘んで書いていこうと思ってるのだが・・・

これくらいは理解して覚えよう

必要そうな基礎的知識を羅列してみる。

  • コンピュータの構造やシステム構成
  • CPUの中の簡単な構造
  • CPUとメモリの関係
  • 記憶装置の種類
  • データの固まりと、データの流れ
  • 論理回路と論理演算
  • 一般的な周辺装置
  • 入出力装置とCPUのインターフェイス
  • 通信(シリアル通信とパラレル通信)
  • インターネット通信の仕組み

「そんな事は知ってるよ~」と思いましたか?

昔と違って、いろんな事を学ぶ必要があるかも。

学ぶ中で、知らない言葉がいっぱい出てくるはず。

プログラミングする上で必須になる言葉も多いと思う。

取捨選択能力

先日の話なんだけども・・・

twitter に、エンジニアとして活動しているという人の呟きで興味深いものがあった。

Qiita(だったと思う)に記事投稿しているようなので読んでみた。

そこには、

  • え?
  • へぇ~そんなCPUあるのかな?
  • いや、でも・・・それはないだろ~!

と思える記事があった。

メモリにビット単位でアドレスが振られている記事だった。

確かに、メモリ装置内部では、ビット単位で管理されているんだろうけど、CPUからみたアドレスがビット単位だと非常に困ることになる。

アセンブラという言語(またはマシン語)を理解している人ならわかるはずだ。

例えばビット単位でアドレスが振られてるとすると、バイト単位ではアドレスが8つずつ増えることになる。

仮にそういうCPUがあったとする。

コンパイラとしてのアセンブラは、そのアドレッシングを意識して作らねばならないし、プログラマもアドレスが連続ではないことを意識して作る必要がある。

ポインタとかアドレスを意識してプログラミングできるC言語は別として、アドレスを意識しない高級言語ばかりをやっているプログラマは、この問題に気が付かないかも知れない。

不思議に思って、当の本人に「どこのCPUですか?」と質問してみた。

結果、勘違いした記事であったことが判明した。

こういった、間違いのある記事も氾濫していると思われる。

「サンプルプログラム」でも、「あるある」な奴。

「ググる能力」というのは非常に重要だと思った。