Crystal入門前編

![title.png](https://qiita-image-store.s3.amazonaws.com/0/43480/b4543e9d-0ef0-7ef0-1cf9-1f162c583474.png)

Crystal を本格的に覚え始めることになったので、
後続のために自分が探した情報を導入資料としてまとめます。
前編後編に分けてまとめます。今回は前編です。

前編は**言語概要**, **ドキュメント**, **コミュニティ**, **エディタ**についてまとめます。

## <i class="fa fa-newspaper-o" style="font-size:1em;"></i> Crystal とは？
Crystalについて分かりやすくまとめられたスライドショー。

[Crystal 言語の紹介 (歌舞伎座.tech #9) by Pine Mizune](https://speakerdeck.com/pine613/crystal-yan-yu-falseshao-jie-ge-wu-ji-zuo-dot-tech-number-9)

## <i class="fa fa-book" style="font-size:1em;"></i> 公式ドキュメント
![doc.png](https://qiita-image-store.s3.amazonaws.com/0/43480/2c6e4aaa-a550-c387-c222-b570ecc20b2c.png)

※上記はCharのドキュメントの一部。Emoji出力のサンプルが `crystal_ball` でおしゃれ

登場したばかりの言語にもかかわらず日本語バージョンが存在するありがたさ。
<a href="https://twitter.com/5t111111" target="_blank">@5t111111</a> さんを中心として <a href="http://crystal.connpass.com/" target="_blank">Crystal-JP</a> のみなさんで翻訳されているようです。感謝。

<a href="https://twitter.com/5t111111" target="_blank">@5t111111</a> さんは

<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">5t111111 さんはスーパーエンジニアであるということを声を大にしていいたい。エンジニアの生産性は10倍とか100倍差がある、というのはよく聞くけど前任者(3名)が1年2ヵ月かけたものを、新チームの3人(氏が中心)が1ヵ月ちょいで仕上げてしまったのは圧巻だった。</p>&mdash; てぃーびー (@tbpgr) <a href="https://twitter.com/tbpgr/status/722791208074878977">2016年4月20日</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

↑こんな感じの人でマジすごい。

* <a href="http://crystal-lang.org/" target="_blank">Crystal ドキュメント</a> <i class="fa fa-external-link" style="font-size:1em;"></i>
* <a href="http://ja.crystal-lang.org/" target="_blank">Crystal 日本語ドキュメント</a> <i class="fa fa-external-link" style="font-size:1em;"></i>

## <i class="fa fa-users" style="font-size:1em;"></i> コミュニティ
Crystal の日本コミュニティ <a href="http://crystal.connpass.com/" target="_blank">Crystal-JP</a> があります。
Slackでのやり取りなども行っているようです。

<a href="http://crystal.connpass.com/" target="_blank">Crystal-JP</a> 主催の勉強会が開催されており、
CodeIQ MAGAZINE で勉強会レポートが公開されています。

* <a href="https://codeiq.jp/magazine/2015/10/31516/" target="_blank">Ruby風の文法で注目を集めるCrystal。その勉強会の様子をレポート！</a> <i class="fa fa-external-link" style="font-size:1em;"></i>
* <a href="https://codeiq.jp/magazine/2016/02/37048/" target="_blank">実践的なテーマの発表も増えた「東京Crystal勉強会」第3回の様子をレポート！</a> <i class="fa fa-external-link" style="font-size:1em;"></i>

## <i class="fa fa-wrench" style="font-size:1em;"></i> Crystal Tool
Crystal が標準サポートしているツールセットの crystal tool。
コードフォーマッターや、エディタ向けなどに使う型を参照するツール類などがサポートされている。
詳細は下記記事を参照

[Crystal でのプログラミングを支援するツール達](http://rhysd.hatenablog.com/entry/2015/12/13/000000)

## <i class="fa fa-edit" style="font-size:1em;"></i> エディタ
Crystal の中の方たちが Atom の Package を提供していたりするので Atom を使うと
エコシステムに乗りやすそう。（印象論）
ググった印象では vimmer の方も多そうで、 vim の plugin もあれこれあるようです。
以下、 Atom の Package です。

* <a href="https://atom.io/packages/crystal-tools" target="_blank">crystal-tools</a> - crystal tool の機能を atom 向けに wrap したツール
* <a href="https://atom.io/packages/linter-crystal" target="_blank">linter-crystal</a> - Crystal の Linter
* <a href="https://atom.io/packages/language-crystal-actual" target="_blank">language-crystal-actual</a> - Crystal のシンタックスハイライト（READMEにはスニペットと書いてあるが現時点ではない）
* <a href="https://atom.io/packages/script" target="_blank">script</a> - Crystal のエディタ内実行に。このPackage自体はCrystal専用のものではない汎用的なもの。

その他、EditorごとのPluginが以下

![editors.png](https://qiita-image-store.s3.amazonaws.com/0/43480/5e364699-bda1-abff-98d9-7d99b2b3bc87.png)

## <i class="fa fa-diamond" style="font-size:1em;"></i> Next
[後編へ](http://qiita.com/tbpgr/items/8cb29d410048f0fb1b02)