MoonWolf(むーんうるふ)です。

 

子供の頃からプログラムの世界に慣れ、憧れ、親しんできた者です。

大学生の時、Turbo Pascalを履修科目として学習し、

昔のWindowsで、ボーランドDelphiのユーザーをやっていました。

 

2024年よりChatGPTの力を借りて、Delphi/Lazarus以外の

プログラム言語にもチャレンジしてきました。

 

Python、JavaScript、なでしこ3、Unity C#、JAVAなどです。

 

 

面白いことに、DelphiやLazarusの経験者は、

他のプログラム言語でも、包み込むようにして理解ができるのです。

 

なぜか?

 

DelphiとLazarusで使うPascalというプログラム言語が、

記述ルールに厳しいこと。

プログラムの開発環境が充実していること。

視覚的に直観的にプログラムが作成できること。

これらがあります。他の言語ではこれらない場合が多いです。

 

Lazarus+SQL DB(sqlite3)を使った開発画面の例:

 

プログラム開発環境のLazarusのすごいところは、

[2] 検索をしなくても、タブで整理されたコンポーネント一覧

[3] プロパティとイベントをコントロールできるオブジェクトインスペクター

[4] 視覚的にマウスで位置や大きさを調整できるフォームデザイナー

 

結局のところ、私は他の言語の新しさ、面白さ、

これらを十分に味わいながらも、

Lazarusの良さを改めて感じることになるのでした。

海外に行って初めて日本の良さが実感できるようなものです。

 

そこで私は、Lazarus関係にた3冊の書籍を書きたいと考え執筆中です。

今までの書籍には無い論点で執筆します。

 

1年前のMoonWolfと、

その後、複数のプログラム言語に接してきたMoonWolfは、

もはや別人のような視点を得ているからです。

 

1冊目:MoonWolfと学ぶ Pascal文法 超入門

 

実践的なLazarusの文法のかなめの部分を、分かりやすくお伝えしたいです。

この書籍に備え英語版でDelphiの分かりやすい書籍を読んでみて

どのような説明が、初心者に分かりやすいのか、しばらく研究していました。

 

Lazarusを使うためにはOOPの深い知識が必要なのでは?

※OOP:Object Oriented Programming

オブジェクト指向プログラミングです。

この質問に対して、正面からこの書籍で答えたいです。No!です。

 

もともとLazarusには、他のUnitと連携する技術があります。

Interface部、Inplementation部という概念があり、

複数のUnitを通して開発が進められるのです。

 

もともとあるこの機能がOOPの概念と被っているのです。

つまりOOPの知識なくして、

他のUnitを使いながら、十分にOOPのような動作を実現できます。

 

OOPでクラスを作成できる程の、OOPの知識がなくても

プログラミングができるプログラム環境。それがLazarusです。

 

OOPで自作クラスを作りたい人は、その基礎を学習したあと

ゆっくり学習して身につけたらよいのです。

※この見解は、ChatGPT4と意見が一致しています。

 

 

2冊目:MoonWolfと学ぶ Lazarus とSQL DB開発の事例

 

Lazarus+SQL DB(SQLite3)を使ったDBソフト開発の基礎

これを分かりやすく1冊にまとめたいです。

この書籍に備え、世界中から情報を集めLazarus+SQL DBを研究しています。

私は英語の書籍が読めます。英語のフォーラムを英語のまま読めます。

じつに世界で多くの人が、同じような問題に接しています。

それをスッキリ解決してみせたいです。

 

Lazarus+SQL DBのソフトが開発できると、

一気にビジネスアプリの開発に足を踏み入れることになります。

「ゲームの作成を通してプログラム力を上げましょう」

というスタンスの今までの私の書籍に対して、

「ビジネスアプリを開発してみましょう」

という実践的な立場に立つ書籍になります。

 

 

3冊目:2冊目の書籍の海外向け英語版書籍

 

(案) Lazarus + SQL DB 

          DataBase application development with SQLite

 

※英語書籍は世界中への販売になります。

 

他のプログラム言語を見てきて、実際にコードを書いて体験して

Delphi / Lazarusに近いものを上げるとすると、

それは、Unity C#くらいしかありませんでした。

フォームデザイナーとインスペクターがありました。

Unityで2Dのシューティングゲームをひとつ作りましたが、

Unityはもともと、2Dや3Dのゲームや動画作成の開発環境であり、

ビジネスソフトを作るものではありません。

 

JAVAも重厚なプログラム言語ですが、JAVAを動かすための

JREという、そもそもJAVAが動くための環境のインストールが必要です。

フォームデザイナーはあるものの、オブジェクトインスペクターが

Lazarusほど至れり尽くせりではありません。

 

マイクロソフトのVisual Studioも多言語をサポートして

重厚なプログラム環境ですが、フォームデザイナーはあります。

ただ、インストールに一晩かかることもあり、

インストールの結果30GBも必要な点は、どうしたものかと思います。

天下のマイクロソフト様以外に、こんなことが許さるものはないかもしれません。

立ち上げるたびに最新版にするために時間がかかります。

 

これは、あくまでも個人的な見解ですが、

「自分用のWindowsアプリの作成で、JAVAや、Visual Studioを使うかい?」

と、自分に聞いたら、Noです。

もっと軽い環境で簡単に、しっかりしたソフトが

Lazarusで出来てしまうからです。

 

MoonWolfは欧米人と長く仕事をしていたので、

Yes/Noがはっきりしています。

 

Python、JavaScript、なでしこ3には、

そもそも、フォームエディターもオブジェクトインスペクターもありません。

それぞれのプログラム言語の良さは認めますが、

Lazarusの開発環境と比較すると、

申しわけないことに、比較の対象になりません。

 

<補足>

※Pythonの良さ:世界中で研究が進んでいるのでライブラリーが充実で良き。

※なでしこ3の良さ:日本語の開発環境で初心者に親しみやすいくて良き。

 

私が生涯かけてやりたいことは、

日本人のプログラム力の底力を上げるサポートです。

 

他国では、教育用のプログラム言語として、

高校生、大学生を対象に、Lazarusが使われるケースがあります。

 

Pascalはもともと教育用のプログラム言語なのです。

Lazarusはオープンソースで完全に無料なので教育と相性が良いのです。

 

LazarusとDelphiと競合しません。

DelphiとLazarusはお互いに切磋琢磨する関係です。

また相互に移行できるように配慮がなされています。

Lazarus to Delphi, Delphi to Lazarusのように。

 

2024年現在、日本のプログラム教育に

海外のようにLazarusの選択肢がないのが残念です。

Lazarusの本当の価値が分かった時、国はPythonに加え、

Lazarusも教育用の言語として取り入れることになるでしょう。

 

私はいつブレークするかは、全然考えずに、

ただ、正直に私のアウトプットを書籍として記録しておきます。

 

私は書籍を執筆する際に、表紙から作成するタイプの人です。

以下の画像は、書籍の表紙の原案です。

書籍の表紙を時々眺めながら、その表紙に沿うように

内容を固めているのです。

 

原案の表紙:

 

 

将来のLazarusユーザーの皆様が、喜んでいただける姿を想像して

一冊一冊、丁寧に、書いていきたいと思います。

気持ちだけでも、ご期待くださいスター

 

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

 

将来IT系に進みたい人、プログラム開発系の進みたい人

それでいて、データベースって何?

という人は、次の書籍を読んでスキルアップしてみてください。

 

個人レベルではエクセル管理で十分ですが、

一歩、プログラムの世界に足を踏み入れるとはDBのスキルは必須です。

 

自分で言うのも何ですが、ここまで、段階的にやさしくDBの世界を

説明できている本はあまり見かけません。

DBに関してAmazonでKindleUnlimitedで読めるものは、

ほとんど目を通しています。日本語と英語の両方の文献です。

 

重要な論点を130ページくらいに、スッキリまとめてあります。

完全無料ですぐに使えるSqlite3を使ったDB操作を、

私のお勧めするペースで学習してみると効果的です。

 

ここで得られる知識と経験は、必ずあなたを有利にしてくれます。

※書籍に出てくるSQLクエリ―はGitHubに掲載してあります。

 

『MoonWolfと学ぶ SQL DB 第1巻 超入門編: sqlite3使ってみたよ』