SlideShare a Scribd company logo
(それと)   D 言語
         でー @detcoder
自己紹介




    でとこーだ@ detcoder

●   D 言語や DTM や RDBMS
●   好きな物:オカルト 嫌いな物:カルト
●   ユニット「しめり蒸気 (wetsteam.org) 」
部屋と私と D 言語




    まとめ!(発表時はここで小芝居)

●   もともと VC++ で同人ゲームを作っていた
●   コーディング・デバッギングがめんどくさい!
●   サークル内で D 言語を使うことに
D 言語とは



●   D 言語は C 言語の次の意味
●   C/C++ の遺産を継承しつつ、先進的な設計
●   C/C++ の文法を踏襲。関数も呼べる
●   ラムダ式・無名関数・契約プログラミング
    クロージャー・ GC ・スコープガード文 etcetc
Walter Bright 氏

 Zortech C++ コンパイラ
     -> 世界で最初の
         Native C++ コンパイラ
     -> 後の Symantec C++
     -> 更に後の DMC
         ( DigitalMars C/C++ )

 DigitalMars DMDScript
     ->D 言語 /C++ による
         ECMAScript 実装(速い)

 ABEL
     -> ハードウェア記述言語

 Symantec Visual Cafe
     ->Java の統合開発環境
PHOTO: decltype
http://en.wikipedia.org/User:Dec
ltype
from : WikipediaCommons
License:CC BY-SA 3.0
Walter Bright 氏




  ( 画像は DigitalMars 鯖より )
Walter Bright 氏

 Digital Mars 社

  「 c/c++ 」
    ↓
 「 Mars 」
    ↓
  「D」
Walter Bright 氏




 流        髭
 行        が
 ら        な       ↑
     ||




 な        い
 い        !
 !
D 言語の現状



●   最新バージョンは 2.060
●   Windows ・ Mac ・ Linux に対応
●   インストーラー (win) や deb/rpm(Linux)
●   現時点 Beta 版で Win64bit を吐けるように!
    (Linux/Mac は以前から吐けていた )
D 言語の現状


●   安定版 D1  開発版 D2
●   現行は D2
●   D1 はメンテナンスのみ
●   D1 はオワコン
●   2012 年末没予定
D 言語の現状




まだ肩さえ見えない!
それでは




         GO TO
         DMD!!
( ここで GitHub に公開してあるソース紹介 )
   https://github.com/detcoder/L1G
1 line tail5

    writeln(
       stdin.byLine().map!(a=>a.idup). array.
       retro.take(5).retro.join("n")
    );
●   UFCS
      第一引数を前置できる文法
        hoge(moge)  と  moge.hoge  は等価
        hoge(foo, bar) と  foo.hoge(bar)  〃
●   テンプレート引数
     関数名 !( テンプレート引数 )( 関数の引数 )
       to!int(hogehoge)
Hello World !

import std.string, std.range, std.algorithm, std.conv, std.array;

struct D
{
    string msg;
    D opDispatch(string s)()
    {
         return typeof(return)(
             ((a, b)=>a.equal(b))(
                 msg.retro.cycle.take(2),
                 msg.chain(s).retro.take(2).array.retro)
                 ? ((a, b)=>(
                     a.insertInPlace(msg.countUntil(b)+1, ", "), a.idup)
                   )(msg.dup, msg.retro.take(2).array.retro)~s
                 : text(msg,s));
    }
    string d(T)()
    {
         return text(msg, T.stringof.toLower, "! ", T.stringof);
    }
}
struct H
{
    static D opDispatch(string s)() { return D(typeof(this).stringof~s); }
}

pragma(msg, H.e.l.l.o. w.o.r.l.d! D);
                                                ( From アンサイクロペディア)
void main() {}
私が D 言語を好きな訳



●   安い
●   速い
●   うまい
私が D 言語を好きな訳



●   安い 習得コストと開発環境が
●   速い 実行速度とコンパイルが
●   うまい 充実の Phobos と過去遺産
D 言語の使われ方



●   活発なのはゲーム界隈と競技プログラミング
●   DirectX/WinAPI が叩ける
●   それなりに処理速度が速い
●   C/C++ の遺産が利用できる場合がある
    ( C++ はあまり期待できないけども;)
D 言語の使われ方




いりす症候群! Win32 DX ライブラリ利用
   2D 物理演算アクションパズル

( 公式サイトスクリーンショットより )
→公式サイト  →制作サークルサイト
D 言語の使われ方


●   活発なのはゲーム界隈と競技プログラミング
●   AtCoderでも利用可能に!
●   CTFE ・テンプレート mixin
●   std.bigint ( 1,000 桁まで最適化)
●   std.concurrency( マルチスレッド)
D 言語の課題


    破壊的変更の恐怖(主にライブラリ関係)
    ( 最近はそれほどでもなく、ライブラリにも移行期間が )

●   書籍が少ない
●   さらにキラーフレームワークが無い
●   おまけに決定的な IDE も無い

    ( デバッガは C++ のものが使える )
D 言語の課題




 ↑
こいつ
マスコット(?)




「 D 言語はマスコットだすだけで
      笑いとれるからずるい 」
D 言語のコミュニティ



●   主に twitter
    (「D言語」で検索、もしくは #dlang)
●   dsource.org( trac+subversion )
●   ニュースグループ( digitalmars.D )
●   @mono_shoo 氏の「D言語友の会」
D 言語のコミュニティ



●   Twitter ( dmd コミッター 1 人 :Phobos コミッター 2 人)


●   @repeatedly氏
         つけ麺の人。 Phobos コミッター
●   @mono_shoo氏
        東方の人。 Phobos コミッター
D 言語のコミュニティ



●   Twitter
               <D> <D>
●   @repeatedly 氏
         つけ麺の人。 Phobos コミッター
●   @mono_shoo 氏
        東方の人。 Phobos コミッター
参考文献


●   プログラミング言語D(公式) by DigitalMars
●   プログラミング言語D(和訳) by k.inaba
●   競技プログラミングのためのD言語
                                  by cafelier
●   D言語基礎文法最速マスター
                            by @repeatedly
●   D言語友の会(dusers.dip.jp)
                   by @mono_shoo & authors

●   Template 「 DarkGray Crawls」   by Foral

More Related Content

What's hot

Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会
Takuya Ueda
 
Deep Learningと自然言語処理
Deep Learningと自然言語処理Deep Learningと自然言語処理
Deep Learningと自然言語処理
Preferred Networks
 
Boost.python
Boost.pythonBoost.python
Boost.pythonfate_fox
 
C#勉強会
C#勉強会C#勉強会
C#勉強会
hakugakucafe
 
Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)
Tetsuya Morimoto
 
[FUNAI輪講] BERT
[FUNAI輪講] BERT[FUNAI輪講] BERT
[FUNAI輪講] BERT
Takanori Ebihara
 
Goとテスト
GoとテストGoとテスト
Goとテスト
Takuya Ueda
 
Microsoft Learn で C# を学ぶとどんな感じ?
Microsoft Learn で C# を学ぶとどんな感じ?Microsoft Learn で C# を学ぶとどんな感じ?
Microsoft Learn で C# を学ぶとどんな感じ?
m ishizaki
 
20180830 implement dqn_platinum_data_meetup_vol1
20180830 implement dqn_platinum_data_meetup_vol120180830 implement dqn_platinum_data_meetup_vol1
20180830 implement dqn_platinum_data_meetup_vol1
Keisuke Nakata
 
単語・句の分散表現の学習
単語・句の分散表現の学習単語・句の分散表現の学習
単語・句の分散表現の学習
Naoaki Okazaki
 
KMC Font Project 3 - FontForgeで欧文書体製作
KMC Font Project 3 - FontForgeで欧文書体製作KMC Font Project 3 - FontForgeで欧文書体製作
KMC Font Project 3 - FontForgeで欧文書体製作
k maztani
 
Pythonと型チェッカー
Pythonと型チェッカーPythonと型チェッカー
Pythonと型チェッカー
Tetsuya Morimoto
 
Tokyo r50 beginner_2
Tokyo r50 beginner_2Tokyo r50 beginner_2
Tokyo r50 beginner_2
Takashi Minoda
 
111015 tokyo scipy2_ディスカッション
111015 tokyo scipy2_ディスカッション111015 tokyo scipy2_ディスカッション
111015 tokyo scipy2_ディスカッションShohei Hido
 
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
Deep Learning JP
 
Introduction to lambda calculation
Introduction to lambda calculationIntroduction to lambda calculation
Introduction to lambda calculation
relipmoc101
 
静的型付け言語Python
静的型付け言語Python静的型付け言語Python
静的型付け言語Python
kiki utagawa
 
F#の基礎(?)
F#の基礎(?)F#の基礎(?)
F#の基礎(?)
bleis tift
 
定理証明言語によるハードウェア検証
定理証明言語によるハードウェア検証定理証明言語によるハードウェア検証
定理証明言語によるハードウェア検証
Shunji Nishimura
 

What's hot (19)

Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会
Goroutineとchannelから始めるgo言語@初心者向けgolang勉強会
 
Deep Learningと自然言語処理
Deep Learningと自然言語処理Deep Learningと自然言語処理
Deep Learningと自然言語処理
 
Boost.python
Boost.pythonBoost.python
Boost.python
 
C#勉強会
C#勉強会C#勉強会
C#勉強会
 
Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)
 
[FUNAI輪講] BERT
[FUNAI輪講] BERT[FUNAI輪講] BERT
[FUNAI輪講] BERT
 
Goとテスト
GoとテストGoとテスト
Goとテスト
 
Microsoft Learn で C# を学ぶとどんな感じ?
Microsoft Learn で C# を学ぶとどんな感じ?Microsoft Learn で C# を学ぶとどんな感じ?
Microsoft Learn で C# を学ぶとどんな感じ?
 
20180830 implement dqn_platinum_data_meetup_vol1
20180830 implement dqn_platinum_data_meetup_vol120180830 implement dqn_platinum_data_meetup_vol1
20180830 implement dqn_platinum_data_meetup_vol1
 
単語・句の分散表現の学習
単語・句の分散表現の学習単語・句の分散表現の学習
単語・句の分散表現の学習
 
KMC Font Project 3 - FontForgeで欧文書体製作
KMC Font Project 3 - FontForgeで欧文書体製作KMC Font Project 3 - FontForgeで欧文書体製作
KMC Font Project 3 - FontForgeで欧文書体製作
 
Pythonと型チェッカー
Pythonと型チェッカーPythonと型チェッカー
Pythonと型チェッカー
 
Tokyo r50 beginner_2
Tokyo r50 beginner_2Tokyo r50 beginner_2
Tokyo r50 beginner_2
 
111015 tokyo scipy2_ディスカッション
111015 tokyo scipy2_ディスカッション111015 tokyo scipy2_ディスカッション
111015 tokyo scipy2_ディスカッション
 
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
 
Introduction to lambda calculation
Introduction to lambda calculationIntroduction to lambda calculation
Introduction to lambda calculation
 
静的型付け言語Python
静的型付け言語Python静的型付け言語Python
静的型付け言語Python
 
F#の基礎(?)
F#の基礎(?)F#の基礎(?)
F#の基礎(?)
 
定理証明言語によるハードウェア検証
定理証明言語によるハードウェア検証定理証明言語によるハードウェア検証
定理証明言語によるハードウェア検証
 

Similar to L-1グランプリ "D言語"

FINAL FANTASY Record Keeperを支えたGolang
FINAL FANTASY Record Keeperを支えたGolangFINAL FANTASY Record Keeperを支えたGolang
FINAL FANTASY Record Keeperを支えたGolang
Yoshiki Shibukawa
 
20130316 プログラミング言語Go
20130316 プログラミング言語Go20130316 プログラミング言語Go
20130316 プログラミング言語Go
Yoshifumi Yamaguchi
 
DelphiでWin/Macクロスコンパイル
DelphiでWin/MacクロスコンパイルDelphiでWin/Macクロスコンパイル
DelphiでWin/Macクロスコンパイル
Tomonori Ohba
 
20130228 Goノススメ(BPStudy #66)
20130228 Goノススメ(BPStudy #66)20130228 Goノススメ(BPStudy #66)
20130228 Goノススメ(BPStudy #66)
Yoshifumi Yamaguchi
 
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
decode2016
 
初心者向けGo言語勉強会
初心者向けGo言語勉強会初心者向けGo言語勉強会
初心者向けGo言語勉強会
leverages_event
 
Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころPython におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
Junya Hayashi
 
Goでかんたんソースコードの静的解析
Goでかんたんソースコードの静的解析Goでかんたんソースコードの静的解析
Goでかんたんソースコードの静的解析
Takuya Ueda
 
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPCZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
Yoshifumi Kawai
 
Visual Studio CodeでRを使う
Visual Studio CodeでRを使うVisual Studio CodeでRを使う
Visual Studio CodeでRを使う
Atsushi Hayakawa
 
DartVM on Android
DartVM on AndroidDartVM on Android
DartVM on Android
nothingcosmos
 
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
Takahito Tejima
 
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUGGroovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
Uehara Junji
 
C++0xの概要(デブサミ2010)
C++0xの概要(デブサミ2010)C++0xの概要(デブサミ2010)
C++0xの概要(デブサミ2010)
Akira Takahashi
 
Golang tokyo #7 qtpm
Golang tokyo #7 qtpmGolang tokyo #7 qtpm
Golang tokyo #7 qtpm
Yoshiki Shibukawa
 
Cプログラマのためのカッコつけないプログラミングの勧め
Cプログラマのためのカッコつけないプログラミングの勧めCプログラマのためのカッコつけないプログラミングの勧め
Cプログラマのためのカッコつけないプログラミングの勧め
MITSUNARI Shigeo
 
Rust v1.0 release celebration party
Rust v1.0 release celebration partyRust v1.0 release celebration party
Rust v1.0 release celebration party
Akira Hayakawa
 
これからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツールこれからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツール
Nobuhisa Koizumi
 
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるC++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISる
Hideyuki Tanaka
 

Similar to L-1グランプリ "D言語" (20)

FINAL FANTASY Record Keeperを支えたGolang
FINAL FANTASY Record Keeperを支えたGolangFINAL FANTASY Record Keeperを支えたGolang
FINAL FANTASY Record Keeperを支えたGolang
 
20130316 プログラミング言語Go
20130316 プログラミング言語Go20130316 プログラミング言語Go
20130316 プログラミング言語Go
 
DelphiでWin/Macクロスコンパイル
DelphiでWin/MacクロスコンパイルDelphiでWin/Macクロスコンパイル
DelphiでWin/Macクロスコンパイル
 
20130228 Goノススメ(BPStudy #66)
20130228 Goノススメ(BPStudy #66)20130228 Goノススメ(BPStudy #66)
20130228 Goノススメ(BPStudy #66)
 
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
 
初心者向けGo言語勉強会
初心者向けGo言語勉強会初心者向けGo言語勉強会
初心者向けGo言語勉強会
 
Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころPython におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
 
Goでかんたんソースコードの静的解析
Goでかんたんソースコードの静的解析Goでかんたんソースコードの静的解析
Goでかんたんソースコードの静的解析
 
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPCZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
 
Visual Studio CodeでRを使う
Visual Studio CodeでRを使うVisual Studio CodeでRを使う
Visual Studio CodeでRを使う
 
DartVM on Android
DartVM on AndroidDartVM on Android
DartVM on Android
 
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
 
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUGGroovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
 
C++0xの概要(デブサミ2010)
C++0xの概要(デブサミ2010)C++0xの概要(デブサミ2010)
C++0xの概要(デブサミ2010)
 
Golang tokyo #7 qtpm
Golang tokyo #7 qtpmGolang tokyo #7 qtpm
Golang tokyo #7 qtpm
 
Cプログラマのためのカッコつけないプログラミングの勧め
Cプログラマのためのカッコつけないプログラミングの勧めCプログラマのためのカッコつけないプログラミングの勧め
Cプログラマのためのカッコつけないプログラミングの勧め
 
Rust v1.0 release celebration party
Rust v1.0 release celebration partyRust v1.0 release celebration party
Rust v1.0 release celebration party
 
Nginx lua
Nginx luaNginx lua
Nginx lua
 
これからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツールこれからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツール
 
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるC++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISる
 

Recently uploaded

遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 

Recently uploaded (8)

遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 

L-1グランプリ "D言語"

  • 1. (それと) D 言語 でー @detcoder
  • 2. 自己紹介 でとこーだ@ detcoder ● D 言語や DTM や RDBMS ● 好きな物:オカルト 嫌いな物:カルト ● ユニット「しめり蒸気 (wetsteam.org) 」
  • 3. 部屋と私と D 言語 まとめ!(発表時はここで小芝居) ● もともと VC++ で同人ゲームを作っていた ● コーディング・デバッギングがめんどくさい! ● サークル内で D 言語を使うことに
  • 4. D 言語とは ● D 言語は C 言語の次の意味 ● C/C++ の遺産を継承しつつ、先進的な設計 ● C/C++ の文法を踏襲。関数も呼べる ● ラムダ式・無名関数・契約プログラミング クロージャー・ GC ・スコープガード文 etcetc
  • 5. Walter Bright 氏 Zortech C++ コンパイラ -> 世界で最初の Native C++ コンパイラ -> 後の Symantec C++ -> 更に後の DMC ( DigitalMars C/C++ ) DigitalMars DMDScript ->D 言語 /C++ による ECMAScript 実装(速い) ABEL -> ハードウェア記述言語 Symantec Visual Cafe ->Java の統合開発環境 PHOTO: decltype http://en.wikipedia.org/User:Dec ltype from : WikipediaCommons License:CC BY-SA 3.0
  • 6. Walter Bright 氏 ( 画像は DigitalMars 鯖より )
  • 7. Walter Bright 氏 Digital Mars 社 「 c/c++ 」 ↓ 「 Mars 」 ↓ 「D」
  • 8. Walter Bright 氏 流 髭 行 が ら な ↑ || な い い ! !
  • 9. D 言語の現状 ● 最新バージョンは 2.060 ● Windows ・ Mac ・ Linux に対応 ● インストーラー (win) や deb/rpm(Linux) ● 現時点 Beta 版で Win64bit を吐けるように! (Linux/Mac は以前から吐けていた )
  • 10. D 言語の現状 ● 安定版 D1  開発版 D2 ● 現行は D2 ● D1 はメンテナンスのみ ● D1 はオワコン ● 2012 年末没予定
  • 12. それでは GO TO DMD!! ( ここで GitHub に公開してあるソース紹介 ) https://github.com/detcoder/L1G
  • 13. 1 line tail5 writeln( stdin.byLine().map!(a=>a.idup). array. retro.take(5).retro.join("n") ); ● UFCS 第一引数を前置できる文法 hoge(moge)  と  moge.hoge  は等価 hoge(foo, bar) と  foo.hoge(bar)  〃 ● テンプレート引数 関数名 !( テンプレート引数 )( 関数の引数 ) to!int(hogehoge)
  • 14. Hello World ! import std.string, std.range, std.algorithm, std.conv, std.array; struct D { string msg; D opDispatch(string s)() { return typeof(return)( ((a, b)=>a.equal(b))( msg.retro.cycle.take(2), msg.chain(s).retro.take(2).array.retro) ? ((a, b)=>( a.insertInPlace(msg.countUntil(b)+1, ", "), a.idup) )(msg.dup, msg.retro.take(2).array.retro)~s : text(msg,s)); } string d(T)() { return text(msg, T.stringof.toLower, "! ", T.stringof); } } struct H { static D opDispatch(string s)() { return D(typeof(this).stringof~s); } } pragma(msg, H.e.l.l.o. w.o.r.l.d! D); ( From アンサイクロペディア) void main() {}
  • 15. 私が D 言語を好きな訳 ● 安い ● 速い ● うまい
  • 16. 私が D 言語を好きな訳 ● 安い 習得コストと開発環境が ● 速い 実行速度とコンパイルが ● うまい 充実の Phobos と過去遺産
  • 17. D 言語の使われ方 ● 活発なのはゲーム界隈と競技プログラミング ● DirectX/WinAPI が叩ける ● それなりに処理速度が速い ● C/C++ の遺産が利用できる場合がある ( C++ はあまり期待できないけども;)
  • 18. D 言語の使われ方 いりす症候群! Win32 DX ライブラリ利用 2D 物理演算アクションパズル ( 公式サイトスクリーンショットより ) →公式サイト  →制作サークルサイト
  • 19. D 言語の使われ方 ● 活発なのはゲーム界隈と競技プログラミング ● AtCoderでも利用可能に! ● CTFE ・テンプレート mixin ● std.bigint ( 1,000 桁まで最適化) ● std.concurrency( マルチスレッド)
  • 20. D 言語の課題 破壊的変更の恐怖(主にライブラリ関係) ( 最近はそれほどでもなく、ライブラリにも移行期間が ) ● 書籍が少ない ● さらにキラーフレームワークが無い ● おまけに決定的な IDE も無い ( デバッガは C++ のものが使える )
  • 23. D 言語のコミュニティ ● 主に twitter (「D言語」で検索、もしくは #dlang) ● dsource.org( trac+subversion ) ● ニュースグループ( digitalmars.D ) ● @mono_shoo 氏の「D言語友の会」
  • 24. D 言語のコミュニティ ● Twitter ( dmd コミッター 1 人 :Phobos コミッター 2 人) ● @repeatedly氏 つけ麺の人。 Phobos コミッター ● @mono_shoo氏 東方の人。 Phobos コミッター
  • 25. D 言語のコミュニティ ● Twitter <D> <D> ● @repeatedly 氏 つけ麺の人。 Phobos コミッター ● @mono_shoo 氏 東方の人。 Phobos コミッター
  • 26. 参考文献 ● プログラミング言語D(公式) by DigitalMars ● プログラミング言語D(和訳) by k.inaba ● 競技プログラミングのためのD言語 by cafelier ● D言語基礎文法最速マスター by @repeatedly ● D言語友の会(dusers.dip.jp) by @mono_shoo & authors ● Template 「 DarkGray Crawls」 by Foral