それ言うんだったら、当時の実用コンパイラだった例えばportable c compilerの全ソースに行単位のコメントつけて本にして出版してくれてたら良かったんですよ。Pascalで実現できてたんだから。 ところが現実は、UNIXのソースライセンス絡みで、当時で家一軒分に匹敵するようなカネ積んでようやくソースが入手できるとか、「パーソナル」コンピュータ相手に何を要求してるのかと思うぼったくりぶり。程度というものが通用しない世界で、そういうカネをホイホイ支払える人がもてはやしたところで、こちら貧乏人には別世界の話だったことを忘れてしまっては、ねえ。
大学の必修教養で習わされたPASCAL (スコア:0)
なんであんなものやらされてたんだろう
Re:大学の必修教養で習わされたPASCAL (スコア:0)
プログラマじゃない(なれなかった)私が言うのもお門違いだという批判は甘んじて受ける。
が、Pascalがmother tongueである私には、結局cは無理だった。今さらだが、K&Rの翻訳者前書きで故石田氏が、タイプ量まで挙げてc上げPascal下げを言っていたのは、ひどい言い掛かりだと思う。可読性という観点からすれば、関数名や変数名などを2文字や3文字にしてまでタイプ量を減らすなど、無意味もいいところだ。その上で、cには記号文字多用(これも石田前書きではタイプ量に関して)による読みづらさがある。タイプ量だけでなく、上記石田前書きでは、石田氏のPascal文法の誤解からきたと思われるPascal否定があった。
ま、私が思うcの問題点(もちろん上記以外にもいろいろある)は、大多数のプログラマには大した問題ではなかった。それ故の現在のcの普及だ。デファクトスタンダードを否定する気は一切ない。私にとってはPascalが良かった。それだけ。
Re:大学の必修教養で習わされたPASCAL (スコア:2)
アルゴリズムの根っこの部分をきちんと抽象化して思考してれば言語依存度は低くなると思うの。
職業プログラマではない自分だって,好き嫌いはあるけど,理解できない言語ってないもの。
Re:大学の必修教養で習わされたPASCAL (スコア:2)
プログラミングのお作法教えるだけでは何も身につかないに決まってるというか。IT土方にはアルゴリズムを考える必要はねえ,といわれればそうなんだろうけど。
Re:大学の必修教養で習わされたPASCAL (スコア:1)
コンパイラ作るとかCPU の動作の深いレベルで認識するならそうでしょうけど。
いわゆる高級言語の類いで、通常のプログラミングであれば、いかにやることを記述するか、でしょう。
むしろ文章の組み立てに近くなるのでは? 個人的な感想ですが。
※私個人は理系に分類されるでしょうけどね
-- To be sincere...
Re: (スコア:0)
物事を分割し論理的に記述するなんてのは学問の基礎なので、本来的には文系も理系もないのでしょうけど、
世界的には国語で習うことですね。(西洋とその元植民地なのでほぼ全世界です。)
日本は数学に丸投げなので理系の印象が強いですけど。
Re:大学の必修教養で習わされたPASCAL (スコア:1)
>ま、私が思うcの問題点(もちろん上記以外にもいろいろある)は、大多数のプログラマには大した問題ではなかった。それ故の現在のcの普及だ。
言語としては、PascalがCよりも優れているのは確かだけど、Cの良い点というよりも必要性はUnixというOS資産(プログラム資産)にあったと思う。この利益に対しては、言語の多少の問題は目をつぶられたということだと思う。
つまり、言語の優劣が普及を決めるのではない。何に重用されたかの影響の方が大きいと思う。
Re: (スコア:0)
資産という点では「良い(わかりやすいという意味で)入門本」が手に入りやすいかどうかも。
大学当時、一般教養でpascal、コース側必修でbasicをやりましたが、basicは半年後ぐらいに少しは書けるようになったものの、
pascalは落としました。(講師の問題もあるんでしょうが、まったく理解できなかった。まぁ、押し付けられた環境(15行ぐらいしか見えないラインエディタ、あとはエディタコマンド実行用の枠(dos時代なんで)つぶされてる)に拒否感も強かった)
自習しようにもPASCALは当時入門本もあまりない(1990年前後です)
で、社会に出て研修でCをやったら、入門本がいっぱいw
とても「c言語できます」と言えるレベルではないですが、会社の研修程度はこなせました。
Re: (スコア:0)
今更ですが、1980年代半ばであったなら、cよりPascalのほうが本はたくさんあったんですがね。
思い出話になりますが、当時、8bitマシンの全盛期で、コンパイラといえば買うもの(補足ですが、その前提としてFDDとCP/M2.2が必須でここでざっと30万円超、そしてコンパイラを多品種出していたマイクロソフトの製品が単価10万円位、Whitesmith's Cに至っては36万円、但しBorlandのturboシリーズは29800円だったと記憶)で、もっといえばUNIXのソースライセンスが6万5000ドル也という、どこにそんなカネがある???の時代です。
そんなときに、前出「Pascalコン
Re: (スコア:0)
PASCAL本≠PASCAL入門本
Re: (スコア:0)
https://www.amazon.co.jp/dp/476490098X [amazon.co.jp]
これでええんやで
Re: (スコア:0)
1980年代からcやらPascal触ってたおじいちゃんも、新しいモノには疎いんだな、とちょっとしんみりした。
K&Rが大学の授業の教科書だったおっちゃんは今も現役やでぇ。
Re: (スコア:0)
ワンパスで頭から全部読まなきゃならなく、分割コンパイルもできないPascalが確かにCより優れるとか何を評価しての言葉かわかりませんわ。
せめてModula2持ってきて。
Re: (スコア:0)
それ言うんだったら、当時の実用コンパイラだった例えばportable c compilerの全ソースに行単位のコメントつけて本にして出版してくれてたら良かったんですよ。Pascalで実現できてたんだから。
ところが現実は、UNIXのソースライセンス絡みで、当時で家一軒分に匹敵するようなカネ積んでようやくソースが入手できるとか、「パーソナル」コンピュータ相手に何を要求してるのかと思うぼったくりぶり。程度というものが通用しない世界で、そういうカネをホイホイ支払える人がもてはやしたところで、こちら貧乏人には別世界の話だったことを忘れてしまっては、ねえ。
それに、cで書かれたプログラムの移植性の良さって、K&Rの原文でも主張されていたことだけど、コンパイラ制作者であるベル研究所内部がその移植版コンパイラも制作してたら、そりゃあ移植性抜群でしょうが。
何というか、故石田晴久氏を始め1980年代初頭~半ばにc上げPascal下げ言ってた人って、ご自身がどれだけ恵まれた環境だったかを綺麗に無視していたとしか思えません。
Re: (スコア:0)
言語として優れているかどうかと何の関係もないじゃん。
Re: (スコア:0)
別に、1パスコンパイラだ分割コンパイルだ云々ばかりが、プログラム言語の優劣の判断基準じゃないんで。
どこかの言い古された文句「お前がそう思うんならそうなんだろう、お前ん中ではな」を呈しておく。
Re: (スコア:0)
Pascalはいろいろな点がstrictに出来てるので、C言語だと原因不明のランタイムエラーになって頭を抱えるようなバグの多くをコンパイル時に弾いてくれるのはありがたい
言語仕様で規定されているわけではないが、Pascalコンパイラ作成のお約束(?)としてランタイムエラー発生箇所をトレースする機能がどの処理系にもついてるのもありがたかった(いにしえのTurbo Pascal Ver.3にもこの機能はあった)
ただし、各種のライブラリに依存した処理をしようとすると標準ライブラリの貧弱なPascalでは手も足も出ない
Re: (スコア:0)
昔、Pascalで卒論書いた。
幾つか選択肢あったけど、FortranもCOBOLも外したら、結局。
マニュアルなんてあったか? エラー出しながら、覚えた。
ま、Cも似たようなもんか。
Delphiは結局、縁無し。
良かったか、どうかは知らん。
Re: (スコア:0)
Pascalを知っていて、Delphiを知らなかったのは、かなり損をしましたね。
Delphiの良さは、VCL(Visual Component Library)というライブラリ群です、Pythonの人気がその豊富なライブラリにあるように、Delphiの生産性の高さはその強力でありなおかつ整ったVCLにありました。延々とボイラープレートコードを準備する必要がないのは大変に快適です。
必要に応じて同じ言語とツール群で自前でVCLの拡張を行うこともできるのですが、内部を見ればその構成の筋の良さに何度も感心しました。
幸か不幸かアンダース・ヘルスバーグ氏がMSでC#を作ってくれましたが、元々のMSのライブラリ体系の不出来のおかげで、今だにもう一つと感じることがあります。
最近再び Delphiを触り始めました。
Re:大学の必修教養で習わされたPASCAL (スコア:2)
Turbo Pascalの延長線で一時期触ってましたが,VBよりも筋はいいですよね。
ラピッドタイピングに向いてると思いました。あまり突っ込んで使いはしませんでしたが。
Delphi の思い出 (スコア:1)
「VB の操作性・手軽さで、VC++ の高速性」
でしたからねえ。
VB は画面は手軽に作れるけど速度が出ず(当時のVB はコンパイラがない)、
VC++ は速度は出るけど画面が作りにくい(リソースエディタでちまちま)、
その二つのいいとこ取りのような代物ができたんだ、ですからね。RAD のできるコンパイラなんて、画期的でした。
※速度が欲しいが為にロジック全部 VC++ で DLL 化して、フロントエンドの VB から DLL 呼び出しとかあったなあ……
その後 ver.2 で 32bit 対応して、ver. 3 で DB 対応が入ったんだっけか?
楽しかったなあ、あの頃は本当に。
Nifty-Serve のフォーラムでチャットでコードやりとりしたりとかしてました、当時。
-- To be sincere...
Re: (スコア:0)
なれなかった理由がよくわかる文章ですね。
プログラマにとっちゃタイプ量めちゃ重要なのが理解出来なきゃそら無理だ。
Re: (スコア:0)
ハハハ、ブロックを書いたり構造体や列挙型を書いたりするたびに
シフトキー同時打鍵なんていう小指を酷使するCが何か言いましたか?
Re: (スコア:0)
K&R初版の当時だと、関数名変数名などせいぜい2~3文字。タイプ量優先なら、ある程度やむを得ないかもしれない。
今じゃ、単語どころか_で繋げた、文と言っていいほどの長さの名も普通。タイプの際、最初の1文字だけで候補を表示してくれるから、タイプ量なんて問題にならぬ。
ならば、可読性を優先するほうが後々のためにもなるってもの。
Re: (スコア:0)
Re: (スコア:0)
プログラマになれなかったかもしれないけれど、割と正しい感覚だよ。
アルゴリズムを考えたり勉強するなら (C と対比して) Pascal だよ。C はかなり具体的な計算機のモデルをプログラマに強要する(要するに何処かで見たような CPU の高級アセンブラ)のに対して、PASCAL は抽象化された計算機モデルをプログラマに見せるから、考えやすい。
文法や意味解釈も C (とその系列)にある破綻気味な所は Pascal には無いし。
Linux の device driver もガシガシ書くけど、Pascal / Delphi / Free Pascal は好きだよ。
Re:大学の必修教養で習わされたPASCAL (スコア:2)
プログラムって目的さえはっきりしてれば結果はついてくるハズなので。
Re: (スコア:0)
ポインタでハマってCをあきらめた、まで読んだ
本人的にはCを見捨てた、かもしれないけど。
# 多重ポインタの型指定は理解不能なので typedef経由。
Re: (スコア:0)
その不満のほとんど、言語の仕様じゃなくてプログラムのスタイルじゃないんか…