SSブログ

JuliaHub から、Julia の公式パッケージに登録する [julia]

公開パッケージにする手順は、ここに日本語で解説してくれている人がいて(高校生!)
https://abap34.github.io/my-website/julialang/2021/01/31/julia-make-public-pkg.html
簡単そうな、 JuliaHub からの登録をしてみることにした。

https://juliahub.com の Contribute -> Register Packages から必要事項(自分は、 Package URL に https://github.com/nakagami/Awabi.jl を入力しただけで、いい感じに補完された)を入力して、
Submit すると・・・
この↓リポジトリに pull request が作成される
https://github.com/JuliaRegistries/General/pulls

今回のは↓これ
https://github.com/JuliaRegistries/General/pull/33897

最初、 Project.toml に [compat] の項目がなかったら(requiredではないが)bot のチェックでエラーが出た。
[compat]の項を追加して https://github.com/nakagami/Awabi.jl/blob/master/Project.toml#L10
再度、 https://juliahub.com の Contribute -> Register Packages から Submit したら、チェックにパスした。

いろんな人のパッケージ公開の解説を見ると PkgTemplates.jl で雛形を作って、 docs ディレクトリの下にドキュメントを書かないと、公式パッケージにできないという記載もあったんだけど、 README.rst に記載があれば docs ディレクトリのドキュメントは必須ではないようだ。

3日経つと、マージされた。他の Pull Request 見ると、問題なさそうでも3日は置いておくようなので、3日は待つことになりそう。
その前に、コメントが付いたら、それを見て何か対処する必要はある。

コメント(0) 
共通テーマ:日記・雑感

Julia の第一印象 [julia]

文法は Python に似ている。もっというと、型が指定できてそれがコンパイルしてバイナリになって速く動く Cython に似ていると思った。
自分は Ruby はわからないけど、おそらく Python や Ruby と言ったスクリプト言語書いている人ならとっつきやすいのでは。

- 配列のインデックスが1始まり
- クラスとかメソッドとかはなくて、関数の引数の型によって同じ名前でも呼ばれる関数が変わる(多重ディスパッチ)でオブジェクト指向的な処理が書ける
- 配列は多次元配列が基本で、Python でいうところのリストは、1次元の配列
- C, Python, R などの実装を呼び出す機能が充実している

というあたりが特徴的かなと思っている。
もっと慣れてくると違うことを感じるかもしれないけど。

数値計算をしない(数学がわからない)ので、そうすると Julia を使うメリットは自分にはそれほどないのかなと思っている。
コメント(0) 
共通テーマ:日記・雑感

新しいプログラミング言語を学ぶこと [julia]

年末年始に Julia の本を読み始め、少しコードを書いて、これはいけるかな?と思っているところ。

過去 Perl, PHP, Scala は、何度本を読んでもしっくりこなくて、少しコードを書くところまで行かずに挫折してしまった。
条件分岐、式、関数あたりの説明を読んで理解したつもりでも、
「僕の知っている言語だとこう書くけど、新しいこの言語ではどう書くのか?」
という時によくわからない場合があって、そうなると挫折ということになる。
仕事で、どうしても必要になったらまた違ったかもしれないけど、今となっては Perl, PHP, Scala を僕が書くことはなさそうなので、これらはマスターできないまま終わってしまった。
結構時間かけたんだけどなぁ。
Julia は、ちょっと書いてみて雰囲気掴むところまで来たので手応えある。

「このプログラミング言語がすごい」みたいな話を聞くと気になっちゃうけど、僕の残りの人生の時間と、新しく学んだプログラミング言語で書く成果まで考えると、もう(Juliaの次の)新しいプログラミング言語の習得は無理なのかなぁと思う。

コメント(0) 
共通テーマ:日記・雑感