InfoQ ホームページ コンパイラ に関するすべてのコンテンツ
-
Herb Sutter氏の語る現代的C++プログラミングの基本
CppCon 2014でHerb Sutter氏が,現代的なC++プログラミングの基本的なイディオムに関する講演を行った。ここではその要約を紹介しよう。
-
新鋭の言語: この5年を振り返る
最近の記事でEmerging Languages CampのオーガナイザであるAlex Payne氏がこの5年でプログラミング言語の世界がどのように変わったか、これからどのように変わっていくのかについて考えを披瀝している。InfoQは氏に話を聞いた。
-
C++14登場 -その新機能
C++11に続くC++標準であるC++14の最終承認が完了し,年内の公開に向けてISOに提出された。C++の生みの親であるBjarne Stroustrup氏によると,C++14の改善内容はC++11に比べて "意識的に小さくなっている"が,それでも"ユーザに対する重要な利便性が追加された"ことで,C++を"より初心者向けに"する方向に踏み出しているという。
-
C++14で遅延評価と関数型を実現するStreamsライブラリ
Streamsは,遅延評価とデータの関数型変換を提供��ることで,C++標準ライブラリのコンテナとアルゴリズムの使い勝手を向上するC++14ライブラリである。mapやfilter, reduceといった一般的な操作を多数サポートする。InfoQはその作者にインタビューした。
-
Google Play Games - EventとQuest, Saved Games
Google Play Gamesサービスが先月,EventとQuest,そして新たにSave Game APIを導入した。C++とiOS SDKではすでに,これらの機能がサポートされている。
-
強力なRakNetネットワーキングライブラリ、Oculusによってオープンソース化
多数のプロジェクト(Lego Universe、Unity、Sony Onlineを含む)で使われているRakNetネットワーキングライブラリが買収され、新しいオーナーであるOculusによって修正BSDライセンスでリリースされた。これは多数の強力な機能を提供するライブラリが、コストなしでプロジェクトに使えることを意味している。
-
Googleがプログラマのビルドエラーを研究
GoogleのエンジニアがGoogleで9ヶ月間で、数千人の開発者が実行した2660万回のビルドに関するリサーチペーパーを発表した。このペーパーにはビルドのワークフローを説明し、ビルド失敗の頻度、コンパイルエラータイプ、修正作業を分析している。著者らによれば、この調査結果は大規模な組織でのビルドプロセスのあり方や、開発者より効率的にサポートする方法についての理解を促進するのに役に立つ。
-
Google、FlatBuffersをオープンソース化: 効率の良いクロスプラットフォームのシリアライゼーションライブラリ
Google "Fun Propulsion Labs" チームがFlatBuffersをオープンソース化した。FlatBuffersは特にゲーム開発者のパフォーマンス要求をサポートするために作られており、シリアライズされたデータをバッファに格納する。バッファはパースのオーバーヘッドなしに、ファイルに格納したり、そのままネットワークに伝送したりすることができる。
-
最新C++への注力を強めるVisual Studio “14"
Visual Studio "14"では,C++/C++14準拠性が改善される予定である。その開発の一環として,”14”にバンドルされるSTL(Standard Template Library)の大幅な変更が行われている。
-
C++14の新機能に潜む互換性リスクは何か
新C++標準であるC++14がC++言語に多くの変化を引き起こしそうだ。バグフィックスや小さな改善を主体として,前バージョンにする拡張は小規模になるように計画されているのだが,その数少ない変更が原因となって,正しいC++11プログラムがC++14準拠コンパイラで動作しないという事態の発生は避けられそうにない。新標準が完成に近づく今こそ,その中に潜むリスクを問う価値がある。
-
C++によるiOSとAndroidでのクロスプラットフォーム開発:Dropboxの教訓
Dropboxの開発者が、最近、アプリをiOSとAndroidの両方でそれぞれのプラットフォームごとにすべてを書き直すことなくサポートする方法についての講演をいくつか行っている。以下、そのアプローチをとることになった理由、それがもたらす恩恵、そのプロセスを通じて得られるいくつかのキーポイントについて再点検してみよう。
-
AppleがLLVM JITを使用してWebKitのJSエンジンをスピードアップ
Appleは,SafariのJavaScriptエンジンであるNitroのスピードを35%向上した – JavaScriptをLLVM IRコードに変換して,徹底的な最適化を行う手法によるものだ。
-
Webフレームワークのパフォーマンス比較
TechEmpowerは昨年から、Webフレームワークのパフォーマンスを測定、比較しようと、ベンチマークを走らせてきた。このベンチマークでは「フレームワーク」という言葉がゆるく使われており、ここにはプラットフォームやマイクロフレームワークも含まれている。
-
Coverity ScanがJava, Apache Hadoop, HBase, Cassandoraのコード向上をサポート
先頃リリースされたCoverityによるソース調査レポートでは,おもにリソースリークやnullポインタ,コントロールフローその他の問題の検出と修正が行われている。Linuxソースコードの検査も行われて,いくつかのバグが修正された。
-
レンダリングシステムを刷新したMeteor 0.8
Meteorのバージョン0.8が公開された。“Meteorのレンダリングシステムが改善されている”という。Meteorの次世代テンプレートエンジンであるBlazeは細かなDOMの更新が可能であり、jQueryと統合され、APIが単純になった。今回のリリースで2012年のバージョン0.4導入されたページ更新エンジンであるSparkがBlazeに置き換わった。