基礎勉強会について
各地で基礎と名のつく勉強会がたくさんあると思いますが、@kyon_mmが行っている基礎勉強会はどういったものかというのをお話しましょう。
あ、基礎と入門は違います。
こんなことを目的にやっています
勉強会が開催されるキッカケはあるわけですが、基礎勉強会の目的は基本的に「中級者をいかに底上げするか」と「上級者が好き勝手に話せる場を設けたい」をマッチさせることにあります。 これがうまくいくという見通しがたてば開催するという感じです。
今までにやったやつ
それこそ大半の基礎勉強会開催のキッカケ自体はかなりノリです。でも、やるときにはやっぱり上の目的が達成されるようになんとかしたいなーと思ってやっているつもりです。 雰囲気を感じてもらうためには過去のハイライトを見てみます。
Java基礎勉強会
全ての基礎勉強会はここから始まったJava基礎勉強会
といった感じで始まりました。いや、バイトコード生成の話もありましたし、メモリモデルの話もありましたし、JavaEEの話もありました。
型理論の話の他にもこういう誰が話せるんだこんなのみたいな話もありました。
2012/08/26 Java基礎勉強会 at 名古屋 資料
→return も throw も break も continue もただの継続の起動
はい。これJava基礎勉強会です。おわかりでしょうか?(わからない
Scala基礎勉強会
日本のScalaでこわい人がやたらと集まりました。 それでもやっぱり
@mzp さんによる発表 「A Core Calculus for Scala Type Checking」 これ、多くの参加者にとって「重め」の発表になりそな予感が。 #ScalaBase
2012-10-21 17:00:35 via SOICHA to @mzp
という感じの発表もあります。 この日は論文の読み方から、Haskellとの比較が多いとか、モナドがどうとかいろいろ話がでました。
わかめのモナド浸し
@vvakameさんをモナドで浸すために会を開いたのですが、いろいろと会が大きくなって、基礎勉強会とチュートリアルと併催でやることになりました。 これは分けられたのである意味よかった。全員が基礎勉強会に行っていたら死んでた。
でも、チュートリアルのほうは本当に好評でよかったです。チュートリアルに使ったid:bleis-tiftさんのスライドもすごいview数になっています。
とりあえず基礎勉強会のほうでは最初の数十分まるでモナドって単語がでてこなかったのが。。。可換図を描いていました。
Groovy基礎勉強会
今のところ唯一名古屋以外でやった基礎勉強会です。 + Groovy基礎勉強会 - connpass + 2013/03/09(#GroovyBase)Groovy基礎勉強会 - Togetterまとめ
この日はほぼ全ての発表者が「それで、ASTはですね」という話をしていました。そうだね。Groovyの基礎を勉強するのにMOPとASTは外せないね。
「一生に一度はコンパイラを作ってみたい人には役に立つ」 #GroovyBase
並列並行基礎勉強会
並列プログラミング、並行プログラミングの基礎についての勉強会です。知らないことがたくさんでてきてすごかったです。
π計算あたりのBisimulationとかわからなかったし、最後の僕の発表であるJavaのLockFreeでは最後は延々とJVMのコードリーディング勉強会になって最終的にアセンブラまでおりていきました。
.NET 基礎勉強会
名古屋では珍しい.NETの勉強会が開催!と思ったらこれですよー。的な。でも、ものすごい人がきていました。
ILの話とかλの話とかでしたね。
kyon_mm「皆さん心配していると思いますが大丈夫です,次は.NETっぽいです.」 #dotNetBase
@kazuk さんの[MSILの評価スタックと例外フレームの話]始まりました。 #dotNetBase
.@kazuk さんのILの話。さっきと打って変わって.NETの基礎っぽい。 #dotNetBase
※ちなみに直前はid:bleis-tiftによるチャーチ数とか型無しλ計算の話でした。(F# 関連ということで)
基礎勉強会忘年会
java-jaの人がくる!ということで、勉強会しよう!ってなりまして。これは基礎的な話をしていただきたいということで開催しました。
当時、@ryushiさんと@nagiseさんは知識すごいなーと久しぶりに感じさせられて、さすが東京のソフトウェアエンジニアが道をあけるjava-jaだけあるぜ!とか思いました。(うそです
ここから下は妄想的な感じ
基礎勉強会が僕にもたらしているもの
まぁ人脈がひろがった!とかはあるのか、ないのか的な感じなんですけど、注目はされやすいのかもしれません。
やってみていて、思ったのはやっぱりこういう勉強会は僕にとってすごい有用なのでいいなぁと思っています。なんというか、こういう基礎に踏み込んだ内容ってなかなか日本語で情報がなくって迷子になるし、英語で勉強するのってやっぱり2倍とか3倍とか時間がかかるので、こういったガイドライン的な資料があると後から勉強するときにものすごい役に立っています。
あと、こういうことやりたいんだけど、あんまり聞かないなぁ。。。っていうのに挑戦することが多いので自分にとってはこういった普段はまったく聞かないような研究に近いような話もとても勉強になります。
なので、僕のスタンスとしては基礎勉強会ではその場でわかることはまったく意図していないです。発表をきくような勉強会でそもそも得られるものってあんまりないと僕は思っているので、それを思いっきり振り切って「簡単には得られないようなエントリポイントとガイドをたくさん用意する勉強会」というのが基礎勉強会として僕には意味があります。そういう意味もあって基礎勉強会では「あぁ、なるほど、わからん」くらいのほうがちょうどいいと思っています。
その一方で出来るだけ理解してほしい部分とかはハンズオンでしかも数人に一人のTAがつくようなスタイルでやったほうがいいと思っているので、BootCamp系とかの別の勉強会をやっています。
名古屋とそれ以外という話
これはあくまで僕の感覚なんですけど、名古屋は比較的理論的な勉強を好きなソフトウェアエンジニアさんが名古屋内の比率としてたくさんいて、東京はその比率が少ないかもしれません。 でも、ソフトウェアサイエンスの学校は名古屋よりあるし、○○研究所的なところもあるし、名古屋よりは絶対数は多そうなんですけどあまり僕が知っているようなコミュニティでは見かけません。
そういった事情もあって、基礎勉強会で発表できる人間というのが名古屋に偏っているというのがあり、基礎勉強会を開催するのが、東京では難しいというかんじになりつつあります。 多分、Scalaとかなら東京でいけそうですが。
他の地域はよく知りませんが、更に少ないのでは!!と思っています。
まとめ
2014年は難しいかもしれませんが、基礎勉強会シリーズは私のソフトウェア開発の勉強に非常に役立っているので、今後も「基礎と入門は違う。基礎っていうのは根幹なんだよ。」っていう感じでどんどんすすめていきたいです。また、.NETやScalaもやりたいですし、ずっとやりたいと言っているOO基礎をやりたいです。