スレタイ以外の言語もok
前スレ
次世代言語21 Go Nim Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1587276362/
探検
次世代言語22 Go Nim Rust Swift Kotlin TypeScript
■ このスレッドは過去ログ倉庫に格納されています
2021/08/22(日) 08:59:03.31ID:QorwbXcj
2021/08/22(日) 21:13:45.05ID:nqrywZna
本当に知らない人のために言うと、全部ブログ記事のパクリ
なので相手にしてもマトモなレスが返ってこない。無視で良いよ
なので相手にしてもマトモなレスが返ってこない。無視で良いよ
28デフォルトの名無しさん
2021/08/22(日) 21:21:33.85ID:0Cz6ueFz >>4
Nimの特徴
直感的でわかりやすいシンタックス
公式サイトの記載からNimの特徴を見てみましょう。
以下は公式サイトに掲載されているNimのコード例です。
Nimの最初の特徴して挙げられているのが、そのシンタックスで、曰く「直感的でわかりやすい」とのことです。
Python(のインデントを含めた多くの特徴)やPascalを参考にしているらしいので似ていると思いますが、シンプルですね。
import strformat
type
Person = object
name*: string # Field is exported using `*`.
age: Natural # Natural type ensures the age is positive.
var people = [
Person(name: "John", age: 45),
Person(name: "Kate", age: 30)
]
for person in people:
# Type-safe string interpolation.
echo(fmt"{person.name} is {person.age} years old")
Nimの特徴
直感的でわかりやすいシンタックス
公式サイトの記載からNimの特徴を見てみましょう。
以下は公式サイトに掲載されているNimのコード例です。
Nimの最初の特徴して挙げられているのが、そのシンタックスで、曰く「直感的でわかりやすい」とのことです。
Python(のインデントを含めた多くの特徴)やPascalを参考にしているらしいので似ていると思いますが、シンプルですね。
import strformat
type
Person = object
name*: string # Field is exported using `*`.
age: Natural # Natural type ensures the age is positive.
var people = [
Person(name: "John", age: 45),
Person(name: "Kate", age: 30)
]
for person in people:
# Type-safe string interpolation.
echo(fmt"{person.name} is {person.age} years old")
29デフォルトの名無しさん
2021/08/22(日) 21:27:47.34ID:A59qHoiu >>26
アセンブラだってスタック使うでしょ?
アセンブラだってスタック使うでしょ?
2021/08/22(日) 22:19:09.36ID:8ga57bIU
>>29
組込みだとRAMチェックが終わるまではスタック使わないとか普通にあったりする
組込みだとRAMチェックが終わるまではスタック使わないとか普通にあったりする
31デフォルトの名無しさん
2021/08/22(日) 23:42:29.56ID:A59qHoiu2021/08/23(月) 00:53:35.51ID:dRBSj4mI
アセンブラは型がない
アセンブラだけで作ったライブラリも可読性のためにはCの型を宣言する
宣言したらもうCのライブラリとして利用可能にするだろ常識的に
つまり旧世代言語のコードを減らすとかいうおかしな目的意識の代わりに
ライブラリを増やすという適切な意図がある
アセンブラだけで作ったライブラリも可読性のためにはCの型を宣言する
宣言したらもうCのライブラリとして利用可能にするだろ常識的に
つまり旧世代言語のコードを減らすとかいうおかしな目的意識の代わりに
ライブラリを増やすという適切な意図がある
2021/08/23(月) 01:09:17.02ID:PPErbdyj
そこはCもC++もRustも同じでアセンブリ含めて相互に呼び出し可能
だったらコンパイル通った時点でメモリ安全性を保証できるRustで基本的に書いてどうしても必要な部分のみアセンブリというのが現在の流れ
だったらコンパイル通った時点でメモリ安全性を保証できるRustで基本的に書いてどうしても必要な部分のみアセンブリというのが現在の流れ
2021/08/23(月) 03:28:42.97ID:UerQU9YF
型付けアセンブリ言語という研究かなり昔にあったよね?
どうなったの
どうなったの
2021/08/23(月) 05:35:18.87ID:js8xmVB9
>>31
おかしくないよ、そういうコードはアセンブラでないと書けないから
おかしくないよ、そういうコードはアセンブラでないと書けないから
36ハノン ◆QZaw55cn4c
2021/08/23(月) 05:39:50.18 一応 MASM には型はありますが?
2021/08/23(月) 06:59:34.18ID:53a1qHWJ
>>34
masm とかでも構造体を定義できたりするけどやればやるほどC言語で良くね?とかなりがち
masm とかでも構造体を定義できたりするけどやればやるほどC言語で良くね?とかなりがち
38デフォルトの名無しさん
2021/08/23(月) 13:47:20.63ID:Rq8RLuIS どうせWEB屋が好きな/使ってみたい言語ランキングでしょ
39デフォルトの名無しさん
2021/08/23(月) 18:03:58.81ID:Rrt4HCug nim もっとカッコイイ名前が良かった
julia よりマシだが
julia よりマシだが
2021/08/23(月) 18:27:25.22ID:w0EZLKOJ
GoもRustもNimもJuliaも検索性わるすぎるんよー
2021/08/23(月) 19:25:50.37ID:zx6dvezD
Cは?
42デフォルトの名無しさん
2021/08/23(月) 21:15:07.01ID:4kP0uHrS2021/08/23(月) 21:19:05.15ID:Rok9YfeI
C/C++/Rustは中でアセンブリ書けるので大丈夫
どうしても必要な部分がある時は使われている
どうしても必要な部分がある時は使われている
2021/08/23(月) 21:38:44.27ID:7bphh6MO
2021/08/23(月) 22:01:28.04ID:S3FojqMf
2021/08/23(月) 23:23:44.42ID:A8ur8654
>>34
それに近いのがllvm ir
それに近いのがllvm ir
2021/08/24(火) 00:13:51.84ID:+0eKMgme
wasmとllvmって
どうしても必要とは言えない所でアセンブラ使ってるよな
どうしても必要とは言えない所でアセンブラ使ってるよな
48デフォルトの名無しさん
2021/08/24(火) 01:00:35.96ID:Fpbrw/6U2021/08/24(火) 05:37:31.25ID:IO38Iq2z
2021/08/24(火) 06:23:15.51ID:hoyVPhaC
>>21
>>23
NimはGCがあるから遅いと言っている人はNimではすべての変数がヒープ上に確保されると勘違いしているのでは。
基本的にはNimでヒープが確保されるのは組み込み型のstring、seq[T]とref型とクロージャがキャプチャした変数を入れるenvironmentだけ。
seqはC++のstd::vector, Rustのstd::vecに相当するもの。
最適化で実際にはヒープに格納されない場合もある。
C/C++/Rustと同様に関数内でvar x = 1と書いたらその変数はスタックに作られる。
以下のコードのようにobject型をrefをつけずに作るとヒープは確保されない。
NimとC++でCircleオブジェクトとPointオブジェクトを作って与えられた点が円の内側にあるかどうかテストするプログラムを作った。
最適化をオンにするとNimもC++と同様にtestCodeはレジスタだけを使って計算するコードを出力している。
godbolt.org/z/fG7cbcq8P
godbolt.org/z/G7Yf6nd34
以下のコードでは変数名sでseq[Circle]を作っている。
seq[Circle]はヒープにオブジェクトを格納するがCircleオブジェクトのデータはヒープ上に連続して格納される。
なのでseq[Circle]のヒープのアドレスを無理やりfloat配列へのアドレスにキャストするとCircleの内容を見ることができる。
wandbox.org/permlink/AiTKGe0YPkryduPB
>>23
NimはGCがあるから遅いと言っている人はNimではすべての変数がヒープ上に確保されると勘違いしているのでは。
基本的にはNimでヒープが確保されるのは組み込み型のstring、seq[T]とref型とクロージャがキャプチャした変数を入れるenvironmentだけ。
seqはC++のstd::vector, Rustのstd::vecに相当するもの。
最適化で実際にはヒープに格納されない場合もある。
C/C++/Rustと同様に関数内でvar x = 1と書いたらその変数はスタックに作られる。
以下のコードのようにobject型をrefをつけずに作るとヒープは確保されない。
NimとC++でCircleオブジェクトとPointオブジェクトを作って与えられた点が円の内側にあるかどうかテストするプログラムを作った。
最適化をオンにするとNimもC++と同様にtestCodeはレジスタだけを使って計算するコードを出力している。
godbolt.org/z/fG7cbcq8P
godbolt.org/z/G7Yf6nd34
以下のコードでは変数名sでseq[Circle]を作っている。
seq[Circle]はヒープにオブジェクトを格納するがCircleオブジェクトのデータはヒープ上に連続して格納される。
なのでseq[Circle]のヒープのアドレスを無理やりfloat配列へのアドレスにキャストするとCircleの内容を見ることができる。
wandbox.org/permlink/AiTKGe0YPkryduPB
2021/08/24(火) 06:24:41.13ID:hoyVPhaC
このリポジトリではレイトレーサーを様々なプログラミング言語で実装し
実行速度を比較してるがNimが一番速い。
また行数も比較的短い。
github.com/edin/raytracer
こちらでは単語の数を数えるプログラムを様々なプログラミング言語で実装し
実行速度を比較してる。
github.com/benhoyt/countwords
結果として簡単に書いたプログラムではNimのほうがRustより速くなり
最適化したコードではNimがRustより僅かに遅くなる程度。
benhoyt.com/writings/count-words/#performance-results-and-learnings
簡単に再帰関数でフィボナッチ数列を計算するNimとRustのコードを書いてみたんだが
Rustのほうが遅い。
オーバーフローチェック有
Nim 287ミリ秒
wandbox.org/permlink/eHu9IOiFfhMUY66y
Rust 376ミリ秒
wandbox.org/permlink/SHxQij4aj9pYFUZn
オーバーフローチェック無し
Nim 187ミリ秒
wandbox.org/permlink/KM2XOoSHLO9Oy5Rx
Rust 300ミリ秒
wandbox.org/permlink/6SQgnE1rPcUqzfZK
実行速度を比較してるがNimが一番速い。
また行数も比較的短い。
github.com/edin/raytracer
こちらでは単語の数を数えるプログラムを様々なプログラミング言語で実装し
実行速度を比較してる。
github.com/benhoyt/countwords
結果として簡単に書いたプログラムではNimのほうがRustより速くなり
最適化したコードではNimがRustより僅かに遅くなる程度。
benhoyt.com/writings/count-words/#performance-results-and-learnings
簡単に再帰関数でフィボナッチ数列を計算するNimとRustのコードを書いてみたんだが
Rustのほうが遅い。
オーバーフローチェック有
Nim 287ミリ秒
wandbox.org/permlink/eHu9IOiFfhMUY66y
Rust 376ミリ秒
wandbox.org/permlink/SHxQij4aj9pYFUZn
オーバーフローチェック無し
Nim 187ミリ秒
wandbox.org/permlink/KM2XOoSHLO9Oy5Rx
Rust 300ミリ秒
wandbox.org/permlink/6SQgnE1rPcUqzfZK
2021/08/24(火) 09:08:23.82ID:8IlJ2cew
大手IT企業たちをはじめ次々となぜRustを採用しているのかの理由のうち一番大きな点は、
直面しているセキュリティ等のバグの原因の大半がメモリ安全性の逸脱に伴うものであり、
メモリ安全性を保証する論文に基づいたRustがそれら問題点を解決することが明確となっている点にある。
直面しているセキュリティ等のバグの原因の大半がメモリ安全性の逸脱に伴うものであり、
メモリ安全性を保証する論文に基づいたRustがそれら問題点を解決することが明確となっている点にある。
2021/08/24(火) 10:07:34.07ID:BT6OtRuy
>>52
論文に基づいたメモリ安全性の保証が大きいですね
IT業界の状況
プログラミング言語「Rust」のための「Rust Foundation」設立 -- AWS(Amazon)、Microsoft、Google、Mozilla、Huaweiが創設
https://japan.zdnet.com/article/35166267/
Facebookが「Rust Foundation」に参加
https://japan.zdnet.com/article/35170192/
論文に基づいたメモリ安全性の保証が大きいですね
IT業界の状況
プログラミング言語「Rust」のための「Rust Foundation」設立 -- AWS(Amazon)、Microsoft、Google、Mozilla、Huaweiが創設
https://japan.zdnet.com/article/35166267/
Facebookが「Rust Foundation」に参加
https://japan.zdnet.com/article/35170192/
2021/08/24(火) 14:54:36.93ID:MFD20u5I
>>51
コード読んだ訳じゃないけど1番上のやつnimはコメントにfast inverse square root使ってるって書いてあるし比較できなくね?
コード読んだ訳じゃないけど1番上のやつnimはコメントにfast inverse square root使ってるって書いてあるし比較できなくね?
55デフォルトの名無しさん
2021/08/29(日) 20:34:53.75ID:TMfqiUgQ >>52
言ってる事は正しいが実際の理由はそうではないと思う。C/C++に比べればメモリ安全性はその通りだが
多くの言語ではGCがあるためにメモリ安全性をほぼ保障をしているが、わざわさRustを採用するのは
極めて大きいメモリーを扱うプログラムやリアルタイム性を追求される要件があり、それがGCのSTWや
GC時間を無視できないから
言ってる事は正しいが実際の理由はそうではないと思う。C/C++に比べればメモリ安全性はその通りだが
多くの言語ではGCがあるためにメモリ安全性をほぼ保障をしているが、わざわさRustを採用するのは
極めて大きいメモリーを扱うプログラムやリアルタイム性を追求される要件があり、それがGCのSTWや
GC時間を無視できないから
2021/08/30(月) 00:46:35.99ID:kkNE5PqB
メモリ安全性の話にGC持ってくるとは
何か勘違いしてないか
何か勘違いしてないか
57デフォルトの名無しさん
2021/08/30(月) 10:54:55.14ID:6iKzd6aE GCに限った話でなくてもUnsafe使えば全部同じ、自身が使ってなくても(速度を出すために)ライブラリで使ってる。
Unsafe使わなくても完全に防げるわけでは無い。これはgoもnimもDも同じ
「大手IT企業たちをはじめ次々となぜRustを採用しているのか」の一番の要因は55の言う通りだと思う
Unsafe使わなくても完全に防げるわけでは無い。これはgoもnimもDも同じ
「大手IT企業たちをはじめ次々となぜRustを採用しているのか」の一番の要因は55の言う通りだと思う
2021/08/30(月) 11:07:11.50ID:M/wulqx+
>>55
扱うメモリーの大きさは関係ない
応答速度の程度のことをリアルタイム性とは言わない
プログラミングの分野でリアルタイム性という言葉は別の意味を持つ
Rustはリアルタイム性を求めて使われてるわけではない
扱うメモリーの大きさは関係ない
応答速度の程度のことをリアルタイム性とは言わない
プログラミングの分野でリアルタイム性という言葉は別の意味を持つ
Rustはリアルタイム性を求めて使われてるわけではない
2021/08/30(月) 11:19:37.82ID:laDLLmjr
2021/08/31(火) 08:45:13.59ID:SlncBcTV
>>59
現状、SNSなどのサーバーサイドのプログラムでGCのStop The World が遅くて
移行した企業を見たが。見たのは一例だけど。
C++からの移行は、Rustを作ったところのMozilla自身がFireFoxで行ったものが
有名で後は数例だけを聞いた。
現状、SNSなどのサーバーサイドのプログラムでGCのStop The World が遅くて
移行した企業を見たが。見たのは一例だけど。
C++からの移行は、Rustを作ったところのMozilla自身がFireFoxで行ったものが
有名で後は数例だけを聞いた。
61デフォルトの名無しさん
2021/08/31(火) 08:57:06.99ID:7zPv8PJ6 いやいやC/C++でも今で土器は大規模プログラムだとGC使用してる場合がある。Boehm GCや
TCMallocなんてまさにそれ、もちろんカーネルプログラミングやドライバ開発では使用されないが
純粋なC/C++で起こりうる何も考えていないヒープ確保の断片化による肥大化を抑える。ただし
GCの最大時間を指定できるものもあるが、Rustに比べれば確実にこのブロックでメモリー解放が
起こるという予測可能性が無い。
大手IT企業という話であれば、これはカーネルプログラミングなどでは無いだろう。
確かにSTWなどからの低レテンシーやCPUスパイクが小さい事をリアルタイム性とは言わないが
現実として自動運転や大規模ウェブサイトでは、ほんの数十ミリ応答を受け付けない事は致命的で
あり、すべてではないがそういった見方を排除あるいは全否定すべきではない
言語的なバッファオーバーフロー耐性などは1側面に過ぎない。
TCMallocなんてまさにそれ、もちろんカーネルプログラミングやドライバ開発では使用されないが
純粋なC/C++で起こりうる何も考えていないヒープ確保の断片化による肥大化を抑える。ただし
GCの最大時間を指定できるものもあるが、Rustに比べれば確実にこのブロックでメモリー解放が
起こるという予測可能性が無い。
大手IT企業という話であれば、これはカーネルプログラミングなどでは無いだろう。
確かにSTWなどからの低レテンシーやCPUスパイクが小さい事をリアルタイム性とは言わないが
現実として自動運転や大規模ウェブサイトでは、ほんの数十ミリ応答を受け付けない事は致命的で
あり、すべてではないがそういった見方を排除あるいは全否定すべきではない
言語的なバッファオーバーフロー耐性などは1側面に過ぎない。
2021/08/31(火) 16:03:34.84ID:pBk/Kvod
GCは参照されないオブジェクトを探すだけなので
参照カウントが1か2以上かチェックしたくなったらもうGCは役に立たない
参照カウントが1か2以上かチェックしたくなったらもうGCは役に立たない
2021/08/31(火) 16:56:17.54ID:s/B3pX4y
>>61
自動運転の制御プログラムでGC使ってたのがRustに移行した事例あるの?
Discordの事例はレイテンシが致命的だったわけではないぞ
それにサーバーサイドでRustへの移行がペイするDiscordレベルの規模と速度が求められるようなシステムは0.01%もないから
残りの99.99%はどうなのかが重要
自動運転の制御プログラムでGC使ってたのがRustに移行した事例あるの?
Discordの事例はレイテンシが致命的だったわけではないぞ
それにサーバーサイドでRustへの移行がペイするDiscordレベルの規模と速度が求められるようなシステムは0.01%もないから
残りの99.99%はどうなのかが重要
2021/08/31(火) 18:27:45.08ID:2Z3a814f
GCがサーバの遅延原因とわかるなら、重いGCを動作しない設定にしといて
一時的にサービスから外す>プロセス再起動>サービス再開
で済む話
一時的にサービスから外す>プロセス再起動>サービス再開
で済む話
2021/08/31(火) 18:56:45.11ID:+8DUbqPW
そもそもDiscordはC/C++じゃなくてGoだった
GoからC++に変えるよりもGoからRustに書き換える方が良さげなのは何となく分かる
C/C++をRustで書き直したってあるのかね?servoも最初っからRustだったはず
GoからC++に変えるよりもGoからRustに書き換える方が良さげなのは何となく分かる
C/C++をRustで書き直したってあるのかね?servoも最初っからRustだったはず
2021/08/31(火) 19:35:22.26ID:wuud9+ob
数年後rustは糞言語だったって評価されそう
2021/08/31(火) 19:36:48.62ID:tid2JAjH
C++が既に十分に優れているということを言いたいのかもしれないけど、
C++からRustに書き換えないのは単純に難しいからだと思うぞ
C++からRustに書き換えないのは単純に難しいからだと思うぞ
2021/08/31(火) 20:00:37.49ID:JHqwYLi1
違うよ
既にあるものを移植する案件が少ないだけ
しかし大規模改修や新規案件ではC++を利用する意義がなくなったのでRust採用が多い
もちろんC++だけからではなくFacebookのようにJavaからRustのパターンもある
既にあるものを移植する案件が少ないだけ
しかし大規模改修や新規案件ではC++を利用する意義がなくなったのでRust採用が多い
もちろんC++だけからではなくFacebookのようにJavaからRustのパターンもある
2021/08/31(火) 20:56:18.00ID:Srcy774Z
2021/09/01(水) 00:08:09.87ID:+dwouIiT
2021/09/01(水) 01:35:43.66ID:GVO/11SU
最良言語を目指すやつはすぐ仕様変更するのが欠点だな
Pythonも仕様変更はあったが古いバージョンを虐待しなかったのがよかった
Pythonも仕様変更はあったが古いバージョンを虐待しなかったのがよかった
2021/09/01(水) 03:34:40.38ID:MtyAaHfZ
>>71
Rustはedition制で後方互換性を完全に保証しているから安心して使用できますね
Rustはedition制で後方互換性を完全に保証しているから安心して使用できますね
2021/09/01(水) 06:09:56.27ID:OZGdMA/h
2021/09/02(木) 15:26:46.45ID:ONfZsKfr
サーバー書くならGoかRustかって感じだけどどっちもパッとしないんだよな
シンプルと複雑の中間が欲しいわ
シンプルと複雑の中間が欲しいわ
2021/09/02(木) 17:59:05.47ID:PDrIjWiD
2021/09/02(木) 18:06:33.02ID:wNaONt6G
Dartはサーバ側でも使ってねとアナウンスあったけど、
クライアント側と同じ言語で書ける以外の利点は特に無いのかな
クライアント側と同じ言語で書ける以外の利点は特に無いのかな
2021/09/02(木) 18:11:04.37ID:2FuyxSW6
78デフォルトの名無しさん
2021/09/02(木) 18:37:13.19ID:6gOJWbCR サーバ用途ならcrystalがええんちゃうかね。rubyをコピーした資産が多そう
2021/09/02(木) 18:51:33.01ID:UQhR0inN
別に1つの言語に拘る必要なくね
rust導入するとしても丸ごとリプレースする必要はない
rust導入するとしても丸ごとリプレースする必要はない
2021/09/02(木) 19:29:02.15ID:bHl+beee
2021/09/02(木) 20:00:41.23ID:XW9HOgOw
もしコンパイラ言語ならgccとかllvmも同時に移行しないとコンパイルできなかったりして
82デフォルトの名無しさん
2021/09/02(木) 20:34:58.67ID:lSTkj0Rg >>80
慌てる乞食は儲けが少ない
慌てる乞食は儲けが少ない
2021/09/02(木) 22:06:53.19ID:2FuyxSW6
AndroidでもRust使うってよ
https://security.googleblog.com/2021/04/rust-in-android-platform.html
https://security.googleblog.com/2021/04/rust-in-android-platform.html
2021/09/03(金) 13:29:52.44ID:gdUOZxn5
Rustの最大の欠点はシンタックス。異論は認めない
2021/09/03(金) 15:16:50.54ID:9y+1HwQb
>>84
他にも色々あるよ。
他にも色々あるよ。
2021/09/03(金) 15:34:17.82ID:yHlVBJE7
誤解を恐れずに言うとRustが嫌われるのはバカには理解出来ない難解さだろ
2021/09/03(金) 17:09:30.99ID:K5OdE3wo
本質的でない複雑さもあるからね
たとえばRustは標準ライブラリがGoなんかに比べると貧弱なので、自前で実装したりコミュニティのパッケージに頼らざるを得ないシーンが多い
たとえばRustは標準ライブラリがGoなんかに比べると貧弱なので、自前で実装したりコミュニティのパッケージに頼らざるを得ないシーンが多い
2021/09/03(金) 18:25:24.07ID:qtYdCVwr
>>86
rustの問題はこういうバカがイキってる所だと思う
rustの問題はこういうバカがイキってる所だと思う
2021/09/03(金) 19:59:54.63ID:9y+1HwQb
少なくとも、全てのアルゴリズムをRustではアプリのsafeモードでは扱えない。
例えライブラリをunsafeモードで書いたとしても。
それが最大の欠点。
書き方が面倒なのが次の欠点。
例えライブラリをunsafeモードで書いたとしても。
それが最大の欠点。
書き方が面倒なのが次の欠点。
2021/09/03(金) 20:30:12.82ID:33gOMWg5
全部unsafeで書けば面倒さは無くなりそう
2021/09/03(金) 22:16:03.68ID:9y+1HwQb
Rustでライブラリやメソッドを unsafe で書いて、それを safe モードから
使っても、決してCと同じ効率では利用できないアルゴリズムが存在する。
使っても、決してCと同じ効率では利用できないアルゴリズムが存在する。
2021/09/03(金) 22:27:23.15ID:9y+1HwQb
>>91
理由は、Cで昔から至って普通に使われていたアルゴリズムのかなりもののが、
Rustだと借用規則に違反してしまうから。
学問的にも正しくて使い方を誤りさえしなければ安全である事が分かっていても、
Rustでは借用規則に違反するので最初からコンパイルエラーになってしまって
使えない。
それらのアルゴリズムは、unsafeモードの中だけに借用違反を閉じ込めよう
としても無理。なぜんばら、根本的に借用規則に違反していて、
それがそのアルゴリズムの本質で要(かなめ)の部分だから。
理由は、Cで昔から至って普通に使われていたアルゴリズムのかなりもののが、
Rustだと借用規則に違反してしまうから。
学問的にも正しくて使い方を誤りさえしなければ安全である事が分かっていても、
Rustでは借用規則に違反するので最初からコンパイルエラーになってしまって
使えない。
それらのアルゴリズムは、unsafeモードの中だけに借用違反を閉じ込めよう
としても無理。なぜんばら、根本的に借用規則に違反していて、
それがそのアルゴリズムの本質で要(かなめ)の部分だから。
2021/09/03(金) 23:01:26.75ID:HcIIq6Rh
2021/09/03(金) 23:02:45.90ID:HcIIq6Rh
2021/09/03(金) 23:30:25.11ID:EGT6hvvH
次にお前は連結リストと言う
2021/09/03(金) 23:34:16.62ID:ojcqN+X9
ハッシュマップ
2021/09/04(土) 02:34:46.85ID:j+KqajCA
rustって最終的にはjavaみたいな奴隷専用言語になりそう
2021/09/04(土) 03:07:14.01ID:7+Hy81Ja
そうだ。rustは君のものだ。
2021/09/04(土) 04:09:47.08ID:iqtSb51S
たしかにRustは非常に書きやすいしコンパイラのrustcが賢くてミスを直す候補を探し出してきて表示してくれるので便利だけど
奴隷の生産性まで上がるものなのかね
奴隷の生産性まで上がるものなのかね
100デフォルトの名無しさん
2021/09/04(土) 04:50:10.07ID:7+Hy81Ja 今の日本はだいたいが奴隷。
https://oshiete.goo.ne.jp/qa/3737411.html
> 15世紀のアメリカでは、教育と結婚の権利を与えられ財産を持つことも可能で、低賃金の労働者と言えるものでした。
https://oshiete.goo.ne.jp/qa/3737411.html
> 15世紀のアメリカでは、教育と結婚の権利を与えられ財産を持つことも可能で、低賃金の労働者と言えるものでした。
101デフォルトの名無しさん
2021/09/04(土) 08:12:27.52ID:elqVYRSe 元々、共有やコピー、参照の違いをまともに理解してない奴に限ってrustを評価する傾向にあるのがな。。
はっきり言ってそれをまともに意識してるコード書くやつはそれほど便利だと思ってない。
はっきり言ってそれをまともに意識してるコード書くやつはそれほど便利だと思ってない。
102デフォルトの名無しさん
2021/09/04(土) 11:12:27.56ID:EwYrh1qJ103デフォルトの名無しさん
2021/09/04(土) 11:14:39.89ID:EwYrh1qJ ヒント:
safeモードに借用規則がある限り、メソッドの中にunsafeを閉じ込めようとしても
絶対に無理なアルゴリズムが存在する。
これが理解できないのは、数学力が足りない。数学力は生まれつきのものが大きくて、
ワーキングエリアの大きさや、想像力の問題。
safeモードに借用規則がある限り、メソッドの中にunsafeを閉じ込めようとしても
絶対に無理なアルゴリズムが存在する。
これが理解できないのは、数学力が足りない。数学力は生まれつきのものが大きくて、
ワーキングエリアの大きさや、想像力の問題。
104デフォルトの名無しさん
2021/09/04(土) 11:17:19.47ID:EwYrh1qJ なぜ例を提示しないかと言えば、本当のことを教えたくないからだ。
嘘だからではない。
本当のことを教えるのはもっと時間が経った後でいい。
時間が経ったらだんだんと本当の事が広まっていくだろう。
俺は最初からそれがわかるが、分からない人は分からない人なりの人生を送れば
いい。それが俺の才能だから。
俺の才能を全ての人に分け与えるわけにはいかない。
嘘だからではない。
本当のことを教えるのはもっと時間が経った後でいい。
時間が経ったらだんだんと本当の事が広まっていくだろう。
俺は最初からそれがわかるが、分からない人は分からない人なりの人生を送れば
いい。それが俺の才能だから。
俺の才能を全ての人に分け与えるわけにはいかない。
105デフォルトの名無しさん
2021/09/04(土) 11:20:31.21ID:EwYrh1qJ コンピュータの世界は、どんなに頭のいい人でも時間が経てば追いつかれる。
平易に解説されたり、または、ライブラリなどが難しいことを閉じ込めて
誰でも使えるようにしてしまうからだ。
だから頭のいい人もその間のタイムラグだけで差を付けるしかない。
だから、本当の事をすべては明かさない。
平易に解説されたり、または、ライブラリなどが難しいことを閉じ込めて
誰でも使えるようにしてしまうからだ。
だから頭のいい人もその間のタイムラグだけで差を付けるしかない。
だから、本当の事をすべては明かさない。
106デフォルトの名無しさん
2021/09/04(土) 11:30:28.20ID:GpbNmj1Q 入力するデータに依存するアルゴリズムなんじゃないの
C/C++なら自由に実装できるけど実務上は不正データがないかチェックするハメになるという
C/C++なら自由に実装できるけど実務上は不正データがないかチェックするハメになるという
107デフォルトの名無しさん
2021/09/04(土) 12:30:13.91ID:EwYrh1qJ108デフォルトの名無しさん
2021/09/04(土) 12:37:18.23ID:HK0EkPCX もしかして、ボローチェッカに怒られるコードをunsafeブロックに入れればエラーを回避できると思ってやってみたらできなくて、
それでここまでずっと言い訳してるのか?
それでここまでずっと言い訳してるのか?
109デフォルトの名無しさん
2021/09/04(土) 13:11:05.75ID:gkfG02et 例示しろって言われてアウアウしてるんだろw
長文で言い訳グダグダ書いてるのが哀れですらある
長文で言い訳グダグダ書いてるのが哀れですらある
110デフォルトの名無しさん
2021/09/04(土) 14:04:36.94ID:jLCLkIuV 引っ込みがつかないとはまさにこのこと
111デフォルトの名無しさん
2021/09/04(土) 14:14:32.96ID:qlWaKbMU 借用で表現できないアルゴリズムって何だろう。
112デフォルトの名無しさん
2021/09/04(土) 14:19:15.62ID:qlWaKbMU ループで書けないけど再帰でならかける、とかはあるけど、完全に書けないのはあるかなぁ…
113デフォルトの名無しさん
2021/09/04(土) 14:31:27.43ID:EwYrh1qJ やはり、数学の才能の無いやつらには、分からないんだな。
114デフォルトの名無しさん
2021/09/04(土) 14:34:12.53ID:ZqoEpBUe115デフォルトの名無しさん
2021/09/04(土) 16:16:10.33ID:kqbJw6T2 >>104
教えたくないならこのスレくんなよ
教えたくないならこのスレくんなよ
116デフォルトの名無しさん
2021/09/04(土) 16:22:49.98ID:ZtXzgEKZ はい、スルー検定4級不合格です
117デフォルトの名無しさん
2021/09/04(土) 17:35:39.84ID:HcNFP2te 数学的才能がない人は、人から言われたことを鵜呑みにするだけで自分で考える事が出来ない。
118デフォルトの名無しさん
2021/09/04(土) 17:40:09.63ID:iqtSb51S どのスレでもどの問題についてもいつも同じパターン
指摘されても具体的なケースを示せない人や具体的なコードを出せない人は『イチャモンをつけるだけのダメな人』
指摘されても具体的なケースを示せない人や具体的なコードを出せない人は『イチャモンをつけるだけのダメな人』
119デフォルトの名無しさん
2021/09/04(土) 17:40:36.61ID:HcNFP2te 今回の事を見ても分かるように、ヒントを与えられても、それを部品として
組み立てて結論を導くことが出来ない。
そういうひとはいいプログラムはできない。
自分でアルゴリズムを発明することも出来ない。
組み立てて結論を導くことが出来ない。
そういうひとはいいプログラムはできない。
自分でアルゴリズムを発明することも出来ない。
120デフォルトの名無しさん
2021/09/04(土) 17:41:48.84ID:HcNFP2te121デフォルトの名無しさん
2021/09/04(土) 17:48:30.37ID:FwiYtexa 実世界でも一緒だな。
言い訳ばかりして具体例を出せない人を相手にしても話が進まず時間の無駄。
そういうバカは無視するのが正しい。
言い訳ばかりして具体例を出せない人を相手にしても話が進まず時間の無駄。
そういうバカは無視するのが正しい。
122デフォルトの名無しさん
2021/09/04(土) 17:54:17.63ID:HcNFP2te 優秀な人から正しい答えを簡単に教えてもらえると思ってるのはどういう教育されて
きたんだろう。
情報量も払わないくせに。
きたんだろう。
情報量も払わないくせに。
123デフォルトの名無しさん
2021/09/04(土) 17:55:05.92ID:HcNFP2te124デフォルトの名無しさん
2021/09/04(土) 17:58:34.94ID:GpbNmj1Q お前の情報なんて要らんからコテつけてくれ
最初から避けるから
最初から避けるから
125デフォルトの名無しさん
2021/09/04(土) 18:25:26.65ID:HcNFP2te 情報は与えないが、本当のことを言ってるのにうそ扱いしないでくれ。
ちゃんと思考力や理解力が有る人には正しいことが分かる。
このスレに今居る人は、俺以外は数学的能力が足りてない。
ちゃんと思考力や理解力が有る人には正しいことが分かる。
このスレに今居る人は、俺以外は数学的能力が足りてない。
126デフォルトの名無しさん
2021/09/04(土) 18:29:06.33ID:kqbJw6T2 >>125
十分説得できるくらいの話をする気がないやつなんざウソつきとして扱うしかないやろ
十分説得できるくらいの話をする気がないやつなんざウソつきとして扱うしかないやろ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」 [ぐれ★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 【苺ましまろ】立民衆院議員、人気漫画の水着少女画像を「醜悪」タイ人少女の性搾取事件と関連付け…党内で反発 [少考さん★]
- 「残業キャンセル界隈」若者が増加?「職務放棄」との批判も…“定時退社の権利”どこまで通用するか [七波羅探題★]
- 【猫】ネコは女性よりも男性の飼い主にニャーニャー鳴くことが研究で明らかに アンカラ大 [少考さん★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★5 [蚤の市★]
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑 [931948549]
- 警視庁、税金で公式サイトにオセロゲームを設置 [834922174]
- 【速報】中国人の凶悪犯罪が急増!害国人の変遷、韓国→ベトナム→中国へ🏡
- 高市首相「コメ増産を進める」 [834922174]
- 【高市悲報】英テレグラフ紙「おい、日本会議に所属する偽サッチャーが債券市場を破壊してるぞ」🥺 [359965264]
- 【高市速報】中国「このままだと日本が先制攻撃してくる」 [583597859]
