Julia Juno Jupyter part1 [無断転載禁止]©2ch.net
実は数年前にここでjuliaスレ立てたんだが落ちたんだよなあ。。。。 漏れもなんとなく見覚えがある気がするんだよなぁ・・・
落ちる条件ってなんだっけ という訳で保守がてら
juliaからCの関数を呼んでみた
julia> ccall(:printf, Void, (Ptr{Cchar}, Ptr{Cchar}), "%s", "abc")
abc
julia> ccall(:printf, Void, (Ptr{Cchar}, Ptr{Cchar}, Int), "%s%d", "abc", 9)
abc9
引数の数が自由なのがいいねっ! おれおれDLLだと呼び出し方がちょっと変わるみたい
(最近仕様が変わったらしいので古いドキュソの通りやると動かない
っていうか最新のドキュソもまだ動かないサンプルのままだぞω)
julia> libcurl = Base.Libdl.dlopen_e("./libcurl.dll")
Ptr{Void} @0x2c76e2c0
julia> curl_version = Base.Libdl.dlsym(libcurl, :curl_version)
Ptr{Void} @0x6b25c740
julia> curl_getenv = Base.Libdl.dlsym(libcurl, :curl_getenv)
Ptr{Void} @0x6b25c854
julia> curl_free = Base.Libdl.dlsym(libcurl, :curl_free)
Ptr{Void} @0x6b25cbf8
julia> p = ccall(curl_version, Ptr{Cchar}, ())
Ptr{Int8} @0x6b29c060
julia> ccall(:printf, Void, (Ptr{Cchar}, Ptr{Cchar}), "%s", p)
libcurl/7.30.0 OpenSSL/1.0.1e zlib/1.2.7
julia> q = ccall(curl_getenv, Ptr{Cchar}, (Ptr{Cchar}, ), "NUMBER_OF_PROCESSORS")
Ptr{Int8} @0x2c76df10
julia> ccall(:printf, Void, (Ptr{Cchar}, Ptr{Cchar}), "%s", q)
8
julia> ccall(curl_free, Cuint, (Ptr{Void}, ), q)
0x00000001
julia> Base.Libdl.dlclose(libcurl)
うっかり解放忘れそう stdcallな関数だとさらにこんな感じだよ
julia> user32 = Base.Libdl.dlopen_e("user32.dll")
Ptr{Void} @0x2c767300
julia> MessageBoxA = Base.Libdl.dlsym(user32, :MessageBoxA)
Ptr{Void} @0x76c6cf50
julia> err = ccall(MessageBoxA, stdcall, UInt, (Ptr{UInt}, Ptr{Cchar}, Ptr{Cchar}, UInt), 0, "Hello, work!", "Message", 0)
0x00000001
wchar_tはArray{UInt16,1}らしい(UTF8を表示したければ先にwchar_tへの変換が必要)
julia> MessageBoxW = Base.Libdl.dlsym(user32, :MessageBoxW)
Ptr{Void} @0x76c6d280
julia> err = ccall(MessageBoxW, stdcall, UInt, (Ptr{UInt}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt), 0, Array{UInt16,1}([0x304C,0x3063,0xFF01,0]), Array{UInt16,1}([0x306C,0x308B,0x307D,0]), 0)
0x00000001
julia> Base.Libdl.dlclose(user32)
解放解放
引数や戻り値の定義を呼び出しのたびに何度も書くの面倒なのでマクロを書くのが良いらしいよ >っていうか最新のドキュソもまだ動かないサンプルのままだぞω
ああごめん動くわ ccall(:printf, Void, (Ptr{Cchar}, Ptr{Cchar}), "%s", ccall((:curl_version, :libcurl), Ptr{Cchar}, ()))
err = ccall((:MessageBoxW, :user32), stdcall, UInt, (Ptr{UInt}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt), 0, Array{UInt16,1}([0x304C,0x3063,0xFF01,0]), Array{UInt16,1}([0x306C,0x308B,0x307D,0]), 0)
Array{UInt16,1}のところはArray{Cwchar_t}とかVector{Cwchar_t}とも書ける
err = ccall((:MessageBoxW, :user32), stdcall, UInt, (Ptr{UInt}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt), 0, Vector{Cwchar_t}([0x304C,0x3063,0xFF01,0]), Array{Cwchar_t}([0x306C,0x308B,0x307D,0]), 0)
これでいいね
loadは省けるけど毎回loadと解放してくれてるんだろうか もう少しちらうら
julia> bytes2hex([65,97,66,98,0x5c])
ERROR: MethodError: `bytes2hex` has no method matching bytes2hex(::Array{Int32,1})
julia> bytes2hex(Array{UInt8,1}([65,97,66,98,0x5c]))
"416142625c"
julia> bytestring(Array{UInt8,1}([65,97,66,98,0x5c]))
"AaBb\\"
julia> hex2bytes("416142625c")
5-element Array{UInt8,1}: 0x41 0x61 0x42 0x62 0x5c
julia> string2bytes("AaBb\\")
ERROR: UndefVarError: string2bytes not defined
julia> stringbytes("AaBb\\")
ERROR: UndefVarError: stringbytes not defined
julia> read(IOBuffer("AaBb\\"))
ERROR: MethodError: `read` has no method matching read(::Base.AbstractIOBuffer{Array{UInt8,1}})
julia> read(IOBuffer("AaBb\\"), UInt8)
0x41
julia> read(IOBuffer("AaBb\\"), UInt8, length("AaBb\\"))
5-element Array{UInt8,1}: 0x41 0x61 0x42 0x62 0x5c
んー
マニュアルにはreaddim()があるって書いてあるのに・・・
何かimport忘れてるとか?
length省略できんのもなんだかな
勘違いならいいけど ちょっと前から同名のAV女優が出てきて検索がちょっとアレになったよね
運が悪い "どうすればPythonをJuliaと同じくらい速く動かせるのか? : 様々なやり方で計算の高速化を図る"
http://postd.cc/python_meets_julia_micro_performance/ パッケージがおれおれやってみたばっかりで
まともなものが少ねーじゃねーか
これ PyPI よりひでーぞ
github っつーかオプソは害だな >>16
21世紀にもなって添え字が 1 から始まるとかもうね おまいらなんだかんだ言って
みんなそれなりにやってんだな
ニヤニヤ >1 乙
>14 前スレで見た覚えがある
>16 それな コンパイル中のエラーよりも実行時の型エラーの方が厄介な言語だなこいつは。
慣れれば問題ないが。 >>13
非推奨っぽいが、
これでいいらしい。
"AaBb\\".data
代入も出来るようだ。
s = "AaBb\\"
s.data[2] = UInt8(64)
s これは割りと嬉しいかも。
julia> @sprintf "ab [%7s]" "xあx"
"ab [ xあx]"
julia> @sprintf "ab [%-7s]" "xあx"
"ab [xあx ]"
julia> @sprintf "ab [%7s]" "xxx"
"ab [ xxx]"
julia> @sprintf "ab [%-7s]" "xxx"
"ab [xxx ]" うむむ
julia> @sprintf "ab [%-7s]" bytestring(hex2bytes(""))
"ab [ ]"
julia> @sprintf "ab [%-7s]" bytestring(hex2bytes("4141E381824141"))
"ab [AAあAA ]"
julia> @sprintf "ab [%-7s]" bytestring(hex2bytes("4141E981824141"))
"ab [AA遂AA ]"
julia> @sprintf "ab [%-7s]" bytestring(hex2bytes("4141Ee81824141"))
"ab [AA\ue042AA ]"
julia> @sprintf "ab [%-7s]" bytestring(hex2bytes("4141Ef81824141"))
"ab [AA\uf042AA ]"
julia> @sprintf "ab [%-7s]" bytestring(hex2bytes("4141E881824141"))
"ab [AA聂AA ]"
julia> @sprintf "ab [%-7s]" bytestring(hex2bytes("4141E8e8824141"))
"ab [AA騂AA ]"
julia> @sprintf "ab [%-7s]" bytestring(hex2bytes("4141E9e8824141"))
"ab [AAꨂAA ]"
julia> @sprintf "ab [%-7s]" bytestring(hex2bytes("414155aa554141"))
ERROR: UnicodeError: invalid character index
in next at unicode/utf8.jl:65
in strwidth at strings/basic.jl:205
[inlined code] from printf.jl:159
in anonymous at no file:0
julia> @sprintf "ab [%-7s]" hex2bytes("414155aa554141")
"ab [UInt8[0x41,0x41,0x55,0xaa,0x55,0x41,0x41]]" >>11
julia> ccall((:curl_version, :libcurl), Ptr{Cchar}, ())
Ptr{Int8} @0x6b29c060
julia> @sprintf "%s" ccall((:curl_version, :libcurl), Ptr{Cchar}, ())
"Ptr{Int8} @0x6b29c060"
んーこれも期待した動作と違うなぁ。 >>16
ifに括弧なしは一見便利だけどend強制されるのはPythonに慣れてるとうざく感じる。
julia> Array{UInt8}([1:n;]) == map(a -> UInt8(a), 1:n)
true
ちょっと気持ち悪いところもある。 julia> Array{UInt8}([1:n;]) == map(a -> UInt8(a), (1:n))
true
julia> Array{UInt8}([1:n]) == map(a -> UInt8(a), (1:n))
警告出るが
true
(二回目からは警告出なくなる?)
julia> Array{UInt8}((1:n)) == map(a -> UInt8(a), (1:n))
エラー >>25
bytestring(ccall((:curl_version, :libcurl), Ptr{Cchar}, ())) >>28
有賀d。
>>24でも書いたけどbytestringってこんなデータ来ると死ぬから使いたくないなぁ。
julia> bytestring(hex2bytes("414155aa554141")) julia> pointer_to_array(ccall((:curl_version, :libcurl), Ptr{Cchar}, ()), n)
でnバイト分のArray{Int8}になるみたいだけどなぜかデフォでUInt8じゃないのが気に入らないなぁ。
julia> Array{UInt8}(pointer_to_array(ccall((:curl_version, :libcurl), Ptr{Cchar}, ()), n))
とかいちいち書くの面倒だなぁ。 >>30
Cchar == UInt8 # false
Cchar == Int8 # true >>31
julia> pointer_to_array(ccall((:curl_version, :libcurl), Ptr{UInt8}, ()), n)
できました!!
ありがとうございます!!! 今はまだ julia 0.3.2 対応みたいだけど web から試せるよ
https://try.jupyter.org/
IJulia をインストールすれば自分のサイトでもできるよ
https://github.com/JuliaLang/IJulia.jl >>14
ちょっと前から声が大きいだけで連投するうざいのが住み着いて2ちゃんはちょっとアレになったよね
筋が悪い 英語だが Julia をつかった科学計算を丁寧に解説しているサイト
ちなみに著者の一人 Sargent はノーベル経済学賞をとっている
http://quant-econ.net/jl/ exe 化してみたら dll いっぱい作られて 200MB 超えるな
exe なのにロードして実行されるまで時間かかりすぎる
普通に julia --precompiled=yes hoge.jl で実行する方が速かった
python の exe 化と大して変わらん 想像以上にアホの子かもな
julia> "あいう"[end:end]
"う"
julia> "あいう"[end-1:end]
ERROR: UnicodeError: invalid character index
julia> "あいう"[end-3:end]
"いう"
julia> "あいう"[1:end]
"あいう"
julia> "あいう"[2:end]
ERROR: UnicodeError: invalid character index
julia> "あいう"[2]
ERROR: UnicodeError: invalid character index
julia> "あいう"[3]
ERROR: UnicodeError: invalid character index
julia> "あいう"[4]
'い'
julia> length("あいう")
3
julia> length("1いう")
3
julia> ("1いう")[2]
'い'
julia> ("1いう")[end]
'う'
julia> ("1いう")[3]
ERROR: UnicodeError: invalid character index >>42
# 文字列は文字の配列のように添字アクセスできます
"This is a string"[1] # => 'T' # Julia では添字は 1 から始まります
# ただし、UTF8 文字列の場合は添字アクセスではうまくいかないので、
# イテレーションを行ってください(map 関数や for ループなど) Pythonの実行速度に満足できないあなたに
http://www.mwsoft.jp/programming/julia/python_to_julia.html
正直なところ、まだ足りないところも多い言語なので、
今の時点で飛び込んでもそんなに良いことはないかもしれません。
個人的には分析するデータの整形をさせたり、簡単なシュミレータを書き捨てる用途などで使っています。
適当に書いてもそれなりに速度が出るし記法もシンプルで書きやすいので、
Pythonよりも便利だと感じていますが、
ライブラリの揃いや信頼性などの問題で、前処理だけはJuliaでやって
肝心なところはPythonやRで、といった流れになることもしばしばです。 Pythonの実行速度に満足できないあなたに
http://www.mwsoft.jp/programming/julia/python_to_julia.html
これからJuliaを始める方へ
これからJuliaを始めようという方は、まずは下記ページに書かれているサンプルコードを眺めてみると、
どんな言語か理解できると思います。
Julia By Example
http://www.scolvin.com/juliabyexample/
統計関連のライブラリがどの程度揃っているかは、下記にまとめられています。
ちゃんとDataFrame的なものもあって、そこそこ揃ってはいます。
Julia Statistics
https://github.com/JuliaStats
入門書などの情報は出版されれば下記に掲載されると思う。(まだ入門書なんて存在しねーけどな)
Learning Julia
http://julialang.org/learning/
公式サイトのドキュメントも充実しています。充実し過ぎてどこから読めばいいのかわからなくなります。
Julia Documentation
http://docs.julialang.org/
あとは挙動でわからないことがあれば、ソースを読もう。
わかりやすいシンプルなコードなので、意外と簡単に読めます。
言語作者が書いたコードに触れておくと勉強になるしね。
JuliaLang/julia - GitHub
https://github.com/JuliaLang/julia
本当はもっと初見向きなサイトを紹介したかったんだけど、あまり見当たらない。
今の調子ならそのうち増えてくると思うので、
その手の本を書店で見かけるようになった時が始めるタイミングとしては良いんじゃないだろうか。
※本項は更新情報があれば適宜変更します julia> run(`cmd /c dir`)
したときは日本語が UTF-8 に変換されてるのかな
julia> open(`cmd /c dir`) do f
for l in eachline(f)
println(chomp(l))
end
end
すると結果が違うような気がするけど気のせいかな
julia> open("test_out.txt", "w") do w
open(`cmd /c dir`) do r
for l in eachline(r)
println(w, chomp(l)) # これだとSJISで書き込まれているな
end
end
end julia> (3+2im)*(3-2im)
13 + 0im
julia> 1//3 + 1//3 + 1//3
1//1
julia> 2π
6.283185307179586
julia> r = 4
4
julia> 2πr
ERROR: UndefVarError: πr not defined
julia> 2π*r
25.132741228718345
実におしい >>11
ccall((:MessageBoxW, :user32), stdcall, UInt, (Ptr{Void}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt),
C_NULL, [0x304C,0x3063,0xFF01,0x0000], [0x306C,0x308B,0x307D,0x0000], 0)
この方が良くね? ccall((:MessageBoxW, :user32), stdcall, UInt, (Ptr{Void}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt),
C_NULL, pointer("がっ!"), pointer("ぬるぽ"), 0)
これだと化けるから、
ccall((:MessageBoxA, :user32), stdcall, UInt, (Ptr{Void}, Ptr{Cchar}, Ptr{Cchar}, UInt),
C_NULL, pointer("がっ!"), pointer("ぬるぽ"), 0)
にしたんだがやっぱり化ける。
原因はわかるんだが、wchar_t の文字列は作れない子なの? >>41
こういうことらしい。
julia> "ぬるぽ"[nextind("ぬるぽ", 0):end]
"ぬるぽ"
julia> "ぬるぽ"[nextind("ぬるぽ", 1):end]
"るぽ"
julia> "ぬるぽ"[nextind("ぬるぽ", 2):end]
"るぽ"
julia> "ぬるぽ"[nextind("ぬるぽ", 3):end]
"るぽ"
julia> "ぬるぽ"[nextind("ぬるぽ", 4):end]
"ぽ"
julia> "ぬるぽ"[nextind("ぬるぽ", 5):end]
"ぽ"
julia> "ぬるぽ"[nextind("ぬるぽ", 6):end]
"ぽ"
julia> "ぬるぽ"[nextind("ぬるぽ", 7):end]
""
julia> "ぬるぽ"[nextind("ぬるぽ", end-1):end]
"ぽ" "るぽ"をendの差分で取るのはループしないかぎりむりぽか >>49-50
julia> ccall((:MessageBoxW, :user32), stdcall, UInt, (Ptr{Void}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt),
C_NULL, pointer(utf16("がっ!")), pointer(utf16("ぬるぽ")), 0)
julia> ccall((:MessageBoxW, :user32), stdcall, UInt, (Ptr{Void}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt),
C_NULL, pointer(wstring("がっ!")), pointer(wstring("ぬるぽ")), 0)
>>42-43 >>51-52
julia> utf16("ぬるぽ")[end-1:end]
"るぽ"
julia> wstring("ぬるぽ")[end-1:end]
"るぽ"
どうしても UTF-8 のままが良いなら
julia> s[prevind(s, end):end]
"るぽ"
http://docs.julialang.org/en/release-0.4/stdlib/strings/
読め
結論
>>42 がアホ 地雷満載
julia> length(utf16("あいう"))
3
julia> sizeof(utf16("あいう"))
6
julia> endof(utf16("あいう"))
3
julia> sizeof(utf16("あいう").data)
8
julia> endof(utf16("あいう").data)
4 PythonよりUnicodeの扱いが親切だと思うω if __name__ == "__main__": みたいなのは無いんかな open(hoge) do f
fuga(f)
end
みたいな do end 出来る関数ってどうやって作るんですか? julia> ASCIIString <: AbstractString
true
julia> Array{ASCIIString, 1} <: Array{AbstractString, 1}
false
julia> Array{ASCIIString, 1} <: Array{Union{ASCIIString, UTF8String}, 1}
false
julia> Array{Union{ASCIIString, UTF8String}, 1} <: Array{AbstractString, 1}
false
julia> typeof(["abc"]) <: Array{ASCIIString, 1}
true
julia> typeof(["abc"]) <: Array{AbstractString, 1}
false
julia> typeof(["abc"]) <: Array{Union{ASCIIString, UTF8String}, 1}
false
これなんとかならんか? 「XXX を削除できません。
ほかの人またはプログラムによって使用されています。
ファイルを使用している可能性があるプログラムをすべて閉じてから、やり直してください。」
が出る場合、そのファイルを使用しているプロセスを知る方法はありますでしょうか
あるよ
ただ、簡単ならいくらMicrosoftが能無しでもそこのダイアログに誰が開いているか表示するだろう
そのくらい面倒くさくまともな方法じゃないってことは察しろ >>61
言いたいことは分かるけど
継承関係にないジェネリッククラスに継承関係を認めたら
それはそれで問題が起きるから
特に配列の場合はパフォーマンスが犠牲になるので受け入れがたいし
C++とかだとバグの温床なので「できて当然」という考えは捨てた方がいい 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
6 まともな開発者が使うなら何でもいいんだよ
juliaユーザーは一概にレベルが低いから信頼性の低いライブラリと化学反応を起こして爆発するのだ
ただしnodeよりマシか 初心者に Fortran 教えるくらいなら Julia の方がマシ Jupyter Notebookで説明書きの通りのコードを入れても動きません。
terminals are unavailable と表示されてるのですが、これが動かない理由でしょうか。 C資産との連携を強調してるけど
JuliaでC呼ぶのは苦痛でしかない
Cで書いた方がまし 相変わらずだな
514 デフォルトの名無しさん sage 2016/07/04(月) 01:22:47.14 a5Gl8mUE
Juliaの開発、俺が引き受けるから科研費くれ
という主張をしてみるか悩んでる
515 デフォルトの名無しさん sage 2016/07/04(月) 01:35:22.05 WZmggq2i
Julia で検索したら、AV 動画見たばかりでワロタ w
516 デフォルトの名無しさん sage 2016/07/04(月) 01:36:38.53 WZmggq2i
ありゃ、
AV 動画ばかりって書きたかったの…
517 デフォルトの名無しさん sage 2016/07/04(月) 01:44:34.13 Jqw/8rJ7
私も今まさにそれ思ってた>AVばっかり Juliaってデータ分析というより数値計算じゃないの
全部インメモリの固定長配列にブチ込んでループぶん回す昔ながらのやつだよね 別にデータ分析以外の数値計算が出来ないと言っている訳じゃないし
昔ながらのやつを現代的に書けるというだけでも有意義だろう なんで >>83 へのレスが >>84 みたいなことになるんだろ
文盲かな? なんで >>84 へのレスが >>85 みたいなことになるんだろ
文盲かな? 誤解されてるようなので
>実際コード書いてても Python や C++ と比べて julia のコードって汚いんだよな
特定の条件がそろったときだけど
綺麗に描けることもある 誤爆か
言語内DSLを別言語とみなすなら
C++で綺麗に書けるものがjuliaで書くと汚いってことは考えにくいんだが?
C++は数値を表す抽象型が標準にないのが致命的
そのくせ最近までサイズ固定の整数型がなかった
pythonについてはラムダ式が好きになれない(汚いとは別だが)
まぁjuliaに求めるものは綺麗さじゃなく実用性なんだ
おっぱい的な意味で やっと気付いた
漏れはきっと end が嫌いなんだ julia> reinterpret(Bool, 1)
true
julia> reinterpret(Bool, 2)
false
julia> reinterpret(Bool, 3)
true
julia> reinterpret(Bool, 4)
false
julia> reinterpret(Bool, 0)
false
julia> reinterpret(Bool, -1)
true
julia> reinterpret(Bool, -2)
false
ワロス 笑いどころがわからない
配列用でないreinterpretはconvertと違って慎重に使うべきもの
julia> reinterpret(Bool, 256)
false
これは気持ち悪い
……と開発者も思ったらしくv0.5ではエラーになる見込み 間にscheme入ってるならpythonに近い文法に変換するのも簡単に出来るのでは? pythonに近い文法を求めているならpython使えばいいんでは?
てかschemeに何の関係が? >>7-11 >>25 >>28 >>30-32
定義はmacro使うと楽
macro c(restype, fnc, argtypes)
local args = [symbol("a", n) for n in 1:length(argtypes.args)]
quote
$(esc(fnc))($(args...)) = ccall($(string(fnc)), $restype, $argtypes, $(args...))
end
end
@c UInt32 printf (Ptr{Cchar},)
@c UInt32 printf (Ptr{Cchar}, UInt32,)
printf(pointer(Array{UInt8,1}([65,66,0,67,68,0,0])))
printf("%s\n", pointer(Array{UInt8,1}([65,66,0,67,68,0,0])))
macro m(lib, restype, fnc, argtypes)
local args = [symbol("a", n) for n in 1:length(argtypes.args)]
quote
$(esc(fnc))($(args...)) = ccall(($(string(fnc)), $(Expr(:quote, lib))), $restype, $argtypes, $(args...))
end
end
@m libcurl Cint curl_free (Ptr{Void},)
@m libcurl Ptr{Cchar} curl_getenv (Ptr{Cchar},)
@m libcurl Ptr{Cchar} curl_version ()
v = curl_getenv("TZ")
printf(v)
curl_free(v)
printf(curl_version()) >>9
macro w(lib, restype, fnc, argtypes)
local args = [symbol("a", n) for n in 1:length(argtypes.args)]
quote
$(esc(fnc))($(args...)) = ccall(($(string(fnc)), $(Expr(:quote, lib))), stdcall, $restype, $argtypes, $(args...))
end
end
@w user32 UInt32 MessageBoxA (UInt32, Ptr{Cchar}, Ptr{Cchar}, UInt32,)
MessageBoxA(C_NULL, "hage", "title", 1) >>97-98
32bit 限定のコードを書くべきじゃないな 呼び出すライブラリの仕様は確定しているのだから実用上問題ないのでは? x = UInt32(0x12345678)
a = pointer_to_array(convert(Ptr{UInt8}, pointer_from_objref(x)), 4)
a[2] = 51
println(@sprintf "%08X" x) # 0x12343378 immutable TT
a::UInt16
b::UInt16
end
x = UInt32(0x12345678)
a = pointer_to_array(convert(Ptr{TT}, pointer_from_objref(x)), 1)
println(a) # [TT(0x5678,0x1234)]
a[].a = 0xaabb # ERROR: type TT is immutable type XX
a::UInt16
b::UInt16
end
x = UInt32(0x12345678)
# ↑ここまでは動く
a = pointer_to_array(convert(Ptr{XX}, pointer_from_objref(x)), 1)
# ↑インタプリタ環境だとこれを実行した時点で環境ごと落ちる (下へ行くケースあり)
println("reach here")
println(a)
# インタプリタの外から julia hoge.jl で実行したときは println(a) まで実行すると落ちる なぜでしょう?(unsafeなことしてるのは判ってるのですが・・・) なぜって自分でbitstypeでもimmutableでもないって分かっている書きぶりじゃん
その上で聞いているならソース読め へー Julia ってこういう壊れ方するのかー
julia> n = UInt32(3)
0x00000003
julia> p = Ptr{UInt32}(pointer_from_objref(n))
Ptr{UInt32} @0x06e474f0
julia> pointer_to_array(p, 1)
1-element Array{UInt32,1}:
0x00000003
julia> UInt32(3)
0x00000003
julia> pointer_to_array(p, 1)[] = 9
9
julia> UInt32(3)
0x00000009 こうなってるのかー
気付かんかったわー
julia> e = UInt32(11)
0x0000000b
julia> f = UInt32(11)
0x0000000b
julia> p = Ptr{UInt32}(pointer_from_objref(e))
Ptr{UInt32} @0x06e47770
julia> pointer_to_array(p, 1)
1-element Array{UInt32,1}:
0x0000000b
julia> UInt32(11)
0x0000000b
julia> pointer_to_array(p, 1)[] = 17
17
julia> UInt32(11)
0x00000011
julia> f
0x00000011 インタラクティブシェルのヒストリーってどうやったら消せるん? ~/.julia_history 消したら解決しました! Cのunionと同じような機能ってreinterpret以外にないの? transpose と ctranspose って何が違うん? >>112
cはcomplex(複素数)のconjugate >>107-108
julia> 100
100
julia> 100 - 23
77
julia> 100 + 23
123
julia> pointer_to_array(Ptr{Int}(pointer_from_objref(100)), 1)[] = 119
119
julia> 100
119
julia> 100 - 19
119 # ← ここだけ納得いかない
julia> 100 + 19
138 納得いかないのが納得いかない
"100" - 19
→ 119 - 19
→"100"
→ 119 llvm使いたくない。gccではビルドできないの? C++AMPもそうだったんだけど
llvmがバージョンアップするとC++AMPの仕様も変わったりして
誰も安定してC++AMPを利用できなったので
C++AMPは消えたと思う
juliaがllvm使ってるのは嫌な予感しかしない llvmは安定して使うことよりもgccの妨害が目的っぽい部分があって
利用者は軽視(gccの足引っ張りが重要)
そんな印象がある >>118
C++AMP ってマイクロソフト主導だったんじゃないのん? >>111
manual/calling-c-and-fortran-code/
Struct Type correspondences
Packed structs and union declarations are not supported by Julia.
You can get a near approximation of a union if you know, a priori,
the field that will have the greatest size (potentially including padding).
When translating your fields to Julia, declare the Julia field to be only of that type.
...
In the future, some of these restrictions may be reduced or eliminated. reinterpretとBase.boxとどっち使うのが良いんですか? なぜ僕らはJuliaを創ったか
http://marui.hatenablog.com/entry/20120221/1329823079
ゆるいライセンスのオープンソースで、Cの速度とRubyの動的さが欲しい。
Lispのような真のマクロが使える同図象性のある言語で、
Matlabのように分かりやすい数学の記述をしたい。
Pythonのように汎用的に使いたいし、Rの統計処理、
Perlの文字列処理、Matlabの線形代数計算も要る。
シェルのように簡単にいくつかのパーツをつなぎ合わせたい。
チョー簡単に習えて、超上級ハッカーも満足する言語。
インタラクティブに使えて、かつコンパイルできる言語が欲しい。
(そういえば、C言語の実行速度が必要だってのは言ったっけ?)
イイね! マクロを入れ子で使ってるときの評価順が良く判らんな Juliaの継承システムってなんでgoみたいなシステムにしなかったんだろうな goはgoでアグレッシブすぎる気がするけど
C++とかJavaとか
結果的に抽象クラスとインターフェイスの関係が微妙になってしまったことを考えれば
Juliaの型システムは明確で合理的だと思う
あと多重ディスパッチが特徴に挙げられるくらいなので
ロジック・実装の散逸を防ぐ思想があるんだろう
具象型が継承不可な点は最適化の面でも有利に働くはず @timeとか@showとか便利すぎて逆になんでpythonにはないのかと悲しくなるレベル 一切カプセル化出来ないから無能を含む大規模プロジェクトには使えないな intをdepricated にして代わりに l->[parse(Int, s) for s=l] を使えって言ってくるのはマジで基地外じみてる 3次元の配列を効率よく初期化するにはどうすれば良いでしょうか? [f(I,j,k) for i=1:n, j=1:m, l=1:o]
Pythonとは訳が違う便利さ 添え字が 0 から始められるように設定変更ってどうするんだっけ >>140
安価ミスか?何を聞かれてるのかわからん >>141
マクロ使えば行けるけど見た目は良くないな
Juliaってcolumn majorのくせに多次元配列のconcatenation は左の添字からやろうとするの本当に謎 >>140
すまん、intをdeprecate にされたことがまず辛い。消すなら消すで同じくらい短くかける別の関数を用意してほしい
毎回これを書くのは嫌だし、自分でこれの別名をつけるのはなんか違う IPython - 対話的にPythonプログラミングができるコマンドラインツールです。とはいえ初心者だと何をどうしていいかわからないかも
Jupyter Notebook - IPythonをブラウザ上で実行するツールです(全然それだけじゃないけど) 。とっかかりとして一番のおすすめ。
様々なサンプルがこのツールのNotebook形式で配布されており、学習効率もいいです。
とりあえずVisual StudioとPycharmがIDEで, 前者はpythonに限定しないIDE,
後者はpython用のIDEですね. ※Visual Studioはpythonに対応してるとの事です.
アナコンダはパッケージのインストーラーで, IpythonとJupyterも一緒に
ダウンロードされますよね.
JupyterもIDEではないのですか?
IDEの定義によるんだろうけど
JupyterはIDEの条件を満たしてはなさそう
ノート機能が付いたEditorに近いのかな
私のとらえ方ではIDEは3ペイン・2ペイン構成のデスクトップアプリで
IPythonをブラウザ上で(シングルペインではあるが)IDE「的」に使えるのがJupyterですね
Anacondaにはpython用IDEデスクトップアプリのSpyderというものも入ってますので
インストール後両方起動されると、おおよその雰囲気の違いがわかると思います
Jupyter-IPython は Mathematica を目指してる。
Kernel + Notebook の構造。
IDE とはまた違うかな。 ジェネレータ式はトリッキーなマクロが要らなくなっていいな
PROGRAM_FILEはやっとか この調子で引数に_を使った時に部分適用になるあれもこないかな Julia0.5正式に出たっていうのになんだこの話題なってなさは 煽り抜きでダメだなもう
ガバナンスも利いてないしめちゃくちゃ
文法も思想もとっちらかったクソ言語に成り果ててる >>154
ほんまこれ。迷走しすぎて言語仕様めちゃくちゃ type Pos
x::Float64
y::Float64
end
Base.+(a::Pos, b::Pos) = Pos(a.x + b.x, a.y + b.y)
ってやると(a::Pos, b::Pos) is not a valid function
ってエラー吐くのですが、オリジナルの型用の演算子定義するにはどうすればいいのでしょうか? (+)(a::Pos, b::Pos) = Pos(a.x + b.x, a.y + b.y) こっちか
(:(+))(a::Pos, b::Pos) = Pos(a.x + b.x, a.y + b.y) >>160をやると普通の+が使えなくなり、
>>161をやるとsyntax: invalid function name ":+"
ってなりました…… import Base.+
.+(a::Pos, b::Pos) = Pos(a.x + b.x, a.y + b.y)
とか? 3ヶ月程前からPython+Numpy 覚えながら前から作ろうと思っていたプログラム書き始めていたのですが、
最近Juliaを知って日本語で書かれたドキュメント読み切って中身知ったら凄く綺麗で良い言語に見えてきて、
むしろPythonの方はダメな部分を補う為に無理やりNumpyをくっつけているようにすら見えてきたのですが、
その認識は間違ってないでしょうか?
書きかけのプログラムをPython+NumpyやめてJuliaを覚える方にシフトしようかある程度Pythonを覚えてきたこともあって悩んでいます。 Juliaは上手く統合されてると思うけど、まだ色々足りないでしょ
自分でバンバン書ける人ならともかく、覚え始めとかならPythonやっとけ disってるようには思わないな
正当な批判はちゃんと批判として受け入れるべき 配列が線形代数向けに整備されてる言語ってJuliaとRくらいのもんか? 配列を使って高速に内積とか行列演算とか出来るということ
C++のEigenとかPythonのNumpyにあたる機能がJuliaでは標準の配列でサポートされている そんなもん書いたら終わりじゃん。
宣言型だとか、原始再帰関数がどうとか言い出すならともかく。 >>178
いちいち自分で外積内積アダマール積、逆行列行列式特異値分解とかLAPACKラッパー書いていくの? >>177
勝手にCUDAってくれたりするってこと? >>182
最近の言語は大体色々楽するために発展して来てるのに、その発想はストイックすぎるだろ。俺はそれをD言語でやろうとして途中で面倒になってやめたわ。ライブラリの存在を全否定するような発想はC言語とFortranの世界の中でお願いします。
それに線形代数よく分かってなくてもJuliaの関数を色々使ってみて理解が進むという側面もあるから、出来るやつが書いた使いやすい線形代数APIが標準で搭載されている言語は重要だと思うわ
ちなみにJuliaでのcudaのサポートはまだまだこれから
>>180
すまんが意味がわからんかった >それに線形代数よく分かってなくてもJuliaの関数を色々使ってみて理解が進むという側面もあるから
こんなとこで高卒自慢ですねわかります 線形代数の動きやどんな関数があるかは大学でもMapleやMathematicaで実際に動かして実習するというのに、それがJuliaに変わるだけで高卒自慢と捉えるのは数学ガチ勢か老害か効率悪いアホかただの煽り野郎かのどれかだな >>183
実装みてない関数で集計とかキチガイの所業じゃん。 166ですが、結局Julia漬けの毎日になってしまいました。
昔Cでアルゴリズムを書いて学んだのですが、それをそのままJuliaで書いて練習してます。いくつか言語の経験はあったのですが、Cの組み込みをやっていたのもあって、型をきちんと指定出来る上にCの構造体のように書けるのでとても扱いやすくて良いです。 >>186
オープンソースなんだから見ればいいじゃん >>186
おまえは自分が使ってるもののソース全部見てんのか? >>191
LAPACK使わないの?MKL使わないの?それで速くてまともなプログラムを一から十までちゃんと作って完成させられるのなら相当凄いな
でも今時は量子化学ソフトの開発者だって当然のように他人のコード混ぜるし、量子化学ソフト使ってる人は使ってるプログラムのアルゴリズムの詳細までは知らないことが多い。
数学の教授だってMathematicaの実装知らずに使ってるよ。統計の学者だってRの中身全部把握してる訳じゃない。
そもそも実験屋はコードが何かもよく分かってなかったりするけど出来合いのアプリケーションで集計して論文を書く。どこかで妥協して人を信用しないと新しいものを作れる段階に行けないことが多いから。
だから、実装見てない関数で集計するのがキチガイの所業だと思う方がキチガイだと思うぞ >>193
お金もらってるしね。
実験屋のデータを意味のあるものにするのが仕事だから。
Rの中身は全部読んでるし、割と枯れたものに修正入れて全部検証してるよ。
そんなのは実験屋であって、研究者でもないし、
研究者は実験屋でもない。
妥協と信頼は金で買うんだよ、普通の研究所って。
こんなとこでママゴトみたいな言い分聞くとは思わなかったな。 >>194
じゃあ一体何のためにこの世にRは存在しているの? >>196
Rを使って研究している計量経済学の教授で、Rの内部実装をちゃんと読んでない教授はキチガイ? >>194
この世にはシミュレーションソフトを回すことを専門とする教授が一定数いるんだけど彼らはGaussianの内部実装を全部読むのは無理という人ばかりだよ。彼らはキチガイ? >>197
知ってる限りの学者は、ソース読んでる。
マクロ系ばっかりだけど。
>>198
そんなもん「オペレータ」だよ。
活字拾うジョバンニと同じ。
ただしその人らが、Gaussianに限らず、方程式として書いたものを、所内のQCに投げて、オッケーですと確認する事を怠らなければ研究者だろうね。
大体は組み込みの関数やら標準ライブラリはオーバースペック。しかもバージョンアップある。
なら内製したほうがマシ。 >>199
大学の研究室にQCはいないよ。標準ライブラリの代わりを再開発してるような手数もないよ。めちゃくちゃ言うのやめてくれる? 標準ライブラリの存在意義を全否定する典型的なキチガイおるな
一時期C++スレに沸いてたのと同一人物か? LLVMのコード見ても不十分
全部アセンブリ以外認めない(きりっ)
ですね gccのコード見ても不十分
intelのチップの命令セット把握せずにコンピューター使うとかキチガイの所業(笑) なければ創れ
いまのJuliaはまだそういうレベル 最近ダウソしたのみたら tcl/tk 8.6.0 だったわ 既存のパッケージ使って
使い捨てのスクリプト書くのは簡単なのに
クラスベースのOOPに慣れすぎた弊害か
いざ自分でモジュールを設計しようとすると途方に暮れる GoでGrumpyが出来るのだからJuliaでJumpyみたいなのって出来ないですか?
ライブラリが足りなくて無理? >>212
>クラスベースのOOPに慣れすぎた弊害か
違うよ
元々OOPやOODを判ってないだけ >>214
「本質が同じ」で片付けるなら
Juliaという言語が生まれる動機なんて無いのでは
それに理解していることと実践できることは同じではない
判っていても難しいものは難しいし
判っていなくても簡単ということだってある どちらかと言うとクラスベースだと思うけどな
昔のプロトタイプベースのjavascriptより100倍わかりやすい 依存関係解析してincludeをソートしたりとか
変更のあったファイルだけテストするとか
そういったツールってあるの? Juliaと似た思想のhalideという画像処理言語がある
どっちもやりたいこと同じなんだから
統合してくれないものか 思想は似てない部類だと思うが
Images.jlの中の人がちょっと実験していたみたいだけど
統合することはないだろうね コンストラクタがよく分からん
type Hoge{T}
hoge::T
end
type Fuga{T}
hoge::T
Fuga(h::Hoge{T}) = new(h.hoge)
end
このFuga(h::Hoge{T})って外に出せないの? それはコンストラクタじゃなく
いわゆるファクトリーメソッドなんじゃ?
Fuga{Int}(Hoge{Int}(123))
みたいに呼べないからtypealiasを使ったときに都合が悪い
それならconvert()の方がいい タプルの配列
tuples =[("a", 1), ("b", 2)]
からタプルの2番目の要素を抽出したい場合
[t[2] for t in tuples]
map(t->t[2], tuples)
より簡潔に書く方法ってある?
多次元配列の[:,2]みたいな ありそうで無さそう
(t->t[2]).(tuples)
は若干簡潔? >>227
ドット記法ってこんな風にも使えるのかぁ
ドットが中置の二項演算子にしか見えんけどw
>>228
v0.5ではエラーだったよ >>222
> Julia v0.6.0 Release Notes
> "Inner constructor" syntax for parametric types is deprecated.
where構文なんてものができるらしい
structとかv0.6で結構変わるけど
各種packageはついていけるんだろうか >>230
え、マジ?whereできるんならjuliaの使い勝手大きく変わるぞ おれも多用するわ。しかもなんならラムダと組み合わせて凄いことになってる パイプ演算子と無名関数はElixirみたいに書けるとかっこよさそうなんだけどなあ いつの間にか0.5.1になっているが何が修正されたのか分からない
2月が終わったけど0.6.0はまだなのか 0.6は来週あたりにRCかなぁ?
結構RCの数が増えそう
パッケージの対応にも時間がかかりそう masterブランチが0.7.0-DEVになった
という訳で1.0と0.6の間に0.7が挟まることになったっぽい
1.0と0.7の違いはdepricationの有無だけらしい 仮引数宣言で関数の型を指定したいんだけど出来ます?
f(n::Int, a::Int -> Bool)
的な f::Int -> Int -> Bool
f n a = n == a
こんな感じで書けるお。 あ、Haskellじゃ無かった。。。
ごめん忘れて。 Imagesパッケージ大分充実してるね
普通に使えるわ GitHubリポジトリトレンドRanking
1 Jupyter Notebook 16.2
2 Python 4.0
3 C# 3.5
4 C 2.4
5 C++ 1.3 >>248
imshow 復活したり load した BMP のデータ構造変えるとか、フラフラしないで欲しい。 try.jupyter.org から python で LaTeX の編集するとき
日本語の表示フォントを変えたいんだけど
try.jupyter.org 上の .css 書き換えるの無理?
ローカルに IPython + notebook 入れるしか方法ない? 関数合成が ∘ で出来るとかいうのは良いんだけど
emacsから使い辛い サーバで起動しているjupyterを操作中に、
notebookと同じディレクトリにテキストファイルを作りたくて、
!vim
を実行するとカーネルが死にました。
これやっちゃダメなことでしたか? ! は jupyter上でOSのコマンドを実行するオプションで、
vimはテキストエディタです。 ちょっと気になったんだけどJuliaの特徴として挙げられている多重ディスパッチって、静的ディスパッチの最適化を手動でやっておく(プログラマが手動で定義しておく)ことでオーバーヘッドを無くそうみたいな感じなんだろうか? 895 デフォルトの名無しさん 2017/08/26(土) 00:13:13.37 vnAe1GCW
>>891
正確に言うと「Julia vs 熊田曜子」で検索すると
Pythonがヒットしますw
896 デフォルトの名無しさん sage 2017/08/26(土) 00:14:25.52 pf1RytR8
ちょっと何言ってっかわかんないっすね
897 デフォルトの名無しさん sage 2017/08/26(土) 02:43:58.37 w+5MjHos
Julia Lang で検索すると、女優じゃなくて、言語の方を検索できるよ。 👀
Rock54: Caution(BBR-MD5:9368c25c0e1fcb4c3420acd807713d27) ジュリアたん始めてみたけど行列とベクトルの扱いが別?なのが戸惑った
[1,2,3]と[1;2;3]は違う
書き方まで分けてる割に計算結果はnx1行列になったりわけわからん
これは悪い仕様だと思うんだがどうだろう?
julia> [1,2,3]
3-element Array{Int64,1}:
1
2
3
julia> [1,2,3].'
1x3 Array{Int64,2}:
1 2 3
julia> [1,2,3].'.'
3x1 Array{Int64,2}:
1
2
3 v0.6 でRowVectorが導入されて縦ベクトルの転置は良く振る舞うようになってたはず >>271
Ubuntu16.04のリポジトリのやつ使ってたから0.4.5だった
0.6入れたら確かに振る舞い変わってた
julia> [1,2,3]
3-element Array{Int64,1}:
1
2
3
julia> [1,2,3].'
1×3 RowVector{Int64,Array{Int64,1}}:
1 2 3
julia> [1,2,3].'.'
3-element Array{Int64,1}:
1
2
3
もう少しいじってみるわ、サンクス! 過疎ってないよ、ただ質問したくてもドキュメント見ろよと言われそうなので黙って見ているだけ。
正直英語だからつらいです。
別の言語で書いたものをJuliaで書き直そうとしても、
ライブラリのどれを使えば同じこと出来るのか分かるまでかなり時間がかかってしまう。
つらいと思いながらも、でも頑張って書いてる。
文法も速さもかなり気に入っています、Cの経験が長いので型システムはしっくりくる。
気に入らないのは名前だけ、人の名前はちょっとね。。
そんな感じw 蝦女優は無いわ
文法きもい
多次元配列も並び順がCと互換ないよね? >>275
確かにまだ踏み固められてない部分多いから辛いところはあるよな
ライブラリ未整備なのを逆に活かしてアルゴリズムを実装する勉強とかに使おうかと思ってる 今後どれくらい伸びてくるのかねえ
MATLABみたいな数値計算やアルゴリズムの試作に使えるような新しい言語は間違いなく求められてるから可能性はあると思うけど
個人的にはこの手の言語で最重要なベクトル、行列、配列あたりが使いにくいのを何とかしないといけないと思う
配列の配列と行列が別なのとか非常に面倒い
言語仕様さえ魅力的にブラッシュアップしていければライブラリは後からついてきそう >>276
そもそもJuliaでいう多次元配列なんてCに無いんでは?
Matlabが受け入れられてるくらいなんだから
文法なんて慣れの問題だろう >>278
線型代数周りは大分使いやすいと思うんだが
少なくともVer0.6で気になるところは無い
行列と配列の配列の区別がない方が気持ち悪い
分野に依るんだろうが
そもそもサイズ不定の密行列なんてほとんど扱わないし
サイズが既知の密行列はStaticArrays使う Matlab系の行列表現は慣れれば使いやすいと思う
手計算で行列扱ってるのと近い感触で書ける感じがする
配列の配列は[[1, 2], [3, 4, 5]] が許されるけど行列で[1 2; 3 4 5] とは書けないから
そこは区別されるべきだろうね >>274
オブジェクトファイルとLLVM bitcodeが吐けるというけど、どうなんでしょね。 いつの間にかホームページのJuliaCon動画が2017に更新されてた
今更だけど >> 283
BuildExecutableというのがある Pythonみたいにインタープリンタなの?
JavaみたいにコンパイルしてVirtual machine上で動くの?
マシン語にコンパイルして動くの?
Wiki見たけどわからん。 ついにJuliaで検索しても1ページ目に公式サイトがでるようになったぞ!
日本語本も発売されたのに伸びないねえ。 結局今Juliaをまともに実用するにはJupyter連携が不可欠だから、
Pythonの掌の上でタップダンスしてるで認識あってる?
Pythonと差別化するにはどうしたらいいんだろうね jupyter で Python メインなら Julia の存在そのものを忘れていいからな まあエコシステムとしてはPythonに追い付ける要素なんてそうそうないとはいえ
PythonにのっかるくらいならPython使うよなあ
RubyでいうRailsみたいなキラーフレームワークがjuliaで出ない限り厳しいだろうね
ところで2017年中に1.0が出るという話どうなった? 今さらなんだがなんでJupyterがJuliaの仲間づらでスレタイに並んでんの?
Pythonやん JupyterのJuはJuliaのJuだからじゃないの? JuliaはRやMatlabからPythonへ乗り換える際の
別の選択肢という位置づけな感じがする
だからPythonとJuliaは競合するけど
PythonからJuliaへ乗り換えるパスはあまり太くない印象 アプリケーションならまあPython一択だろう
というかJuliaは別にそこ狙ってないだろうし
数値計算やアルゴリズムの試作、研究用途みたいなMATLAB的な使い方では今後結構伸びてくるんじゃないかとは思ってる
MATLABは言語仕様やオープンでないこととかで長年置き換えが望まれてきた分野でもあるし
公式サイト見てるとアメリカの大学の授業とかでも結構広まってきてるみたいね >>297
MatlabもPythonほどじゃないが資産が莫大な分野だから、そこの置き換えが進まないとどうしようもないな 何言ってるんですか、Juliaは将来天下取る言語ですよ。 >>299
天下ってなんの?
天下取る言語って言われた言語って正直録なのないよね
ポストC++と持て囃されたDしかり
ポストJavaと持て囃されたScalaしかり
言語の機能だけで堅実にリプレイス狙うなんて無理なんだから、
RubyがRailsで天下取ったみたいな圧倒的プロダクトの力で需要かっさらう以外の天下取る手段なんてない
で、今のJuliaはそうはせずPythonの資産に寄生してるだけ
早晩忘れられた言語になるわ >>300
現時点ではPythonの資産を利用しているけれど、
徐々に条件も同じになっていく事は考えられませんか?
同程度になればJuliaに分があるでしょ。
時間もかかるし簡単にはいかないのは理解しますが、
可能性はあると思っていますよ。
コンパイルして実行する事も出来るので別で使われるのもありか。
忘れられた言語になる可能性も、、あるけどさw
良いものが使われるとは限らないのはキーボードの配列見れば実感できますね。 JupyterがJuliaでリライトされたとかの事件でも起こらないかぎり、
条件が同じになっていくとも思えんが……
NumpyScipyは導入の敷居の高さが欠点だった分Juliaが付け入る隙はなくはなかったが
そこもAnacondaで解決してしまったしな Pythonは書いてて苦にはならないが楽しくもない
型アノテーションの今更感と実効性のなさが気に入らない
Juliaは書き捨てるなら楽しい方だと思う
ただライブラリが安定しないし
長期的にメンテするのはしんどい
MATLABは高価な糞 誤爆った
自分の理解の及ばないものを馬鹿にするのは老害のはじまり Python全ての置き換えはなくともPythonのMATLAB代わりの数値計算的使用くらいは置き換えるかもな
気になるのは、公式サイトに出てるスタンフォードやUCバークレイなんかの授業で採用が増えてるってこと
コンピュータ・サイエンスの研究・ベンチャーの中心の教育で使われてるってことは今後流れに乗って大きく普及が進む可能性があると思う コンピュータサイエンスなら
LISPやらSchemeやら触ると思うけど
別にそれでLisperになったりしてないし >>310
そういう特殊用途じゃなくて、いろんなアルゴリズムを試作する環境としてだからな jupyterががんばっても普及するのはpython Pythonも元は教育用だったが、色々な人が色々な資産ぶっこんだ上でキラーフレームワークが出たから流行った
Juliaに必要なものもそういうのだと思う
具体的に何作ったら流行るかはほんとなんとも言えんから、とりあえず小粒のライブラリの資産積み上げるしかねえわな float(“1.0”)は通るのにint(“1”)は通らないの意味わからないんだが、どういう思想なんだこの言語 いると思ったから最初はあったんだろうに、なんでいらんねや
挙げ句の果てにパイプ付き言語なのにparse(Int, x)みたいな二変数関数使えって、一体どういう立ち位置の言語目指してるのかわからん
自分でint定義すればいいっていう意見も見るけど、そういうことするならスクリプト言語使う必要ないしなおさら何を目指してるのかわからん pythonに比べるとごちゃごちゃうっせえなって感じがする
特に型まわりのエラーが多くてうざい
C++みたいに厳密ならエラーの原因も理解できるけど動的言語だから何が許されて何が許されないのか知ってないと対応できないし 逆に言えばpythonスクリプトには
それだけ潜在的な曖昧さがあるということでは?
まあ、ヒューリスティックな方法で
ランタイムエラーでなく
コンパイルエラーを出してほしいが JITコンパイル時エラーとかランタイムエラーと大して変わらんしょ なんだっていいよただの欠陥言語なんだから
この言語持て囃してるのは最近のFortranすら使ったことのないガキ こう書くと必ず「Fortranとか時代遅れのクソ」とか爆笑発言かますゆとりいるけど
最近のFortranは77と違ってしっかりした言語になってる
少なくとも未完成すぎて爆笑もののJuliaなんかとは比べ物にならん
Juliaなんて使うくらいならみんなFortran使おう
カジュアルに使いたいだけならNumPyでいいしな Fortranはクロージャー返せないからすこじゃない
逆に言うとクロージャーとかマクロとか使わないならFortranで良いかな? 数値計算するのにクロージャ使うようなトリッキーなことする必要あるのか?
最近のアルゴリズムはようわからん 2017年に1.0出るって話は結局嘘だったのかね?
この言語もダメだったか
1.0出る出る詐欺する言語は絶対に信用できない 今年は1.0が出ますように
一応12/15でFeature Freezeだったっぽいが
Pkg3の統合がひとつの山か 黒木玄 Gen Kuroki
@genkuroki
8時間8時間前
私が #Julia言語 をWindowsにインストールしたときの記録
http://nbviewer.jupyter.org/gist/genkuroki/81de23edcae631a995e19a2ecf946a4f …
1. Anaconda3をインストール
2. 環境変数JUPYTERを設定
3. Juliaをインストール
4. juliaを記号して IJulia パッケージと PyPlot パッケージをインストール
詳しくは上のリンク先を見て下さい。 黒木玄 Gen Kuroki
@genkuroki
4時間4時間前
https://twitter.com/SF_yomi/status/953124247420809221 …
素晴らしいです! #Julia言語 RユーザーからしたらjuliaはRで繰り返し行う操作を高速化するときに使うためだけのものにしか見えない 素晴らしいのは分かってるから。
ライブラリ揃うの待ち、そうなればpythonから置き換われる。 なんでJuliaにしたんだろうね
Lenaが良かった 糞木ってのが片っ端からツイートに絡んできてて激しくウゼェんだけど
あれ Julia 始める時に真っ先にブロックすべきアカウントなんか? ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆ JITがいまいちよく分からないんだけど
初回実行時に同時にバイナリの実行ファイルを作るって認識でいいの?
一旦バイナリファイル出来たらあとはそれさえあれば繰返し使える? 1.0は残すは破壊的変更の決着くらいか
設計者の方々は謙虚なところに好感が持てるが
誰かしら強引な人がいないと物事が進まない >>354
東北大学助教黒木玄氏。wikiもある。 >>38
FrbのDSGEモデル
JuliaCon 2016 | Economic Modeling at the Federal Reserve Bank of ...
https://www.youtube.com/watch?v=Vd2LJI3JLU0 Julia Tutorial - Why Should I Learn Julia Programming
https://www.youtube.com/watch?v=x0lI4omOYTw 黒木玄 Gen Kuroki
@genkuroki
#数楽 直観的な暗算や素速い手計算が苦手だと色々理解する上で不利になるのですが、コンピューターが得意なら、コンピューターで作画するという手も使えます。
それこそ最近流行している #Julia言語 + Jupyter notebook を使ってみるとか。 子どもがスケボーで「こんなことができるようになった」って喜ぶときに、
なにか金銭的リターンがあるわけでもないし、既に誰かがやった技だからといって
「車輪の再発明にすぎない」などと自虐することもない。 >>363
==の再起呼び出し(スタックオーバーフロー)の話が
2.0以降に先送りになったな 1.0 Milestoneのopen issueが一時8から9に増えて今は7になった。
1つは最後の仕上げにヘッダを書き換えるだけの備忘録なので実質6かな。
単純にcloseされるのは追跡しやすいけど
Milestoneが外された件はどうすれば追跡できるんだろう? 7から5になったな
JuliaCon今年は8月なのか
その前くらいにリリースかな 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
RZCWX >>373の予想通り1.0のマイルストーン期限が
JuliaConの前日の8/6に再設定された
これまでの1.0マイルストーンは0.7にリネームされていて
今日100%になった
やっとbeta来るか? deprecated結構あるからしばらくは0.7かなあ
Plotsとかライブラリ読み込むと結構Warning出る plot も色々あるけど公式でサポートしてほしい。 firefoxみたいに30.x超えても60.x超えても一向に使い物にならないのもある >>395
Juliaバージョン3.0っていつ頃? 公式サイトの言語が英語と簡体字、繁体字、スペイン語なんだな… 1.0が最近リリースされたみたいなので、GTKでなにか作ろうと思ったらライブラリ側はまだ対応してないんだな。
すぐに対応されないあたり、まだそんなに盛り上がってる言語ではないのかな。 >>404
黒木玄さんもSymPy対応しなければまだ使わないと言ってるし。 (1:10)これはいいとして
なんで
(1:2:10)
で2番目が増減値なんだろ
普通3番目が増減値じゃないの?って気がする juliaも無用なスペースは無視されると思いきや
三項演算子だけは、?と:は空白で区切らないとエラーになっちゃうのね
(julia 1.0) JuliaにまともなWEBフレームワークが登場したら
WEB開発で使われる日は来ますか? 影響を受けた言語由縁なのか
Jupyterとの併用が強すぎるきらいがあるなー
データ解析だけでなく、テキスト処理用途でもいいと思うんだけど
Pythonはコアはなるべく小さくして必要なものだけインポートするが、juliaは多くの数値型(bit長含め)や数学関数がコアのままで使えるのは悪くないと思う
コードも簡潔に短いステップで済ませられるからね
julia初心者から見たら、配列に対する内包式のコードがまるで正規表現を見ているかのような複雑さがあるなって思った マクロ使えば、なんちゃって日本語Juliaでコーディングできるのかな?
ところで、julia作者のページ見て思ったんだけど
♨︎を何に使うつもりなんだろう
julia+vimでtab変換で入力できるようにしたのは・・
√(2π)
とかなら、見やすくて良いとは思うけど
♨︎ + ♨︎
なんてコード書く人いるのかな? 型宣言って意味だよね?
型変換関数も豊富だよ
> Float16(pi) #piは円周率
3.14
> Float64(pi)
3.141592653589793
> BigFloat(pi)
3.14159265358979323846264338327950288419716939937510582097494459230781640628619
function foo(x::UInt32)::Foat64
・・・
return n
end
引数xは符号無し32bit長整数
関数fooの戻り値は64bit長浮動小数点数値
変換定義で型宣言
# ローカル変数yを16bit長整数宣言
local y::Int16
#16bit長のzと64bit整数の計算結果、64bit長へ変換
z = Int16(0)
z = z + Int64(1)
#式の型変換
(2 * 3.14)::Float64
こんな感じ 言語としてはいいと思うけど、
現実的には使いにくいね。 Luaって、ゲーム制作に利用されてんのね
wikiみると有名ソフトを網羅している
FF14のイベント作成はLuaで作られてたのか!
Vim内部スクリプトにも使えるのね
juliaの良いライバルだね ところで、
BigFloat の有効桁数(?)ってどうやって指定するの? >>428
循環小数、たとえば、1.0/3.0 を計算して、0.33333・・・・・となる時などは、
有効桁数(仮数部)のBIT数を指定しなければ、どこで切っていいかどうかを
言語処理系自身は判断できないので、表示以前に、計算時に必ず人間側
が指定しないといけないと思うんだけど。 もしかして、「関数型」言語だから、表示する段階になって始めて本当に計算が
始まる??? >>425
Julia でそういうことしたいのか? >>431
そんな事知らないよwww
やりたい人に聞いてよw ナショナル公共ラヂオモーニングエディションって
何なんすかね?
米国にナショナル・パブリック・ラジオって公共放送ラジオ局があるそうだけど
「朝の番組」のファンなのかな?
「おはよう!日本」みたいな
女子アナならぬ、女子MCのファンとか?
カンザスシティとかサッポロシティとかそんな類い?w もしかして、朝の番組のアナウンサーはJuliaって名前なのか?! Why Julia is the most suitable language for science
https://www.youtube.com/watch?v=7y-ahkUsIrY
An Introduction to Julia
https://www.youtube.com/watch?v=cPYgipsg4DM
Symbolic Mathematics in Julia
https://www.youtube.com/watch?v=M742_73edLA
Julia apps on the App Store: Building and distributing an application written in Julia
https://www.youtube.com/watch?v=kSp6d3qSb3I >>442
カンサスが300でサッポロが1200でしたっけ? こうやって見ると
パラダイムの登場によって言語が誕生する→個人の嗜好によって言語が誕生する、
みたいな時代になってきたね 結局のところ、オラが言語
なんじゃないかな
昔は、どこそこの研究所がとか
こんな目的の為に専用言語を設計しましたとか
そんな感じだったのに
インタプリタなんて趣味の世界で業務に不向きとか言われてたのに
それが動的言語よりも静的言語の方が大規模アプリに向いてるとか違う視点で語られるようになった
昔のプログラマは何か一つの言語使ってればそれで済んだけど、今は色々な言語使えないと仕事にならないなんてなんか無駄が多いような気がしてならない
自分が現役の頃は正にCOBOLとFORTRANとPL/Iの三大勢力だったからなー
CなんてまだUNIXに限定した言語だったし
Bourne Shellですら、シェルスクリプト使えない人ばかりだったから。awk何それ?な時代w
自分はFORTRANだったな。LISPも人工知能関連で取り扱った >>448
今はpythonがJavaを駆逐しつつあるのかな。 いずれはWebAssemblyに
それに対応しているのがCだけども
別にCじゃなくてもいいわけで
PythonだってWASMに対応するコンパイラあればと
juliaも現時点でコンパイラはあるがWASMに対応できればJAVAの代わりになれるなw An introduction to the Julia language, part 2
https://lwn.net/Articles/764001/
Julia 1.0 Programming: Quick start to your Data Science projects, 2nd Edition
https://avabro.org/julia-10-programming-2nd/ >>451
何これ?万引きサイト? 犯罪教唆はやめてください 保守上げ
いまだにドキュメント完訳した人いないね、どのあたりが難しいんだろ。 Julia公式のMetaprogramingの章の簡単なassertマクロなんかおかしくない?
関数内でassert呼んだらassert定義したモジュール内の変数扱いで帰ってくるから関数内で使えないんだが esc関数を使えば欲しい結果が得られるっぽい
これで良いのか? >>453
続けられるかわからないが、ドキュメント翻訳の準備でもしておくかな。
Ring の Unicode サポートがしっかりしていれば Julia に来なくてもよかったんだが。
仕方ないね。
>>458
いまいち、前かがみで、もっこり(盛り上がって)していないねえ。
科学・経済計算ライブラリ以外の不足が地味に痛いな。 取り敢えず統合開発環境込で使うにはproとかいうのインストールすればいいんですか? みんなIDEは何使ってんの?
おすすめとかある?
いちおうAtomとAnacondaに入ってるやつはそろえた。 pythonista で電車の中でもコーディング。
流石に大量のコーディングは指で訂正するときには非効率だが。いつでもどこでもは良いぞ。 コード補完してくれるから結構使いやすい。
PC では、eclipse かvscode かな。vscodeはまだ使いこなしていないからよくわからないけど。
PyCharm の評判が高いけど、自分は無料ツールでほぼ同じことができるのなら有料ツールは使わない。
勿論四六時中使う状態なら少しでも効率が良いものを使うけど。 有るみたいね。どこまでできるか知らないけど、往往にして蟻地獄に落ちるからな。 スクリプト言語とGoは全部VSCodeになったわ
全デバイス同じ環境にできるのが嬉しい なんか寂れてる?
将来性のある注目の言語と聞いてきたんだけど メジャーバージョンアップして一段落したような感じはあるな
でも導入は簡単だしREPLも割と使いやすいし
日常のちょっとした電卓にはおすすめだよ WEB+DB Vol.111 号では、Rails 6・Julia の特集
Julia の特集は、32 ページ分
科学技術計算用のJulia は、Ruby に似てる。
Python から、Julia に流れそう おお、Juliaは書籍少ないし記事でも出てくるのはいいね。
ちょっといじってみた感じ・・・・・借り物が多いなw Julia はちょっと見かけを変えただけの FORTRAN 昨日のNHKのブラックホール
Jupyterでわろす オライリーから日本語の本が出るってなんで誰も教えてくれないの >>15 PyPy とnumpy 使えばJuliaより早くなるだろ。 内容
Juliaプログラミングクックブック ―言語仕様からデータ分析、機械学習、数値計算まで 単行本(ソフトカバー) – 2019/10/19
本書はJuliaの言語仕様からデータ分析、機械学習、数値計算まで広範囲のトピックをカバーする約90のレシピを収録したクックブックです。
Juliaは数値計算、科学技術計算を得意とする言語で、C並みに高速で、Python並みに書きやすい、
高機能かつ近代的なオープンソース言語を作成しようという目的で開発されました。
数式を素直に表現できる構文を持ち、洗練されたデータ構造により計算速度が非常に速く、
PythonやRといった既存のオープンソース言語の不満を解消する言語として注目を集めています。
本書はJuliaが得意とする機能を多数紹介しており、Juliaの魅力と威力を存分に体感できます。
サンプルコードはすべてGitHubからダウンロード可能。日本語版補遺として言語仕様を収録しました。Julia 1.2対応。
著者
Bogumił Kamiński(ボフミル・カミンスキー):ワルシャワ経済大学の准教授であり、決定支援・分析ユニットの責任者。
またトロントのライアソン大学のデータサイエンス研究室の助教授。複数のジャーナルの共同編集者でもある。オペレーショナルリサーチと計算社会科学に特に興味を持つ。
シミュレーション、最適化、予測方法に関する50以上の研究論文を執筆。また、産業界および行政機関向けの大規模な高度分析ソリューションの展開において15 年以上の経験を持つ。
Przemysław Szufel(プシェミスワフ・シャフル):ワルシャワ経済大学決定支援・分析ユニットの准教授。
現在の研究は、数値実験と最適化のための大規模シミュレーション実行のための分散システムとその手法に焦点を当てているクラウドおよび分散型計算環境における大規模計算の並列実行のための非同期アルゴリズムに取り組む。
高性能な数値シミュレーション用のいくつかのオープンソースツールを開発/共同開発している。 >PythonやRといった既存のオープンソース言語の不満を解消する言語
ここ嗤うところやね
不満増えたわω >>494
遅い!juliaなら速い!ってことでしょ Julia, Ruby などは、JIT だから速い!
おまけに、Juliaは、Python も呼び出せるし、
Rubyのように、do 〜 end で書けるから、わかりやすい! >>496 python にもJIT は有るぞ。
numba 、PyPy >>497 python にはCコンパイラバージョンのCython があったが、最近Dropbox が、Mypyc と言うコンパイラを作ってて評判が良さそう。 Julia は、Python numba より2倍以上遅いぞ
https://qiita.com/hanada/items/c91788bcac2a40f1bb05
最も、numba がCと同程度のスピードというのも驚きだが。
C 3.68 sec
python numba(JIT) 3.93 sec
python (通常版) 49.65 sec
Julia 8.76 sec
Java 8.18 sec
Go 13.15 sec
C++ 4.33 sec >>500
初回のライブラリのコンパイルが死ぬほど遅いけどな。 Julia起動遅過ぎだし名前空間リセットする関数ないからJupyterで使うの面倒過ぎる
回避のために関数はモジュールに閉じ込めとくとか面倒過ぎだし JupyterからJulia使えるようにしようと思って、
https://qiita.com/STInverSpinel/items/ccfbb5a85330e97af70c
の書いてある通りにやったんですが、
add IJulia
と入力しても、fetchが99.9%になった後、先に進みません。
どうすればいいですか? >>506
お好きなエディタ + コマンドコンソール Twitterでは 黒木玄氏と佐藤健太氏と新帯秀樹氏とごまふあざらし氏で9割がたJulia言語の話題で埋まる。そのなかでも黒木玄氏がダントツ。 こないだ池袋行ったときにジュンク堂に寄って、確か6階のエスカレーター降りた先にオレイリーのJulia本が平積みされてて、立ち読みして興味を持ったが、その本はまだ買ってない。
とりあえずネットで情報集めようと思った。 というか現在のJuliaはたぶん単行本読もうと思ったらその本とあとNTSの一冊しかないからな。 kindle版で開発エンジニアにおくる次世代プログラミング言語Juliaのすすめ juliaをemacsで使おうと思ってるのですが
julia-modeって使い物になりますか?
https://qiita.com/anmitsu/items/2a4ca9f39ff22fde3de6
をみるとESSのほうがよいと書いていますが6年前の記事なので
現在の状況ってどんな感じでしょうか? Try Jupyter with Julia
https://jupyter.org/try JuliaはTwitterで黒木玄氏ばかり書いてるな。 パズル
範囲オブジェクトはcollect(1:9)で配列に変換できますが
これより短いコードは? >>529
hcat(1:9) かな?答えは?
array の比較ってどうやるの?
a==b じゃダメだし、a.==b も違うね。 >>532
出題者じゃないけどvcat(1:9)が正解かね
これなら vcat(1:9) == collect(1:9) がtrueになる
hcat(1:9)は型が 9×1 Array{Int64,2} という行列になって
ベクトルとは型(次元)が違うので単純に比較すると一致しない >>533
hcat じゃない vcat だったか。
だから == で true にならないのか。
考えてみればそうだな。
数学系でないかな?
abs.(1:9) は限定すぎるし。(1:9)+0 はダメだし。 Jiahao Chen
🇸🇬
@acidflask
·
5h
Recently rediscovered @ItsNeuronal
's excellent blog post on PCA while researching sparse logistic PCA
- excellent use of visualizations and @madeleineudell
's LowRankModels.jl #JuliaLang package @JuliaLanguage
http://alexhwilliams.info/itsneuronalblog/2016/03/27/pca/ Lazarus
@LazarusAlon
·
9h
using Plots, ParameterizedFunctions, DifferentialEquations
@juliabloggers
@julialang_news
#JuliaLang
Lorenz attractor, several initial conditions. Juliaってググったら相変わらずAV女優がトップに出るとか笑える 右側に画像と年齢出るのかわいそう
Juliaを救うにはJuliaをもっと普及させないとあかん for i=1:20
println([string(i),"Fizz","Buzz","FizzBuzz"][length(digits(gcd(i,15),base=2))])
end >>541
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz >>540
ひとの名前使っちゃダメだね
Adaもひとの名前からとったものだね そういうサイトばっかりみてるからだろ
俺は「Julia」でググってもトップページは全部言語関連のページだぞ 面白そうなのでいつもエロサイト見てる環境でぐぐってみた。
1ページ目9項目のうち二番目にAV女優さんのWikipediaが出るね。
あとは全部言語のだ。
後ほど、一度もエロサイト見ていない環境でやってみるよ。 JULIAって、渋谷のレストランが出た!
AV場は何故か水野朝陽がでてる。なんでだ!w Emacsでessをjuliaで使うには、
(add-hook 'julia-mode-hook 'ess-julia-mode)
だけでいいんかな? なぜ
Go
Rust
TypeScriptが
旧世代5大言語を超越するのでしょうか? マジレスすると
1.名前が大事
2.ベースがFORTRAN臭いので敬遠してしまう人多いと思う Juliaが似ているのはFortranじゃなくて、MATLABとそれの互換フリーソフトの
GNU Octaveだろ。
Juliaは情報が少なすぎるから普及しないな。本も僅かだし、オライリーからこの前
出たのはクイックリファレンスじゃなくてクックブックだから、言語仕様を体系的に
学べない。他の言語ではスイスイ書けることが、調べやすいとは言い難い付属の
HTMLドキュメントをあれこれ探さないと書けないし、エラーメッセージも
分かりづらいから、使い続けてみようと思わない人が多いんだろう。 正直 PyTorchで事足りてるので起動が遅くてエラーメッセの分かりにくい juliaを使う理由がなかなか出来ない Pythonは標準で配列使えるようにしてほしい。
NumPyは使いにくい。 >>557
自分でそういう言語作れば良いじゃん。
自作する暇や技術力がなくても仕様公開しとけば誰かが作ってくれるかも知れんぞ。
英語で書いとけば世界中の暇な人が作ってくれるかも知れん。
日本語でも誰かがうまいこと翻訳してくれるかも知れん。
全てを自分で作る必要はない。 1から始める Juliaプログラミング (日本語) 単行本 – 2020/3/27
進藤 裕之 (著), 佐藤 建太 (著) >>561
その本の出版社の名前がコロナ社で驚いた。 配列の添字を1から始める Juliaプログラミング ちょっと触ってみるのには面白いけど
長く付き合いたいとは思わないな 『1から始まる プログラミング言語 Julia』 (日本語) 単行本 – 2020/4/1
コロナ社 コロナは電子書籍出してくれないからいやだなぁ
オライリーのはPDF版購入できたのに かわいそうで笑える
コロナビールとかも株価下がってるらしい Google で「コロナ」と入力して検索した結果
株式会社コロナ
www.corona.co.jp
コロナは石油ファンヒーターや石油ストーブ、給湯機、エアコン、美容機器などを取り扱う総合住宅設備メーカーです。 >>561 はこういうお子様たちを予想して
出版社名を書かなかったのかもね >>570
昔からある有名な企業だろ。
ぼくすごいことみつけたよ!とわざわざ報告するようなことじゃないぞ。 ファンヒーターのコロナも昔からある有名企業だし、コロナ社やオーム社は工学系には有名な出版社でネタにすらならない
ちなみにコロナ社は書籍の誤りを指摘したらわりと反応が早かった
酷い会社は返信なしとかある 技術評論社はメールだかwebのフォームだったかで書籍の間違い指摘したら
読者プレゼントの商品(Arduino基板+chip付きかなんかだった)を送って来てくれた
ありがとう >>575
当時関係してると誤解される事があったみたいね。
豊田商事の時もトヨタと関係あると誤解した人がいた。
東横インと東急インってのもあったな。この場合は元からわざと関係してると誤解させるために東横インって名前にしたんじゃないかと思えるわけだが。 豊田商事が騒がれていた頃、トヨタから車買ってローン組んだら
職場にトヨタファイナンス(トヨタのローン部門)から確認の電話がかかってきて
えらい騒ぎになったのはいい思い出w juliaの描画環境が糞過ぎるわ
matplotlibの足元にも及ばない
科学計算用途に力入れてる言語としてこれは致命的すぎだろ jupyterがjuliaで描かれてるってだけで
実際に使われてるのはpythonだからな
juliaは知らんでもよろし Juliaのプロットライブラリ、インポートするだけで6秒かかって草
遅すぎやろ >>583
jupyterのどこでjulia使われてたっけ? 現行バージョンと旧バージョンで書き方が全然違うのやめてほしいわ
ただでさえ情報少ないのにせっかく見つけた情報通りにやってもできないこと多々ある
1.0と1.3でも大分違うぞ >>588
文句を言うにしても情報を提供する姿勢を持ってほしい。
そうでないならただの憂さ晴らしでしかない。 意味不明
ユーザー側が何で情報提供しなきゃならんのだ Rustは変わってもC++のレイヤーであってPythonのレイヤーではないだろという気持ちがある 質問です
sum = 0
for i in 1:10
sum += 1
end
とすると、
ERROR: UndefVarError: sum not defined
Stacktrace:
[1] top-level scope at .\REPL[81]:2
とエラーがでてきます。何ででしょう? >>599
REPLのルートで定義された変数はグローバルスコープに属する
forが作るローカルスコープの中からアクセスするにはglobalキーワードが必要
sum = 0
for i in 1:10
global sum += i
end FileIO...save, load などのインターフェースを提供
ImageIO, ImageMagick, QuartzImageIO...FileIOでPNGの入出力を担当
Images...FileIOのsave, loadを利用
PNGFiles...ImageIOの中身
https://github.com/JuliaIO/FileIO >>601
関数の中で使う分には問題無い
なんでもコードをglobalに描くなってこと >>599-600
文法エラーの指摘だけしてしまったけど
よく考えたらsumって標準関数だから
それを再定義するのは結構なマナー違反だった(Base.sumは呼べるが)
julia> sum(1:10)
55 Julia 始めようと思いますが、Windows版とLinux版、どちらがよりトラブルが少ないですか? 不具合
1.4 windows版で始めたけど、プロットができない
GRをインストールしたはずなのにlibGR.dllがないと言われる
実際パス先(ENV["GRDIR"]で判る) のbinを覗くと当該ダイナミックリンクライブラリファイルが無い
解決法
GR配布元へアクセスして直接最新版ビルド済みバイナリをダウンロードして
ENV["GRDIR"]の一つ親ディレクトリであるところの、%USERPROFILE%\packages\GR\〜\deps\gr へ展開
報告終わり 訂正
%USERPROFILE%\.julia\packages\GR\〜\deps\gr >>609
v1.41 何もせずに出来たけどな。環境かな?
GR も Plot と一緒にインストールされてる。 インストール中にエラーとか警告出ても観ない人って居るよね Interface 2020年6月号マイコンからクラウドまで新時代到来中
科学計算とPythonの研究[科学ソフト事典付き] Interface は一昔前とくらべてレベル落ちてると思う率直に >>607
漏れは、Windows 10, WSL, Ubuntu 18.04 で、
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた
yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト
anyenv に、Julia もありそう
ただし、**env 系は、メンテナンスが止まっているものもあるので、asdf を使う人もいる julia 1.3.1で
julia> 0.9*2.0 + 1.1*3.0
としたら答えが5.1000000000000005となるけど、本当の答えはもちろん5.1
なんでこういう表示になるのかわかる人いますか? そういう計算をしたいときは有理数を使うのだ
julia> 9//10 * 2 + 11//10 * 3
51//10 目下のところjuliaって科学計算用にしか注目されてないと思うけど make のように道具というのは、作者が思ってもみないところで
使われてこそ有用なもの キラーコンテンツって変じゃね?
Cのキラーコンテンツは? 意味不明な点
・関数化しないと速くならない
・plotsなどの読み込みがそのままだとクソ遅い たとえばさ、立ち上げてすぐ、3+4って入力した時に戻ってくる時間
と、その次に4+5とか入力した時に戻ってくる時間比べると
後者のほうがいつも速い。 常に全速力ではなく必要に応じてっていう設計だからさ julia version 1.4.2ですが、shift!が無くなったでしょうか?
ERROR: LoadError: UndefVarError: shift! not defined 最初はよくほぐさないとうまく入らないけど
次からはいい具合になるだろ?
ちな童貞 Juliaでよく間違えるのが、配列代入でのポインタ渡しと、for i in 1:nをfor i in nと書いてしまうところ
どちらも明示的に判るような文法にしてほしいものだ for i in range(n) にでもするかね。
オレも Python 使うと混乱する。 for i in nなんて普通は使うはずがないから、for i in n:nと範囲指定強制でいいと思う for i in n は文法的に間違いではないし、n=1:100 かも知れない。 全然関係無いのにpython強調し過ぎるからそういう勘違いする人が出て来る >>647
永井佑紀氏は国立研究開発法人日本原子力研究開発機構, システム計算科学センター, 副主任研究員 Juliaで学ぶ計算論的神経科学 — Juliaで学ぶ計算論的神経科学
https://compneuro-julia.github.io/ 【OSS】分析データベース「JuliaDB」---Julia言語でクエリ作成、高速並列処理、高速CSVパーサー
https://www.ossnews.jp/oss_info/article.html?oid=9327 Interface 2020年 6月号
https://shop.cqpub.co.jp/hanbai/books/MIF/MIF202006.html
第5部 科学計算向き注目言語Juliaの研究
Pythonのように書きやすくてC/C++のように高速
第1章 科学計算が得意なモダン言語Julia登場
開発環境と使い方の基本
第2章 はじめてのJulia科学計算
数学との親和性を体感
第3章 Julia科学計算メカニズムの研究
Appendix1 Juliaのノートブック環境構築
モダン言語のキー・テクノロジ
第4章 Juliaの型システムの研究
生産性と性能を両立させるモダン・メカニズム
第5章 ラズパイ4で動くJuliaアプリケーションの作成
売り切れになっても知らんぞいそげー!!! 漏れは、Windows 10, WSL, Ubuntu 18.04 で、
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた
anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
ただし、Julia は無いのか。jenv は、Java
Renv, crenv, denv, erlenv, exenv
goenv, hsenv, jenv, luaenv, nodenv
phpenv, plenv, pyenv, rbenv, sbtenv
scalaenv, swiftenv, tfenv
同様のツールに、asdf がある。
こちらには、Julia もある ローカルPC に直接入れなくても、Docker もある
Docker で、Julia, Jupyter Notebook が簡単かも Jupyterlab使ってるんですが、Juliaのスクリプトを関数化して実行するとそのまま実行するよりめっちゃ速くなるのはなんでですか? というかその質問を吐く人がJuliaに手を出した理由がわからんw JITで最適化が効きやすいからだよ
関数に切り分けてループの中とかで呼ぶと型推論と関数側の制約で型がある程度狭まるし、処理内容もある程度固定である事がランタイム側にも分かるから最適化が効いて速くなりやすい 関数がコンパイル済んでるから2回目から早いとかいうことじゃないだろうね? >>661の他、グローバル変数が最適化にとって邪魔で、関数化するとそれが排除されるのも大きいのかな
ベタ書きじゃなくて関数に包むと速くなるというのは前々からよく言及されてる話 Julia 始めようと思いますが、Windows版とWSL2 内 OpenSUSE Leap 15.2 版、どちらがよりトラブルが少ないですか? Juliaに慣れると他は使えなくなるな
簡単で速いは大正義 >>666
Rのtidyverseと比べてどう?
tidyerseみたいなのがあるなら試してみたい Juliaの新しいバージョンを動かそうと思っても、
ビルドがうまくできないのだが? C++のコンパイラの
バージョンか何かの問題だろうか?
ちなみにレッドハット・CentOSの最新版を使っているのだが。 それだけの情報でどうしろとw
コンパイラがゲロしたメッセージをちゃんと読みなさいw 漏れは、Windows 10, WSL, Ubuntu 18.04 で、
VSCode の拡張機能、Remote WSL も使う
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた
対応している言語を表示すると、
anyenv install --list
Renv, crenv, denv, erlenv, exenv
goenv, hsenv, jenv, jlenv, luaenv
nodenv, phpenv, plenv, pyenv, rbenv
sbtenv, scalaenv, swiftenv, tfenv
Julia のjlenv もある。
anyenvと同様のツールに、asdf もある
build-essential を入れておけば、コンパイルできるのでは?
エラーが出れば、それを見て、必要なパッケージを追加していく
build-essential には、
gcc(GNU C compiler), g++(GNU C++ compiler), libc6-dev(GNU C Library), make などが入っています
パッケージ: build-essential
https://packages.ubuntu.com/ja/bionic/build-essential pycallでtensorflow読んでjuliaで書くってやってる人いる?あんまりメリットないかな 2月に入ってまたJuliaの本出版されてるみたいね。
少しずつだけど関連書籍増えてきてうれしい。 Julia1.7で急に速くなって実用的になってきたな
まだPlotsのインポート時間かかるけど PackageCompiler回りが雑に使えるようにならんかなー buildbot ってなんですか? パッケージを add しようとするとC:\buildbot\〜と作ろうとしてるようです
制限付きユーザが勝手にC:\にファイルやフォルダを作れないようにセキュリティで制限をしているので
(恐らくこのせいで)アクセスが拒否されました。となってパッケージが add できません
buildbotさんに別の場所、例えば%USERPROFILE%でやってくれるようお願いするにはどうしますか? pkg> add IJulia
ERROR: SystemError: longpath: アクセスが拒否されました。
Stacktrace:
[1] windowserror(::Symbol, ::UInt32; extrainfo::Nothing) at .\error.jl:183
[2] #windowserror#50 at .\error.jl:182 [inlined]
[3] windowserror at .\error.jl:182 [inlined]
[4] longpath(::String) at .\path.jl:402
[5] isfile_casesensitive(::String) at .\loading.jl:14
[6] load_path_expand(::String) at .\initdefs.jl:244
[7] active_project(::Bool) at .\initdefs.jl:277
[8] active_project at .\initdefs.jl:265 [inlined]
[9] find_project_file(::Nothing) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Types.jl:183
以下[22]まで続く
C:\に該当ユーザの書き込み権限を付与してみましたが関係なかったようです
もしかしてscoop install julia だと駄目だったりしますか? pythonより早いと聞いて興味を持ってきました
juliaの初心者スレはどこですか? ないです
本買って自分で学習しましょう
それが一番速いです 使いこなすとRやPythonとかアホらしくて使う気にならないけど、なかなか普及しないね 単独ではろくなグラフも描けない半端物がっw
って状況は改善した? Juliaの回帰関数よりRの関数を呼んだ方が速かったけど、そのうち変わるのかな Rは3.4くらいでjit入ったのでクソ遅くはなくなってる
GraalVMが入ったらもっと速くなる JuliaがPythonよりもいいと言われるのは、速いからですか? 速いし、Pythonのライブラリをそのまま使えるから完全上位と言ってよいのでは?
Rのライブラリしか使ってないから、全部使えるかは知らないけど 全部がそのまま使えるわけないでしょ、全部使えるためにはPythonの言語仕様を全部内包してなきゃいけないんだよ
配列のインデックスの仕方から違うのにそんなわけない
よって完全上位ということはあり得ず、FFIを常に意識しないとダメな言語 PyCallをJuliaにインストールした際に、Juliaが独自のPythonを所有してそれを使うらしいけど 例えばさ、配列とインデックスを引数にとるPythonの関数があったとするだろ。
def get_row(matrix, i):
return matrix[i]
みたいなね。
これをJuliaから呼び出したとき、iは0オリジンで入れなきゃ目的の挙動はしないと思う。
そういうことが起こる時点で常にPythonのライブラリを使うときには注意が必要って話。
ほとんどがPythonのライブラリ呼び出しで済んで、計算速度が重要じゃないときにJuliaを使うのは得策じゃないよ。 とりあえず、大学でPythonやってましたって言う新人くんにマウントを取れる
「大学はまだそんな化石のような言語を教えてるんだ」 先輩、じゃあJuliaだけでこのグラフ描いてみてくださいよぉw Pythonじゃなくて、FORTRANの方向じゃないん? 24日、最新版となる「Julia 1.6」をリリースしたと発表した。 >>694
Python、R、MatlabがCやFortranの半分のスピードで動くことが売り
用途は限られるけど、モダンで使いやすくて速いという夢のような言語ってことになっている 最新版へのアップデートって
http://www.cml-office.org/memolog/?p=457
に書いてある通り結局全消し+新しいのをインストールが一番手っ取り早いの? ttps://github.com/JuliaAcademy/JuliaProgrammingForNervousBeginners
>the course consists of two sources: the video material on YouTube and the lesson notes in the Course Notes folder. Four weeks of lessons, one video and one pdf per lesson. Of course, you do not need to do the whole course in exactly four weeks; take more or less time, as you prefer or need to.
COLLABORATION
We would love your participation (see IfYouWantToContribute subdirectory). If you have any suggestions, just submit a pull request! Juliaは名前が駄目だった
AV抜かしても
女性を物化してる!とかフェミからクレームつくので流行りようがない
残念でした # クリップボードの文章を取得し、含まれる改行文字を半角スペースに変換。
# ttps://docs.julialang.org/en/v1/stdlib/InteractiveUtils/#InteractiveUtils.clipboard
# ttps://docs.julialang.org/en/v1/base/strings/#Base.replace-Tuple{AbstractString,%20Pair}
clipb = replace( clipboard(), "\n" => " " ) # 日付/曜日/時刻
# ttps://docs.julialang.org/en/v1/stdlib/Dates/#Dates.format-Tuple{TimeType,%20AbstractString}
using Dates
Dates.format( now(), "yyyy/mm/dd/E/H:M/" ) https://qiita.com/skiing_LAL10/items/1033f39ad79577c325a7
で
using LaTeXStrings
alpha1 = L"\alpha"
alpha2 = alpha1 * "hoge"
としてもαhogeになってくれないとあるけど、
じっさい、αhogeを表示させようとしたらどうすべきなんですか?
これができないとグラフのタイトルとかつける時に数式と普通の文字をまぜたタイトルが
つくれないはず。(例: time $t$ [second])
その他にもギリシャ文字を太字にすることができなかった
(\mathbf{X}でXの太字はできたけど、\mathbf{\beta}としてもβは太字にならない)
結局、PyCallでmatplotlibつかう羽目になった。
Juliaのlatexとの連携貧弱過ぎない? そりゃpythonの方が圧倒的に開発者が多くてパッケージも至れり尽くせりなんだから
しゃーない ジャップは英語わかんねえんだから
なんもかんも周回遅れよ まだパイソンで研究やってるユーザを奪い取ってこれないの? JULIA が python を取り込もうとして python の名前を使っただけで
JULIA そのものは python とは何の関係も無いのがばれたからな ま、Juliaを使いこなせるようになったら、Pythonとかいう過去の遺物にサヨナラできるんだけどね
もう戻れませんよ pyテョンさよならするためにJuliaとかあほのすること
どうせお別れするならRustに乗り換えろ ここはJuliaのスレ
Rustは基本的に用途が違う
Pythonにサヨナラするのは結果であって目的じゃないよ てかJuliaもPythonも両方使えばいいじゃん。
Pythonで速度がこまるところだけJuliaだなあ。自分は。 Pythonをディスると必死な人が湧いてくるから面白いってのはある
なんでだろうなぁ jupyter labのアプリ版が出てるな
Pythonも全部中に入れてある
まっさらな状態で入れるのなら良いかも macOS MontereyにしてからPkgの操作で
Error: curl_easy_setopt: 48が出るようになったんだがワイだけ? | \
|Д`) ダレモイナイ・・オドルナラ イマノウチ
|⊂
|
♪ Å
♪ / \ ランタ タン
ヽ(´Д`;)ノ ランタ タン
( へ) ランタ ランタ
く タン
♪ Å
♪ / \ ランタ ランタ
ヽ(;´Д`)ノ ランタ タン
(へ ) ランタ タンタ
> タン Appleはハードウェアは素晴らしいのにOSは完全なウンコ、ちょっと前にはノーパスで入れるバグのまま出荷されたりしてた どこの誤爆だよ
そういや、うちの会社の共用PCのWindowsもVDのバグかなんかで前の人がログアウトした後に誰でもログインできたな M1MacにjupyterLab desktopを入れてみたけど、
終了後にPythonのプロセスがどうしても1つ残る
ちゃんとFileメニューからシャットダウンしてから終了してるんだけどな 株式会社週休3日が「週休3日正社員」に特化した
求人ポータルサイト「週休3日.com」を正式リリース。
2022年1月から本格始動。企業の利用申込を受付開始。先着200社は
1年間限定 月額9,900円(年間契約)。
次世代型ワークライフマッチング「+1日マッチング」を実装し、
新しい人材マッチングを創出します。
株式会社週休3日は、週休3日正社員の人材募集・採用に特化した
求人ポータルサイト「週休3日.com」を正式リリースいたします。
2022年1月から本格始動につき、企業利用申込の受付を開始いたしました。
採用・人材不足にお困りの企業・事業者に、新しい採用手段の選択肢が
生まれます。
「週休3日正社員など新しい働き方を活かした求人募集をしたい」
「若い世代を採用したい」「40代以降の優秀な人材を採用したい」と
お考えの経営者様・人事担当者様に特におすすめです。 最初にjupyterと何ちゃらって見かけて、ずっと敬遠していたんだけど、改めて動的型付けで速くてって見かけて、俄然興味出てきて、公式サイト眺めてます(´∀`) 自作物理シミュレーション目的でjuliaを最近勉強し始めた超初心者だけど、型システムとかがかなり合理的に感じて感動してる。 恥を忍んで質問させて下さい:
reinterpret(Float64)(だっけ?)とかやって、浮動小数点数を
バイナリとして解釈し直す(あるいはその逆方向)コードって、
今時のCPUでは十分に速いのでしょうか?
それとも、(今日でも)一時的にでもメモリに格納しないといけないから、
相変わらず遅いのでしょうか? ぶっちゃけRustの方が千倍マシ
Rustが嫌ならNimが良い
Juliaの出番は無い 理系大卒以上は必ず触れる言語になって欲しいものだ
高卒や文系はPythonをやってて欲しいものだ vscodeでやるための環境構築ができないんです
やりかたかいてあるサイト知りませんか VScodeでHelloWorldをやろうとしたら
エラーらしきものが出ました
Could not start the julia language server.Make sure the 'julia.executablePath'setting is valid.
なにをどうしたらいいんですか While文を使って、ループの最後に判定するにはどう書けばいいでしょうか pi@raspberrypi:~ $ julia -v
julia version 1.10.0
pi@raspberrypi:~ $