次世代言語12 Go Rust Swift Kotlin TypeScript

■ このスレッドは過去ログ倉庫に格納されています
2018/07/04(水) 09:38:15.76ID:qg2ggPtj
スレタイ以外の言語もok

前スレ
次世代言語11[Rust Swift TypeScript Dart]
https://mevius.5ch.net/test/read.cgi/tech/1528037607/
2018/07/17(火) 01:50:03.11ID:BJF1Zhqz
GCが有っても、不要になったデータは破壊される
ただしその事実が隠蔽される

Haskellでもデータは破壊され、隠蔽される
もし隠蔽しなかったら、破壊的代入禁止という無理ゲーがもっと簡単になるよね
だからRustはGCをやめ、隠蔽するのをやめた
2018/07/17(火) 07:16:12.90ID:2OjPLMsJ
破壊的代入禁止が無理ゲーってどこのドカタ星の話だよ
Rust使ってると脳が破壊されるのかな?
2018/07/17(火) 10:32:38.35ID:0OwAmWRB
Goはゴミだっていう記事を見たけどどうする?
183デフォルトの名無しさん
垢版 |
2018/07/17(火) 11:05:08.67ID:hR326+dd
そんな旧約聖書にだって書かれているようなことは議論の余地もない
2018/07/17(火) 12:00:50.30ID:6bm5oNFX
rustは次世代言語の逆で、幼児退行言語。
rustの所有権は、赤ん坊のおしゃぶりと同じ。
おなかすいたらGCおかあさんのおっぱい吸えばいいのに
いつもおしゃぶりを握っていないと不安になるだけ。
2018/07/17(火) 12:29:27.79ID:vHkWfwEU
不可抗力的にお母さんのおっぱいが出ない(パフォーマンス上制約のある)現場はどうするのか
幼児退行を悪い事として述べる為におしゃぶりという例を用いているのに、良いものとしておっぱいを挙げているので幼児退行と非幼児退行の良し悪し比較がおしゃぶりとおっぱいの比較になりレスの中で批判の比喩が統一されていない

何かに例えてもふわっとしか批判できないのにそれを通り越して例えに統一感がない無意味さの塊みたいなレス
2018/07/17(火) 12:39:43.59ID:0OwAmWRB
難しい
2018/07/17(火) 12:43:53.52ID:uT1wIskE
C++使え
2018/07/17(火) 14:32:34.83ID:JKjXJV9Z
めっちゃ早口で言ってそう
2018/07/17(火) 15:13:35.79ID:g4tBIWtL
おっぱい(GC)で十分なのに、実際は効果のない何かを手で握ってないと不安な幼児退行ってことだろ
おしゃぶりじゃなくてガラガラって方が例えとして正しいと思うが

Rustが幼児退行言語ってことには激しく同意する
もうちょい踏み込むとアダルトチルドレン言語か?
ママのおっぱい(GC)には頼りたくないけどガラガラ握ってないと不安なクソガキメンタル
2018/07/17(火) 15:20:19.98ID:Xr+5nhkx
スレッドセーフなARCと
シングルスレッド専用ARCと
mark&sweepのようなもの
を使い分けたい=宣言したいという需要がとても強い

どう強いかっていうと、int型とdouble型とstring型を宣言したい需要と同じ種類の強さ
2018/07/17(火) 15:21:47.71ID:sMfNfOyF
そういえば最近GCも
新しいアルゴリズムやらで改良されてるね
2018/07/17(火) 15:29:20.45ID:g4tBIWtL
ガラガラ握り続けてないと不安で不安で仕方ないRustちゃん
巡回参照を持てない時点で使い物にならない言語なんだよなあ
193デフォルトの名無しさん
垢版 |
2018/07/17(火) 17:22:24.01ID:hR326+dd
巡回ねぇ
2018/07/17(火) 18:02:40.72ID:boY3/Xbc
どのcpuでもinterlockedなインクリメントやデクリメントがあるから、
よほどコア数大きくない限りそんなに違いでないのでは?
測ってないけど。

>>スレッドセーフなarcとシングルスレッド専用のarc
2018/07/17(火) 18:03:57.98ID:QKXw222v
>>188
ラストスタンディングマン方式でレスバしてる板の定型文はNG
2018/07/17(火) 18:15:18.06ID:ZOnOxMMr
>>195
おっぱいおっぱい言ってるレスへの返答なんて適当でいいでしょ
2018/07/17(火) 18:37:48.50ID:QKXw222v
エッチだ…
2018/07/17(火) 19:11:52.22ID:/YoZRf2z
rustみたいな言語が一般に広まっても
結局無理やりコンパイル通すためにRefCell,unsafe使いまくりのクソコードが
蔓延するだけなんだよね。
「コンパイル通れば安全」とかね、プログラムのバグの多くはそんなところにはない。
2018/07/17(火) 19:37:16.70ID:cQRkMzpw
そうそれは人の心のなかにあるのです
2018/07/17(火) 19:49:51.65ID:llJWBlJL
まあRustなんてやってる奴は、
悪いこと言わないからCやC++やってろってこった
201デフォルトの名無しさん
垢版 |
2018/07/17(火) 20:03:03.78ID:hR326+dd
どんな現場にいたら >>198 みたいな歪んだ考えをもつんだ?
気の毒すぎるだろ
2018/07/17(火) 20:27:09.02ID:anKKTTWb
>>175
デフォルト借用

破壊というと御幣があるが、C++の仕様をいうならなおさら
auto_ptrへの所有権移動で
=だけで移動するのがわかりにくいからって非推奨になった経緯がある
2018/07/17(火) 20:54:44.55ID:nqiso9Rb
>>200
C,C++は習得した上で趣味でやるもんでしょ。
2018/07/17(火) 21:45:45.87ID:Xr+5nhkx
>>198
動的言語でできることはすべて静的言語でもできる
この性質により、お前らが気に食わないコードでもコンパイルが通る

RefCellはコンパイル時ではなく実行時にborrowチェックしているようだな
まるで動的言語のようだ
2018/07/17(火) 21:51:32.49ID:c2JpqyiJ
>>202
デフォルト借用なら移動の方はどんな演算子orキーワードを導入するの?

>auto_ptrへの所有権移動で
>=だけで移動するのがわかりにくいからって非推奨になった経緯がある
それはC/C++の=はもともとコピーのセマンティクスを持つから移動に変えたら分かりにくいって事情があったからでしょ?
RustはCとの互換を捨ててるからCのセマンティクスの影響は受けない
でも、Rustは互換は捨ててもCとの親和性は欲しいという都合(ワガママとも言える)があるから
Rustの参照(借用)はC/C++の参照と似たようなセマンティクスになる&で妥当だと思うけど?
C++とRustのコピー・移動・参照(借用)の方法を整理すると↓になる

C++
コピー : =
移動 : std::move()
参照 : &

Rust
コピー : Copyトレイト
移動 : =
参照(借用) : &
2018/07/17(火) 22:14:52.05ID:cS4zRgZd
>>191
具体的に教えてください
2018/07/17(火) 22:14:55.31ID:anKKTTWb
C++ユーザー取り込むために文法にせてるのに
肝心のところでC++ユーザーが混乱するじゃないか…
どうせ=で移動したって参照わたしてるんだから&の意味がズレてる

所有権の移動という重要なできごとにこそ別途印がつくべきだった
2018/07/17(火) 22:18:19.09ID:c2JpqyiJ
>>179
>半ば本気で言うが c++ で生ポインタ使わなければ概ね実現できるんじゃないか
出来ると思うよ
でも、C++はRustよりもさらに複雑怪奇な仕様で使いづらい
C++のスマートポインタは正しい使い方をすればRustに負けず劣らず優れてるけど
それは、同程度に優れているだけであってRustより優れているとは思わない

あと、少し話が変わるけど実はRustの最も優れているところは
所有権・借用・ライフタイムの概念よりもエラーハンドリングだと思ってる
あのResult型とErrorトレイト・Fromトレイトとtry!マクロ(?演算子)を使用した
エラーハンドリングの方法は個人的には感動するレベルの代物だった
今後の次世代言語のエラーハンドリングは全てあれをベースに発展させていくべきだと思うほど気に入っている
2018/07/17(火) 22:28:43.55ID:c2JpqyiJ
>>207
>どうせ=で移動したって参照わたしてるんだから
あれ?それって仕様として決まってるんだっけ?
コンパイラの最適化の結果としてそうなるってだけじゃなかったっけ?

>>所有権の移動という重要なできごとにこそ別途印がつくべきだった
いや、だからその移動に何の印を付けるのがいいと思ってるの?
俺は借用には&が妥当だと思うとは言ってるけどベストだとは言ってないじゃん
ベターな代替え案があるなら俺だって意見を変えるよ
2018/07/17(火) 22:40:17.36ID:Xr+5nhkx
x = f(x) とか
C++で有名な x = x とか
これらはmoveが最善
2018/07/17(火) 23:26:02.33ID:anKKTTWb
Rustも=でコピーのことがあるから余計ややこしい
let p = q ってかいてあってqがその後も使いまわせるかぱっと見わからんとか
ポインタっぽく普段の=は参照渡しで&が所有権移動にすりゃよかったとおもう
2018/07/17(火) 23:59:18.30ID:ztKpQtDs
スレチなんでちょっとだけ、C++は別に複雑では無いよ
プリプロセッサは氏んだほうがいいけど
213211
垢版 |
2018/07/18(水) 00:26:29.77ID:mEKlqXRd
書いてて初めて気が付いた
実際に触ったことないから想像で書いてるんだが

>let p = q ってかいてあってqがその後も使いまわせるかぱっと見わからん

ほんとにこういう仕様なのか
使いづらすぎんかこれ?
2018/07/18(水) 00:39:34.50ID:eCPOxZU7
使い回せるかどうかはCloneトレイト実装してるかどうかに依存する
つまり見た目ではわからない

まあそもそも古い変数を変なとこで使い回す設計って普通にバグの元だし
ぱっと見てコピーかムーブか分かるかどうかが重要かと言われると確かに怪しい
ぱっと見で区別が必要なコード書くなって話だな
2018/07/18(水) 00:56:25.58ID:gLPB1OcG
逃げるのか?
2018/07/18(水) 01:07:18.74ID:oqdCTGqL
使い回せるかどうかは、ぱっと見た時ではなく、コンパイル時にわかる
ぱっと見てわかるならコンパイラいらねえよ
2018/07/18(水) 01:26:46.09ID:Deu2WR7T
スクリプト言語以外はとりあえずgoやっときゃええの?
2018/07/18(水) 01:51:32.87ID:SDgYFH54
今時文字列リテラルに変数とか式を埋め込めない言語って嫌がらせかよって思う
2018/07/18(水) 01:53:31.62ID:JqSumQxK
Goは他のまともな言語をいくつか使える人にとっては、低脳言語な割には意外とまともに使えるよく考えられてる言語だ、という感想になるけど、
PHPとGoしか知らないとかだと普通に低脳なだけの言語になっちゃいそう
頭悪くなるからやめとけ
2018/07/18(水) 01:58:34.09ID:wh/4A4W/
高脳言語はどれ
221デフォルトの名無しさん
垢版 |
2018/07/18(水) 05:20:47.62ID:ZBblVXCv
>>214
Copyトレイトな
2018/07/18(水) 08:17:22.02ID:hDCcLLBq
C++って埋め込みできる?
2018/07/18(水) 10:24:34.37ID:VMuEGAmx
>>219
まさにこれ
低脳言語の中では一番頭がいいのがGo
頭がいいと思って使うと肩透かしくらうが、低能と割りきるならすこぶる便利

そこにニーズがあると読みきったGoogle少しだけ見直したわ
2018/07/18(水) 13:39:15.98ID:uM9cLKhF
Go言語らしさを生かしてどうこう言われると反発したくなるので関心を持たないことにした
225デフォルトの名無しさん
垢版 |
2018/07/18(水) 15:41:12.26ID:KM8lntjZ
低能言語って何?
2018/07/18(水) 17:33:07.79ID:4nsDvlkN
ソースコードのエントロピーの低い言語
2018/07/18(水) 18:23:26.35ID:Fn/85jhH
エントロピーの意味クグって来いよw
2018/07/18(水) 21:00:27.24ID:dWzHsOBF
エントロピー低いなら低能じゃないだろって思ったけど、驚き最大的な意味ではたしかにエントロピー高いのが一番いいのか?

圧縮専門の人頼む
2018/07/18(水) 21:13:13.80ID:QKyKgyQ2
ざっくり言うと
「これもっと短く書く記法や仕組みがあるだろ」
というようなものが低エントロピー
2018/07/18(水) 21:15:02.23ID:pwxFfWjq
短けりゃいいってのか!?
2018/07/18(水) 21:18:56.01ID:zEuGqywN
別に良いとも悪いとも言ってない
エントロピーの話

ライブラリや組み込み機能を使って短く書けました!
なんてのは圧縮で言うなら辞書式圧縮だな
232デフォルトの名無しさん
垢版 |
2018/07/18(水) 21:22:45.59ID:ZBblVXCv
goはコードの見た目がなんとなくダサい
2018/07/18(水) 22:12:26.78ID:ASnSHc4W
よく勘違いしたアホがいうソースコードのエントロピーの増大ってのは、
MOVE A OF X TO A OF Y
MOVE B OF X TO B OF Y
MOVE C OF ...
の二行目だけが仕様変更で
COMPUTE B OF Y = B OF X + 1
に変わったら元より情報量が増えるという当たり前のことを言ってるに過ぎない
最初から
MOVE CORRESPONDING X TO Y
の一行だったら当然同じ行数あたりのエントロピーはずっと大きくなる
2018/07/18(水) 22:34:11.10ID:QzRfakeX
エントロピーが低いと無駄な繰り返しが多いけど、高すぎるとgzになっちゃう感じか
ギブズエネルギーに当たる概念はないのか?
2018/07/18(水) 22:37:03.82ID:SZpQWJ2l
pythonとかいう可読性の低い言語あるよな
2018/07/18(水) 22:59:48.25ID:pmi0+hzZ
なんでエントロピーって言葉を使うの?コンテキストじゃ駄目なの?
2018/07/18(水) 23:02:17.93ID:dWzHsOBF
すまんがコンテキストって何ンゴ? エントロピーとはちょっと違う概念なの?
2018/07/18(水) 23:13:08.49ID:gLPB1OcG
最近のVSCodeが最強過ぎて恐ろしいわ
MS帝国の再来ですわ
2018/07/18(水) 23:24:52.59ID:CFja5vVk
確信をもって言える。確実にエントロピーを間違って理解している
2018/07/18(水) 23:25:14.34ID:QzRfakeX
たしかに
2018/07/18(水) 23:39:20.30ID:gLPB1OcG
エッッッッッッッッッッッッッッんとろォぴ〜〜〜
2018/07/19(木) 00:03:27.51ID:ndhIWUEK
まずエントロピーと自己エントロピーとをちゃんと区別しろ
2018/07/19(木) 00:04:36.51ID:Rz9ksA7X
次世代ンとろぴ〜スレはここですじゃ?ンゴw
2018/07/19(木) 00:10:39.97ID:I2PZiIcj
単純に圧縮率をあげるなら予約語は一文字にすべきだ。
しかし一般に冗長性がないと多分人間はまともに読めん。
2018/07/19(木) 00:12:49.13ID:LG/rY+vI
>>242
すまんが自己エントロピーって何ンゴ?自己情報量とは違うものなん?
2018/07/19(木) 00:16:42.23ID:LG/rY+vI
>>244
予約語一文字にしても正直行けそう
2018/07/19(木) 00:19:00.62ID:qEg7Djn6
てめえここでンゴるとはいい度胸してんな
まとめ民ならまとめに、J民なら標準語で喋るんやで
2018/07/19(木) 00:20:57.06ID:Rz9ksA7X
(お、Jか?)(すまんのか?)
249デフォルトの名無しさん
垢版 |
2018/07/19(木) 00:21:38.54ID:mgU85F4C
もうここJの植民地にしようぜ
250デフォルトの名無しさん
垢版 |
2018/07/19(木) 00:22:10.96ID:ise8Wrtn
vscodeはemacsキーバインド使えるようになりました?
2018/07/19(木) 00:24:42.97ID:qEg7Djn6
そうか……🤔




じゃあ今日からここはプロJ板だからよろしくやで〜
オッスお願いしまーす!
2018/07/19(木) 00:34:51.05ID:Rz9ksA7X
J言語でンゴンゴ・コンパイルw
2018/07/19(木) 00:37:41.81ID:Rz9ksA7X
アンノォ…自分ンゴンゴダンスいいっすか?
2018/07/19(木) 00:56:55.70ID:sa+Z/ha1
夏だなぁ
2018/07/19(木) 01:01:33.29ID:qO/fHdWQ
J言語w
2018/07/19(木) 01:33:48.24ID:sa+Z/ha1
何がおかしいんだこのクズ
J言語はとっくの昔にある
ans =: -:@(1&o.@((o.2)&%)@#*+/@(*(}.@, {.))"1@((/:[)/:(/:+/@(*,~/"1)@(*\)@i.@#)))
2018/07/19(木) 01:37:16.51ID:qO/fHdWQ
>>256
はぁ?そんなもん知っとるわw 昔からあるからこそ面白いんやぞ��
ユーモアのセンスのないガイジが人をクズ呼ばわりする前にちょっとは相手の意図でも考えればw
2018/07/19(木) 01:50:46.50ID:fostnbwB
J言語はちょうど話題になってる「圧縮率高い言語」と言えるのでは
2018/07/19(木) 02:14:18.94ID:qO/fHdWQ
一見読みにくそうだが、慣れたら読みやすいのかな
2018/07/19(木) 06:36:04.68ID:7J8bSQkS
perlも$@みたいな組み込み変数が多用されてるから圧縮率高い?
2018/07/19(木) 07:52:21.90ID:eBiYRhdM
コンパイル言語のScalaですら、イカ演算子やらググラビリティの低さで敬遠されがちだったのに
型無し糞言語の糞みたいな演算子、迷惑以外の何物でもない

ペェルとか死ね今すぐ死ねなるべく苦しんで死ね
2018/07/19(木) 09:24:22.46ID:QlKeHbXC
>>257
いやまったく面白くないが。
2018/07/19(木) 09:56:06.21ID:1Xm4mRqX
数学なんかよりも地理歴史政治経済のググラビリティが高いから
マスコミが報道しないネットの真実は地理歴史政治経済の話題ばっかりなんだな
2018/07/19(木) 10:38:26.34ID:TqgJrVyZ
日本人のDNAがCOBOLを求めている
2018/07/19(木) 10:56:19.95ID:eNCyB/F4
>>206
モダンGC
2018/07/19(木) 12:14:54.18ID:X2OHrsOF
>>259
慣れても読みやすいとはいえないけど
慣れると「他の言語はコード自体がコメントのように冗長だから読みやすくて当然、」とか思うようになる
2018/07/19(木) 12:15:45.47ID:X2OHrsOF
あとまあ、Jでも普通の人に読みやすく長々書くこともできる
268デフォルトの名無しさん
垢版 |
2018/07/19(木) 12:19:10.67ID:LKwb2rby
swift 触った経験なしなんだけど、自作アプリから他のアプリを操作って可能なの?アプリAの情報をアプリBに書き込んだりとか。
それが出来るならMacBook買おうかと思ってる。
教えてくらはい
ちなみに想定端末はiPhone,iPad
269デフォルトの名無しさん
垢版 |
2018/07/19(木) 14:26:52.35ID:ise8Wrtn
直接的には無理じゃな
2018/07/19(木) 14:59:30.69ID:MYiqAgsV
セキュリティ上やばいからiOSでは通常どうやっても無理だな
脱獄必須
2018/07/19(木) 15:20:31.82ID:n84GXL2z
>>256
ちなこれ何するコード?
2018/07/19(木) 17:23:18.40ID:c7Jt4FwT
>>271
与えられ数列を並べ替えてレーダーチャートにしたときの面積

並べ替える法則がよくわからない
面接が最大になるようにしているように見えるけどもしそうならバグってる

面接最大ならこうだな
ans =: -:@(1&o.@((o.2)&%)@#*+/@(*(}.@, {.))"1@((/:[)/:((i.@#)/:+/@(*,~/"1)@(*\)@i.@#)))
2018/07/19(木) 17:30:17.22ID:c7Jt4FwT
ちなみに
-:@(1&o.@((o.2)&%)@#

これが 1/2 sin (num of arg /(2π)) なので円をN分割したような三角形の面積の総和かなあ、と。

こういう書き方だとどんな言語でも読みにくいだろ
式1つで書くと変数名等の読むヒントがなくなって厳しい
2018/07/19(木) 17:49:40.49ID:LG/rY+vI
普段使ってる数式と乖離しすぎてやべー外国語って印象
2018/07/19(木) 17:58:55.97ID:v4icQoqT
Jニキこのスレも見てたんだ。
2018/07/19(木) 18:15:43.64ID:1Xm4mRqX
クラスと変数には必ず名前空間をつけろ
演算子とメソッドにはつけなくていい
つまり、短くしたいならクラスと変数を使うな
2018/07/19(木) 19:31:34.53ID:VHxbhsBh
j言語は流石に仕事ではなく趣味言語だよな?
278デフォルトの名無しさん
垢版 |
2018/07/19(木) 19:41:14.50ID:LKwb2rby
>>269,270
ありがと!
脱獄で調べてみるわ
まじサンキューな
2018/07/19(木) 21:43:05.79ID:29nJX/+J
いいのかそれで…
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況