ベイダー卿

今日からはじめるプログラム(その3:長いものに巻かれるか、フォースに頼るか)

2009-04-13 13:32:23

 
コーホー、コーホー、こんにちは。先ごろ入った新人が、すでにやめて行くのを見て、4月に5月病になったら、なんていう名前で呼ばれるのかが気になって仕方がないベイダー卿です。

 

さて、前回前々回と、プログラムを始めようと、意気揚々と船出したわけですけれども、ちょっと困るのがプログラミング言語選び。

これって、結構悩むと思うわけでしてね。

僕みたいに、仕事で使うとなれば、仕事場でみんなが使ってるものだとか、お客さんの要望に合わせたものだとか、

個人の意思とは別の要因で決まっちゃうので、選択の余地はあまり無かったりするわけですよ。

でも、今回の話は、趣味。仕事とは一切関係ない。

ここでもう一度言っておきますけれども、この一連の僕のコラムは、

職業プログラマーを目指す方には何の参考にもならない文章なので、読むのはやめておきましょう。

あくまでも、ターゲットは、趣味で余暇にプログラムを組みたいという、

なんとも物好きで、奇特で、マニアックな領域にわざわざ足を踏み入れたいという、めんどくさい思考の持ち主のためのエントリーなのですから。

で、趣味ですから。

プログラミング言語は好きなように選べる。

とすると、どれにすればいいのか、考えてしまうわけです。

本当に悩みます。

だいたい、中学生から英語をずっとやってるのに、まともに話すことすらできない人が大半なわけです。

言語の習得っていうのは、面倒なこと、この上ない。

だから、できれば一つで済ませたい。

後から別のを覚えないといけなくなった…。

なんてことになったら、イヤじゃないですか?

C3POと違って、人間の頭は600万もの言語を習得するようにはできてないのですよ。

だから、言語選びは、最初から間違いなく決めたい。

でも、プログラミング初心者。

何を基準に選んでいいかも分からない。

さらに、個々の言語を紹介した書籍なり、サイトなりを見に行きますとね。

絶対に、いいこと書いてある。

もう、べた褒め。絶賛の嵐。パーフェクトストームが吹き荒れてるわけですよ。

それは当然なんですけれどもね。

本の冒頭で、その言語の欠点ばかりを大量に挙げられてたら、やる気なくしますからね。

何より、その本が売れなくなる。

みんな、それでご飯食べてるわけですから、必死です。

そんな悪いことを長々と書くわけがないのです。

あなたのやる気を起こさせ、願わくば、手に取ったその本を買わせようと手ぐすねひいて待っているのが、プログラミング言語解説書の使命ですから。

言語解説書の基本姿勢としては、それで正しいわけですが、初心者の言語選びという立場で見ると役に立たないことこの上ない。

その言語がどんな感じで、初心者向けなのか?玄人向けなのか?、とかね。

プログラミング界において、どんな立ち位置にいるのか?って言うのも重要。

例えば、あなたが、いきなりスターウォーズの世界に飛ばされて、帝国軍につくか、反乱軍につくか、とか、そういう究極の選択を迫られたとき、やっぱり旗色のいいほうにつきたいわけですよ。

そのほうが、絶対にその後の生活設計が優位に進む。

だから、プログラミング言語選びだって、そういう旗色の良し悪しに関する情報が欲しいわけです。

今、勢いがあるのか?斜陽なのか?もうすでに化石なのか?たくさんの人が使ってるのか?誰も知らないくらいのマイナーなのか?はたまた、未知の言語なのか?…

など、選ぶにあたって知りたいことってこのあたりなんですよ。

でも、個々の言語の解説書には、あまり詳しく書いてない。

さらに、各言語を横断的、客観的に比較評価している本っていうのもなかなかない。たまに雑誌で特集記事があるくらいのもの。

それに、ここの解説書に、たとえ紹介している言語の欠点が書いあったとしても、

「それでも、この言語を習得する意味は大いにありますので、頑張って覚えましょう!」って締めくくられているのが普通。

さらに、言語選びの大きな基準として、そもそも、あなたが作りたいソフトが作れるのか?っていうのがあるわけですよ。

というか、これが一番最初に気になるわけですね。

これは出来るけど、これは出来ない、という機能に関する情報は、解説本に書いてあることが多いので、ある程度参考になることはあります。

でも、「出来ないことでも、ライブラリを追加すれば出来るようになります!」

なんてことも、同時に書いてあったりする。

要するに、

「君のやりたいことくらいなら、何でも出来るわ。すぐに出来なくても、ちょっとした工夫で出来るようになるのよ。私にドンと任せちゃいなさいよ!」

っていう感じで、お腹をポンと叩いちゃう近所のお節介おばちゃんみたいなのが、プログラミング言語の解説書籍や紹介サイトというわけでしてね。

その太っ腹ぶりには脱帽しますけれど…。

でもね。

僕なんかにしてみると、そのライブラリの追加って言うのがそもそも、初心者には敷居が高いんだよなぁ…って、突っ込みたいわけでして。

そういう書籍を見るのは初心者ですから、実際にそこに突っ込む人は滅多に居ないわけで…。

だから、そういう記述はそのまま残り、プログラミング言語解説の定番文句になってるような感じなんですよね。

要するに、「プログラミングの解説書には、そのプログラミング言語の悪いところ、出来ない事柄はあまり書いてない」

そして、自分のやりたいことが、その出来ない部分に見事にはまっちゃってるという不幸な状況が、ちょくちょく見受けられるわけですよ。

もうね。そういうのにぶつかると、やる気が一気にそがれるんです。

そういう部分までぶっちゃけたプログラミング言語の解説本とか、僕が書きたいくらい。

誰も買わないでしょうけれどもね。

だから、僕は提案したい。

「プログラミング言語を選ぶとき、各言語の解説書籍とか、解説サイトを見るのをやめよう!」と。

では、どうするのか?

普通の人にとって優先順位の高いほうから行きます。ジェダイの人は逆で、上ほど優先順位が低いですのでお間違いなく。

 

まず、最善策。

近所の人(近くの家の人でも、会社の知り合いでも、友達でも、恋人でも、とにかく気楽に話が出来る人)が使ってるプログラミング言語があるなら、それにする。

これなら、なにも悩まないでOK。

次善策。

良く行くサイトやブログの人(メールなんかでも気楽に話が出来る人)が使ってるプログラミング言語があるなら、それにする。

これもあまり悩む必要なし。あとは、いきなりメアド変えられたとか、音信不通になったとか、そういう寂しいことにならないように気をつけるのみ。

次、ラッキーな場合。

どこか、プログラミングについて、初心者の質問にも気軽に応えてくれるコミュニティ(掲示板でも、MLでも、SNSでも)を運よく見つけることが出来たなら、そこでメインの話題に上っている言語を使う。

これ、本当にラッキーじゃないとなかなかないですけどね。

僕もこういうプログラミング関係のコミュニティに色々と参加して長いですけれども、プログラム系は基本的に厳しい人多いですから。

初心者にも優しく手取り足取り教えてくれる人が多いところってあまり見かけない。

僕みたいな、役に立たない記事は何を言われても仕方ないかなぁなんて思うんですけどね。

でも、有益なコードとかツールとか、機能とか紹介している人の記事って、素直に賞賛すればいいのにっておもうこと、多いんですよね。

builderは比較的少ない気はしますけど、重箱の隅をつつくような突っ込みどころを見つけて、わざわざ言わないと気がすまない方、世間には多いみたいで…。

ちょっと寂しいなと思いますです。はい。

だから、初心者にも優しい、「ググれカス!」って言われないユートピアを発見できたら、本当にラッキーだと思いますよ。

そんな、ラッキーボーイ、ラッキーガールな皆さんはそちらへどうぞ。

そして、次に、妥協案。

Google様にお任せする。

ついに他人、いや、機械任せですよ。

ここまで来ても、まだ決められないあなたは人と関わることでは解決しません。

もう無理ですので。

なので、そういうときには、何でも知ってるGoogle様に聞いてみる。

人ならざる者に聞いてみる。

まず、”プログラミング言語の種類”なんて検索すると、プログラミング言語がいろいろと出てくるわけですが、

それをこんな文字列にしてもう一度検索窓に入れ込むわけです。

そして、そのヒット数を比較する。例えばこんな風に

”プログラム  C”        7,890,000
”プログラム PHP”         5,270,000
”プログラム JavaScript”  3,010,000
”プログラム Java”       2,980,000
”プログラム Perl”        2,040,000
”プログラム Ruby”       2,000,000
”プログラム Python”     1,650,000
”プログラム BASIC”       1,160,000
”プログラム ActionScript”  478,000
”プログラム FORTRAN”       183,000
”プログラム Pascal”        142,000

もう、決まりましたね。

あなたが習得すべきは、”C”、つまりC言語です。

そして、さらに絞りましょう。とりあえず、目に付いたC言語を入れて検索かけてみます。

”Visual C”  106,000,000
”Turbo C”    38,000,000
”gcc”     21,400,000
”C++Builder” 17,000,000
”Objective-C”  1,920,000

他にもあるけど、まあ、こんな感じ。

なので、Windowsユーザーなら、Visual C++だとか、Visual C#あたりをやっておけばいいんじゃないかというのが、なんとなく、垣間見えるわけです。

さすが、Google様。迷いも動揺も無く、きっちり、かっちり決めてくれる。

これが、判断がつかないときには、長いものに巻かれておけ、という大人の理屈。

これが、人生の鉄則、それを教えてくれるのが、偉大なGoogle様なわけです。

 

さて、そして最後、案でも策でもなく…。

ジェダイ用の方法。

本屋に行きましてね。プログラミング本のコーナーに立ちましてね。

目を瞑って一冊、とるわけですよ。

それで、パラパラとめくり、この本なら読めそうだ!という根拠のないフォースを感じたら、その本を買って、解説している言語に決める。

人間、論理的に選ぶよりも、その場の勢いや運で選んだほうが良いこともありますから。あなたが常にフォースと共にある正しいジェダイなら、もうバッチリ。

確実に最善の選択が可能です。

僕ならこれで決めます。フォース、信じてますから。

 

ということで、めでたく言語が決まりました。

あとはそのソフトを買ってくるなり、無料の場合にはダウンロードしてくるなりして、使える環境を整えておきましょう。

そういう具体的な方法に関しては、もう山のように書籍もサイトもありますから、そっちを見てくださいませ。

僕は説明しませんので。

ということでまた、次回。

※このエントリは ブロガーにより投稿されたものです。朝日インタラクティブ および ZDNet Japan編集部の見解・意向を示すものではありません。
  • 新着記事
  • 特集
  • ブログ