mugaxのなんでも情報局

いろんな分野について発信していきます。

日本語だけにとどまるな

インターネットで検索するとき、英語で検索している。日本語より英語の方が質の高い情報が得られるからだ。

英語は世界中で使われている。英語を使う人々の文化や宗教は、日本語を使う人々よりも多様性が大きい。つまり、英語で書かれたウェブサイトは、多様な視点からチェックを受けているということであり、質が高くなるのだ。

また、多くの分野で日本よりも世界の方がレベルが高い。

さらに、英語は日本語より構造化された言語なので、分野によっては英語の方が理解しやすい。

翻訳アプリがあるから英語を学ぶ必要はない、というのは誤りだ。英語圏の文化を理解したり、英語圏の人々と真のコミュニケーションをとるには英語そのものを知っている必要があるからだ。

ここで大切なのは、英語を学ぶ場合には目的を設定することだ。英語で書かれた硬い内容の文章を読むことと日常会話では、まったく異なる英語力が必要なのだ。

これは日本語の場合を考えればわかりやすい。研究者などは論文の読み書きは得意だが、見知らぬ人との何気ない会話を広げていくのは苦手だったりする。一方、お笑い芸人などは論文の読み書きはできないが、トークの波を縦横無尽に乗りこなすのは得意だったりする。

どちらも自分が訓練したことはできるが、そうでないものはできないというだけだ。

だから、目的に合わせた勉強をしなければならないのだ。

とにかく、英語を使おうという意識を持っている人とそうでない人では、見ている世界が大きく違う。

もちろん、英語以外の外国語でもいい。日本語だけにとどまっていては、つまらない人間になるということだ。

 

 

どのプログラミング言語を学ぶべきか?

プログラミング言語は数千種類以上あると言われている。しかし、実用的に使われているのは、およそ30種類ぐらいだろう。
では、どの言語を学べばいいのだろう?誰もが抱く疑問である。そこで、言語の選び方を考えてみたい。

それぞれのプログラミング言語には得意な分野と不得意な分野がある。だから、自分のやりたいことに合わせて言語を選ぶというのが基本的な考え方である。

例えば、Web関係のプログラムを作りたいなら、JavaScriptRubyPHPなどである。本格的なゲームを作りたいならC#がいいだろう。

特に作りたいものがあるわけではなく、プログラミングというものがどういうものか体験してみたいというのならPythonがおすすめだ。Pythonは簡潔に記述できるし、初心者向けの教本が揃っているので独学しやすいだろう。また、ライブラリが充実しているので、画像処理や言語処理、ゲームなども割と簡単に作れる。

IT関係のエンジニアになりたい学生は、最初に学ぶかどうかは別としても、C言語が必須である。C言語で挫折しているようではITエンジニアには向いていないといっても過言ではないだろう。しかし、Web関係のエンジニアの中にはC言語を学んだことがない人がそれなりにいるのも事実である。

言語別の収入ランキングなるものもネット上には存在しているが、少し注意が必要だ。そういったランキングではPythonが上位にいることが多いが、単にPythonができるだけでなく、大学院レベルの数学や言語学統計学の知識を駆使してAI関連のプログラムをPythonで作っているから収入が多いのだ。

結局、どの言語を選ぶべきか?
個人的な趣味として学ぶなら、好きなものを選べばいい。プログラミング言語というのは1種類学べば終わりではなくて、いずれ何種類もの言語を学ぶことになるからだ。そのとき、過去に学んだ言語の知識が活きるので、2つ目以降の言語は楽に習得できるはずだ。

プログラミングを学ぶと手に入る能力4選

いつの間にか、小学校や中学校でプログラミング教育なるものが始まっていた。プログラミングを学ぶというと、プログラマーやSEという職業に就くためと考えてしまう人も多いようだ。しかし、IT系の仕事に就きたい人だけでなく、誰もがプログラミングを学ぶべきだ。だから、義務教育課程でプログラミングを学ぶという考えは支持できる。
なぜ、誰もがプログラミングを学ぶべきなのか。それは、どんな人生を歩むにしても役立つ有用な能力が身に付くからである。

  • 問題解決能力
    プログラミングを学ぶ上で最大のメリットといえるのが、問題解決能力の向上である。プログラミングする場合、まずは解決したい問題を抽象化したり体系化したりする。こういう習慣が身につけば、問題を異なった側面からみることができるようになるのである。
  • モノの仕組みを理解できる
    現代社会ではあらゆるモノにコンピュータが使われている。プログラミングを学ぶと、そういったモノの裏で何が行われているか理解できるようになるのである。
    例えば、店のレジを考えてみる。一人の客が同じ商品を複数買う場合、レジでバーコードを読み込むと、店員に注意を促す目的で「同一商品です」という音声や警告音が鳴ったりする。これは、バーコードを読み込むたびに、既に読み込んだ商品のリストを自動で検索しているのだろう、ということがわかる。
  • 論理的思考力
    プログラミングでは、わかりやすいコードを書くことが必要だ。わかりやすいコードというのは、論理的で無駄のないコードだ。こういうことを常に意識することになるので、プログラミングをすると論理的思考力が身に付くのだ。
  • 忍耐力
    プログラミングにバグやエラーは付き物だ。どんな熟練プログラマーでもバグやエラーは入ってしまう。そのときに、バグやエラーを取り除くデバッグという作業をしなければならないが、これが非常に忍耐力のいるものなのだ。ネットで検索したり、誰かに質問して解決策がズバリと見つかることは稀なので自力で何とかしなければならない。ひとつのバグで数時間費やしてしまうこともよくあるし、ちょっとしたプログラムのたった一つのエラーを直すのに何日もかかることだってある。こういうことをしていると、忍耐力がつくのだ。

上記4つの能力が欠けている大人は社会にあふれている。だから、大人もプログラミングを学んだ方がいいだろう。

プログラミングの3工程

プログラミングをしたことがない人はプログラミングを難しいものと思いがちだが、手作業で行っている事務作業を自動化する程度のものであれば、それほど難しいことではない。

どんなプログラムも、わずか3つの工程から成り立っているといっても過言ではない。

  1. データの取得
  2. 何らかの処理
  3. 結果を返す

たったこれだけである。

プログラミングを勉強するとき、この3つの工程を意識していれば、理解は深まるだろう。また、それなりに複雑なプログラムを作るときも、全体の流れを見失わずに済むだろう。

 

 

起業のすすめ--社内ルール編--

自分で起業して会社を作りたいと思っている人がまず考えるのは、どのような事業をしようかということだろう。しかし、会社勤めではなく自分で会社を作りたい人のほとんどは、勤務している会社の事業内容に不満があるのではなく、働きやすさに不満があるのではないだろうか。
それならば、まずは社内ルールから考えるべきだ。
そこで、自分が会社を作る場合の社内ルールを考えていこうと思う。

冷房は弱め
健康のためにも経費節減のためにも夏の冷房は弱めがいい。室温は、暑がりの人ではなく、寒がりの人に合わせるべきだ。

禁煙
会社で喫煙を許可するメリットは全くないので、当然のように喫煙場所は設けない。

飲み会なし
職場の同僚と飲み会をしても楽しいわけがない。仕事上の人間関係からはどうしても逃れられないからだ。時間と金の無駄と考えている。

BBQ、社内旅行、ソフトボール大会等なし
親睦を深めるという理由でこういうイベントを行っている会社もあるが、会社の利益のために行っているのだから、必要があって仮にやるとするなら、勤務時間内に行うか、残業代や休日出勤手当を支払って行うべきだ。もちろん、費用は全額会社持ちだ。

お土産、お菓子等の配布禁止
欲しくもないお土産やお菓子を渡されても困惑するだけだ。これが嫌で連休明けやバレンタインデーなどに憂鬱になる人も結構いるはずだ。

作業着またはスタッフジャンパー着用
スーツにネクタイは動きにくいし、クリーニング代やアイロン掛けの手間もかかる。社内の風紀を保ちたいなら、作業着やジャンパーを支給すればいいのだ。

1日6時間以下
8時間勤務だと集中力が切れて無駄な時間を過ごしてしまうだけだ。だから、6時間以下でいい。

週休3日
土日に加えて水曜日も休みにしたら心身ともに楽になるだろう。金曜日や月曜日を休みにして3連休にするのもありだ。とにかく週休3日なら人生の幅が広がるはずだ。

とりあえず、これぐらいだろうか。もし現実に全てを満たしている会社があるのなら、もちろん個人差はあるだろうが、多くの人にとっては働きやすい会社だろう。

 

シン・受験勉強術

巷には効率的な受験勉強の方法について、たくさんの情報があふれている。それらは主に、どの参考書をどのようにやるかというものだ。「参考書ルート」という言葉まであって、ルートに従って参考書をこなしていけば志望校に合格するらしい。

しかし、ほとんどの受験生にとって、そういう情報を追いかけるのはあまり意味がない。成績が上がらない主な原因は、絶対的な勉強量の不足だからだ。まずは最低限必要な勉強時間を確保しろ。言いたいことはこれだけだ。

高校生なら「学年プラス2時間」の家庭学習が必要だ。ちなみに、これは最低ラインなので、もっとやってもいいくらいだ。
どんな勉強方法でもいいから、「学年プラス2時間」を半年以上やってみる。効率を考えるのはそれからでいい。初めから効率を追求してしまうと、効率を言い訳にして勉強時間を減らしてしまいがちだからだ。

家庭の事情でどうしてもアルバイトや家事をしなければならないとかいった事情がないなら、できるだけ多くの時間を勉強に費やすべきだ。志望校に合格することは、精神的にも経済的にも本当に価値のあることだからだ。

ただし、睡眠や食事の時間を削るのは全くお勧めできない。これらは健康を維持するために不可欠なものである。心身ともに好調である方が勉強が捗る。アスリートが体調管理に万全を尽くしているのと同じことだと考えればいいだろう。

とにかく勉強量を確保することが成績をあげるための確実な方法だ。少ない勉強時間で一流大学に合格しましたというアピールをする合格体験記などもあるが、それは話を盛っているか、小中学校時代に莫大な貯金をしていたか、映像記憶などの特殊能力の持ち主といったところだろう。

勉強に使える時間があるなら、それらを全て勉強に使うというのは悪いことではない。勉強時間を削ってゲームをしたり、スマホを触ったりするのは有意義な時間の使い方とは言えないだろう。

受験数学の基礎とは何か?

数学に限らず、大学受験の勉強では基礎が大切である。
合格体験記などを読むと、名門高校の落ちこぼれが1年で東大に受かったとか半年で早慶に受かったという話がよくあるが、これは基礎がしっかりしているから成せる芸当である。基礎がしっかりしていれば、解法パターンを詰め込んだり、傾向と対策に時間をかけるだけで偏差値は急伸し、志望校にも受かるのである。
では、基礎とは何か?ここでは、数学の基礎とは何かについて論じてみる。

数学の基礎は2つある。「計算力」と「定義や公式の深い理解」である。

まず、「計算力」とは何か。これは「合格る計算」や「計算のエチュード」などで学べる知識や技能のことである。いちいちリンクを貼るのも面倒なので、知らない人は検索してほしい。
これらの問題集には、東大合格者ランキングに登場するような名門校に通う人なら当たり前に知っていることが書いてある。彼ら彼女らは学校の数学の授業で教師から教えてもらえたり、周りの友人たちの解き方を見て、間違えにくくて効率のいい計算技能を身につけている。
計算力をつければ、計算ミスを減らせるし、計算に費やす時間とエネルギーを節約できるので、その分だけ思考に労力を割くことができるので点数が上がるのだ。

次に、「定義や公式の深い理解」とは何か。これは、文字通り、定義や公式を深く理解することである。定義や公式は簡潔な形で書かれているから、意味は考えずに暗記だけしてしまいがちだ。
しかし、これでは数学ができるようにはならない。意味や使い方を深く理解する必要がある。そのためには、教科書や網羅系問題集だけでなく、ブルーバックスや大学生向けの本などで学ぶのがいいだろう。

「計算力」と「定義や公式の深い理解」。この2つがしっかりと身についていれば、あとは解法パターンを詰め込んだり、傾向と対策に時間をかけるだけで偏差値は急伸し、志望校にも受かるのだ。
したがって、夏までは「計算力」と「定義や公式の深い理解」の習得に数学の勉強時間の全てを注いでもいいのではないだろうか。