「おじいちゃんの言語?わかったよ、ブーマー。さて、Electronと800MBのnode_modulesなしでクロスプラットフォームGUIを10分で構築する方法を見てみましょう。」
ちょっと待って、Pascalはまだ存在するの?
はい。そして、ただ存在するだけではありません。 繁栄しているあなたがnpmプロジェクトの依存関係を更新し、left-padが再びレジストリから削除されないように祈っている間、Free Pascalは静かにバージョン3.2.2+に成長し、Lazarus IDEを取得し、 速度、ネイティブ性、47層の抽象化の欠如.
学校でパスカルを学び、それがTurbo Pascalの青いウィンドウのWriteLn('Hello World')についてだと思っているなら、準備してください。ここではすべてが変わりました。まあ、ほとんどすべてです。begin...end はどこにも行かず、それは素晴らしいことです。
Free Pascal と Lazarus とは何ですか?
Free Pascal (FPC) — Object Pascal言語コンパイラ。オープンソース、無料、クロスプラットフォーム。Windows、Linux、macOS、Android、iOS、ARM、その他多くのプラットフォームのネイティブコードにコンパイルします。はい、マシンコードに直接。JITやVMはありません。「ちょっと待ってください。ランタイムを200MBに引き上げます。」
Lazarus — Free Pascal上のIDE。Delphiスタイルのビジュアルフォームデザイナー。フォームにボタンを追加し、ハンドラーを書き、F9を押すと、ネイティブアプリケーションが完成します。2003年のように聞こえますか?はい。動作しますか?時計のように。
「わかったよ、おじいちゃん。でも、なぜ今それをする必要があるの?」
それはもっともな質問です。あなたが考えるきっかけとなる理由をいくつかご紹介しましょう。
⚡ コンパイル速度は冗談ではありません
Free Pascalがコンパイルします 1 秒あたりの行数(単位:百万)。数分ではなく、数秒です。Rustプロジェクトがまだライフタイムを考えている間に、Pascalはすでにコンパイルされ、起動され、GUIを描画しています。
「コンパイル中」というミームを覚えていますか? FPCでは機能しません。剣を作る時間はありません。
📦 1つのバイナリファイルで、依存関係なし
コンパイルの結果は、1つの実行可能ファイルです。.dllなし、runtimeなし、node_modulesなしで、オペレーティングシステムと同じサイズです。友人にファイルを送ったら、彼はそれを起動しました。「どのバージョンの.NETを使用していますか?」と聞かれることはありません。
🖥️ 真のクロスプラットフォームGUI
ラザロは ネイティブウィジェット Windowsでは、アプリケーションはWindowsアプリケーションのように見えます。LinuxではGTK / Qtのように見えます。macOSではCocoaのように見えます。ElectronでもWebViewでも、「すべてのアプリにChromeを詰め込もう」でもありません。
Lazarusの典型的なGUIアプリケーションのサイズ: 3〜10 MB典型的な Electron アプリケーションのサイズは、ご存知の通りです。
🎯 簡単さに恥じない
Pascalはしばしば「学習言語」と呼ばれます。そして、それは本当です。それはスタートに最適です。しかし、それは真面目なものを書くことができないという意味ではありません。Object Pascalは以下をサポートしています。
クラス、継承、インターフェース、ジェネリック
ポインタとメモリの直接操作(必要な場合)
コード内のアセンブラー挿入
マルチスレッド
データベース、ネットワーク、グラフィックスの操作
これは、あなたが9年生の頃に覚えたPascalではありません。これは、彼の強化された、成熟したバージョンです。

🔧 Lazarus IDE —「Delphiの家」(ただし、より良い)
Delphiが飛行機の翼のように立っていたのを覚えていますか?Lazarusがあなたに ほぼ同じ経験 — フォームのビジュアルデザイナー、オブジェクトインスペクター、デバッガー、パッケージマネージャー — これらすべて 無料でオープンソース.
ボックスのコンポーネント: SQLite、PostgreSQL、MySQL、HTTPクライアント、ソケット、JSON/XMLパーサー、画像処理、印刷など。
30秒で「Hello World」
試してみたい方へ:
program HelloModern;
{$mode objfpc}{$H+}
uses
SysUtils;
beginWriteLn('Hi, I'm Free Pascal and I'm faster than your npm install');
WriteLn('Current time: ', DateTimeToStr(Now));
WriteLn('The size of this binary is smaller than your package-lock.json');
end.コンパイル:fpc hello.pas - 完了。1つのファイル。動作します。
GUIが欲しいですか?Lazarusを開いて、フォームにTButtonを投げて、次のように書きます。
procedure TForm1.Button1Click(Sender: TObject);
beginShowMessage('Lazarus is the base 🗿');
end;F9を押すと、デスクトップアプリケーションが表示されます。webpackも、bundlerも、30個の設定ファイルもありません。
これは実際どこで役に立ちますか?
正直に言うと、Free PascalはウェブのReactに取って代わるものではありません。しかし、それが存在するニッチがあります 競合他社を破壊する:
ユーティリティと内部ツール — 素早く収集し、同僚に配布し、どこでも動作します
デスクトップアプリケーション —ネイティブGUI、小さなサイズ、ランタイム不要
プログラミングの学習 - 厳密な型指定は、「なぜ未定義は関数ではないのか」をググるのではなく、考えることを教えます
組み込みシステムとIoT — FPCはARMおよびその他のプラットフォーム用にコンパイルされます
プロトタイピング — コンパイル速度により、瞬時に反復できます
クロスプラットフォームツール — 1つのコードで、3つのOSでネイティブな結果を得る
🎓 プログラミングを学びたいですか?コーディックをチェックしてください
Free Pascalがあなたにノスタルジーと学びたいという願望みを呼び起こした場合、または開発の旅を始めたばかりの場合は、 コディック.
コディック — これは、実践に重点を置いてプログラミングを学ぶためのアプリケーションです。Python、JavaScript、HTML、CSSなどの技術コース。すべてロシア語で、単に「このコードをコピーしてください」と表示するだけでなく、実際にスキルを磨くことができる例やタスクが用意されています。
この形式は、通勤途中、休憩中、就寝前など、自分のペースで学習するのに最適です。実践的な課題で理論を定着させ、読むだけでなくコードを書くことができます。
また、当社には テレグラムチャンネル 2000人以上の開発者のコミュニティと。役立つ投稿、タスク分析、ヒント、チートシートが定期的に公開されます。フィードをスクロールするだけで、脳を鍛え、プログラミングを繰り返すことができる素晴らしい方法です。登録して、一緒にレベルアップしましょう! 🚀
Free PascalとLazarusは、ノスタルジックなブーマーのためのレトロな趣味ではありません。これは 成熟した、安定した、超高速のツール、現代のフレームワークが、店舗に行くための宇宙船のように余分なタスクを解決します。
「単純な」アプリケーションがそれぞれ500 MBの依存関係とランタイムを持ち、起動するのに16 GBのRAMを必要とする世界では、コンパイルの3秒で5 MBのネイティブGUIアプリを構築できることは、まるで超人的な力のようです。
Pascalは死んでいません。JavaScriptにうんざりするのを待っていただけです。
