初めまして。4月に入社した毛利 真士です。
この記事では自己紹介も兼ねて趣味の自作言語・コンパイラの話と、それに絡めてここまでの研修で扱ったPower Platformについて思った話を書きたいと思います。
趣味(自作言語・コンパイラ)について
まず初めに、私の趣味の自作言語・自作コンパイラの話をしたいと思います。内容としてはプログラミング言語を設計するのと、そのコンパイラを作るのをしています。好きな言語は?と聞かれたときに自作言語と答えるぐらいにしたいなぁという気持ちがあります。直近の目標は自作言語でGPUプログラミングをそこそこまともにできるようにすることですが、ありとあらゆる設計(特に中間表現)が難しくてn回フルスクラッチしています。
きっかけやモチベーションはいろいろあるのですが、良い感じの概念がある言語が好きだったり、時間が無限にあればコンピュータ周りの歴史を全部たどりたいと思っていたり、既存の言語が大きすぎて改造しづらいと思っていたり、そのあたりの影響が大きそうです。
自作コンパイラの開発で開発上の印象に残っていることはテスト(とその実行の気軽さ)の大事さです。自作コンパイラは自分が今までに実装したもののなかでも特にバグりやすいです。特に、今まで動いていたものが動かなくなることがよく起きます。どの段階でバグらせたかよくわからなくことが多かったので、git commit したときにテストが走るように git hook を使ったり、CI を走らせるようにして多少安心してコードが書けるようになりました。めでたしめでたし。
研修で学んだことと思ったこと
少し話が変わるのですが、この1週間は Microsoft Power Platform 、特に Power Apps と Power Automate ついて学びました。 Power Apps を使うと、GUIを使って比較的簡単にアプリを作れ、Power Automate を使うと、条件を満たしたときなどに動かす処理をGUIで記述できます。Outlook、Excel や slack などを使う処理を(用意されている範囲で)簡単に定義でき、業務を効率化するアプリなどを開発者でなくても作れるツールになっています。
はじめは何も思っていなかったのですが、Power Platform を使って課題に取り組んでいて、DSL(ドメイン固有言語(特定の用途向けの言語))を業務向けにしている雰囲気だなぁと思いました。テキストベースの言語ではないですが、開発者向けのツールであることを考えると、コンパイラや言語設計に近い視点で考えることもできそうだなぁと思いました。
Power Platformに限らずに考えると、職業(?)開発者側としては、なんらかのサービスなりシステムをすべて作り切ってしまうことを考えそうになりますが、専門の人でなくてもプログラミング的なことを行うようにできるような仕組みが入ったシステムを作る開発が増えていくのかなぁということを想像をしています。
まとめ
少々強引な流れでしたが、こんな感じで自分の興味などに繋げたり繋がったりした視点からも考えていけるといいなぁと思います。これからよろしくお願いいたします。
【DX人材を育成する新サービスのご案内】
このたび、ノーコード・ローコード開発に興味のある方に向けて、Power Platformを活用した「クラウドアプリ開発実践講座」をご用意しました!
さっそく、金融機関様などで全社的な研修にご採用をいただいております。
ほぼマウス操作だけでアプリが作れてしまう時代。プログラミング未経験の方でも、社内業務の自動化やデータ可視化ツールの開発をリードできるようになります。
いまならお試し60分無料体験講座を開催中です!ぜひお試しください☆
クラウドアプリ開発実践講座
https://sales.fixer.co.jp/dx-training