
2025.08.01
災害大国・日本に求められる“命しか守れない防災”からの脱却 最長2週間先の気象災害予測による対応策
リンクをコピー
記事をブックマーク
司会者:では、パネルディスカッションを始めたいと思います。YouTube上でもいいですし、現地にいらっしゃる方が直接でもいいので、なにかご質問がある方はいらっしゃいますでしょうか。
質問者1:発表ありがとうございました。とても興味深い内容でした。コードのところで「。」をたくさん使っていたのがすごく印象的だったのですが、それはCとかでのセミコロンの役割をしているんですか?
永田直希氏(以下、永田):本当にそのとおりで、「。」が完全にセミコロンとして対応しています。小さいのですが、これがないとエラーが出ます。
質問者1:あれはやはり必要なんですね。
永田:必要です。
質問者1:あと、インデントは?
永田:「ここから」と「ここまで」が実質括弧{}の役割をしていて、一応インデントはなくても動きます。
質問者1:とても興味を持ったので、触ってみたいと思います。
永田:ありがとうございます。ぜひ。
司会者:さっそくユーザーができましたね。
永田:すごくうれしいです(笑)。
質問者2:今日は発表をありがとうございました。自分はコンパイラの門外漢なので常識的な話になってしまうかもしれないのですが、先ほどのセマンティック解析のところだけ、なぜ非可逆のプロセスなのかなと思いました。
永田:すごく難しいな。最初のメンバー紹介でお話ししたとおり、2人で(開発を)やっていて、僕がWebサイトの方を担当して、彼がコンパイラの方を担当しているので、実は僕もあまりそこに詳しくなく、的確なお答えができるかわかりませんが……。
抽象構文木というのは意味を持っていなくて、ただ「プログラムの構造がこういうものである」というものでしかありません。一方で、中間言語は実際に「コンピューターに対してどういうことをしろ」という命令なんですよね。だからそこの間で、中間言語は実際にプログラムがどう書かれているかなんて気にしません。
そこは、完全な非可逆というわけではなくて、この実行ファイルからソースコードまで戻す逆アセンブラと呼ばれているものもあります。
例えば、変数名なんて中間言語では別に気にしないので、ここで情報が全部失われるんですね。なので、それを復元することは絶対にできないです。そういう意味での不可逆になります。
質問者2:ありがとうございました。
司会者:ありがとうございます。
質問者3:すごくおもしろい話をしていただいてありがとうございます。
ちょっとこれは完全に興味で聞くのですが、同じ日本語で書けるプログラミング言語に「なでしこ」があると思います。「こっちのほうがもっと教育的に良いだろう」みたいな、意識して作った部分があれば聞きたいなと思いました。
永田:教育的という意味では、少し微妙ですが、なでしこと一番違う点は、やはり「多言語対応」というところだと思っています。なでしこは日本語のプログラミング言語ですが、Lazeは多言語対応です。日本語でも書けて、英語でも書けて、ほかの言語でも書けるかもしれないという感じなので、そこを強みにして、なにかおもしろいシステムを作っていければなと試行錯誤している途中です。
質問者3:ありがとうございます。
質問者4:メチャクチャすごすぎて、びっくりしています。
(会場笑)
質問者4:まず、プログラミング言語を作ったというのもすごいんですけど、ちょっと今触ってみていて、ウェブサイトがめっちゃかなり凝ってる。最初に1点、文字を打つと補完が出てくる。しかも、日本語で。こういうところはけっこう後回しになるので、そこに気合いを入れているのがすごいなと思いました。
僕がもう1個今見つけてすごいと思ったのは、普通の手続き型プログラミングだけじゃなくて、3DサンプルのWebGLというんですか、なんかそうカメラの3D制御のやつ、なにかクレイジーだなと思って、この意思決定誰がどういう感じでやったんですか? 3Dのやつ入れようとか、エディタもすごく細かいところまで凝っていて、妥協を感じられないのですごいと思いました。
永田:妥協を感じられないと言うほど妥協をしていないわけではないのですが……(笑)。でも、ありがとうございます。
まず、エディタ部分に関しては、正直言われたほどメッチャがんばってはいません。こういうエディタのオープンソースやライブラリがあって、それをそのまま流用して使うと、勝手にいい感じになるという感じで、世の中がんばっているなぁという感じです。
しかも、「Visual Studio Code」のエディタ部分だけを取り出したようなOSSなので、開発元マイクロソフトなんですね。
質問者4:雰囲気が似ていると。
永田:似ているというより、たぶん同じだと思います。
(会場笑)
質問者4:WebGLは、どう実装したんですか?
永田:WebGLは、成田君(Laze Project Teamの成田創真氏)がものづくりや、自分でいろいろイチから作るのが大好きで、もちろん3Dライブラリはいろいろ世の中にあふれてますが、それを使わずに、最初にC++で、自分で3Dシェーダーを全部書きました。
例えば、光があったら光が当たってどこが照らされるのかなというのを計算して、実際に描画するところを全部自分で書いてやっていた時期があります。その次に彼は、そこで夢として「自分で作った言語で3Dを動かせたら感動だよな」と語っていました。その時は「うんそうだね」という感じでしたが、本当にそれをやってやったみたいなのがあります。
質問者4:ありがとうございました。
永田:ありがとうございます。
質問者2:今の話を聞いて、気になったことが新しく出てきました。3Dうんぬんの話もあって、現在進行形ではあると思うのですが、制作にかけた時間って、だいたいどれぐらいですか?
永田:開発に費やした時間という意味では、ちょっとわからないな……ワンチャン1,000時間くらいいっているかもしれません。
質問者2:何ヶ月ぐらいですか。
永田:期間的に言えば、2021年1月ぐらいに成田君が開発を始めて、たぶん3月に僕が入って、そこからずっと2人で一緒にやっていました。それ以来、断続的に開発を続けています。今、僕は高3なので、高1の冬からやっていることになりますね。
司会者:おー、すごい。
質問者2:ありがとうございました。
質問者5:すみません。少し初心者質問になっちゃうんですが。
永田:初心者質問、怖っ(笑)。
質問者5:本当に学会の初心者質問(笑)。
(会場笑)
質問者5:パーサーでプログラムをASTに変換できると思うのですが、それってほかの言語でも同様ですか。
永田:ほかの言語というのは、ほかのプログラミング言語ですか。
質問者5:そうです。
永田:ほかのプログラミング言語では、こんな文法ファイルは普通作りません。だって文法が変わらないじゃないですか。なので、パーサーの中に埋め込んでいくのが普通です。
だからこういう文法ファイルは作らないです。
質問者5:だから(Lazeは)文法ファイルがあることによって変換可能になるということですか?
その文法の定義ができるところを別の場所に切り出して、パーサーはそれを読み込んで、実際のパースができるようなものを備えるという感じになるので、そこが違います。
質問者5:わかりました。ありがとうございます。
司会者:ありがとうございます。すごいですね。僕も質問を用意していましたが、みなさんがすごすぎて「なんも言えねぇや」と思って。
(会場笑)
司会者:少しImagine Cupについて聞きたいのですが、副賞があるじゃないですか。例えば何が貰えるんですか?
永田:一応、盾を貰って、あとTシャツも貰いました。着てこようと思ったんですが、寒そうかなと思ってやめました(笑)。あと、靴下も貰いましたね。ステッカーもたくさん貰いました。ライトも貰って、袋ももらいました。そんな感じでいっぱい貰いました。
その中で、Tシャツはけっこううれしかったです。キュッと口が閉まるタイプの袋に全部入って送られてきました。それは今学校でも使っていて、愛用品です。
司会者:ぜひImagine Cupに出て、こういった貴重なものを手に入れましょう。
永田:出ましょう。ぜひ出てください。円安の今がチャンスです(笑)。
(会場笑)
司会者:賞金もその時より、たぶん僕の時より(今は)2倍くらいに増えてますからね。
(会場笑)
司会者:では、時間になりましたので、少しお知らせがあります。
実は今この講演をしている間に、イベントのページが1個増えまして、12月5日月曜日の7時から、このImagine Cupのプレイベントを行います。申し込み方法やImagine Cupについて、また永田さんと、今度は開発の成田さんにも来てもらって、もっと具体的にお話を聞いていきます。
そこでもいろいろLazeのことを聞きますし、Imagine Cupについてより詳しくやるので、ぜひみなさんお申し込みください。こちらも学生さん、社会人の方もお待ちしております。
本当にすごく貴重なお話をしてくれて、うれしかったです。
永田:ありがとうございます。
(会場拍手)
続きを読むには会員登録
(無料)が必要です。
会員登録していただくと、すべての記事が制限なく閲覧でき、
スピーカーフォローや記事のブックマークなど、便利な機能がご利用いただけます。
すでに会員の方はこちらからログイン
名刺アプリ「Eight」をご利用中の方は
こちらを読み込むだけで、すぐに記事が読めます!
スマホで読み込んで
ログインまたは登録作業をスキップ
2025.09.08
部下が不幸になる上司のNG行動5選 マネジメントは「自律と統制」のバランスでうまくいく
2025.09.10
人生の差は20代で決まる “指示待ち人間”で終わらないために積むべき4つの経験
2025.09.16
日本人が英語学習で苦戦する根本的原因 「言いたいことの順番」が真逆になる英語と日本語
2025.09.10
「やりたいこと」はないが「課題解決」自体を楽しめる人 Googleの「優秀なエンジニア」の定義
2025.09.04
「管理職になりたくない問題」の原因は上司にもある 部下の昇進意欲を削ぐ行動
2025.09.16
“できる仕事のキャパが10倍になった” 東証上場社長を変えた習慣「ピッパの法則」の効果
2025.09.11
自分の得意・不得意がわかるワーク 人生を再設計する「ライフキャリア」の見つけ方
2025.09.17
英語ネイティブは「would」をどう使っているか? 「Do you like〜」と「Would you like〜」の違い
2025.09.12
“起業が向いている人”と”経営が向いている人”は違う DMM亀山会長が語る、新規事業の生み出し方
2025.09.09
“指示待ち社員”から「自分で考え、動く社員」に育てる方法 セルフリーダーシップの発揮に重要な3つのアプローチ
管理職は罰ゲームではなかった!マネジメントスキル、リーダーシップは財産に!
2025.07.31 - 2025.07.31
後回しを断ち切り“すぐやる人”になる最速メソッド|東証上場社長実践の後回し撲滅法
2025.06.24 - 2025.06.24
「因数分解! 売れない理由は、“売り方”じゃなく “見方”にある」 ~マーケティング×ビジネス数学で、売上を動かす本質をつかむ~
2025.08.06 - 2025.08.06
【板挟みに苦しむ管理職へ】忙しさから“本当に抜け出す”唯一の方法
2025.07.09 - 2025.07.09
「英語OS」を身につけよ! −思考プロセスをアップデートし、英語学習の遠回りを終わらせよう!
2025.07.05 - 2025.07.05