文字数制限きついので改題
スレタイ以外の言語もok
前スレ
次世代言語議論スレ[Rust Kotlin Haskell]第6世代
http://mevius.5ch.net/test/read.cgi/tech/1503924817/
探検
次世代言語Part7[Go Rust Swift Kotlin TypeScript]
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2017/10/19(木) 17:51:38.66ID:EPSDvC752017/10/22(日) 09:43:14.05ID:jKdYjftV
2017/10/22(日) 11:54:18.65ID:r0jppfs8
2017/10/22(日) 12:05:58.19ID:HAzBzhoi
>>52の内容なら型アノテーションに頼らずとも型推論だけでいけるだろう。
2017/10/22(日) 13:12:06.46ID:yUcYB3x3
2017/10/22(日) 15:32:24.31ID:bmxwOMJ1
>>64
それはあくまで偏見の塊の君の個人的意見だろ。
そんなこと言い出したら
「日本人はもともと職人気質の人間が多いから
使いこなすのに職人レベルの技術が求められるC++と相性がいい。
だからC++こそ日本人のための言語だ。」
なんていう、今俺が適当に作ったトンデモ論法でも通っちまうだろうが。
それはあくまで偏見の塊の君の個人的意見だろ。
そんなこと言い出したら
「日本人はもともと職人気質の人間が多いから
使いこなすのに職人レベルの技術が求められるC++と相性がいい。
だからC++こそ日本人のための言語だ。」
なんていう、今俺が適当に作ったトンデモ論法でも通っちまうだろうが。
69あ
2017/10/22(日) 15:36:36.11ID:dq05v2c82017/10/22(日) 15:57:37.80ID:rLFHcAK9
2017/10/22(日) 20:08:52.70ID:yoTgiwcF
>>68
いや、日本人はPHPでしょ
空気読んで面倒臭いことはナーナーにして
今が良ければそれでよし
当事者がたんまりお金盗って無事退職した後、
年単位越しでツケ払って大騒ぎ
PHPですか?いいえ、日本です
いや、日本人はPHPでしょ
空気読んで面倒臭いことはナーナーにして
今が良ければそれでよし
当事者がたんまりお金盗って無事退職した後、
年単位越しでツケ払って大騒ぎ
PHPですか?いいえ、日本です
2017/10/22(日) 21:46:29.44ID:c7gPCMa+
日本の技術力ガーとか言ってたくせに
結局全部嘘ばかり
バカチョン以下やでホンマ
そりゃペチパーが闊歩しますわ
結局全部嘘ばかり
バカチョン以下やでホンマ
そりゃペチパーが闊歩しますわ
2017/10/22(日) 23:53:22.71ID:sz7LIs8a
ponyはまだまだマイナーだな
2017/10/23(月) 03:02:27.50ID:vIdD1XI1
haskellがやっと外れたなwスレタイ
2017/10/23(月) 03:18:43.18ID:7Pp5HgLl
PHp本当に速くなったからな
相変わらずポーリングも特殊操作でしかできないクソだけど
相変わらずポーリングも特殊操作でしかできないクソだけど
2017/10/23(月) 04:14:09.67ID:1oD0q36r
異常者の迷言「PHPは日本人」「日本人はPHP」
2017/10/23(月) 08:27:35.76ID:+M73J5jp
気に食わない奴でも合法なら許す
違法なら許さない
この優先順位を歪めるから無法地帯になるのだ
違法なら許さない
この優先順位を歪めるから無法地帯になるのだ
2017/10/23(月) 08:52:16.45ID:xr09IWoG
>>70
Elixirってrubyに強く影響受けてる言語なんだよな。
Phoenix触ってたらRailsの匂いを感じる。
でも今は動的言語は弱い気がする。Elixir + 型 が欲しい
TypeScriptが触ってて気持ちいいからサーバサイドもJSがいい気がする。
Elixirってrubyに強く影響受けてる言語なんだよな。
Phoenix触ってたらRailsの匂いを感じる。
でも今は動的言語は弱い気がする。Elixir + 型 が欲しい
TypeScriptが触ってて気持ちいいからサーバサイドもJSがいい気がする。
2017/10/23(月) 10:51:25.73ID:WMNCDJb0
Elixirの問題は込み入ったことやるとErlangに足突っ込まなきゃいけないことで
プロダクションコードに突っ込むには人材要求が高すぎること
プロダクションコードに突っ込むには人材要求が高すぎること
2017/10/23(月) 14:31:56.92ID:f3vYk0Y4
結局ネットワーク系統のエラー処理は低レイヤーに突っ込んでいかないとどうにもならんよ。
抽象レイヤーでなんとかしたいって願望はわかるけどさ。
抽象レイヤーでなんとかしたいって願望はわかるけどさ。
2017/10/23(月) 17:32:43.36ID:KBSkknSp
Elixir(というかBEAM=ErlangVM)の場合はプロセス復活のために型情報が必要だし
静的にしたからって型情報は省略できない
静的にしたからって型情報は省略できない
83デフォルトの名無しさん
2017/10/23(月) 19:47:51.56ID:fT3gFD4f C++を書きたくないんだが代替言語は今だとrustとdどっちがゆうぼ?
最近はnimと言うのが注目されてるとも聞いたが……
最近はnimと言うのが注目されてるとも聞いたが……
2017/10/23(月) 20:22:06.86ID:ANMjmVZt
誠に残念ながら今そのポジションはGoの一強
2017/10/23(月) 20:45:12.65ID:LSzHPC1F
Cよりスピード出るのはNimだけ!
2017/10/23(月) 20:50:25.75ID:Y0tE+5bm
ジャップランド土人村企業が詐欺のために求めているのはPHPだけ!
2017/10/23(月) 21:14:10.32ID:kb3Oh+Sb
どうかんかえてもRustだろ
2017/10/23(月) 21:25:58.19ID:xr09IWoG
2017/10/23(月) 21:47:48.94ID:C8zrSpyb
Rustは言語と名乗れる水準に達してないのでGo
深くシステムに触るのには向いてないがな
深くシステムに触るのには向いてないがな
90デフォルトの名無しさん
2017/10/23(月) 22:05:15.62ID:fT3gFD4f Goなのか……
他言語が純粋な次世代Cを目指してる中、Goは微妙に設計思想が違うイメージだからあえて外したんだが……やっぱりgoogle正義なのか
他言語が純粋な次世代Cを目指してる中、Goは微妙に設計思想が違うイメージだからあえて外したんだが……やっぱりgoogle正義なのか
2017/10/23(月) 22:05:44.54ID:f3vYk0Y4
92デフォルトの名無しさん
2017/10/23(月) 22:17:08.30ID:fT3gFD4f2017/10/23(月) 22:32:24.88ID:QdR3J7Zg
>>90
goとか言ってる連中の言うこと本気にするなよ。
goは数年周期でバズってるだけでC++の代替なら
Dかrustって考えは間違ってないしrust理解できないやつが
こことrustスレで騒いでるだけだぞ。
Dはもう流行らんだろうが、rustは学習コストより標準ライブラリの弱さが面倒。
自分で書くか外部ライブラリに依存しまくるかで基本的なスレッドプールすら無い。
低レベル向けだから結局自分で書くならrustでいいし、それが嫌ならDでいいよ。
rustとD位の差なら正直好みの差。
goとか言ってる連中の言うこと本気にするなよ。
goは数年周期でバズってるだけでC++の代替なら
Dかrustって考えは間違ってないしrust理解できないやつが
こことrustスレで騒いでるだけだぞ。
Dはもう流行らんだろうが、rustは学習コストより標準ライブラリの弱さが面倒。
自分で書くか外部ライブラリに依存しまくるかで基本的なスレッドプールすら無い。
低レベル向けだから結局自分で書くならrustでいいし、それが嫌ならDでいいよ。
rustとD位の差なら正直好みの差。
94デフォルトの名無しさん
2017/10/23(月) 22:40:54.47ID:5YqbDQKx >>92
ならやっぱりrustじゃない?
bindgen使えばc++のヘッダもパースしてc ffi用のglue code生成してくれる。
bindgenがどの程度まで万能かは俺もよくは知らんけど、
mozillaがfirefox quantumでservoとgeckoの橋渡しのために使ってるくらいだから
結構まともに動くんじゃないかとは思ってる。
ならやっぱりrustじゃない?
bindgen使えばc++のヘッダもパースしてc ffi用のglue code生成してくれる。
bindgenがどの程度まで万能かは俺もよくは知らんけど、
mozillaがfirefox quantumでservoとgeckoの橋渡しのために使ってるくらいだから
結構まともに動くんじゃないかとは思ってる。
2017/10/23(月) 23:08:38.91ID:Y0tE+5bm
おまんらの大好き ぷ〜えちピーーブリブリッ でも使えばええじゃろw
96デフォルトの名無しさん
2017/10/23(月) 23:35:53.28ID:b+23gIO2 みんなサンクス。
Goは学習コスト低いらしいから後追いでもなんとかなりそうだし、とりあえずrustで書いてみることにするわ
一刻も早くc++ が絶滅する事を祈る
Goは学習コスト低いらしいから後追いでもなんとかなりそうだし、とりあえずrustで書いてみることにするわ
一刻も早くc++ が絶滅する事を祈る
2017/10/24(火) 00:05:09.11ID:9ZgmGLcB
TypeScriptとGoを交互に触ってるけど
やっぱりnull安全な言語とそうじゃない言語の差が際立つな。
Goのほうは早速null pointerアクセスで落ちる。
やっぱりnull安全な言語とそうじゃない言語の差が際立つな。
Goのほうは早速null pointerアクセスで落ちる。
2017/10/24(火) 00:39:57.10ID:7j3gEWSq
c++が絶滅したら今c++で書かれてる様々なコードベースが色んな言語に分裂するんだぜ
バベルの塔
バベルの塔
2017/10/24(火) 00:51:24.05ID:MROfWTvM
バベルの塔を高くし過ぎたからしょうがないね
100デフォルトの名無しさん
2017/10/24(火) 01:31:49.56ID:KQRKQofh >>93
既存のまともに動いてるCコード移植しようとしてまともにコンパイルも通らなかった経験からまともな言語の水準に達してないといってるわけだが
少なくともRustでものが書けると信じこんでるお前よりはRust理解してるぞ
既存のまともに動いてるCコード移植しようとしてまともにコンパイルも通らなかった経験からまともな言語の水準に達してないといってるわけだが
少なくともRustでものが書けると信じこんでるお前よりはRust理解してるぞ
101デフォルトの名無しさん
2017/10/24(火) 02:18:45.70ID:EjQaHC6N102デフォルトの名無しさん
2017/10/24(火) 07:07:12.19ID:ZX4BnJ5l >>101
まずRustの木構造をちゃんと動くように書いてから言えよ
まずRustの木構造をちゃんと動くように書いてから言えよ
103デフォルトの名無しさん
2017/10/24(火) 08:36:29.96ID:uX1ymmQB rust で木構造云々言ってる奴って、コンパイラすら通せない rust コードしか書けない奴だろ。
Cで書いてあった平衡木のライブラリを rust に移植したけど、
> それに対して余計なアロケーション発生させずにappendとdelete実装してみてくれよ
こんなん普通に出来るぞ。
Option<Node> に get_or_insert() するだけ。
かなり苦労したのは木の回転だけど、それでも rust 用に頭を使ったら、
take() して mem::swap, mem::swap, mem::swap, そして代入の 5 行で終わり。
全体を通して余計なアロケーションなんて普通に無い。
rust は学習コスト結構高いけど、初歩の初歩で躓いた落ちこぼれ>>100,>>102 とかは何を言う権利も無いよ。
Cで書いてあった平衡木のライブラリを rust に移植したけど、
> それに対して余計なアロケーション発生させずにappendとdelete実装してみてくれよ
こんなん普通に出来るぞ。
Option<Node> に get_or_insert() するだけ。
かなり苦労したのは木の回転だけど、それでも rust 用に頭を使ったら、
take() して mem::swap, mem::swap, mem::swap, そして代入の 5 行で終わり。
全体を通して余計なアロケーションなんて普通に無い。
rust は学習コスト結構高いけど、初歩の初歩で躓いた落ちこぼれ>>100,>>102 とかは何を言う権利も無いよ。
104デフォルトの名無しさん
2017/10/24(火) 10:27:36.72ID:rYGI+fQg Cのコードを示せないrustアンチは糞ゴミだけど、動くコードを示していない>>103も何も言えていない
105デフォルトの名無しさん
2017/10/24(火) 11:02:52.32ID:pkngrV2F 自分の頭を撃ち抜くCのプログラム書いても運良く助かってる人は
Rustのコンパイル通せなくなるよね
Rustのコンパイル通せなくなるよね
106デフォルトの名無しさん
2017/10/24(火) 11:29:48.61ID:Bfcpp5kd そういう、Rustのコンパイルが通らなければ危険なコードって決めつけるRust信者本当にうぜえ
Rustが言語として表現できる範囲が狭いのをごまかすための方便でしかないのに
Rustが言語として表現できる範囲が狭いのをごまかすための方便でしかないのに
107デフォルトの名無しさん
2017/10/24(火) 11:31:23.83ID:9ZgmGLcB TypeScriptは本家のplaygroundを触るだけで凄さが分かるんだけど
https://www.typescriptlang.org/play/
rustってそういうのある?ちょっと試すとかできる?
https://www.typescriptlang.org/play/
rustってそういうのある?ちょっと試すとかできる?
108デフォルトの名無しさん
2017/10/24(火) 11:33:53.63ID:Pu0WJP1A109デフォルトの名無しさん
2017/10/24(火) 13:43:56.97ID:wa8jpGkt >>107
ググるとかしない人?単にTypeScript宣伝したいだけ?
https://play.rust-lang.org/
もとよりゆるふわTypeScript使いがRustのコンパイルを通せるとも思えないので端から試す気ゼロだろうけど…
ググるとかしない人?単にTypeScript宣伝したいだけ?
https://play.rust-lang.org/
もとよりゆるふわTypeScript使いがRustのコンパイルを通せるとも思えないので端から試す気ゼロだろうけど…
110デフォルトの名無しさん
2017/10/24(火) 13:56:01.66ID:Bfcpp5kd 選ばれた人しかコンパイラ通せない言語とかそれプログラミング言語って言えないよね
111デフォルトの名無しさん
2017/10/24(火) 14:30:25.93ID:9ZgmGLcB112デフォルトの名無しさん
2017/10/24(火) 16:07:36.55ID:0CxPdYg4 AltJSであるtsとRustのブラウザ上で動くplaygroundの機能差を語りたかったの?マジで?
Rustサゲしてる人はこの程度ってレッテル貼っていいの?
Rustサゲしてる人はこの程度ってレッテル貼っていいの?
113デフォルトの名無しさん
2017/10/24(火) 16:17:29.04ID:VubGQCWP 単にプロダクト開発のスキルの違いだな
MSの開発環境チームのメンバーはHelloWorldの代わりにインテリセンス実装するんだろう
MSの開発環境チームのメンバーはHelloWorldの代わりにインテリセンス実装するんだろう
114デフォルトの名無しさん
2017/10/24(火) 16:23:54.68ID:rmRTTRfd115デフォルトの名無しさん
2017/10/24(火) 18:42:18.67ID:bbIPnu9e なぜrustの対抗馬にTypeScriptが挙がるのかまるで理解できない
用途が全然違うだろ……
用途が全然違うだろ……
116デフォルトの名無しさん
2017/10/24(火) 19:07:54.15ID:x0LH18ak WebAssemblyが期待されてるから、あながち間違いでもない
117デフォルトの名無しさん
2017/10/24(火) 21:40:46.56ID:eZrIsy4p >>113
ほんとMSってそういう所は笑えるくらいすごいよな
Rust開発者たちも見習ってほしい
一応rustもコード補完にrlsとかいうヤツあるけどなんかまだいまいちなんだよな。
vscodeにrust(rls)っていうエクテンション入れて使ってるんだけど、
クロージャ書いてるときは補完が効かないのは俺だけ?
あとlint?(エラー・警告を赤・緑の下線で表示してくれるやつ)が
時々なんの前触れもなく急に無反応になるんだけどそれも俺だけ?
ほんとMSってそういう所は笑えるくらいすごいよな
Rust開発者たちも見習ってほしい
一応rustもコード補完にrlsとかいうヤツあるけどなんかまだいまいちなんだよな。
vscodeにrust(rls)っていうエクテンション入れて使ってるんだけど、
クロージャ書いてるときは補完が効かないのは俺だけ?
あとlint?(エラー・警告を赤・緑の下線で表示してくれるやつ)が
時々なんの前触れもなく急に無反応になるんだけどそれも俺だけ?
118デフォルトの名無しさん
2017/10/24(火) 22:14:01.00ID:FaGN7Q1b 少人数のMS社員が片手間でVSCode作ってみたら一瞬で天下獲れちゃいましたというチート集団
MSがRust推せば余裕でGo潰してベターC++の定番を奪えるだろうな
MSがRust推せば余裕でGo潰してベターC++の定番を奪えるだろうな
119デフォルトの名無しさん
2017/10/24(火) 22:51:21.66ID:z3aqO0G+ 片手間ってことはないし、エディタ作成なんてのは人数増やせばいいものでもない。
まあチート軍団ってのは確かだけど。
しかし Rust とか c++ みたいに教条主義的な言語ってやっぱ信者が湧くね。
わかりやすくていいとは思うけど。
まあチート軍団ってのは確かだけど。
しかし Rust とか c++ みたいに教条主義的な言語ってやっぱ信者が湧くね。
わかりやすくていいとは思うけど。
120デフォルトの名無しさん
2017/10/24(火) 23:14:23.65ID:MOiTAdLh 片手間とか余裕とか、良い子は絶対に真似してはいけない情報ばっかり教えるんだよな
そんなところに信者を集めたら怠け者の集団ができそうだ
そんなところに信者を集めたら怠け者の集団ができそうだ
121デフォルトの名無しさん
2017/10/25(水) 00:51:09.03ID:KYsAJ7k0 >>36じゃないけど、雑に平衡木(AA木)Cで実装してみた。
つってもWikipediaのまるコピだが。
#include <stdio.h>
#include <stdlib.h>
typedef struct tree {
int value;
struct tree* left;
struct tree* right;
int level;
} tree_t;
int level(tree_t* t) {
if (t == NULL) {
return 0;
}
return t->level;
}
tree_t* leftEnd(tree_t* t) {
if (t == NULL) {
return t;
} else if (t->left == NULL) {
return t;
} else {
return leftEnd(t->left);
}
}
(続く)
つってもWikipediaのまるコピだが。
#include <stdio.h>
#include <stdlib.h>
typedef struct tree {
int value;
struct tree* left;
struct tree* right;
int level;
} tree_t;
int level(tree_t* t) {
if (t == NULL) {
return 0;
}
return t->level;
}
tree_t* leftEnd(tree_t* t) {
if (t == NULL) {
return t;
} else if (t->left == NULL) {
return t;
} else {
return leftEnd(t->left);
}
}
(続く)
122デフォルトの名無しさん
2017/10/25(水) 00:51:31.44ID:KYsAJ7k0 tree_t* rightEnd(tree_t* t) {
if (t == NULL) {
return t;
} else if (t->right == NULL) {
return t;
} else {
return rightEnd(t->right);
}
}
tree_t* skew(tree_t* t) {
if (t == NULL) {
return t;
} else if (t->left == NULL) {
return t;
} else if (t->left->level != t->level) {
return t;
}
tree_t* l = t->left;
t->left = l->right;
l->right = t;
return l;
}
(まだ続く)
if (t == NULL) {
return t;
} else if (t->right == NULL) {
return t;
} else {
return rightEnd(t->right);
}
}
tree_t* skew(tree_t* t) {
if (t == NULL) {
return t;
} else if (t->left == NULL) {
return t;
} else if (t->left->level != t->level) {
return t;
}
tree_t* l = t->left;
t->left = l->right;
l->right = t;
return l;
}
(まだ続く)
123デフォルトの名無しさん
2017/10/25(水) 00:52:33.16ID:KYsAJ7k0 tree_t* split(tree_t* t) {
if (t == NULL) {
return t;
} else if (t->right == NULL) {
return t;
} else if (t->right->right == NULL) {
return t;
} else if (t->level != t->right->right->level) {
return t;
}
tree_t* r = t->right;
t->right = r->left;
r->left = t;
r->level += 1;
return r;
}
(続く)
if (t == NULL) {
return t;
} else if (t->right == NULL) {
return t;
} else if (t->right->right == NULL) {
return t;
} else if (t->level != t->right->right->level) {
return t;
}
tree_t* r = t->right;
t->right = r->left;
r->left = t;
r->level += 1;
return r;
}
(続く)
124デフォルトの名無しさん
2017/10/25(水) 00:52:56.15ID:KYsAJ7k0 tree_t* decreaseLevel(tree_t* t) {
if (t == NULL) {
return t;
}
int ll = level(t->left);
int rl = level(t->right);
int expectedLv;
if (ll < rl) {
expectedLv = ll + 1;
} else {
expectedLv = rl + 1;
}
if (expectedLv < t->level) {
t->level = expectedLv;
if (t->right != NULL) {
if (expectedLv < t->right->level) {
t->right->level = expectedLv;
}
}
}
return t;
}
if (t == NULL) {
return t;
}
int ll = level(t->left);
int rl = level(t->right);
int expectedLv;
if (ll < rl) {
expectedLv = ll + 1;
} else {
expectedLv = rl + 1;
}
if (expectedLv < t->level) {
t->level = expectedLv;
if (t->right != NULL) {
if (expectedLv < t->right->level) {
t->right->level = expectedLv;
}
}
}
return t;
}
125デフォルトの名無しさん
2017/10/25(水) 00:53:17.67ID:KYsAJ7k0 tree_t* insertTree(tree_t* t, int v) {
if (t == NULL) {
t = malloc(sizeof(tree_t));
t->value = v;
t->left = NULL;
t->right = NULL;
t->level = 1;
} else if (v > t->value) {
t->right = insertTree(t->right, v);
} else {
t->left = insertTree(t->left, v);
}
t = skew(t);
t = split(t);
return t;
}
肝心の関数まで遠いなほんと
if (t == NULL) {
t = malloc(sizeof(tree_t));
t->value = v;
t->left = NULL;
t->right = NULL;
t->level = 1;
} else if (v > t->value) {
t->right = insertTree(t->right, v);
} else {
t->left = insertTree(t->left, v);
}
t = skew(t);
t = split(t);
return t;
}
肝心の関数まで遠いなほんと
126デフォルトの名無しさん
2017/10/25(水) 00:55:17.25ID:KYsAJ7k0 tree_t* removeTree(tree_t* t, int v) {
if (t == NULL) { return t; }
else if (v == t->value) {
if (t->left == NULL && t->right == NULL) {
free(t);
return NULL;
} else if (t->left == NULL) {
tree_t* e = leftEnd(t->right);
int succ = e->value;
t->right = removeTree(t->right, succ);
t->value = succ;
} else {
tree_t* e = rightEnd(t->left);
int pred = e->value;
t->left = removeTree(t->left, pred);
t->value = pred;
}
} else if (v > t->value) { t->right = removeTree(t->right, v); }
else { t->left = removeTree(t->left, v); }
t = decreaseLevel(t);
t = skew(t);
t->right = skew(t->right);
if (t->right != NULL) {
t->right->right = skew(t->right->right);
}
t = split(t);
t->right = split(t->right);
return t;
}
おしまい。 まじこんなクソコードに何レスもついやしてすまん。
if (t == NULL) { return t; }
else if (v == t->value) {
if (t->left == NULL && t->right == NULL) {
free(t);
return NULL;
} else if (t->left == NULL) {
tree_t* e = leftEnd(t->right);
int succ = e->value;
t->right = removeTree(t->right, succ);
t->value = succ;
} else {
tree_t* e = rightEnd(t->left);
int pred = e->value;
t->left = removeTree(t->left, pred);
t->value = pred;
}
} else if (v > t->value) { t->right = removeTree(t->right, v); }
else { t->left = removeTree(t->left, v); }
t = decreaseLevel(t);
t = skew(t);
t->right = skew(t->right);
if (t->right != NULL) {
t->right->right = skew(t->right->right);
}
t = split(t);
t->right = split(t->right);
return t;
}
おしまい。 まじこんなクソコードに何レスもついやしてすまん。
127デフォルトの名無しさん
2017/10/25(水) 00:56:55.22ID:KYsAJ7k0 改めて書いてみて思ったが、平衡木って平衡保つための操作がポインタのつけかえ多くて
確かにRustにはキツそうだなとか思ったり
データコピーなし縛りで実装するのはRust歴1週間の自分には無理そうだ
確かにRustにはキツそうだなとか思ったり
データコピーなし縛りで実装するのはRust歴1週間の自分には無理そうだ
128デフォルトの名無しさん
2017/10/25(水) 01:27:50.62ID:egHPItlD Rust 的にはそんなに派手に持ち主変えるな、もしくはコピーを使えって感覚なんだろう。
そういうのは上のレイヤーだったら正しいと思うけど、アルゴリズムなコードの場合は
ちと厳しいかもしれん。
付け替えが頻繁に発生する構造の場合は
int parent[]; int right[]; int left[];
みたいな配列実装しろてな記事は見た事なるな。
直感的ではないけど速度は出るし、まあ慣れてる奴からすればどっちも一緒といえば一緒かな。
そういうのは上のレイヤーだったら正しいと思うけど、アルゴリズムなコードの場合は
ちと厳しいかもしれん。
付け替えが頻繁に発生する構造の場合は
int parent[]; int right[]; int left[];
みたいな配列実装しろてな記事は見た事なるな。
直感的ではないけど速度は出るし、まあ慣れてる奴からすればどっちも一緒といえば一緒かな。
129デフォルトの名無しさん
2017/10/25(水) 01:53:05.61ID:KYsAJ7k0 そういう、どうしても生ポインタごそごそつけかえる必要がある基幹アルゴリズムは、unsafeでくるんでやれって感じなのかね
実際この平衡木の実体が複数スレッドから独立に操作されるとか考えると割と困る
実際この平衡木の実体が複数スレッドから独立に操作されるとか考えると割と困る
130デフォルトの名無しさん
2017/10/25(水) 06:54:35.09ID:2hh4Hzpf gitみたいに、古いデータを消去することなく
しかも変更のない部分はいちいちコピーしないアルゴリズムを考えるんだ
そうすれば古い方のデータに別スレッドから安全にアクセスできるよ
しかも変更のない部分はいちいちコピーしないアルゴリズムを考えるんだ
そうすれば古い方のデータに別スレッドから安全にアクセスできるよ
131デフォルトの名無しさん
2017/10/25(水) 10:38:32.59ID:1aquIA8S 結局たかが赤黒木すらRustでは書けないって認識でいいの?
ほんとプログラミング言語名乗るなよ
ほんとプログラミング言語名乗るなよ
132デフォルトの名無しさん
2017/10/25(水) 10:59:08.02ID:2hh4Hzpf133デフォルトの名無しさん
2017/10/25(水) 11:14:21.26ID:j3LwAfcI Rustの問題は後発のくせにIDE連携が弱すぎる。
KotlinとかSwiftとか後発の言語は大概IDEと一緒に提供してるから
最初から補完がきっちり効く。
Goも昔はイマイチだったけど改善してるから許せる。
TypeScriptは言語そのものにIDE連携のための機能をたっぷり盛り込んでいるから
見習ってほしいって話。
初学者程IDE連携が必要だからな。言語仕様が優れてていても
ツールとして使い勝手が良くなきゃ使わんよ。
それにRustの立ち位置って
OS開発とブラウザ開発くらいしかメリットが思い浮かばんのだけども
CLIならGoだし
WebならPHPとかRubyとかGoとか乱立状態だし
WEBのクライアントサイドならTypeScriptだし
スマホならKotlinかSwiftかObjC
このどこにRustが入り込むの?
KotlinとかSwiftとか後発の言語は大概IDEと一緒に提供してるから
最初から補完がきっちり効く。
Goも昔はイマイチだったけど改善してるから許せる。
TypeScriptは言語そのものにIDE連携のための機能をたっぷり盛り込んでいるから
見習ってほしいって話。
初学者程IDE連携が必要だからな。言語仕様が優れてていても
ツールとして使い勝手が良くなきゃ使わんよ。
それにRustの立ち位置って
OS開発とブラウザ開発くらいしかメリットが思い浮かばんのだけども
CLIならGoだし
WebならPHPとかRubyとかGoとか乱立状態だし
WEBのクライアントサイドならTypeScriptだし
スマホならKotlinかSwiftかObjC
このどこにRustが入り込むの?
134デフォルトの名無しさん
2017/10/25(水) 11:47:25.56ID:2hh4Hzpf そもそもC++があまり成功してないから改善するためにRustがある
C/C++と合計して考えるとJavaより上だけど合計しなければC++は成功してないよ
C/C++と合計して考えるとJavaより上だけど合計しなければC++は成功してないよ
135デフォルトの名無しさん
2017/10/25(水) 12:31:23.13ID:L5aebztM C++が成功してないwwwwwwwwwww
どこの平行宇宙ですかwwwwwwwwwwwwwwwww
どこの平行宇宙ですかwwwwwwwwwwwwwwwww
136デフォルトの名無しさん
2017/10/25(水) 13:46:26.44ID:egHPItlD まあ c++ がうまくいってればこんなに言語がたくさんできることはなかっただろうね。
c++ の存在意義は今や高級な機能をどれだけランタイム速度落とさずに入れられるのかの
実験場って位置づけかな。
c++ の存在意義は今や高級な機能をどれだけランタイム速度落とさずに入れられるのかの
実験場って位置づけかな。
137デフォルトの名無しさん
2017/10/25(水) 13:55:53.69ID:L5aebztM C++は完璧な言語だとか口が割けても言えないのは間違いないが、Rustなんて言語ですらない汚物使うくらいならC++使うわなあ
138デフォルトの名無しさん
2017/10/25(水) 15:45:07.57ID:+h/lSeC6 ID:KYsAJ7k0のコードのRust版まだー?
139デフォルトの名無しさん
2017/10/25(水) 16:40:52.54ID:GfXNw50M >>133
rlsあるし十分やん
rlsあるし十分やん
140あ
2017/10/25(水) 18:10:38.69ID:Wj9s3Y5p TSは手段と目的がたまに入れ替わるのが見てるとちょっもモヤモヤするな。
C#が最近もう一度好きになってきた。
C#が最近もう一度好きになってきた。
141デフォルトの名無しさん
2017/10/25(水) 19:10:42.88ID:ajBcpsg9 >>138
まあまあ今ごろコンパイラに怒られてる頃だしもうちょっと待ってやろうぜwwwwww
まあまあ今ごろコンパイラに怒られてる頃だしもうちょっと待ってやろうぜwwwwww
142デフォルトの名無しさん
2017/10/25(水) 20:35:19.01ID:rCcyDoqV rustスレよりもりあがっとるやんここ
143デフォルトの名無しさん
2017/10/25(水) 20:59:03.30ID:EAW9qNH5 cに名前空間とラムダとattribute((cleanup))が入るだけでもだいぶ助かるのに。
なんでcの規格のバージョンアップは遅いんだ?
c++みたく3年毎にしてくれたらいいのに。
なんでcの規格のバージョンアップは遅いんだ?
c++みたく3年毎にしてくれたらいいのに。
144デフォルトの名無しさん
2017/10/25(水) 21:12:25.50ID:7dSKsD7g145デフォルトの名無しさん
2017/10/25(水) 22:58:44.78ID:egHPItlD >>143
C++みたく闇鍋状態にしたくないからだろ。
C++みたく闇鍋状態にしたくないからだろ。
146デフォルトの名無しさん
2017/10/25(水) 23:13:35.98ID:GfXNw50M モジラが2ch見てるわけねーだろ
糖質かよ
糖質かよ
147デフォルトの名無しさん
2017/10/25(水) 23:16:03.33ID:j3LwAfcI rustをそこまで毛嫌いする必要もないと思うけどな
rustのメモリオーナーシップモデルとかコードの改善に貢献するという話もあるし
ちょっと気にはなってる。
rustのメモリオーナーシップモデルとかコードの改善に貢献するという話もあるし
ちょっと気にはなってる。
148デフォルトの名無しさん
2017/10/26(木) 00:20:17.07ID:9syp6YaG rustアンチって同一人物だろ
コンパイル通らなくてイライラしてるんだね^^
コテ付けて、どうぞ
コンパイル通らなくてイライラしてるんだね^^
コテ付けて、どうぞ
149デフォルトの名無しさん
2017/10/26(木) 00:21:04.60ID:T1ShqX6y rustは何がそんなに駄目なんだろ
そこ迄言われると学びたくなってくる
そこ迄言われると学びたくなってくる
150デフォルトの名無しさん
2017/10/26(木) 00:26:09.28ID:9syp6YaG >>149
他の言語にはない所有権システムが原因で学習コストが高い
使いこなせば強力だけどとても難しい機能
それで使いこなせてない人が「コンパイル通らない」って発狂してる
例えると、初めてHaskell言語触る人が「変数に代入出来ないから何も出来ない!Haskellは欠陥言語!」って言ってるような物
他の言語にはない所有権システムが原因で学習コストが高い
使いこなせば強力だけどとても難しい機能
それで使いこなせてない人が「コンパイル通らない」って発狂してる
例えると、初めてHaskell言語触る人が「変数に代入出来ないから何も出来ない!Haskellは欠陥言語!」って言ってるような物
151デフォルトの名無しさん
2017/10/26(木) 00:31:32.93ID:zsf3GtyN rustのコンパイルを通せない低級汚グラマーが
嫉妬で腐してるだけだろ
腐ってるのはテメーの言語センスだろってね
嫉妬で腐してるだけだろ
腐ってるのはテメーの言語センスだろってね
152デフォルトの名無しさん
2017/10/26(木) 00:32:53.75ID:9syp6YaG Haskell言語って何だ
夜は誤字増えるから寝よう
夜は誤字増えるから寝よう
153デフォルトの名無しさん
2017/10/26(木) 00:50:43.34ID:T1ShqX6y154デフォルトの名無しさん
2017/10/26(木) 03:24:21.96ID:EtDTWIur まあ御託はいいからデータコピーなしの平衡二分木をRustで書いてからにしてくれよ
Cのコードは出たぞ
Cのコードは出たぞ
155デフォルトの名無しさん
2017/10/26(木) 05:10:18.37ID:IaYxMsud Haskellなら副作用だらけのコードは断固拒否するだけだが
Rustで副作用を拒否すると延々と粘着されそう
ついでにPythonは静的型を拒否するだけだが
Goはジェネリクスがない件で永久にいじめられるんだろう
Rustで副作用を拒否すると延々と粘着されそう
ついでにPythonは静的型を拒否するだけだが
Goはジェネリクスがない件で永久にいじめられるんだろう
156デフォルトの名無しさん
2017/10/26(木) 07:04:11.52ID:hnEjL22C Haskellは速さは捨てて副作用を無くすことに全振りしてるけど、Rustはそうではないからな
157デフォルトの名無しさん
2017/10/26(木) 09:12:10.17ID:ZXFAdbhr Rustはunsafeつかえば(ffiしたほうがはやいだろうが)できないことはないと思ってるんだが違うのかな?
158デフォルトの名無しさん
2017/10/26(木) 09:59:20.18ID:tFGGFqQC Goはいつものgoogleのフカしで持ち上げられてる感がプンプンするぜ。
単なる昔ながらのVM使ってない静的型付け言語を
システムプログラミングとかいうバズワードを作って
スクリプトしか描いたことない奴らにいかにも新しいものであるかのように錯覚させてる。
単なる昔ながらのVM使ってない静的型付け言語を
システムプログラミングとかいうバズワードを作って
スクリプトしか描いたことない奴らにいかにも新しいものであるかのように錯覚させてる。
159デフォルトの名無しさん
2017/10/26(木) 10:42:13.95ID:1t2EMvpb160デフォルトの名無しさん
2017/10/26(木) 10:47:47.28ID:Y5WhyQQy 最近は新しいOSSもGoで書かれてるの多くてうんざりする
再来年辺りには「Goは終わった」とか言われだしてScalaと同じ道を辿るのわかりきってるのにWeb系の馬鹿共は何度同じ間違いを繰り返すのか
再来年辺りには「Goは終わった」とか言われだしてScalaと同じ道を辿るのわかりきってるのにWeb系の馬鹿共は何度同じ間違いを繰り返すのか
161デフォルトの名無しさん
2017/10/26(木) 11:10:35.34ID:8qIiNs+I 個人的にはDが一番純粋なc++ 後継って感じで頑張って欲しいんだけどなぁ
まったく流行る兆しがない……
別に新しい言語を求めてるんじゃないんだ。c++ からc互換を取り除いて標準ライブラリと文法見直してくれるだけでいいんだ
まったく流行る兆しがない……
別に新しい言語を求めてるんじゃないんだ。c++ からc互換を取り除いて標準ライブラリと文法見直してくれるだけでいいんだ
162デフォルトの名無しさん
2017/10/26(木) 11:45:28.73ID:xVKEuI/f163デフォルトの名無しさん
2017/10/26(木) 11:47:37.13ID:xVKEuI/f■ このスレッドは過去ログ倉庫に格納されています
ニュース
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- 【山形】クマ駆除で誤射した猟友会隊員に町が1663万円請求へ...弾当たり男性大けが2023年 小国町 [nita★]
- 【WOWOW】UEFAチャンピオンズリーグ・ヨーロッパリーグ ★18
- とらせん
- 巨専】
- 【WOWOW】UEFAチャンピオンズリーグ・ヨーロッパリーグ ★17
- こいせん 全レス転載禁止
- わしせん ようこそ佐藤直樹くん ありがとう石井さん
- 中国人、ガチ超正論。「日本人がアイヌに対してやったことを『問題ない』とするなら、中国が日本人に同じことをしても文句ないだろう?」 [314039747]
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- 最近レッテル貼りしてドヤ顔してるガチガイジが嫌儲に増えてない? [866936191]
- 木曜日のんなっしょい❗(・o・🍬)仕放題スレ🏡
- 【悲報】日本共産党、ツイッター速報にブチギレ法的措置WWWWWWWWWWWWWWWWWWWWWWWWWWWW [935793931]
- 官僚「台湾有事についての質問か、『政府として逐一答えない』と…(カタカタカタ)」高市「私1人で答弁できるわよ!」 [972432215]
