タグ

d-langに関するAkazaのブックマーク (35)

  • D言語 Language Update 2015 - Qiita

    D言語 Advent Calendar 2015の最初の記事です.今回も1年の更新を振り返って行きます.今年はコンパイラのD言語実装への置き換えなど,大きなマイルストーンが消化された年でした. 今年リリースされたdmdは2.067,2.068,2.069の3つです.それらの変更やコミュニティ関係に関してまとめます. 公式プロジェクト 言語仕様 pragma(inline)の追加 inline プログラマが関数のinlineを制御出来ます.コンパイラに任せるpragma(inline),inline化を抑制するpragma(inline, false),inline化を強制するpragma(inline, true)(できない時はコンパイルエラー),など. -inlineがない時でもpragma(inline, true)はinline化するべきですが,その部分はまだ未実装となっています.

    D言語 Language Update 2015 - Qiita
    Akaza
    Akaza 2016/03/10
  • C言語に置き換わるか?現在はFacebookで開発されているD言語について

    こんにちは。開発担当の渡部です。 普段の業務では Web のフロントエンド・サーバーサイドをやりつつ、オフの時は Oculus Rift を触っており Developers Summit 2014 などのイベント等にも多数参加していますが、 日はジワジワと伸びているプログラミング言語についてのお話です。 つい先月、このブログでも取り上げた Objective-C 後継として開発中の Apple Swift や、 JavaScript を置き換えるものとして作られている GoogleDartMicrosoftTypeScript などのように、既存の言語に限界を感じて新しい言語を作るというケースは非常に多いです。 今回はその中から、ハードウェアレベルからアプリケーションまで扱えるシステムプログラミング言語として不動の地位を築いているC言語の後継という大きな目標を掲げて開発

    C言語に置き換わるか?現在はFacebookで開発されているD言語について
    Akaza
    Akaza 2014/07/23
    直りかけていたスコープガード依存症がこの記事を見ることで再発してつらい
  • D言語の現状 - Go ahead!

    「FacebookがプロダクションでD言語の利用を始めた」ことに関する記事が少し話題になってます.で,これだけだとD言語が他の言語のようにプロダクションreadyと勘違いする方もいるかもしれないので,今の現状について書いておきます. この記事の一言まとめ 手軽にプロダクションで使えるわけではありません! 詳細が知りたい方は以降をお読みください. 今回の話 FacebookのAndreiはTDPLというを出した,D言語界隈でも主要なコミッタです.その一方,C++界隈でも有名な人物で,そういう人物がついにC++をやめてプロダクションでD言語を使った,というのが一つの大きなニュースです. また,Facebookにはこの記事を書いたBenなど,D言語を使えるエンジニアが他にもいます. プロダクションでつかえるのか? 簡単に言うと,「品質的には問題が無い,が今広まってる言語ほど楽ではない」です.J

    Akaza
    Akaza 2013/11/06
  • LDC - D Wiki

    The LDC project aims to provide a portable D programming language compiler with modern optimization and code generation capabilities. The compiler uses the official DMD frontend to support the latest D2 version and relies on the LLVM Core libraries for code generation. LDC is fully Open Source; the parts of the code not taken/adapted from other projects are BSD-licensed (see the LICENSE file for d

    Akaza
    Akaza 2013/10/03
    D言語のLLVMベースコンパイラ
  • 【翻訳記事】Facebookで開催されたD言語カンファレンス2013レポート - Qiita

    この記事はFacebook社員Ben Gertzfield氏のSpeaking a whole new language: DConf 2013 at Facebookを翻訳したものです。 はじめに 今月の始め、Facebookで60人以上の技術者、探究者、ドリーマー、アーキテクトが集まるD言語のカンファレンス、DConf 2013 が3日間開催されました。 私は数多くのプログラミングカンファレンスに参加してきましたが、アーリーアダプター達がそれぞれの考えた未来への眺望を共有していたDConfには当に目を見張りました。 このリンクにそれぞれの講演のスライドと録画があるので、あなたは仮想的にDConf 2013に出席することができます!(いくつかの講演はこれを書いている現在まだ公開されていません。数日経ってからまたチェックしてみてください) もしあなたがD言語を初めて聞いたと言うのなら、d

    【翻訳記事】Facebookで開催されたD言語カンファレンス2013レポート - Qiita
    Akaza
    Akaza 2013/10/03
  • codelogy

    Ubunt 13.04環境下でdmdをソースコードからビルドしてみます。g++やgitが必要です。 $ mkdir D && cd D $ git clone https://github.com/D-Programming-Language/dmd.git $ git clone https://github.com/D-Programming-Language/druntime.git $ git clone https://github.com/D-Programming-Language/phobos.git $ cd dmd $ make -f posix.mak -j9 MODEL=64 $ sudo make -f posix.mak install INSTALL_DIR=/usr/local $ cd ../druntime $ make -f posix.mak -j9

    codelogy
    Akaza
    Akaza 2013/05/02
  • D言語の諸機能解説 - Qiita

    さて、日はコンパイラ現在話ということで、今のDで使える機能のちょっとわかりにくい所について説明したいと思います。(以下の内容は2012年末までにはrelease予定の2.061をベースにしています) ==== if statement上でのopCastの動き import std.stdio; void main() { struct S { bool opCast(T)() if (is(T == bool)) { return true; } } S s; if (auto x = s) { // ここでxの型は何になる? writeln(typeof(x).stringof); } } if文は演算子オーバーロードでs.opCast!boolを解決し、その結果が真ならthen節を実行しますが、この時条件式の結果を変数に束縛する場合、xの型はboolではなくSになります。 is式によ

    D言語の諸機能解説 - Qiita
    Akaza
    Akaza 2012/12/15
    pure関数がシグネチャによって挙動を変える話等
  • D言語で使えるテンプレートエンジン - Qiita

    D言語 Advent Calendar 2012の7日目の記事です.自分で実装しておきながら日語で紹介した記憶もないので,これを気に現状のテンプレートエンジン周りについて書いておきます. D言語は言語機能としてevalなどを現状提供していないのもあり,テンプレートエンジン界隈は盛んではありません.なので数が少ないです. 今の所存在しているアプローチは以下の4つです logic-lessで値を埋め込むやつ (mustache-d) D言語のコードにしてしまう (diet, 新jade) dmdscriptなど外部の処理系を呼び出す (旧jade) 手で頑張る (web.dなど.そもそもテンプレートエンジンではないが…) 上から見ていきます. mustache-d 俺が書いてるやつです.mustacheはD言語特有のものではなくて,有名なテンプレートフォーマットです.サイトにもたくさんの言語

    D言語で使えるテンプレートエンジン - Qiita
  • ゲーム作る時のGCについて… - Qiita

    しばらくD言語から離れていたのですが、最近D言語熱が再燃してゲームでも作ろうと思っています。 そこでD言語でゲームを作るにあたって気を付ける必要があるGCについて、調べたことを纏めたいと思います。 D言語! D言語! みなさんゲーム作ってますか? D言語はサクサク書けてバグが入りにくく、コンパイル速度が速くて実行速度も速い! ここまで聞くとゲーム開発に最適な言語と言えますね。 しかし、D言語について調べてみて 「えっ、D言語ってGCあるの…。駄目じゃん…」 と思ったC++系なプログラマさんは多いと思います。 なんでGCがあると駄目なのか GCとはガベージコレクション。使われなくなったヒープメモリを自動で回収してくれる便利な機能で、 最近の高級言語やスクリプト言語はだいたい搭載しています。 GCが無い言語は不要なメモリを手動で解放してやらないといけなく、 メモリを解放し忘れるとメモリリークと

    ゲーム作る時のGCについて… - Qiita
    Akaza
    Akaza 2012/12/07
    GCの動作を抑制する方法について
  • 2010からの2年で入った新機能4つの詳細解説 - Qiita

    お題がコンパイラ過去話ということで、私がdmdへのcontributionを始めたのは2010年末頃からですが、その中でも私が直接関わった大きな機能拡張4つを実装面からちょっと詳しく説明してみたいと思います。 inout関数 (2011/10/02) 次のような関数を考えてみる。 int[] arr = [1,2,3]; int[] dropHead(int[] arr) { return arr[1..$]; } dropHeadは受け取った配列の先頭を落としたスライスを返す関数だが、int[]型の配列しか受け取れないのでconst(int)[]やimmutable(int)[]は受け取れない。 1つ目の改良案は

    2010からの2年で入った新機能4つの詳細解説 - Qiita
    Akaza
    Akaza 2012/12/07
  • D言語 Language Update 2012 - Qiita

    D言語 Advent Calendar 2012の最初の記事です.他の皆さんが技術的なことを書いてくれると思うので,この記事はLanguage Updateっぽいものにします.2010年Advent Calenderでそれっぽいのを書いていたので,2012年までの2年間での変更について書きます. 全部書くと死ねるので,公式のプロジェクトとサードパーティで主要なものについて書きます.目安として,現段階でのdmdの最新バージョンは2.060です.また基的な文法に関しては,以前書いた基礎文法最速マスターを参考にしてみてください. 公式プロジェクト dmd D1サポートの終了 2012年を持ってD1とはおさらばになります.皆さんお疲れ様でした!これでD2に開発リソースが一化されます. 64bit対応 Windows以外,全て64bitコードを吐けるようになりました.今現在,gitのHEADでは

    D言語 Language Update 2012 - Qiita
    Akaza
    Akaza 2012/12/02
    最近完全に追えてなかったから、ありがたや
  • DPaste - New paste - pastebin, online compiler and collaboration tool dedicated to D Programming Language

    Akaza
    Akaza 2012/12/02
    D言語をオンライン実行
  • Deimos

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Deimos
    Akaza
    Akaza 2012/12/02
    各種C言語ライブラリのDラッパー集
  • D言語のカレンダー | Advent Calendar 2012 - Qiita

    URLYou can post either your article on Qiita or your blog post. About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)

    D言語のカレンダー | Advent Calendar 2012 - Qiita
    Akaza
    Akaza 2012/12/02
  • ガベージコレクション - プログラミング言語 D (日本語訳)

    D は完全にガベージコレクトされた言語です。 つまり、メモリを解放する必要は 全く必要ありません。必要なだけ確保して、あとはガベージコレクタが定期的に 使われていないメモリをプールへ戻します。 C/C++ プログラマは明示的なメモリ確保と解放に慣れていて、 ガベージコレクタの効率や利点については懐疑的なようです。 私は、 一からガベージコレクションを念頭に置いて書いたプロジェクトと、 既存のプロジェクトを GC を使うように方向転換した経験のどちらも持っていますが: ガベージコレクトされたプログラムの方が高速です。 これは直感に反するかもしれませんが、その理由は: 明示的なメモリ管理の際によく使われる手法は、参照カウントです。 代入があるたびにカウントを増やしたり減らしたリソースを挿入するのは、 速度低下の原因になっています。スマートポインタクラスでラップしても、 速度的な解決にはなりませ

    Akaza
    Akaza 2011/02/09
    DのGCについて。GCを上手く使うコツと、GCの起動を伴う操作のリスト。
  • Andrei Alexandrescuへのインタビュー(第二部) | taro-nishinoの日記 | スラド

    Andrei Alexandrescu博士のインタビューの第二部です。 この第二部では、D言語を既知の人、少なくともTDPLを読んだ人なら面白く思うでしょう。私が意外だったのは、批判しているのではないと言いながらも博士は相当にC++0Xに厳しい見解を持っていることです。"I was very bummed..."という表現を使っています。意味は知っていましたが、どの程度ネガティブな表現か慎重を期するため英英辞典を見ますと、形容詞でdiscouraged又はdepressed同等としか載っていません。ここは素直に"失望"という風にしました。私は英語英語でしか考えたことがありませんから、この訳語が的確かどうか知りません。 以下に第二部の私訳を載せておきます。 Andrei Alexandrescuへのインタビュー(第二部) 2010年8月18日 Andrei Alexandrescu Eri

    Akaza
    Akaza 2011/02/09
    値型と参照型のお話
  • http://pen-jr.org/lang_d/tool/htod6.php

    Akaza
    Akaza 2011/01/30
  • Wiki4D: ReferenceForTools/ExuberantCtags

    Reference For Tools / Exuberant Ctags Exuberant Ctags is a multi-language Ctags program. http://ctags.sourceforge.net/ Ctags generates an index (or tag) file of language objects found in source files that allows these items to be quickly and easily located by a text editor or other utility. A tag signifies a language object for which an index entry is available (or, alternatively, the index entry

    Akaza
    Akaza 2010/11/05
    ctags with D
  • atpages.jp - このウェブサイトは販売用です! - atpages リソースおよび情報

  • Visual D - dsource.org

    Note: This website is archived. For up-to-date information about D projects and development, please visit wiki.dlang.org.