Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Boost勉強会 #10 ディスカッションまとめ

1,029 views

Published on

  • Be the first to comment

  • Be the first to like this

Boost勉強会 #10 ディスカッションまとめ

  1. 1. C++入門 C++出来るだけではマズイ C++は C にくらべてスゴイ! みたいな Build 環境 自動化 型安全 printf C は忘れろ variadic template Java は忘れろ バージョン管理 時間の節約 Java とリンク周りの違い Git は歴史改変 中途半端に似ているのが…… クラスより前に STL (C)char は忘れろ 開発環境 クラスはそんなに string Java っぽい C++ C++はまず STL C っぽい C++ 普通の C++とは IDE いらね? ⇒でもデバッガは std 不便 Boost ダー! 普通の C++ scanf が安全に そう C++ならね 標準 lib を良く知る 初心者は ideome で良くね 組み込みには マルチパラダイムで読めないーC++より C の方が楽なことも 実装を読むのは難しい C++11 リソースが難しい Constexpr―#define のおきかえ C で良くね 安全なコードに保つ用 RAIIC で自分の足を撃つことが 参照 Effective C++/STL Point イラネ C++11 後半でちょろっと delete ダメ、ゼッ C++03 の限界を超える タイ 演習問題 Java メモリ確保の問題 auto ベンリー(かゆいところに手が届く) Int 型作ってみよー ⇒キャスト周りが C++ Template は Generic みたいなものから コンテナとアルゴリズムの分離 進化した使い方になったのでその分難しい Library がやる Vector と map で 8 割 OK
  2. 2. Boost と C++11 の機能の差分リスト欲しい! C++03 追加された言語仕様 コンパイルオプション  auto コンパイラや環境に依存するものは  SINAE(今までは一部)コンパイルによる C++11 には入っていない boost::move じゃない  ラムダ  イニシャライザリスト  move  u8”” Thread  for_each C++11  V2(1.50)V3 も使える  UDL インタラクションポイントがない  V3(1.55) boost にはある C++1y 魔導書 2 を読もう  mpl 標準仕様に追加してしまうと std::thread  GC 消せない 入らない サンプルがわかりにくい!!  Concept gcc,clang,VC2012 TR? spirit  スマートポインタ ProgressDisplay  ラムダ さようなら  Regex コルーチン  type_traits  リファレンスがわかりにくい Oven  hash_map<-map  パーサジェネレータ  Any ソートされているかどうかで使い分け  C++の型チェックが効く  Range  Tuple  PP(プリプロセッサ)  ランダム random Chrono  bind/functionRangeExtention 便利なものでも なかなか追加できない nullptr Phoenix 03 でも欲しいよね コンパイル時間がブーストする☆ #define nullptr 0 クラス実装が面倒くさい
  3. 3. native C++ !!!C#!! C++/CLI  boost lib  C++11 lib C++1y に欲しい Concept Concept Concept さんは std::tyre_type か std::false_type を返すメタ関数に 使いたい、使えというモノ Concept で overload できれば不要な気が ゲームエンジンドキュメント コードを読め ks Boost.Spirit はクソ 厳格なチェックとルーズナチェック Unity もクソ 両方欲しい 欲しい Concept  必要なもののみを定義  現行使用は Dsstructable がネック  ~しないという定義ができない template の使い所専門学校・大学のプログラミング教育はクソ Effective C++はもうオワコン 僕の考えた最狂の妹(姉)(for C++) それ bjam で(ry Event ライブラリ RX 妹 Concept(人外) 1. いつもよりそう.must by side 2. 結婚しない 3. 年を取らない  Non トイレ able 妹 4. トイレに行かない C++で書きた  トイレ able 妹 5. ベッド、風呂に一緒に入る い! 
  4. 4. 大規模テス FRP でゲームエンジン@Haskell ト用 新規参入しやすいゲームエンジンネットゲームのユーザーっ UI セルフホスティング ぽい人工知能・機械学習(bot) C++の文脈ではフレームワークの中を見たい C++11 っぽいゲームライブラリ ネットワークゲームエンジン 描画,音楽,(スレッド) (スケールさせた環境でテスト済 統合環境(Unity 最強) み) コンパイラが C++03 DX ライブラリ残念 上のレイヤーではテクスチ ャ、エフェクト etc C++の領域から外れる ラムダでインターフェースが楽に ソニーさん C のあたりだけ boost もゲームで使ったり使わなかったり Unity 時代でプログラマが働くには プラグイン書きになる? SDL→結構グチャグチャ ゲームエンジンの話 フレームワークを覚えるのも 言語覚えるのもコストは同じ  Unity・Unreal→プログラマにやさしくない  MT フレームワーク→プログラマが C++で頑張る
  5. 5. 専門学校 そもそもちゃんとしたコード書き方を教えない  古いゲームのコードが VS でいけたよ。  Java へ移植はやめとけ  バッシュが Simula ベース大学・大学院  GNU HURD って何ベース?謎 vector<char>でいいかも 結果ありきのコードを書くことが多い 一行何文字ぐらい書く?  横長になるよね。  Lambda 式の改行位置悩むよね  思う存分伸ばす  多相化は諦めた方が…… ぼくの考えた最強文字列ライブラリ ちゃんとした教育……コミュニティに期待?  lambda 式の decltype 対応  何が問題なのか  最強とは何ぞや  後から文字コードを追加できる  もちろん文字単位で操作できないといけない C++/CLI を使ったら C++/CLI の  高速な編集・サーチ 範囲が広がった 他のテーブルのネタ  文字コードコンバート 設計が悪い  Spirit のドキュメントが非道  ソートの基準  コード読んでも理解できない  Concept があれば……それができるならドキュメントできるやろ…Unity ドキュメントがくそ Unity じゃないと出来ない 組み込み→20 年の秘伝のソース
  6. 6. オープンソース(BSD ライセンス) スクリプトエンジン マルチプラットフォーム  ios UI  Android デザイン記述言語  Metro  Unity ネイティブの API  Brender ☆スクリプトで動きを記述Qt  UI フレームワーク 豊富な UI 部品  J クエリ  Qt ソースとデータが 合致しないといけないので面倒

×