LLまつりに行ってきたよ

昨日LLまつりに行って来ました。前回のLL Decadeから二回目の参加になります。と言っても発表者でもなんでもなく単なる参加者なのですが。
当日は@dictavさんと一緒に回ったりご飯たべたりとかしました。最近一人が多かったので誰かと一緒だと心細くなくて良いですね。そもそも私から一緒に行きませんかと誘ったのに、第32回勉強会(2013/07/06) Githubハンズオン - 長岡 IT開発者 勉強会(NDS)では誘っていたことを忘れていて「奇遇ですね、私もLLまつりに行くんですよ」などと大ボケをかましたりしました。


あ、あとgistにメモを書いていたのですがMacBook Airの電池がお昼の後のセッションでほぼなくなってしまったので、iPod touchSafariで頑張ってメモしたりしてました。会場的に難しいのでしょうがコンセント欲しかったですね。

開会宣言

A会場で開会宣言がされたのですが、席の間隔が広くなっていたのは隣の人が汗臭くないようにだそうですw
ちなみにLL Decadeの時とは違って割と固めの、パイプ椅子では無いですけど、という感じの椅子でした。長時間座っているとおしりが痛くなったりしました。

顕在化する?○○言語のリスクとは

開会宣言も終わり、A会場のセッションに。私の原点であるDelphiのお話とか、それぞれの言語について興味があったのでこちらにしました。移動も面倒でしたし。

言語に関して - CommonLisp

今はVimを使っていますが、昔はxyzzyを使っていたのでCommonLispはちょっと触ったことがあったりしました。
で、印象と大分違ったお話をされていたのが以下のところ。

  • 業務で書くCommonLispは関数型っぽくない
    • 手続きっぽく書くことが多い
    • OOPで書くためのライブラリもある
  • 型チェックできる
  • キッチンシンクアプローチ
  • 再帰はあまり書かない
    • 実行効率の面でもループの方を良く書く
    • Schemeと違って末尾再帰の最適化が仕様にないので遅い

CommonLispと言ったら関数型、みたいな印象だったのだけど意外とそうでもない使い方もできるみたいで、ちょっとイメージが変わった感じ。

言語に関して - Delphi

Delphiはver.6 Personalでとってもお世話になったのですが、それ以来疎遠というか……
開発環境が無料でないので手が出しにくい上に書籍もあまり多くないですし、FreePascalを使ったりしてました。
そもそもいろいろあってJavaScriptに流れたのですが。今でもたまにDelphiを追ってたりしていたのですが、いつの間にやらすごい進化をしていたりというのをこのセッションで知りました。

言語に関して - D

D言語は以前少しだけ触ったことがあったのですが、それからどうなったのか全く知らないまま……でした。

言語に関して - Perl

私にとってはperlbrewやplenvでインストールして"Hello, World!"したことがあるくらい……の言語であるPerlなのです。

  • たんたんとPerlが開発されている
  • 5.8.8から5.16.3にアップグレードしたが、人為的なエラー以外、何もエラーが発生しなかった

こんなにバージョンをあげたら何かしらエラーが起きるような気がしますが……それだけ互換性にものすごく気を使っているということですかね。

ディスカッション

人材育成/雇用 - CommonLisp
  • 伝統芸能・一子相伝
  • Pythonで騙してCommonLispを書かせる
  • 地道に育てる
  • 勢力として小さくなりすぎていて、CommonLispそのものでは人材を採れない

人材育成/雇用 - Perl
  • オウ、Perl書かねえか
人材育成/雇用 - D
  • C++, Javaに疲れた人がDに来ることが割とある
  • C++で騙してDを書かせる
人材育成/雇用 - Delphi
  • Delphiの売上が200%になっている
    • 企業が買っているから
  • iOS, Androidでネイティブで動くよ!とそそのかす
言語仕様/開発環境/処理系 - CommonLisp
  • 規格のなかではなかなか変わらない
  • 処理系の方で対応することが多い
  • 方言・処理系によって話が合わない
言語仕様/開発環境/処理系 - Perl
  • CPANのものをコアに吸収していく
言語仕様/開発環境/処理系 - D

(メモしてなかった……)

言語仕様/開発環境/処理系 - Delphi
  • 1社が決めているので分断などはない
  • IDEWindows上でしかどうさしない
    • Macでも動作するようになると変わってくるかも
  • 言語仕様が大幅に変わりつつある
    • String[1]がString[0]に変わりつつある(iOSへの対応によるもの)
    • コンパイラスイッチで以前のままのように変更可能

DelphiでString型の1文字目にアクセスする場合、S[0]でなくS[1]のように書く必要があるのですが、それがS[0]になると影響が大きすぎますねえ……

言語リスクって? - CommonLisp
  • あるけどない
  • なんでもとりこむ
言語リスクって? - D
  • 精神的にはある
  • 一つの言語にのめり込まないで、いろいろな言語を使う
  • 他の言語に他の言語を取り込んだり
言語リスクって? - Perl
  • 一つの言語だけ使うのであればそれはリスク
  • あるけどない
言語リスクって? - Delphi
  • あるけどない
  • その言語だけやっているわけではない

お昼ごはん

最初のセッションが終わってお昼ごはん。
LL Decadeの時と違って、他の階に飲食店街があったので食べる場所に困らなくてよかったです。
C会場に行っていた@dictavさんと合流してオーブン亭のハヤシライスを食べた気がします。

Lightweight Language "Go"

午後はB会場のセッションに来ました。一番聞きたかったGo言語のセッションです。
……と言ってもLL QUIZを解いていて聞けていない箇所も結構あったのですが。
相変わらずnode.jsで書いていたのですが、セッションを聞きたかったのでかなりひどいコードで投稿しました……

  • 2009年発表の言語
    • 圧倒的現代感!
  • goツールがすごい
    • サブコマンドが多機能
  • A Tour of Goが良い

紹介のような感じだったので、大抵知っていることが多かったのですが全く知らない人には良いものだったかと思います。
立ち見が出るほどでした。

関数型指向Python

プレゼンテーションそのものが面白く爆笑の渦だったのと、電池がなくなってきていたのでメモしてません……

LL好きにおすすめ: こんなこともできるWindows PowerShell

PowerShellのデモが多く、PowerShellのパワフルさに圧倒されました。
内部にC#が書けるとかなにそれ……とシェルの範疇を超えているのではと思いました。まる。

A language for the rest of us

電池がなくなってきていたのでメモしていません……

Infrastructure as LL

B会場のセッションが終わってA会場に。

最近盛り上がってきた理由
LLを使うメリット
  • ツール自体読みやすい
  • なんだかんだでツールのコードを読む必要がある
  • 便利
  • 使わないとやってられない
  • シェルスクリプトが構造化できない
  • 他の人が書いたシェルスクリプトがコピペされまくる
  • LLなら構造化できる
  • テストもできる
プロビジョニング、デプロイでの失敗談
  • デプロイをお願いしていたが、何度も失敗した
  • お願いが重なると嫌な顔されるのでお願いしにくくなった
  • それではてなで最初にデプロイツール作った
  • コピペミスで二度とサーバが起動しなくなった
  • 開発サーバだったのでお客さんに被害はなかった
言語内DSLの是非
  • コードが書けなくてもあまり困らない
  • Rubyなのでコードが書けない人はわかりにくい
  • 記法が決まっている方が学習しやすい
自動化しづらいところとその対策
  • chefを実行するのは手動
  • chef-serverは怖い
現状の課題、問題点
  • ChefとかのツールがDevOpsに貢献しているのか疑わしい
  • インフラの人たちが組み立てたものに対して関与しにくい
導入するにはどこから手をつければ良いか
  • 単純なファイルを配れるくらいから
  • それからだんだんと複雑なものを
  • serverspecを書いてみる
  • puppet, chefでサーバを立てる
  • カヤックの新卒向け資料が良い

これかな?GitHub - kayac/newbie-training

  • serverspec, chef
開発はインフラにどこまで知るべきか、踏み込むべきか
  • PaaSばかり使っていると裏側がわからない
  • トラブルになった時に頑張って調べてね
  • PaaSで抽象化するのは良いが、中身が見れると良い

BeyondJS JavaScriptの改良に未来はあるか?

そのままA会場のセッションに。このセッションもJavaScriptに関係あるのでとても聞きたかったものです。
ECMAScript6のお話がとても興味をそそられたのと同時に、この機能いつになったら普通に使えるようになるのかな……と思いました。
ECMAScript6は2013年勧告予定だそうです。全然勧告できる気がしないらしいですがw

ライトニングトーク

ドラm(ry

抽選会・閉会宣言

@dictavさんが2つボールをもらって、片方もらいました。あたった本が「JavaScriptライブラリ実践活用厳選111」で、買おうと思っていたので当たってよかったです。

JavaScript ライブラリ実践活用〔厳選111〕 (Software Design plus)

JavaScript ライブラリ実践活用〔厳選111〕 (Software Design plus)

飲み会

@dictavさんと飲み会に。おごってもらいました。


やっぱり小規模の勉強会も良いですがイベント規模のものもやはり楽しいですね。
あと、以前書いたLL Decadeの記事と見比べながら書いたのですが当時と比べてできることが大分増えた気がします。
成長してるんでしょうか、してるといいなと思いたいところですが。
また来年のLLイベントが今から楽しみなのでした。