2021 年 8 月 28 日
LLイベント実行委員会
報告者:法林浩之(日本UNIXユーザ会)
2021 まとめ
イベント概要
Learn Languages
= 複数の言語を学ぼう
さまざまなプログラミング言語につ
いて学びたい技術者のためのイベ
ント
通称:LLイベント
Language Update:
Java&Python
Language Update:
Ruby&Go
Language Update:
PHP&Perl
Language Update:
Dart&Swift
レガシーアプリケーションをど
うすればいいのか会議
12:00-12:45 13:00-13:45 14:00-14:45 15:00-15:45 16:00-16:45
Java 高橋徹&岩室元典(Java読書会)
● 言語のバージョン
○ この3年でJava 11から17まで更新 (半年ごとにリリース)
○ Java 8と11の利用が多い (8からの移行が難しいという声も)
○ Java 8以降は各社からOpenJDKディストリビューションがリリースさ
れている (どれを選べばいいか悩ましい)
● 言語仕様の更新:switch式、テキストブロック、instanceofのパターン
マッチング、レコード型、シールクラス
● ライブラリの更新:NullPointerExceptionのメッセージ改善など
● ランタイム関連:新しいGCの追加、ARM対応など
● ツール関連:jpackage (プログラムと実行環境をまとめて配布)
● IDE:Visual Studio Codeの利用が急増
Python 小宮健 (&高井陽一(欠席))
● Python 3.10が10月にリリース予定
● リリースサイクルの変更:毎年10月にメジャー更新
● Guido(作者)いわく「しばらく3でいく」
○ とても大きい変更がある場合は4になる可能性あり
● 3.10の主な更新点
○ 新文法のパターンマッチング:他言語と同様
○ 型ヒントの拡充:4つ追加
○ エラーメッセージの改善
○ など
Ruby まつもとゆきひろ&遠藤侑介
● Ruby 3.0が2020年12月にリリース (8年ぶりのメジャーバー
ジョンアップ)
● 3.0では互換性を重視 (Python3が互換性で苦労したことが教
訓)
● それでもいくつか破壊的な変更あり (キーワード引数など)
● 3.0の主な更新点:Numbered parameter、パターンマッチ、右
代入、静的解析基盤の導入など
● 3.0では性能が3倍ぐらいになった
Go 辻大志郎&伊藤真彦(フューチャー株式会社)
● Goの特徴:シンプルな言語仕様、シングルバイナリ、
高性能、半年ごとのリリースなど
● 業務でもよく利用されている
● Go 1.11〜1.17の主な更新点:パッケージ管理、コマ
ンドの挙動の変化、エラーハンドリングの進化、
go:embed、ジェネリクスなど
● Goを学ぶ方法
PHP 新原雅司&富所亮
● PHP 8.0が最新、8.1リリース予定
○ サポート中:7.3, 7.4, 8.0
○ LinuxにはまだPHP5が入っていることも
● 最近はWeb以外の領域での利用も
○ クライアントアプリ、ミドルウェア、機械学習、IoTなど
○ 他言語でやってたことがPHPでもできるようになる
● 型が付いたPHP:型表現の向上、PHPDocsによる型表現、型検
査ツールの普及
● PHPカンファレンス2021:10/2-3(土日)、オンライン
Perl @charsbar&@_ybrliiu
● Perl6はRakuに改名
○ Perlコミュニティとのつながりはまだある
● Perl7が2020年に発表
○ コミュニティ内で混乱あり→ガバナンスが強化された
○ Perl5との後方互換性がなくなるかも
○ リリースは先になりそう
● Perl5の最新は5.34
○ try catchの導入、複雑な構文を無効にできる機能など
● オブジェクト指向構文をPerlコアに入れる運動
Dart 林尚之&えんどうやすゆき
● 直近2年間の主な更新
○ Non-Null By Default (NNBD)になった
○ type aliasの導入
○ フレームワークFlutter 2 公開
● NNBD対応の話が中心
● 今から始める人にも選択肢の1つにはなる。いい
感じの言語になってきた
Swift 岸川克己(ヤプリ)&Yuta Koshizawa(Qoncept)
● Swift 5.5が9月(?)にリリースされる見込み
● 並行処理の導入
○ Swiftコンパイラがデータ競合やデッドロックを
検出
● 並行処理関連技術の解説:async/await,
Structured Concurrency, actor
レガシーアプリケーションをどうす
ればいいのか会議
レガシーアプリケーションを改善した・しつつある・こ
れからしないといけない方々が集まり、レガシーとの
向き合い方について体験談を語り合うセッション
レガシーアプリケーションをどうす
ればいいのか会議
● 体験談/悩み/ノウハウを記入するボードを用意
● https://bit.ly/ll2021-legacy
● セッションでは上記ページから話題を拾って雑談
レガシーアプリケーションをどうすればい
いのか会議 の主な話題
● 困っている:開発環境が古い(Subversionかなり現役)、ドキュメ
ントやテストツールがExcel、外注したら社内でわかる人がいな
い言語で実装された
● 解決ノウハウ:APIの書き直し、型解析ツールをCIに入れる、
notionの導入
● その他:脆弱性対応
● 詳しくはmiroボードを見てください
ハッシュタグ
#ll2021jp
#opendevcon
見逃し配信はこちら
https://www.youtube.com/c/OSPNjp
複数の言語を学ぼう
=普段使っていない言語を学ぶ
未知の言語との出会いや
しばらく使っていない言語のことを
知る機会になればうれしいです
ご参加ありがとうございました!
つづきは懇親会で!
2021

Learn Languages 2021まとめ