「パソコンで何を学ぶべきか?」という質問に、どう答えるべきか?──
ま、これに対して、正解などはない。人それぞれだろう。
「がんばれゲイツ君」のサイトでは、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 なんてのが優勢だが、そういう話題は本項の範囲外だ。プロ志向者は、そのためにサイトに行ってほしい。本項は、ど素人向けの話です。)
2005年09月06日
この記事へのコメント
コメントを書く
この記事へのトラックバック
??????????????
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
過去ログ
