はじめに
この記事は限界開発鯖 Advent Calendar 2020の3日目です
アドベントカレンダーは良き文明...
juliaとは
PythonのようにかけてCのように早い言語
楽しい
めっちゃ現代的
もはや次世代
動的型付けのくせに静的型付けとしても書ける
GitHubページ
Juliaを使いたくなる理由
高速な実行速度
JITコンパイルでコンパイルしているため、型安定1にさえ気をつけたらCなどの高速な言語と同程度の速度を出せる
やはりPythonは
参照先
Lispと同程度に使えるマクロ
とても多機能なマクロが使える
黒魔術ももちろんできる
参照先
Julia単体でドキュメント/ホームページ生成ができる
ページの形は固定されてるとはいえ、doxygenのようなものが手軽に使えるのは便利
参照先
https://qiita.com/SatoshiTerasaki/items/b0ac17088f3b2c374099
https://github.com/JuliaDocs/Documenter.jl
豊富な既存マクロ
Juliaには既存マクロとして、
- コンパイラへのヒント
- 構文の拡張
- 開発の補助
- 特殊なリテラル
といった4通りの目的に応じたマクロが存在する
とても便利
変数名などにUnicodeを使用できる
✟卍魔剤卍✟="Monstar"
といったふざけた変数名でも通るので趣味で書くのにも楽しく書ける
C、R、Pythonなどの多言語の資産も利用できる
最新の言語に乗り換えにくい原因の一つとして、ライブラリなどの資産がないということが挙げられるが、Juliaはその点も解決できる
標準でもPyCallやRcall、Ccallといった他言語呼び出しのためのモジュールが存在する
虚数の計算を標準サポートしている
Juliaの特徴として「科学技術計算を思考した動的な言語 2 」と言われているほどなので、もちろんサポートしている
書き方としてもその特徴が現れており、数式的に記述できる
ええやんけぇ……と思った人におすすめの入門ページ等
サイト
-
https://github.com/bicycle1885/Julia-Tutorial
- ノートブックに書かれた高速チュートリアル 実行しやすいしわかりやすいし神
-
https://juliaacademy.com/courses
- 公式のチュートリアルたち
本
-
https://www.coronasha.co.jp/np/isbn/9784339029055/
- コロナ社による「1から始めるJuliaプログラミング」
- これ1冊でなんとなく把握できる
- 題名どおり、1から理解できるので学び始めるのにぴったし
- コロナ社による「1から始めるJuliaプログラミング」
-
https://www.oreilly.co.jp/books/9784873118895/
- オライリー社による「Juliaプログラミングクックブック――言語仕様からデータ分析、機械学習、数値計算まで」
- 書かれていることがとても幅広く、読んでるだけでも面白い
- 1冊目としては向かないかも...?
- オライリー社による「Juliaプログラミングクックブック――言語仕様からデータ分析、機械学習、数値計算まで」