Julia言語ってどうなのよ! at TECH
[2ch|▼Menu]
1:デフォルトの名無しさん
23/07/21 12:15:30.63 oIWmLjE8.net
今後もニッチな言語のままなのか、それとも成長するのか、消えていくのか

2:デフォルトの名無しさん
23/07/21 12:32:10.35 FNlyvZlL.net
スターダムっぽい名前

3:デフォルトの名無しさん
23/07/21 12:51:26.08 +v9gfcKW.net
メモリ食い

4:デフォルトの名無しさん
23/07/21 14:08:30.64 73tgjVOL.net
AV

5:デフォルトの名無しさん
23/07/21 14:49:02.07 tp0X5VDl.net
ネーミング含め全体的にセンスが悪い気がするよね
後発の割に

6:デフォルトの名無しさん
23/07/21 15:38:41.24 Q4rI3Qtx.net
漠∞∞∞!
斗∞∞∞∞!
盤∞∞∞∞∞!
陽∞∞∞∞∞∞!
係∞∞∞∞∞∞∞!
衰∞∞∞∞∞∞∞∞!
語∞∞∞∞∞∞∞∞∞!
区∞∞∞∞∞∞∞∞∞∞!
典∞∞∞∞∞∞∞∞∞∞∞!
業∞∞∞∞∞∞∞∞∞∞∞∞!
床∞∞∞∞∞∞∞∞∞∞∞∞∞!
団∞∞∞∞∞∞∞∞∞∞∞∞∞∞!

7:デフォルトの名無しさん
23/07/21 17:29:35.85 eD9pKuA2.net
普段C++で計算しててちょっと楽になるかな?と触ってみたら全然そんな事なかった
そんな俺みたいな人が多そう

8:デフォルトの名無しさん
23/07/22 11:41:17.21 YLqzZrt5.net
Jupyterで勘違いした人は多いと思う
Julia言語そのものには旨味成分は皆無

9:デフォルトの名無しさん
23/07/22 12:39:04.29 vXmUnTo0.net
まあこれ以上需要が増える事は絶対ないし消えてもなんとも思わないな

10:デフォルトの名無しさん
23/07/22 17:42:27.80 zZd5vg4P.net
mojoリリースでトドメ刺される

11:デフォルトの名無しさん
23/07/23 21:48:07.95 K4vmsGUK.net
型システムいい感じだし好きで使ってるけどな
まあこの言語である必要はないな

12:デフォルトの名無しさん
23/07/27 17:06:48.60 6FNIWXSU.net
Rust学ぼうと思ってたけど用途に対して学習コスト高すぎるからJuliaにしようかと思ってる

13:デフォルトの名無しさん
23/07/27 23:35:45.28 L/etlfw/.net
Juliaも見事に駄目言語だな。こんな変てこな言語を使ってはいけない。

×駄目言語たち (実行すると0が表示される)

 a = b = [1, 2, 3]; a[2] = 0; println(b[2]) # Julia
 a = b = [1, 2, 3]; a[1] = 0; print(b[1]) # Python
 a = b = [1, 2, 3]; a[1] = 0; print(b[1], "\n") # Ruby

○まともな言語たち (実行すると2が表示される)

 vector<int> a, b = {1, 2, 3}; a = b; a[1] = 0; cout << b[1] << endl; // C++ STL
 int[3] a, b = [1, 2, 3]; a = b; a[1] = 0; writeln(b[1]); // D
 integer :: a(3), b(3) = (/1, 2, 3/); a = b; a(2) = 0; print "(i0)", b(2) !! Fortran
 a = b = [1, 2, 3]; a(2) = 0; printf("%d\n", b(2)) # Octave
 a <- b <- c(1, 2, 3); a[2] <- 0; cat(b[2], "\n") # R

△まあ許せる言語 (1行目と2行目を実行するとそれぞれ0と2が表示される)

 $a = $b = 1, 2, 3; $a[1] = 0; $b[1] # PowerShell
 [int[]]$a = [int[]]$b = 1, 2, 3; $a[1] = 0; $b[1] # PowerShell

駄目言語たちの挙動はC/C++でaがポインタの場合

 int *a, b[] = {1, 2, 3}; a = b; a[1] = 0; printf("%d\n", b[1]); // C/C++

の動作に似ている。C/C++はaをポインタとして明示的に型宣言しているので納得できるし、
aを配列として型宣言した場合

 int a[3], b[] = {1, 2, 3}; a = b; a[1] = 0; printf("%d\n", b[1]); // C/C++

はコンパイルエラーになり実行できないので問題ないが、駄目言語たちはどう見ても配列の代入にしか
見えない書き方なのに実際の挙動がそうならないのは大問題で、バグの元となるのは必定。

14:デフォルトの名無しさん
23/07/28 03:06:33.05 HsfaqfZ/.net
>>13
その話ならばGoという最悪の言語があって直感と常識を裏切る挙動をしてくる
しかも理解できたと思ったら二転三転と次々と裏切りの挙動をしてくる
// まず [1 2 3] をaに作ってbに代入するところからスタート
a := []int{1, 2, 3}
b := a
// 実験1: 途中要素の書き換え
a[1] = 222
fmt.Println("a =", a) // → [1 222 3]
fmt.Println("b =", b) // → [1 222 3]
// aもbも書き換わってしまった!同じものを指しているのだろうか?
// 実験2: 末尾要素の削除
a = a[:len(a)-1]
fmt.Println("a =", a) // → [1 222]
fmt.Println("b =", b) // → [1 222 3]
// aだけ削除された!
// aとbは別なのだろうか?
// 実験3: 要素の追加 (その1)
a = append(a, 777)
fmt.Println("a =", a) // → [1 222 777]
fmt.Println("b =", b) // → [1 222 777]
// aとbは再び同じになってしまった!なぜだ??
// 実験4: 要素の追加 (その2)
a = append(a, 999)
fmt.Println("a =", a) // → [1 222 777 999]
fmt.Println("b =", b) // → [1 222 777]
// aだけ追加された!また裏切られた!!

15:デフォルトの名無しさん
23/07/28 03:53:06.49 65xaooD2.net
slice のコピーを作るなら make & copy
b := make([]int, len(a))
copy(b, a)
参照ならポインタ
b := &a

16:デフォルトの名無しさん
23/07/28 04:16:53.95 HsfaqfZ/.net
この単純代入もエラーとならず禁じられていない
b := a
そして複雑化した時など最も発生しやすいのがこの単純代入
その時に>>14の複雑怪奇な挙動となり想定外のバグを生み出すのがGo

17:デフォルトの名無しさん
23/07/28 04:40:39.81 65xaooD2.net
この記事を読めば(特に「Slice internals」)複雑怪奇という程でもなく、仕様の通りに動作していることが解ると思う

Go Slices: usage and internals - The Go Programming Language
URLリンク(go.dev)

18:デフォルトの名無しさん
23/07/28 04:47:22.23 HsfaqfZ/.net
Go以外の全ての言語の利用者が>>14のGoの挙動に違和感を持つ
つまりGoは仕様からしておかしいということだ
しかも隠れたバグを引き起こす

19:デフォルトの名無しさん
23/07/28 10:33:55.91 Zgvcm9f5.net
>>13
その基準だと Rust もダメ言語なんだが

20:デフォルトの名無しさん
23/07/28 12:19:57.31 9v9DJg3O.net
Amazonでjuliaだけで検索したら上半身裸の女性がたくさん出てくる😅

21:デフォルトの名無しさん
23/07/28 18:08:39.71 gdkptAW0.net
>>19
Rustも>>13の言う「○まともな言語たち (実行すると2が表示される)」だよ
let mut a = [1, 2, 3];
let b = a;
a[1] = 0;
println!("{a:?}"); // [1, 0, 3]
println!("{b:?}"); // [1, 2, 3]

22:デフォルトの名無しさん
23/07/29 12:12:04.65 q7EMPtC5.net
チンチン七拍子!
チンチンチン チンチンチン チンチンチンチンチンチンチン
チンチンチン チンチンチン チンチンチンチンチンチンチン

23:デフォルトの名無しさん
23/07/29 12:32:39.06 v/GDSz0h.net
Pythonよりは好きだけど生き残る気がしない

24:デフォルトの名無しさん
23/07/29 14:36:58.40 hFaCeuCX.net
メリットが何一つ無い

25:デフォルトの名無しさん
23/07/31 12:36:40.86 2nPGdkTN.net
Juliaもっと広まってほしい😭

26:デフォルトの名無しさん
23/08/07 10:32:22.37 0BLyOSfR.net
TIOBE Index for August 2023
August Headline: Julia enters the TIOBE index top 20 for the first time
URLリンク(www.tiobe.com)
ビッグウェーブきてんね

27:デフォルトの名無しさん
23/08/07 23:44:53.14 zpJ4TKyU.net
>>26
最近になってJuliaの日本語解説書が何冊か発売されたから、TIOBEのランク入りは日本人の寄与じゃないのか?
本を頼りにちょっと齧ってみて見限る人が多くて、ブームは一過性に終わりそう。

28:デフォルトの名無しさん
23/08/10 20:34:41.41 FEQUMU62.net
Oh My Julia

29:デフォルトの名無しさん
23/08/12 21:55:39.94 SFywetLu.net
良い言語だよね
だんだん馴染んできたわ


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

252日前に更新/8340 Bytes
担当:undef