次世代言語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/09(月) 13:40:36.06ID:XHrPXSC2
>>103
> 依存型がある言語はML族もしくはF#の軽量構文みたいなのが多いのはなんでなの?
> C系のシンタックスだと何か不都合でもあるの?

依存型や本来の多相型(polymorphism)[†]などは型理論の体系つまり高階の型付λ計算に関する論理体系に基づくので
プログラミング言語の型システムとして組み込む場合には同じくλ計算に基づくと関数プログラミング言語の枠組みとは親和性が良いが
Cなどのように変数の値を書き換える代入文や代入演算を有する命令的プログラミング言語とは馴染まない。[‡]

だからそれらの型システムを導入した言語は既存の関数プログラミング言語の構文を流用するケースが多いのだろう。
なおStandard ML/CAML/OCaml/F#などeager evaluationを評価ルールとするいわゆるML系の関数プログラミング言語の一群は
ref型のように代入可能な変数を許すが、本格的な型理論に基づく型システムを組み込む場合はref型の類は除いたsublanguageに対して
行うのが普通。


[†]:本来の多相型とはGirardが竹内の基本予想に関する学位論文で最初に発見(あるいは発明)し
Reynoldsが独立に再発見した型の全称化・抽象化やMilnerが発見したlet-polymorphismなどを指す。
オブジェクト指向での継承に伴って使われるようになった“polymorphism”は
定義が不明確で勝手な拡大解釈が多いので「本来の」という修飾句の対象範囲からは除く。

[‡]:代入操作(代入文と代入演算の総称)を含む命令的プログラミング言語
(Cなどの手続き的プログラミング言語やオブジェクト指向プログラミング言語を纏めてこう呼ぶ)に
例えば多相型が馴染まない理由は代入操作可能な変数の型として多相型を許すことは
その変数について動的な型付けを許すことに他ならなくなる。

例で少し説明するが既知なら許してくれ。最も基本的な多相型 ∀t.t (どんな型でもOK)と宣言された変数 x を考える、つまり
  ∀t.t x;
この変数はどんな型の変数としても使えるので、これにint型の値 1 は代入できる、
  x = 1;
この後で式の中でこの変数の値を参照すると int型の値 1 が許される文脈以外ではエラーになる。

即ち、型理論における本来の多相型つまり静的な型付けでの多相型の概念は代入可能な変数では失われるということだ。
2018/07/09(月) 15:02:11.35ID:wwylxN3+
Cは関数()をカリー化しなかったが配列[]をカリー化した
2次元配列を1次元のように扱い、逆にスカラー (0次元) を1次元のように扱う

Cには共用体もあるからML系に似ている部分は多かった
2018/07/09(月) 16:22:10.83ID:wwylxN3+
オリジナルのC/C++はもう実質的に依存型と同じものを既に使いこなしてるな
依存型がまだないという自称C系ってのは本当はJava系と名乗るべきだな
2018/07/09(月) 16:59:58.68ID:a+N+/6A7
>>106
こいつCのシンタックスじゃないって理由でPython嫌ってそうw
2018/07/09(月) 17:03:28.03ID:b/biyW6c
>>106
カリー化されてると全部1引数の fun a -> aを使う(かもしれない)型 の形で済むだろ
ATS2がどうしてるかは知らん
2018/07/09(月) 18:16:53.67ID:KFrfmR/A
別にC以外のシンタックスを嫌ってる訳じゃないよ(てか、なんでそういう風に受けとる…?)
普及を考えれば新規ユーザーのハードルを下げるためにも少しくらい相性が悪かろうが
C系のシンタックスを採用した方が良いんじゃない?って思っただけ

どれだけ理論が優れていようが結局のところ広く普及した言語の大半
(C/C++, Java, C#, JavaScript, PHP...etc.)はC系のシンタックス
勿論C系以外で普及した言語もある(Python, Ruby...etc.)けど…数はそれほど多くない
Cのシンタックスを採用することに致命的な不都合があれば話は別だけど
そうでなければ1つくらい依存型ありの言語でC系の言語があったって良いんじゃない?

優れた理論が使われてる言語がそんなしようもない理由で普及しなかったら勿体ないじゃん
普及させるためにはそういう些細な部分は妥協したらどうだ?と思ったわけ
2018/07/09(月) 18:21:37.55ID:xuxQDn++
ALGOL舐めてるわけ?
2018/07/09(月) 18:22:24.25ID:IyYxWzMk
COBOL舐めてるわけ?
Fortran舐めてるわけ?
2018/07/09(月) 18:40:59.88ID:EEzdGAQJ
>>109
> Cは関数()をカリー化しなかったが配列[]をカリー化した

配列をカリー化の意味が分からんのだが
2018/07/09(月) 18:41:02.84ID:b/biyW6c
まともな推論を入れようとしたら>>108みたいな理由で式ベースになるんだから
C系に似せようとしたところで不格好で無駄に記述量も多いキメラができるだけだろ

ところでBASIC舐めてるわけ?
2018/07/09(月) 20:41:12.79ID:wwylxN3+
>>116
C系は分かりにくいという証拠だ
2018/07/09(月) 20:54:48.10ID:XHrPXSC2
>>114
> ALGOL舐めてるわけ?

AlgolとくにAlgol 60は実用性はともかく言語設計の観点からは非常に優れた言語だったが、命令的言語であるがゆえに型理論には馴染まない部分がある
今回の君のような内容ゼロの一言レスしてる暇があったら、ReynoldsやTennentの教科書・論文ぐらいは読んで勉強したらどうよ
2018/07/09(月) 21:22:54.54ID:KFrfmR/A
>>117
そうか?式指向でC系のシンタックスっていったら真っ先にRustが頭に浮かんだが
別に不格好とも無駄に記述量が多いとも感じないが…
そもそもC系の時点で何指向だろうが関数型と比べると記述量は少し多くなるものだし…
C系を式指向にしたところでそんなに変になるところは無いと思うんだが

別に全部C系にしろって言ってる訳じゃないんだ
依存型ありの言語にも1, 2個くらいC系があっても良いのにっ思ってるだけで…
2018/07/09(月) 21:40:53.57ID:wwylxN3+
現実は正しい
格付けの方が間違ってるんじゃねえか
リーマンショックみたいに
2018/07/09(月) 21:46:37.16ID:U1rzq4XN
あってもいいということはなくてもおかしくないという事だよ
言語設計者が依存型を普及させたいにしてもC系シンタックスを蛇蝎の如く嫌っている可能性だってある訳だ

そうでない君が依存型+C系シンタックスが普及に必要だと思うならそれは正しく良い意味で言い出しっぺの法則だね
2018/07/09(月) 21:56:18.25ID:b/biyW6c
>>120
rustは根っこのところは手続き型だからな
もっと式ベースを徹底していったらC系文法なんてどんどん余計なものになってくよ
2018/07/09(月) 22:16:18.81ID:wwylxN3+
式指向にしてブロックが値を返す
ブロックの中でreturnなどと書いたらブロックだけではなくメソッド全体が終了する

これSmalltalkとRubyでやったやつだ
2018/07/10(火) 02:09:51.97ID:PeZ34IEg
>>124
>ブロックの中でreturnなどと書いたらブロックだけではなくメソッド全体が終了する

他のほぼ全ての言語もそうじゃね?
2018/07/10(火) 06:52:59.20ID:TRoApVCG
やっとラムダが当たり前になったところだぞ
型理論の成果がプロダクト利用に広まるには時間がかかるんだよ
2018/07/10(火) 08:08:34.60ID:Iy+fy/d3
なんでJavaだけバージョンアップしなきゃだのセキュリティアップデートがどうの、大騒ぎしてんの?
JavaScriptなんて毎日のように新しいsyntaxぶち込まれてるし、
Kotlinがここまでアプデに振り回されてるのはあまり聞いたことない気がする

他でここまでセキュホがギャースカ言われてるのって、ポンコツペチプァとWordPressくらいじゃね?
Javaってそんな糞脆いの?
2018/07/10(火) 08:21:31.28ID:eM8UKooB
>>108
詳しい人から見てF*ってどうなん?良さそう?
2018/07/10(火) 08:36:07.00ID:zIs1qZZm
Fuck
2018/07/10(火) 09:24:02.51ID:xdf1qrhG
BrainF*ck
略してF*
2018/07/10(火) 09:24:32.49ID:yvVWnyin
>>127
エンプラで使われまくってるからわずかな変更にも大騒ぎするというだけ
履歴書がフォーマット通りじゃないとか、書類に印鑑がないとか、工場作業員の歩く幅が守られてないとか、そういうので騒ぐと同じ
132デフォルトの名無しさん
垢版 |
2018/07/10(火) 10:15:33.87ID:kqKjfHzH
javaというのは汲み取り式の便所みたいなもので、それに下水と近代的な便座を取り付けたのがkotlinだが、結局大便か小便かあるいはその両方をひり出す装置だということに気づかず、エレガントなクソの仕方について議論しているのが奴らだからな
いきなり外に出ろと言われても、オラクルにオツムを履かせてもらわないと不安で仕方ないんだよ
2018/07/10(火) 11:53:00.58ID:xdf1qrhG
オツムを履かせるとかいう新表現
2018/07/10(火) 12:01:54.29ID:zIs1qZZm
それだ!それが次世代言語だ!
2018/07/10(火) 12:37:24.33ID:63cSMW+s
意味が通ってて草
136デフォルトの名無しさん
垢版 |
2018/07/10(火) 15:09:37.59ID:3uxGmvBi
クソ。。
2018/07/10(火) 22:39:39.50ID:Iy+fy/d3
omutu {
 ブリッ()
} catch(unko) {
 throw unko
}
2018/07/10(火) 22:41:56.44ID:jmi6ebfp
>>133
人の頭をオムツ代わりにするとは、家畜人ヤプー的な変態だろう
139デフォルトの名無しさん
垢版 |
2018/07/11(水) 04:26:30.97ID:0IxMzPaq
まーた例外とnullの話してらあ
140デフォルトの名無しさん
垢版 |
2018/07/11(水) 08:37:33.70ID:dzRS/LEU
語るに足る次世代言語がrustしかないんだもの
2018/07/11(水) 08:40:25.65ID:6vT5O41L
そのRustを語るとコンパイル通せないアンチが沸くしな
2018/07/11(水) 13:10:48.44ID:VvjizHyD
GC以前の時代に戻る「次世代」言語ね
わらえる
2018/07/11(水) 13:22:55.58ID:IxirR2JR
GO言語は車輪の再発明ってやつじゃないですか?
2018/07/11(水) 13:39:57.82ID:6vT5O41L
GCが在るか無いかが判断基準なのね
わらえる
2018/07/11(水) 15:08:11.76ID:VhhHV/FL
GCがあるのが良い言語!GCが無いのは古い言語!
2018/07/11(水) 15:56:04.73ID:hs+tHtH9
メモリ制御しなきゃいけない世界が無くなることはよしんばあっても当分先なのでメモリ制御できる言語の更新はあった方が皆幸せになると思うんだけどな
147デフォルトの名無しさん
垢版 |
2018/07/11(水) 20:07:05.04ID:gDwkScTK
>>143
機能の整理って感じかなぁ。
148デフォルトの名無しさん
垢版 |
2018/07/11(水) 20:48:11.63ID:v5sVc8KX
車輪に怒られるだろ
せいぜい定年後の手作りログハウスだな
2018/07/11(水) 21:20:11.21ID:5vCD+XSP
GCはメモリには効くけどリソースの速やかな解放には効かないから
using文とかtry-with-resources文とか必要になってくる

SwiftやRustとかはメモリはGCほどお手軽では無いけど
リソースがメモリ管理と同じ流れに乗るからカメラとかのAPI扱うときはむしろ楽になる

一長一短なところはある
2018/07/11(水) 21:33:18.06ID:cyuAyH9j
実際問題ログハウスで十分なところを最近の言語はウインチェスターハウスにしちゃってる感じ。
151デフォルトの名無しさん
垢版 |
2018/07/11(水) 21:57:59.72ID:v5sVc8KX
ログハウスはお手軽という意味で例に出したんじゃないんですけど
2018/07/11(水) 22:05:01.91ID:vUSWO0TO
ログハウスで充分な仕事しかしてないのにウィンチェスターハウス作れる言語に目が向いてこんなスレに迷い込んでしまったの間違いでは
2018/07/11(水) 22:08:04.55ID:JQcRgwrO
ほんまに計算科学の次世代言語欲しいわ
Fortranさん仕様は悪く無いのにprint文書くだけで周りの計算結果変わったりしてコンパイラがガバガバすぎる
2018/07/11(水) 22:16:20.84ID:WXXvptbG
>>153
それはバグっているだけだと思いますが
2018/07/11(水) 22:22:20.98ID:JQcRgwrO
>>154
すぐバグるんだよな
gfortranで通ったし大丈夫だろって思ってたらifortでは通らなかったり、C++よりはるかにプログラマの責任が重いと思うわ
2018/07/12(木) 08:59:38.99ID:cbg7+Pwy
fortranは仕様より処理系依存の独自拡張が蔓延ってるイメージ
haskellも処理系拡張が基本みたいな所あるしそういうの好きになれない
2018/07/12(木) 09:20:58.29ID:xhh6gkTO
処理系が実質ひとつしかない言語だと処理系拡張が基本でも困らないけどね
2018/07/16(月) 12:21:20.76ID:plGwUTF3
次にはやる言語はどれ?
2018/07/16(月) 12:28:43.44ID:0TUA3bfL
       ____
     /⌒  ⌒\
   /( ●)  (●)\
  /::::::⌒(__人__)⌒::::: \   次世代言語でやるお!
  |     |r┬-|     |
  \      `ー'´     /
2018/07/16(月) 13:21:42.19ID:ON2hpD7+
MSも使ってるRustに決まってるだろ
ttp://jump.5ch.net/?https://www.reddit.com/r/rust/comments/8ub964/microsoft_announces_using_rust_to_build_some_of
2018/07/16(月) 14:19:28.91ID:yOmS9IaY
Rustはよい言語だ
2018/07/16(月) 17:26:19.10ID:sSti604i
rustはダメだな。
信者のウザさがhaskellと一緒だわ。
ああいう1機能を理解するのがめちゃくちゃ嬉しくなっちゃうような言語はダメだわ。
2018/07/16(月) 17:28:11.41ID:jXFFV3ML
信者のウザさとか言う概念なんなん? 何を見て判断してんの?
2018/07/16(月) 17:38:21.47ID:fgL4HgKC
リアルの知り合いじゃね
Rust信者には会ったことないが、Haskell信者のウザさは割とガチだな
2018/07/16(月) 17:45:32.85ID:qv224ovN
rustお手軽に勉強する方法知りたい。
2018/07/16(月) 17:46:58.94ID:jXFFV3ML
>>164
逆に言うとウザい知り合いが使ってる言語はダメってことか……
生き辛そうな人だな
2018/07/16(月) 19:11:15.57ID:AYwAzz0o
> 信者のウザさ
自分では到底習得出来ない言語を
楽しげに使いこなしてる事に対する嫉妬でしょ?
2018/07/16(月) 19:16:33.22ID:LulkQD8r
なんで所有権の移動という一度しか起こらない元値を破壊するものが印なしで
参照の借用渡しが&にしたんだろう
2018/07/16(月) 19:17:08.68ID:PkmPgg8A
リアルうざい知り合いはモチベーションに影響するからなあ
いくら物が良くても距離を置くのはそれはそれで賢い処世術
2018/07/16(月) 21:33:53.76ID:ytVIGIE1
またUXの話してる
親がUX 社会がUX 信者がUX
2018/07/16(月) 22:02:29.79ID:0TUA3bfL
あぁ、わからんでもない
言語じゃなくライブラリの話だが
仕事で使ってるライブラリを大して覚えようともせずVue.jsを猛プッシュしてくる中国人が、同僚に居て大嫌いになったわw
日本で流行ってる!ていうのもペチパーのCakePHP臭がして近寄りたくない
2018/07/16(月) 23:18:16.92ID:sSti604i
楽しげに使ってるというよりかは
楽しいと思い込もうと必死になってるといった印象だから嫌なんだよ。。
それ絶対楽じゃないよね、もっと簡単なやり方あるよねって話が一切通じなくなるっていう。。
2018/07/16(月) 23:20:24.75ID:avvA3sQt
なんてこった。このスレは昔からリアルの友人報告スレだったのか……
174デフォルトの名無しさん
垢版 |
2018/07/17(火) 00:27:27.23ID:hR326+dd
rustの狂信者なんて5chですら見たことないけど
2018/07/17(火) 00:31:27.59ID:c2JpqyiJ
>>168
C/C++の&演算子と仕様を合わせただけだろ
仮に借用に&を使わない場合はどうするのが良いと思うわけ?

あと「元値を破壊」ってどう言うこと?
「移動」と「破壊」を同義として使ってるの?
176デフォルトの名無しさん
垢版 |
2018/07/17(火) 00:39:08.48ID:A75xOI8y
rust使うくらいなら何を使用しますか?
2018/07/17(火) 00:52:31.91ID:+XvdRidc
ワールドスタンダードシイプラスプラス
2018/07/17(火) 00:59:45.92ID:c2JpqyiJ
>>172
Haskellに対してならある程度は同意する
でも、Rustに対しては同意できないな
メモリ管理を自力でするのではなくコンパイラに任せる
メモリリークは自力でデバッグして解決するのではなく
コンパイラに詳細なエラー情報を表示して解決を手伝ってもらう
コンパイルが通ればメモリリークが無いことが保証される
きちんと楽で簡単になってるじゃん
GCの無い言語であれより楽で簡単にメモリ管理を行う方法を俺は知らない
知ってたら教えてほしい
2018/07/17(火) 01:07:36.30ID:+XvdRidc
>>178
半ば本気で言うが c++ で生ポインタ使わなければ概ね実現できるんじゃないか
「〜すれば」は(しないこともできちゃうから)ダメとか、
その場合の効率はどうなんだとか議論の余地はあるだろうけど
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!マクロ(?演算子)を使用した
エラーハンドリングの方法は個人的には感動するレベルの代物だった
今後の次世代言語のエラーハンドリングは全てあれをベースに発展させていくべきだと思うほど気に入っている
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。