AtCoder言語アップデート(2024..2025)のご紹介
このページは 2024/11/22 に開催された「北海道プログラマーズ札幌 集まり#1」 でLTとして発表したものです。
2024/11頭 くらいからAtCoderの言語アップデート活動が始まった
https://atcoder.jp/posts/1342
https://scrapbox.io/files/67405f10445e927ef3533303.png
AtCoderの言語アップデートは実績としては2年に1回くらいのペース(体感)で、新しいプログラミング言語の導入や言語環境の構築手順はユーザー投稿による形となっている。
前回以前のアップデート活動は Google Spreadシート 上で行われていた。
今回のアップデートDiscordサーバ 上での活動となっている。初の試みで、前回以前よりは Private っぽくなったけど、AtCoderとDiscordのユーザアカウントを持っている人なら誰でも参加できる。
そもそも, AtCoderとはなんですか?
「世界最高峰の競技プログラミングサイト」。詳しくはこちら: https://info.atcoder.jp
競技プログラミング自体の説明が良い感じの記事: https://note.team-lab.com/n/n4e3a785ddf96
プログラミングコンテストがほぼ毎週開催
全世界から 10,000 人くらいのプレイヤーが参加していてすごい。コンテストに参加して結果をツイート(ポスト) すると、中高生からいいねがもらえたりして面白い。
気になる人は本日 21:00~ からコンテストがあるので参加してください!!(なんといつもは土曜日開催のところ、金曜日開催の激レア回です)
言語アップデートの面白さ
個人的にはAtCoderの言語アップデートは「本番用のビルド or 実行オプションの集合知」みたいになっていてとても面白い。最終的に集まった情報は1ページにまとまっていて とてもいい感じ。「俺の考える最強のコンパイルオプション」を知っている方はぜひ参入してほしい。
(競技プログラミングはプログラミングで戦う競技だけど、言語アップデートは環境構築コンテストみたいなものだと思っている)
個人的に気になってる動き, 2選
Rubyのランタイムに TruffleRuby が追加されそう
今まで Ruby は MRI だけでしたが、次のアップデートで「TruffleRuby」が導入されそう。
実はRubyは競技プログラミングだとちょっと不利な言語で、稀に「想定解通りの実装をしてるのに実行制限時間に間に合わない」があり、同僚が泣いている。TruffleRubyで提出したら間に合う、みたいなことが増えると嬉しい。
ただ、TruffleRubyはJITで高速になるという謳い文句なのでごく最近のMRIとは大きな差がないかも。
Gleamが追加されそう
インターネットで観測した「なんか良さそうな言語出てるな~」みたいなやつはカバーされがちな印象があり、今回のそれ枠
https://gleam.run
https://scrapbox.io/files/67406377d8848695d605261d.png
個人的に嬉しかった動き, 1選
前回の言語アップデートで私がメインでD言語(マイナーな言語)のメンテナンスをしてたのだけど、誰かが引き継いでくれていてもう終わってた