会社の同僚と一緒に参加してきました。
TSKaigi 2025 re:Cap in Nagoya - connpass
#tskaigi_recap 本編参加できなかったのでこちらへ
— hmatsu47(まつ) (@hmatsu47) 2025年5月30日
待機中
こちらと被ってしまったので TSKaigi 2025 本編は聞けず、ついでに言うと最近は TypeScript でコードを書くよりも AI に Python のコードを書かせている期間が長かったので勘を取り戻せるかどうか不安だったのですが。
(といいつつ「勘」といえるほどのものは元から無いゆるふわ勢)
各セッション
オープニングに引き続きトップバッターは森さん#tskaigi_recap pic.twitter.com/3Gpdyuqdas
— hmatsu47(まつ) (@hmatsu47) 2025年5月30日
実はこの話、
実は代打の森さん
— hmatsu47(まつ) (@hmatsu47) 2025年5月30日
本編では運営頑張ってて話はほとんど聞いてないとのこと#tskaigi_recap
という事情で当日急いで資料を準備したそうです。
Soundness(健全性)と Usability(使いやすさ)のバランスをどう取るのか?が本編のセッションで語られていたのを引用した話だったようです。
(本編に参加していないのではっきりとはわからず)
これ次の鈴木さんが(たぶん)話しそうなNode.jsのTSサポートの話が絡んでくると初心者にはさらに難解になりそう
— hmatsu47(まつ) (@hmatsu47) 2025年5月30日
(「とりあえず動けば良い」派には都合が良さそうだけど)#tskaigi_recap
最初から JavaScript ではなく(何らかの意図があって自ら選んだ、ではなく仕事で求められて)TypeScript から入った人などは「今自分が何のために TypeScript で書いているのか」実はわかってない、と言う事態が発生しがち…?
次は鈴木さん#tskaigi_recap pic.twitter.com/p7EvKNmYrM
— hmatsu47(まつ) (@hmatsu47) 2025年5月30日
確かにトランスパイルせず TypeScript のコードのまま実行環境に持ってきて実行できれば楽…ではあるのですが。
さっきの文脈でいえばUsability寄りの話#tskaigi_recap pic.twitter.com/cxUQFS63GL
— hmatsu47(まつ) (@hmatsu47) 2025年5月30日
「トランスパイルエラー・型エラーからの解放」というと、何のための TypeScript なのか…という疑問が。
加えて、
このへん慣れてない勢に混乱をもたらしそう#tskaigi_recap pic.twitter.com/aa1ptLJmlH
— hmatsu47(まつ) (@hmatsu47) 2025年5月30日
「そのまま動くとは言っていない」などといわれてしまうと事情を理解していない人からすると「?」しか浮かばないですよね。
まあ、現時点のリアルは
あー#tskaigi_recap pic.twitter.com/J7JF6wrqP6
— hmatsu47(まつ) (@hmatsu47) 2025年5月30日
そう甘くはないようですが。
次は長尾さん#tskaigi_recap pic.twitter.com/zod142pmrT
— hmatsu47(まつ) (@hmatsu47) 2025年5月30日
繰り返しになりますが本編に参加していないのでわたしにとっては「復習」ではありません。
話の流れから察して、
AIにいろいろやらせる前の地ならしをしてる?#tskaigi_recap
— hmatsu47(まつ) (@hmatsu47) 2025年5月30日
と思っていたらやはりそのようでした。
ASTと言われると肝機能しか浮かばなかった#tskaigi_recap
— hmatsu47(まつ) (@hmatsu47) 2025年5月30日
もちろんそっちではなく抽象構文木です。パーサー(とかそれを利用するリンター)に使うほうの。
そして後半は Live vive coding で、
「一発でできました」
— hmatsu47(まつ) (@hmatsu47) 2025年5月30日
壮大なフリの可能性が出てきた…?#tskaigi_recap
こういうワードが出てくるとフラグが立って、
「さっきと違うことをやりはじめた」
— hmatsu47(まつ) (@hmatsu47) 2025年5月30日
…?#tskaigi_recap
そして、
本番で遠回りするAI
— hmatsu47(まつ) (@hmatsu47) 2025年5月30日
(やっぱり…)#tskaigi_recap
ゴールとは違う方向に進み始めたので強制終了。
(「デモは失敗する」のお約束は AI にも通用する(?)ようで)
しかし、前のセッションで出てきた「Node.js での TypeScript ネイティブサポート」によって CI/CD の「お作法」からトランスパイルが消えたとき、AI が型エラー・トランスパイルエラーから得られたはずの「コーディングミスの指摘」を得られなくなることで正しいコードの生成に辿り着けなくなる、なんてこともありそうです。
LT
休憩明けLTはwabiさん
— hmatsu47(まつ) (@hmatsu47) 2025年5月30日
(写真は無しで)#tskaigi_recap
TSKaigi 2025 内で参加者交流(プチ)企画を実施した話でした。
アウェイ参加ならいっそ小さな企画の運営者として回すのもアリ#tskaigi_recap
— hmatsu47(まつ) (@hmatsu47) 2025年5月30日
wabi さんがそうだったかどうかは別としてこの考え方もアリですね。
セッション・LT の後は交流会でしたが、勘が鈍っていたこともあり TypeScript らしい話(ってなんだ?)はほぼできなかったので、あらためて復習しなおします…。
やはり「React」「Next.js」などフレームワーク寄りの話ではなく「TypeScript」がテーマだと思想的な話に寄るので、中途半端に関わっているだけではなかなか理解が難しいですね。
AI にコードを書かせるようになったら(少なくとも当面の間は)そのあたりの理解の有無でトラブル回避(正しいコードが生成できない無限ループ、あるいは崩壊からの脱出)の成否が変わりそうなので、自分でコードが書けるうちにある程度書いておかないと。