ことさら−古都プログラマーの更級日記

京都でお寺を回りながら御朱印集めをしていたり、LoLをしたり試合を見に行ったりしているエンジニアのブログです。技術的なはなしとか日常的なはなし、カメラやLoLや競馬の話も書きます。右メニューに検索やらカテゴリーやらがあるので、見たい記事だけ見てね!

【ScalaMatsuri2018】「もしScala初心者がMonoidを投げ込まれたら」メモ

もくじ

これはなに?

ランチタイムに行われたLT(10分の発表)の一つです。

もしScala初心者がMonoidを投げ込まれたら

注意

  • Monoidの説明はしません
  • Scala初心者が新しい概念と戦っていく有様です

自己紹介

あるひ

こんなコードがプルリクで投げられた

trait Monoid[A] extends Semigroup[A] {
  def zero: A
}

trait SemiGroup[A] {
  def append(a1: A, a2: A) = ...
}

なにこれ。Monoidって?

ググってみる

なるほどわからん

エンジニア困惑

チャットでのやり取り

自分「MonoidやSemigroupの追加はドラスティックでは?」 ???「Monoidに怯えすぎでしょ...」

なぜ困惑

  • 業務で知らない概念に触れたときどう対処したらいいのかわからなかった
  • チームの(Scalaなどの)技術レベルの共有が十分ではなかった

新しい概念と戦っていく力をつける必要がある。

対策

チームとして最適化していく

モチベーションが非常に重要。

まとめ

  • DO IT! so, Just DO IT!
  • monoidに怯えすぎでしょ

おまけ