Lambdaカクテル

京都在住Webエンジニアの日記です

Invite link for Scalaわいわいランド

Scala記事を書き続けている話

Table of Contents

  1. はじめに
  2. 最近Scalaまわりのアウトプットを積極的にやっている
  3. Scalaの裾野を広げたい
    1. 高度な記事はあるけれど
    2. 入門的な記事を増やす
  4. お高く留まらない言語にしていく
    1. お高く留まった言語から滅んでいく
    2. 裾野がプログラミング言語を支えている

はじめに

この記事は、はてなアドベントカレンダー2022の20日目の記事です。 昨日の記事はid:id:tokizuohによる『毎日行う動作を習慣にするためにメニューバー常駐macOSアプリを作った』でした。

この記事では、最近行っているScalaまわりのアウトプットについて紹介します。

最近Scalaまわりのアウトプットを積極的にやっている

最近個人的に継続している試みとして、 Scalaのライブラリや言語機能にかんする記事をどんどん書くというものがあります。

例えば一番最近だと入門⚡Shapelessという記事を書き、 Shapelessという代数的データ型とよばれる分野のライブラリについて解説しました。 高度すぎる内容や網羅性を犠牲にして、順を追って実用性を発見していくという構成にすることで、入門者への足がかり的な記事になることを目指しました。

他にも、Cats Effectという非同期処理をハンドリングするためのライブラリについての解説記事を書いています。

blog.3qe.us

blog.3qe.us

blog.3qe.us

blog.3qe.us

blog.3qe.us

blog.3qe.us

blog.3qe.us

Scalaの裾野を広げたい

このように多くの記事を書く理由は複数あります。

まず一つ目は、自分の理解を助けるためというものです。複雑なライブラリについて体系的に理解するには、 実際にそれを説明するためのドキュメントを書くのが一番の近道です。良いドキュメントを書く過程で、 自分が理解できていない箇所が明らかになっていくため、抜かりなくこれを見付けてふたたび勉強する。 この過程を繰り返すことで理解は飛躍的に磐石になっていきます。

二つ目の理由は、現状Scalaの入門的記事があまり豊かではないという問題意識があり、 記事の総量を増やしてコミュニティに貢献したいというものです。プログラミングの初心者や、 ある程度他の言語を知っているユーザがScalaを選んでもらえるような良い土壌を整えていきたいと思っています。 Scalaの裾野を広げることで、将来的には素晴らしいライブラリが生まれたり、メンテナが誕生したり、 Scalaで書かれたキラーアプリケーションが生まれる確率を上げていきたいと思っています。

高度な記事はあるけれど

二つめの理由についてもう少し深掘りします。 実はScalaは高度な内容を扱う記事(型システムの理論や特定ライブラリのコアの話題など) はよく情報共有されています。

しかしながら、そこに辿り着くまでの学習者が参考にできるような記事はあまり多くはない印象です。 もちろん素晴らしいサイトはいくつかあるのですが、初心者が順を追って成長できるような記事を書くことでScalaの裾野を広げられるのではないかと考えています。

入門的な記事を増やす

そこで、最近は入門・基礎的な記事にフォーカスしみようかと考えています。とりあえずScalaをインストールしたユーザが自ら学ぶ手助けになるような記事を書くことで、Scalaコミュニティの基礎体力(?)を強くしていけたらなと思っています。 裾野が広くなければ頂点も伸びないと思っているので、プログラミング言語コミュニティの裾野を広げていけたらなと思っている日々です。

お高く留まらない言語にしていく

たまに聞くのが、「Scala難しい」「Scala怖い」といった声です。実際のところはScalaが特異に難しいわけではなく、単に機能豊富なだけなので、そういうイメージが初心者の中で通奏低音のように流れているということだと思います。 そういうイメージの一翼を担っているのが、Scalaのお高く留まっている感(?)だと考えています。迂闊な事を書くと詳しい人がやってきて難しい言葉で詰められる(丁寧に教えてもらえるわけではない)、という印象が定着してしまっているのではないかと思います。

お高く留まった言語から滅んでいく

プログラミングコミュニティを良い状態に保ち続けるにはどうすればよいか考えると、初心者ウェルカムな空気を作ってどんどん人を取り込むのが良いのではないかと考えています。 コミュニティが上級者で占められた状態が持続すると、後は人がいなくなる一方なので、徐々にコミュニティが滅びていきます。そうなるとより初心者がやってこない悪循環に陥ってしまいます。 そうならないためにも、お高く留まってない感、フランクな感じを支えるような記事をどんどん用意してあげると良いのかなと考えています。

裾野がプログラミング言語を支えている

多くのコミュニティを支えているのは初心者から中級者といった裾野の層だと考えています。もちろん上級者が果たす役割も大きいのですが、上級者だけではコミュニティは持続していかないように思います。 うまいことやって(そう簡単にはいかないものですが)Scalaの人口を増やして、活気を保っていきたいと考えています。

とまあ説教臭い内容になってしまいましたが、今後もどんどんScalaの記事を書いていきたいと思います。Scalaで大儲け!!

明日の記事は id:papix です!!

★記事をRTしてもらえると喜びます
Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?