dlang

全ての開発者が学ぶべき1つの言語

「どの言語を学ぶべきか」という議論が都内各所で流行しているようなので、FPGA論理合成の間に暇だったので私も書いてみることにしました。

全ての開発者が学ぶべき1つの言語

1.D言語

D言語はサーバーサイドのアプリケーション開発をリードできる言語です。
モバイルゲームやAndroidアプリの開発、そしてエンタープライズWebアプリケーションの開発まで、非常に大きなマーケットに大胆かつ冒険的な野心的大挑戦が行えます。

頑強でスケーラブルなサーバーサイドアプリケーションを開発したいなら、あなたはD言語を学ぶべきです。どのように複雑なシステムであってもD言語で書けますし、様々なツールやテクノロジー、そしてコミュニティのサポートを得ることができないこともないこともないかもしれません。少なくともソースコードは公開されています。

なぜD言語を学ぶ必要があるのでしょうか?D言語を使うことで、システムレベルの詳細事項やメモリ管理に手を入れる自由をポインタやCとの直接的なインターフェイスやインラインアセンブラで確保しつつ、いっぽうで、unittestや契約プログラミング・型や安全性を担保する豊富な属性・templateや静的リフレクション・rangestd.algorithmの機能により、アプリケーションのアーキテクチャ設計やコーディングに集中することができるのです。生成された実行ファイルを動かすのに面倒なVMは不要ですし、評判の悪いGCも@nogc属性を書くだけで簡単に排除できます。

もしあなたがD言語を学ぶことを決心したなら、DLang Tourをお薦めします。全ての基本コンセプトが程よいバランスで網羅されています。

2.D言語

D言語は、世界中のスクールや大学でC++に挫折した人々によりひそやかに使われている言語です。D言語を学ぶことで何が得られるかって?たくさんあります。

D言語は、スクリプト言語として使用することも可能ですし、オブジェクト指向言語として巨大なプロジェクトの開発に使うことも出来ます。

$ rdmd --eval='writefln("hello,world!")'
hello,world!

さらにD言語は、機械学習やAIやデータサイエンス等の新世代のテクノロジーと共に頻繁に使われるようになってきていますが、それは全く不思議なことではありません。

私は個人的にD言語をスクリプト言語として使用しています。瞬間的に終わるコンパイルとネイティブコードの実行速度でアドホックなタスクをすぐに片付けることができます。

もしあなたがD言語を学ぶことに興味を持ったなら、DLang Tourは最初に学ぶコースとしてお薦めです。

3.D言語

この1つのリストにおいて、D言語をD言語に置き換えたり、あるいはD言語をD言語に置き換えることは可能かもしれませんが、今日のWebの世界においてD言語を他の言語で置き換えることは出来ません。

D言語の用途はもはやサーバーサイド開発やUI開発にとどまりません。emscriptenWebAssemblyの登場により、D言語はクライアントサイドのスクリプティング言語にも使用出来るようになりました。

もしあなたがD言語を学びたいなら、DLang Tourは最良のオンラインコースです。

4.D言語

D言語を知らずして真のプログラマーになることは出来ません。厳しすぎる言葉かもしれませんが、これは私の短くそして無残な経験から断言できます。

D言語は、システム水準のプログラミング言語として使える言語ですし、過去数年間に「言語のポピュラリティ」の分野における競争で、20位くらいに来るとみんな盛り上がる感じでした。

もしあなたがこの素晴らしい言語を学びたいなら、DLang Tourは最初の一歩としてお薦めです。

D言語はメインストリームじゃないのにもう割と古い言語の一つで、20年近くに渡ってどうにか開発を続けてきました。

D言語は、そのパフォーマンスの高さによって、特にゲーム開発者にとっては非常に重要な言語だと思ってもらえるといいなと思いました。

5.D言語

D言語は、過去20年間のベストプラクティスの蓄積によって産み出された言語です。D言語は関数型言語でもあり、オブジェクト指向とはまた別のパラダイムを提供します。プログラミングに関するあなたの考え方や感覚を改善することに役立つでしょう。

その他にも、Haskell等の様々な関数型言語が存在しますが、私はD言語エンジニアでもあるので、HaskellよりもD言語を学ぶ方が簡単だったということでD言語を選択しました。

もちろんHaskellにチャレンジするという方法も十分にありですが、多くのD言語エンジニアにとってはD言語を学ぶ方がより実践的であり実利的だと思います。

職業エンジニアとして、私は自己投資が自分のキャリアにおいて役に立つことを重視しています。あなたがD言語を学びたいなら、DLang Tourは最初の一歩として良い選択です。

まとめ

興味深い記事を執筆してくださった方や翻訳・紹介してくださった方々に感謝します。

追記

変に人気が出てしまったので追記させていただきます。

今年のアドベントカレンダーで入門記事などもやろうと思うので、ちょっとでも興味を持っていただけたらぜひ見てみてください!

https://qiita.com/advent-calendar/2018/dlang

こちらは世界一キュートなマスコットキャラであるD言語くんのアドベントカレンダーです。
ぶっちゃけD言語でなくてもD言語くんであれば許されるAdCです。

(雰囲気は過去のカレンダーからお察しください)

まだまだ空きがあるので奮ってご参加ください!

https://qiita.com/advent-calendar/2018/d-man