SSブログ

たのしいプログラミング(月刊ASCII 1988年6月号11) [月刊アスキー廃棄(スクラップ)]

この号から「楽しいプログラミング」の連載が始まった。
ASCII1988(06)f01プログラミング_W520.jpg
BASICとはおさらば?

ラン こんにちは,プログラミング少女のランです。
ゲージ はいはい、コンパイル少年のゲージです.2人あわせてランゲージというわけです.さっそくだけど,ランちゃんは,プログラム言語は何を使っているわけ?
ラン わたしは,BASICと...Cを最近はじめました.
ゲージ なるほど.BASICで入門して,Cが使いたくなってきたというわけだね.
ラン BASICも,ちょっとしたものを書くには便利です.ただ,Cというとどうしても「むずかしい」という印象が強いでしょ.でも,使えるようになると,かえってやりやすい部分もありますね.MS-DOS環境の方が,エディタとかのツールが充実していますから.
ゲージ IBM PC用には,Microsoft社のQuick BASICとBORLAND INTERNATIONALのTURBO BASICがそろって,どちらもメニュー形式で使いやすいものになってきている.入門者が使うBASICこそ,使いやすくなきゃいけないはずなので,Quick BASICやTURBO BASICは正解だと思う.いや,もっと強力なヘルプやチュートリアルがあってもいいくらいですよね.
ラン "circle"のパラメータなんて、どういう順番でどう書くのかすぐに分からなくなっちゃいますからね.ヘルプがcircle文とかのコーディングをエディタに埋め込んでくれないかな.ついでに,サンプルが用意してあってヘルプの中で実行してしまうとか,注意事項も指摘してくれるといい.
ゲージ ところで,ちゃんとプログラミングをはじめたいのなら,BASICはとばして,Pascalあたりからやるのがいいという議論もある.
ラン Pascalもなんだかむずかしそうなんですよね.
ゲージ Pascalは,言語の仕様がきっちりしているので,まー,しつけのいいプログラムが書けるようになるといいますね.それと,アルゴリズムのテキストには,Pascalを前提としたものが多いと……なんとなくやる程度なら,BASICでもいいと思いますが.
 冒頭はいつも繰り返されていることだ。BASICが好きならそれで遊んでいればよい。九九の表を作るプログラムとかは便利だ。私はBASICで図形を描いていた。花子のベクトルデータによるお絵かきソフトには全くなじめず、それならBASICで描いた方が速い。実際BASICで図を描いていた。PowerPointが登場してからはそれで描いていたが。
 BASICで1000行を超えるプログラムを書いている人を尊敬(悪い意味で)していた。ローカル変数も関数も構造体もポインタもなくようやるわって感じ。アセンブラだってもっとまともだ。ローカル変数がないからPUSH,POPでレジスタを保存し、間接アドレッシングはポインタだし、複数バイトにデータをまとめて取り扱うのは構造体だ。アセンブラから入った私はBASICであれもできないこれもできないのにはストレスが溜まった。ああそうだ行番号もクソだった。リナンバープログラムとかテープで売られていた。
やっぱりCかな……

ラン 何といっても人気があるのはCですね。
ゲージ (株)ライフボートの「The Lifeboat PERSPECTIVE」4月号に,“ブックセンターから見たコンピュータ"という寄稿記事があって,C関連の書籍は,85年に15点,86年が35点,87年は実に60点以上が出版されたという.
ラン すごいっ.
ゲージ Cの人気を物語っているわけですよ実際のところ,Cでは,低価格で十分使える処理系がいくつも出てきている.
ラン X68000用のC compiler PRO-68Kも,3万9800円という,比較的入手しやすいところで出てきたのはうれしいですね.
ゲージ MS-DOS上のCコンパイラとしては,Microsoft社のMicrosoft C Optimizing Compiler Ver.5.0が,MS-DOSの提供元のコンパイラとして,開発用にはもっとも使われていると見ていい.このコンパイラは,CodeViewというビジュアルデバッガとQuick Cという開発用コンパイラを付属しているのが特長なのだが,この辺は,IBM PCとPS/2に依存しているために,AX以外の国産のマシンでは使えない.
ラン Ver.4.0は日本版が出ています.CodeViewについては,PC-9801シリーズで使える.Ver.5.xの日本版は夏以降になるそうです.
ゲージ 発売と同時に高い人気を得たのは,TURBOCだ.TURBO PASCALゆずりの統合環境が用意されている上に,高速なコンパイルとコンパクトで高品質なオブジェクトを売りものにしている.デバッガを除いて,Microsoft Cに引けをとる部分はない.Lattice Cは,非常に実績のあるコンパイラで,レジスタ変数が使えないとか,付加的な魅力がないとか指摘されがちだが,実際のプログラミングでは,十分なパワーを持っている.
ラン 入門用の言語シリーズとして発売荒されているRUNシリーズもよいのですが、Cについては,むしろ,Lattice Cパーソナルの方をおすすめですかね.
ゲージ RUN/Cは,インタープリタとしての面白い環境を持っているけど、結局は,MS-DOSの環境にいきたくなると思う.
ゲージ Cでダークホース的な存在なのが,Datalight C OPTIMUMTEだ。これは,生成するオブジェクトの品質で非常に高い評価を得ている.それに,安い.これについては,本誌87年12月号のProgramming C Language!のページを参考にしてください.それから,このDatalight Cは,次のバージョンでCodeViewをサポートするとか,ネイティブのC++コンパイラが出るといった噂もあるようです.このほかにも,MS-DOS上のCとしては,Hi-TECH C,C86PLUS,DeSmet C,LSI C86など選択の幅が実に広い.
ラン LSI C86は,国産のCコンパイラで,なかなかのパフォーマンスを持っているということで期待しています(近くレポートする予定です).
 私はTurbo PasclからTurbo Cになったのだが、知人の自営プログラマは「MicroSoft Cで開発しました。」と客に言えるのが大事だと言っていた。
Pascal,Cの次にくるもの

ゲージ 先月号の特集で紹介したように,Pascalには,Modula-2,Cには,C++という後継言語がある.C++は,AT&Tのライセンスを受けてMS-DOSに移植されたCのプリプロセッサであるケースが多いようだ.Modula-2は,実用に使っている人も少なくない.どちらも,あきらかにPascalやCよりも洗練された言語仕様になっているので,PascalやCと併用していくのもよいかもしれない.Pascal系の言語としては、一時期非常に騒がれたAdaもある.
ラン C++は,オブジェクト指向の影響を受けているといわれますね.
ゲージ オブジェクト指向については,いずれ詳しく触れないといけないと思う.よくアメリカの雑誌に広告が載っていたActorが,ようやく登場したと思ったらMicrosoft社から発売されることになった.この言語は,MS-WINDOWSと密接な処理系とのことで,なかなか興味深いですね.
ラン AIに利用できる言語もいろいろありますね.
ゲージ AIというとまずPrologが思い浮かぶのですが,国産のProlog-KABAをはじめ,いろいろとある.Prologには,実は決まった文法がないのですが,DEC10準拠とよばれるスタイルのものがポピュラーです.IBM PC用にTURBO PROLOGが出ていますが,文法的には,かならずしもDEC10準拠とはいいきれないところがあるようだ.Prologとよく比較されるのが,Lispですが,これが流行のきざしがあるのではないか.ライフボートからStar Sapphier Lispという処理系が発売される予定なんだけど,開発元の都合で遅れているというのは残念だ.この処理系は,LispからCのソースを生成したり,Cとインターフェイスをとったりすることで,実用的なプログラミングを容易にするとのことなのだが……
 C++は使った。オブジェクト指向ということで使ったが、継承とか新しい概念を学ぶために使ったようなものだった。

広がる言語の世界

ラン パーソナルコンピュータで使える言語としては,このほかにも,実用的なFORTRANやCOBOL,それから,APLやFORTH,LOGOといった個性的な処理系があると思います.
ゲージ 実用的な言語の延長では、dBASEIIIなどのデータベースマネジメントシステムのADL(アプリケーション開発言語)なども入ってくると思います.
ゲージ FORTHなどの自己増殖型言語を支持する人たちも多く,ほかの言語が使えなくなるとか....先月号で紹介した日本語プログラミング言語Mindは,基本的にこのFORTHの流れを汲む言語だそうです。
ラン なるほど、今回は,パーソナルコンピュータで使えるおもな処理系にはだいたいどのようなものがあるか,というのをテーマにしてきたんですけど、今では,パーソナルコンピュータほど多くの言語に触れることのできる環境もないという感じですね.
ゲージ そのとおりだね.とくにMS-DOS環境では,PascalやCで具体的なツールやアプリケーションを書くだけでなく,さまざまなプログラム言語に触れてみること自身がなかなかエキサイティングなことだと思うよ.
ラン この連載でも,できるだけいろんな言語について触れていくことにしましょう.ではでは,今回はこれで.
 言語を学ぶのが趣味ならともかく、実用性を考えるのなら目的に応じた言語を使うべきだ。知人は職場のデータ処理でdBASEでプログラムを書いた。私は速度命だったからCとアセンブラの組み合わせで趣味のプログラムを書いた


nice!(0)  コメント(0) 

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。