高見知英の技術ログ

技術関係のログをQiitaから移行してきました。プログラミングのほか、使っているアプリの細かい仕様についてなど書いていきます。

結局今Lazarusを使う理由とは

このブログはLazarus(FreePascal)アドベントカレンダー25日目の記事です。

qiita.com

大オチ。

で、結局今Lazarusを使う理由とはなんなのか。

一言で言うと、そんなものはないに尽きます(権利関係とか分からないので画像略)。

ただでさえ言語自体がマイナーで、開発環境もマイナーで、(Delphiの)VCLとの互換性もあるようでないような環境。基本的に半分以上過去のDelphiの思い出で使うくらいのことしかないのかな と思います。

とくにプログラミングにおいて「検索ができない」というのは結構致命的。

もちろん自分が複数言語を使えれば他の言語で書かれたノウハウ記事をPascal訳して使う などというようなこともできますのである程度検索できる範囲も広がりますが、結局それでも「じゃあそれPascal(やLazarus)でどうやるのよ」になってしまうことも少なくなく。

少なくともはじめての言語や、ビジネスシーンで使うような言語にはお勧めできません。

じゃあなんで今回Lazarusを使ったのよ

じゃあなんで今回Lazarusを使ったのかというと、唯一Lazarusくらいしか候補が残らないシーンがあると思っていて・・・。

  • デスクトップ用の実行バイナリが作れる(スクリプト言語でない)環境が欲しい
  • GUIが表示したい
  • でもGUI構築にそんな時間はかけたくない(IDEにデザイナーが欲しい)
  • 開発に関われるタイミングが決して多くないのですぐ使える環境が欲しい

たとえば個人や小規模開発であればVisual Studio Communityなども使えますが、インストールサイズが結構大きい上に、アップデートが頻繁にあるので、「さあ久しぶりにアプリでも作るか」というときにアップデートで1時間近く時間が潰れる とかいうことになったりする(実際あった)。

そういうときにとりあえず気が向いたときに起動してもすぐ使えるLazarusは、割とこういうときにはいい選択肢になり得るのではないかな?と思います。いちおうChocolateywingetでもインストールできるし、アップデートもそちらに管理させることもできるので、アップデートなどの運用負荷もそれほどないし。

ホビーアプリ開発には、Lazarus?

なので、結局休日だけササッとアプリを作る、ちょっとした不便を解消したいので終業後の時間を少し使う とかいう開発の選択肢には、Lazarusは入ってくるのかな?と思います。

「今更デスクトップアプリ開発?」という声もありそうですが、半ば定番化している付箋紙アプリやランチャーアプリなども、10年やそこらくらい昔に作られ、メンテナンスが止まっているものも少なくない。

そんな今、「デスクトップ環境をあらためて見直す」ということが必要になる場合だってある。

そんなときにアプリを作る環境の選択肢として、Lazarusというのは、まあ、なくもない 気がします*1

現状のLazarus

ただ、現状のLazarusは、クロスプラットフォーム開発も可能ではありますが、基本的には機械語環境を意識しなければいけないシーンも少なくない。

ちょっとしたタイミングでふと起動するアセンブラビュー、ポインタの概念を意識せざるをえないデータ型、元々教育向け言語であったということから、一見分かりやすくはあるもののカッチリしすぎててパッと使いづらい言語仕様など、今じゃあLazarusを Pascalを使うかというと、どうだろう?と思うこともあるのかなあ と。

だからこそもしLazarusが今後も生き残るのであれば、普及するのであれば、せめて機械語環境を意識しなくても使える環境はもっと一般的になって欲しいなあ と、思ったりはします。

まとめ

ということで、ここ一ヶ月Lazarusについていろいろ記事を書いてきましたが、とりあえず現状のLazarusは「無理に使う必要はない」環境。

ただあまり頻繁にプログラミングに関われないなど「それくらいしか候補が残らない」という状況はなくもないかな という感じです。

であれば、もう少し情報が豊富に、久しぶりにまたPascal言語を使うときに困ることがないような環境に、なって欲しいなあ なんて思い、今回は25日まで連続で記事を書く なんていう暴挙に出てみました。

*1:まあよほどキビキビ動くことを要求しないのであればふつうにPythontkinterあたりを使って作っても良いんじゃない?という気もしますが。うちもtksugarなんてモジュール作ってるわけですし