Boost勉強会

http://atnd.org/events/1839
LT辺りで発表したかったけども,参加が難しくUstで見てた.どれも濃い話だったけども,shared_ptrの話はそんなの意識せずに過去使ってしまってすいません,というくらい素晴らしい話だったので,C++erは是非見ましょう.

D言語とBoost

C++に影響を受けていてかつAndreiがいるわけで,いくつか被っている所があるので,D言語との対応を大雑把に書いてみる(完全に同じことができるとかじゃないのであくまで目安.Boostの理解が足りないので間違ってたらすいません).

  • Any

std.variant.Variant.

  • Bind

std.bind.でもD2だと壊れてる気がするので,有効活用するならD1かな.

  • Concept Check

concept if + is(typeof({}))かな?今後metaになりそうだけど.

  • Conversion & NumericConversion

std.convかな?

crc32モジュールはあるけど…

  • Enable If

これもconcept ifか?

  • Filesystem

std.file & std.path.Boostの方がもうちょい豪華そう.

  • Foreach

組み込み.

  • Format

std.formatかな.いまいち把握してない.

  • Functional

std.functionalかなぁと思ったけど何か微妙に違う.こっちは文字列mixinとかでの生成だったりするし.

  • Integer

std.stdint.

  • Lambda

組み込み.

  • Math

std.math?この辺はDonの領域な気がする.でもなんかMath/*がたくさんあって全然適わない気がする.

  • Member Function

delegateで何か問題あるのかな?

  • MPI

ErlangベースのメッセージパッシングAPIが入るらしいので,これに相当するのかな?

  • MPL

組み込み + std.typelist + std.traitsとかで出来そう?

  • Operators

組み込み.

  • Optional

std.typecons.Nullable.Maybeの方が名前としてはよかった.

  • Program Options

std.getoptかな.でもこれちょっと古い臭いので,他の言語宜しく書き換えて欲しい.

  • Property Tree

std.xmlとかstd.jsonはあるけど,統一されてないなぁ.

  • Random

std.random.Tangoだともっとたくさんアルゴリズムがある.

  • Range

std.range.今のD言語はこれベース.

  • Ref

std.typecons.Ref.

std.regex or std.regexp

  • Result Of

typeof(return)とかauto?

  • Scope Exit

組み込み.

  • Signals & Signals2

std.signalsがどっちかは知らない.今日ソース読んでSignals相当と理解.今後マルチスレッド対応とか必要かなと思う.

  • Spirit

最近誰かD言語版公開してた.Phobosには入らない気がするが…

  • Static Assert

組み込み.

  • String Algo

std.string & std.algorithm.

  • System

std.systemとかstd.syserrorとかあるけどBoostの方が遥かに豪華.

  • Test

unittest機能は組み込みなんけど貧弱なのでTDDでは厳しい.アノテーションが入ったのでDUnitもまともになりそう?

  • Thread & Coroutine

core.thread.Threadとcore.thread.Fiber.

  • Tuple

組み込み & std.typecons & std.typetupleとか?

  • Type Traits

std.traits.

  • Typeof

組み込み.

  • Units

typedefで簡単なのは出来そうだけど,typedef消えるかもしれないしなぁ.

  • Variant

std.variant.Algebraic.

とりあえずこんなところかな.GCがあるので,メモリ管理あたりはそもそもない(std.stdio.Fileとかリソースレベルではあるけど).TangoとかDoostとか足すともうちょい補完できるかもだけど,まぁ標準レベルで.
とりあえずPhobosに欲しいものとして,コンテナ系各種とAsioとか欲しいなぁと思った.特に今ネットワーク系がPhobosにないので,RangeベースのAsioとか導入されると皆嬉しいんじゃないかと.後DataTimeとかTimerあたりを見てると,この辺は整備すべきなんじゃないかと思ったり思わなかったり.

最後に

今回の発表者って関西の人多いし次は関西でやりませんか,ぽいことをつぶやいたら「言いだしっぺの法則」が発動してしまったので,誰か大阪で会場探すの手伝ってください.