web-dev-qa-db-ja.com

パスカルはどうなりましたか?

これを読んで Photoshop 1.0に関するブログ投稿 Pascal(正確にはObject Pascal)で記述されていることを知って驚いた。しかし、パスカルのことはもう聞いたことがありません。何故ですか?

9
Darrell Brogdon

つまり:断片化。 DelphiとTurboPascalは、多くのユーザーを引き連れ、独自の道を歩みました。次に、公式のISO標準(カップルのようなもの)と、元の作成者がこの標準を検討したものを比較します。メインフレームの群衆とPCの群集は、何が何であるかに同意しませんでした。実際に5つの異なる言語を学びたいと思う人はいないでしょう。真の統一言語が標準であることは大きな助けになります。パスカルをより良くする代わりに、その支流はオリジナルとの競争相手となった。

8
Philip

教育言語

パスカルは、教えるためのプログラミング言語としての生活を始めました。これは、人々が始めて、正しい方法、つまり構造化プログラミングにそっと引っ張るように注意深く作成されました。そして、「Your-father's-C」と比較した場合の言語自体は、Cよりも初心者にとってはるかに穏やかです。Pascalが実際にやってきたのは、実際にはかなり驚くべきことだと思います。 ALGOL 68 http://en.wikipedia.org/wiki/ALGOL_68 を見て、当時の他の言語がどのように高度であると見なされていたかを理解することは価値があると思います。

元のパスカルは、より大きなプロジェクト(つまり、モジュール/ユニットなどの概念がない)に「スケーリング」するために拡張する必要がありました。 Pascalを拡張した実装により、アプリケーション開発のニーズに対応できます。前述のとおり、フィリップによってこれは断片化につながります。

Cでも断片化が発生しましたが、Pascalの本当の問題は、Cと同じ方法で統一されなかったことです。 Pascalの作成者であるNiklaus Wirthは、おそらく最良のマーケティング選択ではなかった後継言語(Modula、Oberon)を開発し始めました。

Delphiを使用していても、Pascalは、特にVisual Basic 6のより優れた代替品として、長年にわたって多くの人気を維持してきましたが、時間の経過とともにサポートが衰退し、今では推測しかできないと思います。人々は、C(および新興のC++)とVisual Basicの間のどこかで、「専門的」スケールでそれを検討したと思います。 Javaと.NETが出現すると、プログラミング言語全体がシフトします。多くのプロジェクトがおそらくJavaに移行され、.NETプラットフォームは最終的にコミュニティを失いました。多くの人が「船を離れる」と、プラットフォームが適切な状態を維持することが難しくなります。

何人かの人々がそれを覚えているように、パスカルは結局それほど悪くありませんでした。 Pascalコンパイラは当時非常に高速でした。Wirthは文法定義で非常に優れた仕事をしていたため、簡単に解析できます。

優雅な老化

長い目で見れば、パスカルはステージから姿を消す前に優雅に老化してきました。それは今日の観点からは時代遅れに見えますが、全体としてそれは成功物語でした。

その成功に関する多くの比較は、Cと比較して不足していることを浮き彫りにしていますが、新しい高級言語が出現し、実際にはCに近すぎ、世界はどちらも十分に大きくなかったように感じます。今日、スクリプト言語は数十人によって作成されていますが、C/C++に代わる実行可能な手段はありません。

5
wirrbel

Macでは、少なくともC、C++、特にOOPはPascalで発生しました。元のMacintosh Toolbox APIは、Pascalインターフェイスと呼び出し規約、およびPascalを使用して指定されました。初期のMacプログラマーが選択した言語でした。Cはかなり早い時期にプラットフォームに登場し、PascalとCは何年も共存し、各側のプログラマーはどちらの言語が優れているかについて議論しました。コンパイラベンダー(Apple、Think/Symantec、および後のメトロワークス)は、Pascal、C、およびC++用のコンパイラを、多くの場合単一の製品で提供しました。同時に、オブジェクト指向プログラミングの利点が明らかになりました。AppleのOOPフレームワークはMacAppであり、 Object Pascalでは、これは確かにPhotoshop(および他の多くの重要な製品)の最初のバージョンを構築するために使用されたフレームワークでした。C++が普及するにつれて、他のOOフレームワークはC++で記述されたように見えました(クラスを考える)シマンテックのライブラリ、その後メトロワークスのPowerPlantが続きます)Apple ndはC++でMacAppを書き直しました。古いコードを維持することを除けば、Macでの通常の使用におけるPascalの終わりはほぼ終わりでした。

2
Caleb