2005年09月06日

◆PCで何を学ぶ?

 「パソコンで何を学ぶべきか?」という質問に、どう答えるべきか?──

 ま、これに対して、正解などはない。人それぞれだろう。
 「がんばれゲイツ君」のサイトでは、C言語を推奨している。これだと基礎からしっかり勉強できる、というわけだ。一理ある。数学の勉強のようなものだ。

 ただし、C言語だと、いくら勉強しても、成果はほとんど出ないと思う。プロのプログラマになるならともかく、普通の個人だと、C言語を使って、何らかの独立したソフトを開発する、ということは、ほとんどありえない。ま、時計ソフトぐらいかな。
 たとえば、「C言語を使ってエディタを作成する」なんていう能力・気力のある人は、ほとんどいない。(エディタを作成・公開している人の数を見ればわかる。日本全部で、せいぜい百人ぐらいか。)

 そこで、「学んだからには成果を出さなくちゃ」という現実主義に立って、私としては、もっとなまくらなものを推奨したい。(反論じゃなくて、ただの別の見解です。どっちが正しいというわけではない。念のため。)
 具体的には、次の二つを推奨したい。
  ・ HTML
  ・ マクロ
 その意味は、こうだ。
 「プログラムの勉強のためではなくて、実際に自分が使う言語を学ぶ」
 つまり、勉強のための勉強ではなくて、実用のための勉強だ。「勉強のための勉強」(頭を鍛えるための勉強)なら、国語と算数をしっかりやればよい。プログラムなんて、クイズの勉強をやるようなもので、いくらか頭を使うとはいえ、しょせんはクイズと大差はない。体系的な思考というよりは、瞬間芸みたいなもので済むことが多い。
 というわけで、「実際に実用で使うもの」を学ぶのがいいだろう。その観点で、上の二つが出る。さらに述べよう。

 (1) HTML
 今では誰もがホームページやブログを書く。企業に入っても、HTMLの操作はきっとやるだろう。研究者だって、自分の成果をホームページで公表することもある。ここで、HTMLを知らないと、識字力がないのと同然で、きわめてまずい。情報の発信ができなくなる。
 というわけで、最低限のHTMLの知識は学ぶべきだ。細かなタグをたくさん覚える必要はないが、「調べればわかる」という程度には、基礎を学んでおくべきだ。「調べろと言われても、調べ方がわからない」なんていう状況では、駄目だ。
 HTMLとCSSの基礎知識ぐらいは、全員に必修とするべきだ。

 (2) マクロ
 業界用語で言うなら、Perl である。現実には、これに限る必要はなく、秀丸マクロでも他のエディタのマクロでもいい。「オブジェクト指向」というのは面倒だから、そうではない単純な Basic みたいな言語である。
 その特徴は? 「処理速度は遅いが、プログラムを書くのはすごく速い」ということだ。例。
  ・ C   ・・・・・ プログラム作成に5時間。処理速度は 1秒。
  ・ マクロ ・・・・・ プログラム作成に1時間。処理速度は 5秒。
 で、たいていのプログラマは、「ほれみろ、C の方がずっと高速だ。4秒も短い」と主張する。しかし、現実には、トータルでは C の方が4時間も多くかかっている。
 というわけで、自分専用のプログラムだったら、マクロでやる方が、ずっと手っ取り早い。
 一般に、知的生産のためのプログラムは、ほとんどが文字列の処理である。 Perl で済むようなものだ。というわけで、マクロの利用を、お勧めする。
 なお、Perl そのものは、あまりお勧めしない。初心者だったら秀丸マクロの方がずっと楽だし、他にもいろいろある。Perl は、使い方は他のマクロと大差ないが、実行する環境が特殊なので、インストールなどが面倒臭い。秀丸などのエディタだったら、何もインストールしないで済む。
 なお、私のお勧めは、QXエディターである。秀丸よりもはるかに強力で、操作もわかりやすい。ヘルプも充実している。
 ただ、ど素人だったら、教則本といっしょに Perl を買うのもいいかもしれない。……でも、私はやったことがないので、それでいいかどうかは、何とも言えません。昔ならこれしか選択肢はなかったが、今ではいろいろとエディタもありますしね。
 
 ついでに言えば、どのマクロも、似た言語(Basic ふう)だから、全部使うことも不可能ではない。いずれも、同じ言語の方言みたいなものだ。

 ──

 さらに言うと、文字処理以外の用途のためのプログラム学習もある。
 「エクセルを操作するために Visual Basic を学ぶ」
 「ホームページ操作などのために、Java を学ぶ」
 ま、そういう人もいます。自分の目的に応じて、自分の用途に応じた言語が、自然に見つかるでしょう。
 私の場合は、日常的には、「文字列処理だけ」なので、それに応じた (2) を紹介しました。「表計算の計算処理だけ」というような人は、それはそれで、それに応じたものを学ぶといいでしょう。

 なお、C言語と Basic は、昔から、「専門家向け/初心者向け」という評価の差があったぐらいで、難易度はだいぶ差がある。いきなり高度なものに飛びつくのは、あまり賢明だとは思えません。駄目だとは言いませんけどね。ま、自動車の運転でも、最初からポルシェを買うのは、やめた方がいいんじゃないでしょうか。「絶対にやめろ」とは言いませんけどね。ま、プロのプログラマになるつもりならともかく、たいていの人は、Basic ですら脱落するでしょう。HTMLなら、かろうじてセーフか。



 【 追記 】
    ※ 以下は 読まなくてもかまいません。

 以上はすべてプロ向けの説明だった。
  ・ プロのプログラマ  → C
  ・ プロの学者・研究者 → Basic
 という感じ。

 ただ、もう一つ「趣味で」というのもある。その場合には、次の条件がある。
 「高度なアプリケーションを作成できて、比較的簡単に使える。ただし、商用(販売用)に耐えるような高度な性能は要求されない。せいぜい(あまり売れない)シェアウェアを作る程度」
 その場合には Delphi というのがお勧めだ。Cに近い機能をもつアプリを作成できて、Cよりもずっと簡単に学べる。( Basic ほど簡単ではないが。)

 では、そんなにうまい開発言語があるなら、それがお勧めか? ……そうは言えない。実際、これを使っている人は、多数派ではない。要するに「帯に短し、襷に長し」である。
 実際用途としては、シェアウェアやフリーソフトの開発ぐらいしかできないと思う。たしかに高機能ではあるが、プロレベルの高機能さとは言えないからだ。
 商品というものは、会社で開発するか、個人で無料配布するかであって、個人で有料販売を狙っても、すごく難しいと思う。小遣い稼ぎぐらいにしかならないだろう。
 Dilphi というのは、たしかにすばらしいものではあるが、やはり、大多数の人は、C か Basic かに二極分裂しそうだ。

( C のグループには、他にもいろいろとあるが、その細かな内訳については、ここでは述べない。プロ用の言語については、本項は対象外だ。C以外にどんなプロ用の言語があるかは、別のサイトで調べてほしい。最近は JavaScript なんてのが優勢だが、そういう話題は本項の範囲外だ。プロ志向者は、そのためにサイトに行ってほしい。本項は、ど素人向けの話です。)
posted by 管理人 at 20:56 | Comment(0) | TrackBack(7) | コンピュータ_01 | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック

??????????????
Excerpt: <a href="http://www.telki-tut.ru/belarus-porno-video.html">????????????宼/a>
Weblog: ??????????????
Tracked: 2008-09-22 22:56

????????誠??
Excerpt: <a href="http://www.drochim-tut.ru/unye-molodye-golye.htm">????????誠??</a>
Weblog: ????????誠??
Tracked: 2008-09-29 05:39

????????
Excerpt: <a href="http://video.privet.ru/">??????宼/a>
Weblog: ????????
Tracked: 2008-10-02 08:30

??????????誨
Excerpt: <a href="http://video.mail.ru/">??????????誨</a>
Weblog: ??????????誨
Tracked: 2008-10-02 16:27

闔齏� 礦粤� 辣驫瑾萵��
Excerpt: <a href="http://www.videohq.ru/transvestity-spb.html">闔齏� 礦粤� 辣驫瑾萵��</a>
Weblog: 闔齏� 礦粤� 辣驫瑾萵��
Tracked: 2008-10-04 11:39

????堡??
Excerpt: <a href="http://www.videohq.ru/skachat-porno-video-3gp.html">????堡??</a>
Weblog: ????堡??
Tracked: 2008-10-04 12:31

??砲??屯???? ????????bbs
Excerpt: <a href="http://www.klevie-telki-zdes.ru/skachat-besplatno-porno-video-yabb.html">??砲??屯???? ????????bbs</a>
Weblog: ??砲??屯???? ????????bbs
Tracked: 2008-10-09 21:56
  ※ コメントが掲載されるまで、時間がかかることがあります。

過去ログ