1997年にターボパスカルを勉強しましたが、言語としてとても気に入りました。すべてが非常に構造化されていて、コンパイラーはあなたが物事を正しい方法で行ったことを確認しました。後でDelphiを試してみましたが、あまり興味がありませんでした。
それ以来、さまざまなプログラミング言語とスクリプト言語(C、C++、PHP、Python、Perl、TCL)を使用してきましたが、最近、ターボパスカルの昔のことを思い始めました。
だから、私はどんな実用的な目的にPascalが今日有用であり、どんなAPIとフレームワークが利用できるのか疑問に思っています。現代の開発環境でPascalを使用した経験がある人はいますか、それとも単に死んだ言語ですか?
私の質問を明確にするために:Pascalは最新のアプリケーション開発に使用できますか?それはどのように使用されていますか?
ウィキペディアのリンクやクイックGoogle検索は役に立たない、私は行ったことがある。それが私が「専門家」に尋ねている理由です。
Free Pascalコンパイラの古い(1.0.x)バージョンsourcesは、基本的にPascal機能を示す、Turbo Pascal互換でした(TPでデバッグできる場合と同様)。
Pascalを基本言語として使用することの問題は、言語レベルでほぼ同等であるため、Cの場合とほぼ同じです。唯一の違いは、コンパイラの量、汎用性、品質です。
ただし、Delphi方言の方向に(DelphiまたはLazarus/FPCを使用して)進むことを強くお勧めします。Turboには戻らないでください。
DOS主義と16ビット主義はあなたを深刻に制限し、DOS主義と16ビット主義のない方言のほぼ全体がFPCまたはDelphiでサポートされています。
Turbo PascalはDOS時代の(THEとは言えないにしても)メインコンパイラの1つであり、Delphiは依然として世界で2番目に多く販売されているIDE(ビジュアルスタジオに次ぐ))ので、死んだ言語」と「教育言語」のビットは少し誇張されています。
Java/C/C++からFPCに切り替えた満足しているユーザーからの意見:
Pascal、特にFree Pascal(FPC)は、すべてのものに役立ちます。 Javaバイトコードにコンパイルできるため、(コンパイル中のため)優れたパフォーマンスのアプリケーションプログラミング、OpenGLを介した)ゲームプログラミング、およびWebプログラミング用。すべての重要なプラットフォーム(MS 、Linux、Mac、iOS、Androidなど)。
FPCは非常に更新されており、70年代/ 80年代の言語と比較して非常に近代的な言語であり、私たちが議論していると考える人もいます。 OOP拡張機能(Objective-Cクラスを使用するための「Objective Pascal」モードを含む)があり、OOPはC++と同様に必須ではありません。演算子のオーバーロード、関数のオーバーロード、動的配列、限定されたガベージコレクション、自動名前空間などがあります。さらに、これはモジュラー言語(Javaのような)ですが、C/C++は、これらの年の後で、まだ非モジュラー(偽物)です(#includeを使用)(今日の「モダン」言語に必要な機能についての真剣な議論に興味があります。)
移植性について言及しましたか? FPCには大きなランタイムライブラリが付属しており、その多くはクロスプラットフォームであり、クラスライブラリ(主にLazarus AFAIKで使用)を含みます。 FPCは、ポータブルコードの記述に非常に適しています。
教育言語としての大きな利点は、C/C++にどれほど近いかです。それは実際には最も平凡な構文(および異なるオブジェクトモデル)のみが異なりますが、C++にかなり近いです。 C/C++とPascal間の移植は、ObjCとC++間の移植よりも簡単です。しかし、FPCには、構文が簡単になり、学習しやすいという利点があります。
したがって、FPCは教育言語としても、本格的なアプリケーションプログラミングにも完全に役立つと私は主張します。 (私はそれは理想的だと思いますが、それはもっと意見です。)
通常70年代の元の言語を参照して、知識のない炎を作るPascal嫌い者が常にいます。個人的には、70年代のパスカル問題や20年前の問題(移植性が問題だった頃に戻ったもの)のどちらも議論する価値はないと思います。おもしろいのは、今できること、言語間の賛否両論ですが、「他の人はだれでも...」という議論を超えています。
ライブラリーのサポートがないため、Pascalは実用的なものには使用されません。
なんと多くの雄牛。 Delphi、FreePascal、およびLazarusで使用できるライブラリはたくさんあります。
McWafflestixが言うように、簡素化された環境を持つことには価値があります
「簡素化された環境」?それは軽蔑的です。それは、かなり洗練されたものであり、常にそうでした。
Delphiの無料クローンであるLazarusを覚えておきましょう。
http://www.lazarus.freepascal.org/index.php
そしてFreePascal:
Free Pascal(別名FPK Pascal)は、32ビットおよび64ビットの専門的なPascalコンパイラです。異なるプロセッサで利用可能です:Intel x86、AMD64/x86_64、PowerPC、PowerPC64、Sparc、ARM。
TeX(およびMETAfontやその他のTeXware)がPascalで書かれていることについて誰もまだ言及していません。
90年代前半に、Pascalのカスタム方言を使用して商用X/Motif CAD=アプリケーションを開発しました。
キーワード「Pascal」を検索し、「プログラミング言語」=>「Pascal」で結果をフィルタリングすると、エンタープライズレベルではないにしても、少なくとも真剣なプログラマレベルのPascalのアプリケーションが多数見つかります。
非常に多くのオープンソースおよびクロスプラットフォームのIDE、ライブラリがあるため、Pascalはまだ生きており(人気のあるDelphi方言を除く)、実用的なタスクを実行できると思います。結果が示すように、Pascalはオペレーティングシステム、コンパイラ、クロスプラットフォームライブラリを実行できます、Desktop-Programming。だから、Pascalは、あまりにも実用的ですぐにお金を取り戻すことができなければ、少なくとも多くの深刻なタスクを実行できるようです。
とにかく、私はこの言語が好きですが、それを使って真剣なプログラミングを行ったことはありません。
Pascalはバージョン1以降、RAD Studio XE3 in 2012まで使用してきました。それが私の最初の言語でした。Pascalの知識は、実行するシステムの知識とほぼ同じです。
これは驚くべき言語であり、C、組み込みC、アナログ/デジタル回路設計をマスターするための基礎を築きました。私は後でPHP、JS、TCPモデルを研究し、それらの背後にあるコアコンセプトを理解するのに何の困難もありません。
もちろん、Pascalは、BasicがVisual BasicのようにObject Pascalになりました。以下は、パスカルが2012年にその商業製品で行っていることです。 (Pascalの非商用バージョンは、より良くないとしても、同じように機能します)
ほとんどすべてのWebテクノロジーをサポートします。ほとんどすべてのデータベース技術をサポートします。単一のコードベースのクロスプラットフォーム。大規模なコミュニティ、コンポーネント、ライブラリ。
Pascalで開発された人気のあるアプリケーションの1つはSkypeです。
Microsoftは独自の言語を持っていたため、去年Skypeを8億ドルで購入したと思います。
Pascalを最新のアプリケーション開発に使用できますか?使用されていますか?
もちろんできますし、広く使われています。単一のソースから最新のクロスプラットフォームネイティブアプリケーションを生成するLazarus CT(無料のDelphiクローン)を見てください。たくさんのコンポーネントと多くの例があります。 RADであり、8個のホストOS/CPUレイヤー(win32/64、lin32/64、freebsd 32/64、solaris 32/64)および22ターゲットOS/CPUレイヤー(i386-win32、x86_64-win64、i386-linux、x86_64-Linux、arm -wince、arm-linux、powerpc-linux、powerpc64-linux、sparc-linux、i386-freebsd、x86_64-freebsd、sparc-solaris、i386-solaris、x86_64-solaris、i386-haiku、arm-gba、arm-nds 、arm-embedded、armeb-linux、arm-Android、i386-Android、powerpc-wii)他にどのようなツールがありますか?
pS admin/rootとしてインストールすることを忘れないでください。
Turbo Pascalの人気の主な理由は、Pascal言語ではなくIDEだったと思います。私が覚えている限り、それを使用するのは本当に簡単でしたが、それは速く、デバッグさえも楽しかったです。
一方、Pascal言語は時代遅れでしたが、ボーランドはPascal言語にかなり多くのことを追加しました(そして、それらの言語をModule-2により類似させました)。