全4798文字
PR

 毎週月曜日の午後2時から1時間は私にとって楽しみだが試練のときでもある。今取り組んでいる開発プロジェクトの定例オンライン会議があり、3人の開発者が進捗を報告し、分からない点を質問し合う。私はもっぱら聞き手に徹している。

 70歳の私にとってなによりも楽しいのはプログラムを書くことである。開発する対象がこれまでになかった新しいものであるとますます楽しくなる。今つくっているのは「Halu」と名付けたローコード開発ツールで、その開発言語にPythonを採用している。私が調べた範囲では日本で初めてのものになるはずだ。

 開発メンバーは皆、30代の女性でシステム開発の世界に入って1人は8年目、もう2人は4年目になる。若手があれこれ苦労してプログラムを書いている様子を見聞きし、相談に乗るのはプログラミングと同じくらい楽しい時間だが1点だけ、ひたすら我慢している。

 開発の具体策について口を出さないという約束を守ることだ。Haluの開発は私が企画し、3人に提案したものの、私はプロジェクトリーダーではない。スケジュールの設定や進捗確認、クラス設計、クラス図・シーケンス図の作製からプログラミングの仕方まで、全てを3人に任せている。

 自分で考え、自分で決め、自分でつくらない限り、技術者としての成長はないからだ。相談があれば話を聞き、助言するが答えは教えない。「こうすればええ」と言ってプログラムを書いて見せたくなっても「約束は約束や」と思い黙っているが、なかなか辛い。

まだないものをつくりたい

 ローコード開発ツールHaluを開発していると書いたが私自身は「フレームワーク」と呼んでいる。システム開発の世界でフレームワークとはよく使う共通の処理をあらかじめ組み込んだプログラムのひな型やそのプログラムから呼び出されるライブラリーを指す。HaluはWeb上でシステムを開発し、実行するためのフレームワークである。

 ただし、本連載を担当しているNPO法人のIT勉強宴会でHaluについて話したところ、「コーディングがほとんど要らないのだからローコード開発ツールと言ったほうがいい」と勧められたので本稿ではそれに従っている。

 Pythonで開発したツールやフレームワークは色々あるが多くは海外製である。Haluはバッチ処理や帳票作製など業務処理システムで必須の機能を備える予定であり、こういうものは世界でもまだないのではないかと自負している。

 Haluが対象にしているアプリケーションは大きく2種類ある。1つは販売管理、生産管理などいわゆる業務処理システムである。次の手順で業務処理システムをつくっていく。

  1. 対象業務を分析し、データモデルを描く
  2. データベースにテーブルを設定する
  3. HTMLとCSSで操作画面を作製する
  4. テキストファイルに書式に沿ってデータベース項目やSQL文などを記述する

 一番重要なことはデータモデリングだが、ここは人間がやらないといけない。それさえできれば後は上記の設定をするだけで画面(HTML)から入力するとテキストファイルの記述に沿って自動的にデータベースをアクセスし、結果を画面に返してくれる。一般的な業務システムを開発するのであればプログラミングはほとんど不要でありPythonを知らなくてもよい。

 もう1つの対象は機械学習、IoT(モノのインターネット)といった、データ分析を含む新しいアプリケーションである。こちらはアルゴリズムを考え、Pythonで記述する必要がある。ただし、これらの処理に必要なライブラリーはすでに豊富にあるから、それを利用すればよい。世界中のPythonプログラマーが競って開発しているからだ。