Google&MS「バグの70%はC/C++。Rustにする」
グーグルやMSが「Rust」言語でOS開発、背景に国家による諜報活動の影
1970年代初めにUNIXの開発にC言語が採用されて以来、OS開発はCやその後継であるC++の独壇場だった。グーグルはこれまでもAndroidの開発にJavaやKotlinを採用していたが、カーネルやデバイスドライバーなどOSの下位レイヤーの開発にはC/C++しか使ってこなかった。RustはC/C++と同様に下位レイヤーの開発に使用する。
グーグルは数千万行にも及ぶ既存のC/C++のコードを書き換えるのは不可能としており、新規のコードの開発にのみRustを適用する方針だ。それでもOS開発の常識が数十年ぶりに変わるのだけは間違いない。
RustはWebブラウザー「Firefox」を開発する米Mozilla Foundation(モジラ財団)が開発を主導するプログラミング言語だ。開発が始まったのは2006年で、安定版であるバージョン1がリリースされたのも2015年のことだ。まだ新しいプログラミング言語をグーグルやマイクロソフトがOS開発に採用する理由は、OSのセキュリティー強化にある。
Rustは、プログラムに必要なメモリーの確保や解放に関連するバグが生じない「メモリー安全」が保証されたプログラミング言語である。それに対してこれまでのOS開発に使われてきたC/C++は「大規模な開発においてメモリー安全なコードを記述することがほぼ不可能」(マイクロソフトのブログ「We need a safer systems programming language」より)なのだという。
脆弱性の70%がメモリー管理バグに起因
グーグルによればAndroidに存在した深刻なセキュリティー脆弱性の70%近くがメモリー安全に関するバグに起因するという。同様にマイクロソフトも、同社製品に存在したセキュリティー脆弱性の70%がメモリー安全に関するバグに起因すると述べている。C/C++を使う限りセキュリティー脆弱性を根絶するのは不可能と考えて、Rustを採用するに至ったというわけだ。
https://xtech.nikkei.com/atcl/nxt/column/18/00692/042700054/ Rust勉強しても使う機会ないから忘れてしまいそう C++まともに使えてたら書きやすいよって勧められて勉強してみたら、めちゃくちゃエラー出るしめんどくさいしで悲しくなった Javaは今からやるとパーと言われるらしいからやらないとしてRustの案件ってある? >>6
案件は割とあるけど、Rustを要求するような所だから
学位が必要かはあんま見ないけど、要求スペックが概してずば抜けてる感じ
年俸もさらに高いけど >>3
CSの学位取った頭いい奴が使ってこのザマなわけだけど C++を完全に理解してる人はこの世に1人もいないってばっちゃが言ってた はっきり言えるのはRustは高学歴な若い人の開発言語
そしてJavaは低学歴なロートルクソジジイの開発言語
恐らく年収のレベルでJavaパーが手取り14万円(雑談スレの自己申告だから間違いない)でRustは150万円くらいだろう だろうって
お前エンジニアじゃねーのかよ
エンジニアなら大体相場感くらい分かるだろ
ガキの妄想か? >>12
Rustは外資のエリートが多いから年収10倍であってるよ
もっとも言語というより就業先の違いと言った方がいいかもしれない 外資のエリート(笑)だけど数倍はあるかもしれないけど10倍もないしJavaは普通に多いというか基本だよ
別にC++でも構わないけど 言語別年収ランキングでも見ればどの言語でも大きな差はない事くらい分かる
そもそも言語で年収とかアホ
プログラミング言語覚えるくらい誰にでもできる
プラスどういう範囲、どういう質で仕事できるか次第
フリーランスならね
会社員ならスキルというより所属企業によるとしか 結局どういう案件につくかだと思うけど、例えばMSでOS作りみたいな話になってくるとRustなんて膨大な要求知識の極一部でしかない
弱いやつがRust勉強してキャリアアップを目指すみたいなのは順序が逆 Java 使ってりゃいいのに変なプライド出す奴がおるからプロジェクトがメチャクチャになるんだよ >>19
割り切って少数で作ればいいのにわけ分からん無能ヘルプを入れるからプロジェクトが炎上するんじゃん 高額な天才エンジニアばかりwなのにC++でメモリ管理すら出来ないのかよw
と正直思ってしまうレベル
Rustなんて採用するに値しないやろ・・・ そりゃ君が触ったことあるものよりずっと複雑で巨大なシステム作ってるからね それ実際には天才でも何でも無いからってだけの話
所詮大したこと無い奴らが作っているんだよ じゃあサクッと君も入社して2000万とか稼げば良いじゃん JavaerってマジJava以外知らんヤツ結構居るからな いや普通に色んな言語見てればjavaは無駄に文句言われてるのがわかるわ。
ほとんどのやつはそれ書く方が馬鹿なだけだろって文句ばっかだし。 当時使うに値しないクソ言語を無理矢理持ち上げたい感が似てるじゃない? Rustって昔D言語が成しえなかったC/C++の後継って感がする 規模がでかくなれば指数的にデバッグも難しくなるわけで元からバグがあるとコンパイルできないような言語の方がありがたいよ
GoogleとかMSのエンジニアはたかがメモリバグとか言ってるやつとは視座が違う そんなことしても無理やりコンパイル通すやり方が横行するだけだがな。
無理に禁止するやり方をSIerあたりが大好きなのはわかるが結果はお察しよ。 じゃあサクッと君も入社して2000万とか稼げば良いじゃん
なんでやんないの? >>33
rustを理解できたくらいでサクッと入社できると思ってんの?馬鹿なの? Googleに入社できないようなレベルの人がなんでGoogleが必要だと思って採用したものに文句つけてんの?お前に理解できないレベルってことなの明らかじゃん?馬鹿なの? >>35
googleに入社できないと全部がgoogle以下だと思ってんのか。。こういう馬鹿はほんま有害だわ。 いや出来ないならそりゃ普通に以下だろw
人間としてどうとかは別だけどそれにしてもお前馬鹿とか言い出してるやん そういうのをただの権威主義って言うんだよ。SIerに多いタイプだな。すげーばか。 でた権威主義w
じゃあGoogleのエンジニアより君できるんだ?へえーw
Googleってめちゃめちゃ実力主義だぞ高卒でも実力があれば問題ない
まあ知らんだろうけど だからその実力主義でとっても間違った判断をたくさんしてるっつーの。。
angularの失敗、google+の失敗、androidの中途半端さ、googleglassの失敗。。
少しは現実を見ろ馬鹿。 入れないやつが言ってもね
少しは自分の現実を見ろ馬鹿w だからそういうふうに、言ってることじゃなくて言ってる人間で判断するってのが
権威主義だって何回言ってもわからんのね。。だからバカって言われるんだよ。 この種の権威バカと、とりあえず禁止するバカってのは異常なほど相性いいからな。。 >>16
Javaエンジニアで手取り14万円というやつがいるらしい
雑談スレで自分の不遇を力説してたから本当だと思う >>40
その失敗の数を遥かに超える数の成功してるから
世界に冠たる大企業になってるんだが
無数にあるプロジェクトのうちの一部を挙げて何言ってんだか エリートだろうが誰だろうとミスはするって認めるのがプログラミングの基本だろ
ミスったらリカバリー効きやすい言語に変えるのは普通じゃん、有能ならミスらないはずだから要らんとかバカかよ やたらとJavaの話題が出てるけどRustとJavaって比較するもんじゃなくね?
Rustはネイティブだろ、あくまでもC/C++の代替品 人海戦術向け言語か少数精鋭向け言語かっていう対極的な位置にあるからじゃない? >>6>>12
ここら辺の書き込みからしてそもそもエンジニアですらない素人の妄想だからな
で、みんなRust使ったことある?
実際のところどうよ。学習コストが高いということでそこだけ心配なんだが。 まあ本当にRustでやりたい事があるとかじゃないと結構学習やり切るのは大変だと思うよ
他の言語と違ってうろ覚えだとコンパイラが全然通せないだろうし >>46
あーやっぱりばかだ。失敗のが多いんだよ。リターンが途方もないだけで。
だからお前はバカなんだよ。 少なくともVueの開発者はAngularJSの頃開発に携わってた人らしいしな
分家がそれなりにシェアと得たってのはある意味功績なんじゃねーの?
世の中何にも残らなかったものなんて山ほどある Java全盛期の名残で、コピペができるだけのパソコン大先生がいまだに沢山いるんだよ 合理化、無駄なコードを書かないとか言っているやつは
大量のコードを管理できない人よ
アセンブラで大規模プログラムかけるスキルとか、次元の違う管理能力が必須
Rustにしろ見えないバックエンドとかバイナリー解析とかドライバーなどの
APIやフレームワークを提供する側やアルゴリズムそのものを作れる人でないと
コピペのパッチワークで高級言語とかアプリ書いている人には無理だとおもわれ。 そもそも、学習はそんな大変でも無いだろ(一日二日でモノになるとは言わないが)
特に昨今は日本人が書いた日本語の文献も幾つもあるし
面倒な互換性等の問題も安定しているし
開発環境を整えるのも難しいわけでも無い
逆にrustの習得をネックに挙げる人がどんな言語を普段どれだけ使ってるのか気になる
本当に コピペができるだけのパソコン大先生 なレベルのが言ってるだけじゃね? そりゃ表面だけなぞってテキトーにやるだけなら学習コストも高くないわ。
あえてなんでrustでやるのか?ってところまで学習するなら結局c/c++の学習も並行して行うことになる。
それを学習コスト低いとか言い切るやつは単なるバカだろ。 c/c++やってない奴がrustに移行するのってgoのGCが不満な奴くらいか? なんかカッケー言語だし、c++置き換えるって話だしってので手を出す。
んで酷い目に遭う。 move semantics ですらc++11の頃だぞ....
>本当に コピペができるだけのパソコン大先生 なレベルのが言ってるだけじゃね?
ガチで当たってるじゃねーかww いや、本当にお前ら教えられるのかよって話だわ。。
そのコピペができるだけのパソコン大先生に教えることができるのか?って話だよ。
教える必要がないような職場ならそもそもrustなんか使う必要が全くないんだわ。
それをバカは理解できてない。 Rust100%にしたら、バグの原因はRust100%になるのではないか? どのコース辿ってもバカが設計したらすべてダイナシになる >>69
c++でバグが起きるから置き換えるのではなく、
70%がメモリに起因するバグだからメモリ安全性が高いRustを使うんだぞ >>71
マジレスすんなや.....
アホの子が一生懸命考えた渾身のネタやぞ >>66
導入する気ないバカは黙ってろ。関係のない世界の話だから。 そもそも勝手にパソコンの大先生がいる職場で頑張る話にされてるけどそれも決めつけでおかしいんだよな
自分がそうだからってみんな底辺だと思うなよ javaパーかな
一生懸命考えた渾身のネタで必死に短文投稿 ポインタ範囲外とかも回避?
あ、ポインタ自体が無いのがトレンドなん? 普通にpanic起こすわ。
rustが支援するのはできる限り精的にオブジェクト確保させるようなシンタックスになってるってだけ。
nullポインタチェックもまともにできないような奴はrustで書く意味もわからんだろうし、
書いたら酷い目に遭うわ。
んでもってそういう当たり前のこともわからんバカが過大評価してる。
決して悪い言語ではないがバカに過大評価されすぎてるのが現状だわ。 頑張って調べて書いたんだろうけど
全然見当外れな事言い出してて酷いぞ バカはGCがあるGoでいんじゃね?いかにも次世代のJavaって感じで
RustはC++使いみたいに一部の技術オタと組み込みとかHPCみたいなマイナー層にのみ受け入れられるニッチな技術だよね コンパイラの警告を無視する、高卒丸出しのやつがいるからな unsafe使えば自由にメモリを破壊できるんじゃね?
C#もunsafeで破壊できんじゃね?
しらんけど google「安全なrust使います!」
俺ら「安全言うてたgoはどうした…」 元から Go はpython辺りの置き換え目的だっただろ...
仮にそれを知らなくても、GCついている時点で C/C++ と Rust とは別枠なのが分からんのはプログラマとして御里が知れるぞ どこ情報?
「21世紀の近代的Cと比較される」とかはあっても、
Goを「21世紀のC」と言ってるのは謎な勘違いブログぐらいしか見当たらないけど? ケントンプソン、ロブパイクってところでまあCと比較されるってのはわかる。
シンタックスもCと親和性高いし。
goはpythonとCの中間くらいの印象だわな。 lisp系やHaskellとかとも違うしPythonと違うけど、
Cともシンタックスだいぶ違わね?
比較にしやすい所ではあるけど >>91
まさか go で検索してるわけじゃないよな? >>90
c 作った人が開発に関わってて関数名まで同じようにしてるのに? まだわからんというところ。10年したらわかるんじゃね。 成果なら多々あるでしょ。それをどう見るかは別としても
正直、Rustに取り組む人間なんて良くも悪くも
学習意欲もあってぼちぼち頭もいい上に、それなりにプログラム経験があるから
Rustが良かったのか、単にRustを使える人間だけに絞ったのが良かったのかは結構微妙な気もする この程度で成果あるというならscalaもhaskellも成果あるって言えると思うけど。
まあ同程度には成果あると言えるね。 WindowsとAndroidがRustに置換されたらとてもニッチとはいえないすごい成果になると思うが この板にはRustに親を殺された恨みを勝手に持ってるのがずっと居ついてるから
とにかく食ってかかって吠えてるだけだから、無視してあげて Rustなら安全だってunsafeコード書いて事故で親でも死んだんじゃね? >>104
Rustはマジで知能指数低い人には使えない言語
例えばJava土方あたりには厳しい
そこでRustを逆恨みバッシング Rustは明らかに大規模開発には向いてないと思うんだけどなぁ
領域範囲外な気がする JavaにしてもGoにしてもGCありの言語は限界がある >>107 詳しく聞きたいな
ライフタイム含め意識するべき問題が明確になるしコンパイラがちゃんと落としてくれるから
自分はむしろ大規模開発にこそRustは都合がいいと思うんだけど じゃあ実際に作ってみりゃいいんだよ。使ってない奴に限ってこういうこと言ってんだよな。。 >>112
それ求め始めたらgc系言語の最大のメリットないじゃん >>113
スクリプト言語ならGCアリでもよい範囲内で使うからいいけど
そうでないならGCのないC/C++/Rust等でしょ ある程度はコントロールできるでしょ。
pythonならgcモジュール使えばいい。
ただサーバーみたいに常時アクセスあるようなものだとそのタイミングさえ難しいってことだな。 GCなんて考えるのかったるいから勝手にやってほしい場面と、自分で完全制御したい場面があって、それぞれの場面にあった言語使おうって話だな 無能に限ってこの言語だけやってれば良いってものを求めるわけよ >>116
Rustを使えばGCなんて概念すらなくGCから安全に解放される >>113
そんな事はないだろ
今は重要なタイミングなのでGCの実行は禁止とか
現時点で開放対象になってる領域はまとめて開放とか
あくまで開放対象の領域がどれかの管理と開放タイミングをいつやるかって別の話じゃん? このスレ見て分かるのはRustについてまともな知識を持ってない連中が難癖非難してるって事
恐らくCもまともにやっていないのではないか
以前某スレで基地外のJava屋に絡まれたのだがその低脳ではないかと思った
とても似ている屑っぷりがそっくり 結局、Rustがいい悪いよりも
Rustも使えない様なのを弾くことのメリットが大きいってことかな C++が出来ると言い張るCプログラマを見抜くのは難しいからな まだCが書けるならいいけど
Javaとかをやってたのに、ちょろっとC++の勉強してごまかそうみたいなのも多いしな pythonとかjavaとかのGCあり言語からだと節操無くメモリ使いがちだからねぇ
GCがそれだけ偉大な発明なんだけど
道具に使われてる人間か道具を使う側の人間かで大きく違うのすら意識できない人も多いし
そこを弾くためにRustを使えないのを切り捨てるって確かに手段としてはありだろうね
特にGoogleやMSみたいに人を幾らでも篩に掛けられる所なら尚のこと >>121
逆だろ。。まともにrust使ったことないやつが無駄にマンセーしてるだけ。
多分c/c++もまともに書いたこともないからライフタイムがなんなのかもわからずマンセーしてる。 これからc/c++できないけどrustはできます!みたいな人は出てくんのかねぇ? rustやってる人
→若い、高学歴、テレワーク、私服で仕事、年収1000万以上、香りの良いワインや日本酒が好み、都会派、iPhone使い、綺麗なMacbook持ち
javaやってる人
→中年、専門卒、通勤電車、スーツで仕事、年収250万円以下、ウンコみたいな臭いのタバコが好み、田舎派、android使い、オンボロごみノートのubuntu持ち
こんなイメージかな 日本だとどうだかわからんが前のuser surveyの結果は
開発環境のOS、5割Linuxで2割window 2割mac
target OSだと4割弱Linuxで1割5分づつwindow、mac、WASMに、1割弱ぐらい組み込み、おまけにスマホそれぞれ Rustやってる奴はGoogleレベルの本物か口だけのなんちゃってプログラマのどちらか Rust使ってるやつが今時のapple製品使うとは思えん >>134
流石にMacでプログラミングとか情弱の極みやん >>134
rustやってる人
→若い、高学歴、テレワーク、私服で仕事、年収1000万以上、香りの良いワインや日本酒が好み、都会派、iPhone使い、綺麗なMacbook持ち
javaやってる人
→中年、専門卒、通勤電車、スーツで仕事、年収250万円以下、ウンコみたいな臭いのタバコが好み、田舎派、android使い、オンボロごみノートのubuntu持ち
UnixやLinuxを開発してる人
→どんなイメージ? rustユーザはMac率よりLinux率の方が高そうだな
Win(純粋にユーザ数が多いので)>Linux>Macの順 Rustは後から出てきたアドバンテージで様々な言語パラダイムをマルチに初めから装備しているため後付の古い言語たちより使いやすい
遅いスクリプト言語たちも置き換えた しーぷらぷらドロップアウター
ちんちんぶらぶら全裸Rustダンス 求人が概ね早稲田以上の学位が要るって時点でもう、やっかみが酷くなるのはしょうがない Rustの先輩が明治大学卒でてめーみたいなヤツに俺は負けられないだよと男の意地があるからな 本当にrustに親殺されたやつでもいるんか?www 親殺バカがまた騒いでんのか。ほんとワンパターンだな。
単純にコード書き捨てバカがうぜーから言ってんだよ いやお前みたいな末端のバカが一番苦労するんだよ。。 しーぷらぷらドロップアウター
ちんちんぶらぶら全裸Rust断末魔
ウギャァーw RubyやJavaの時代は、言語がわかればプログラマーとして扱ってもらえたんだよね
それがPythonやRustみたいな学位勝負言語の時代になってきていて、発狂しちゃう人が大勢いるんだよ pythonやrustが学位勝負とか意味わからんこと言ってるバカが勝手に発狂してるだけだろ >>161
C/C++よりもrustの方がプログラミングは面倒くさいけど
デバッグや再設計を前倒しにしてコンパイラにも吟味してもらえると考えると
rustは使う価値がある 君が設計修正がとてつもなくしづらいってことに気づくのにはあと10年必要だろうね なるほど一度の設計でうまくいくと思ってるバカだったのか。。
君はあと20年ほど必要そうだね。 rust片手にちんちんぶらぶらダンスでも踴っとけ無能ども >>162
Pythonはバカでも使えるバカ向け言語
Rustは学位と関係なく頭がよくないと使えない言語だが、C/C++並に速く動くのに、メモリ管理バグを無くせて、そらなのにGCもなく快適で動き、それでいて関数型言語などの便利な部分も取り入れ記述面も便利で見やすく、唯一の欠点はバカには使いこなせないこと Pythonは本当に学歴勝負で、東大を出てなきゃ意味がない級だよ Pythonは道具にすぎなくて作るのは数理モデルだからね
高卒の自称理系ではなくホントの理系じゃないと使えない
Rustも自称理系じゃ何もできないね >>173
こういうこと本気で思ってるとしたら相当ヤベェ奴だな。。 Pythonは遅すぎだよな
同じスクリプト言語のJavaScriptと比較しても一桁遅い >>175
私大文系ガー
これ言ってるのが高卒だから笑えるよな
早稲田政経卒で数学やってたけどと言うと経済学はインチキ学問と議論の軸を逸らした詭弁でマウント取ってきた馬鹿がいた どっかの「高卒でーす」って挨拶してるやつ、あいつ筑波でてるからな Pythonをそのまま使うと遅いのは確かだけど、Pythonが遅くて困るというのはPythonの使い方をわかってないやつが言うことで、numpyでバックエンドのBLASを呼び出せたり、deep learningフレームワークを使って行列演算を簡単にGPU上で実行したりできて、自分で下手にバックエンド部分をC++なりでスクラッチするより高速で簡単にこの辺の計算ができるのが売り
機械学習なり科学計算なりコーディング以外の部分で頭を使うことが多い人向け 所詮インタープリターだかんね
Blenderとかクソ重かった思い出 インタープリタだけどコンパイル済呼び出してるからnumpyとかPyTorchとかTensorFlowあたりは速いね 機械学習も科学計算もバカには無縁だからな
バカが用途に合わせた言語選択をできずPythonは遅いみたいなズレた失敗体験を重ねている Py厨はうるさい
Py厨はしつこい
Py厨は用済み Pythonだと女の子の前でパイパイとか面と向かって言えるから良いわ
貴重な機会 >>181
つまり実際に動いている部分はPythonで書かれているのではないのだからPythonを使う必要はないってことなのね Pythonはその実際に動いている部分を統一的で簡素なインターフェースで呼び出せるようにしたスクリプトみたいなもので、実際に動いている部分だけ分離すればいいみたいな話はナンセンス その実際に動いてる部分を網羅的にwrapして使えるようにしてるまともな言語が他にないから、Pythonみたいな卑猥な名前の言語が流行ってるんだよ GPU計算をCUDAで自分で書こうとしたらクソめんどいからなあ
どうせ自力でCUDA弄っても大してパフォーマンス上がらないしあえてPython使わない理由もない感じ >>188
その通り
実はPythonである必要性は何もない
たまたまそれらを呼び出すスクリプト環境としてPythonが使われて環境整備されただけにすぎない
そしてPythonが言語として優れているわけでもなくて特にメリットのある言語ではない Jupyter notebook形式で試行錯誤できる静的型付けでPythonと同じようなエコシステムの言語があればそっち使う C++とRustのスレなのになんでPython厨とPythonアンチがいるんだよ
どっちもつまんねーから帰れよ 本丸はポンコツだけど周りはすごい
javascriptと一緒か マジでPythonはプログラミング言語としては他と差異化できるような何か優れた特徴がある訳ではないからな
Rustがプログラミング言語として優れていて他の数々の言語に対して明白に差異化できるという状況とは全く異なる 昔のhaskell厨とまるっきり一緒のこと言ってて進歩ねーな。。って思うわ。 基盤になるシステム作るんならいいけど、ちょっとした計算するんならRustは使いづらそうだわ
スクリプト言語でよさそう SNS・メンターサイトや動画サイトで、Pythonが稼げると煽って教材を売りつけてる人らがいるんだよな
ディープラーニングブームの時に多くて、もう下火にも見えるけどさ
東大博士持ちの稼ぎを見せて高卒にPython教材を売りつけるとか、あんまり見ていていい気はしないね そんなもんはjavaでもrubyでもいたし、もっといえば英語教材なんて今でもそれやっとるし。 JavaやRubyは学歴不問に近いところも多いんじゃないの、雇用形態や額面に目を瞑れば中卒でもOKよ
それに対してPythonは言語だけできてもどうにもなんない
RustもPythonに比べたら学歴不問寄りだけど、なんだかんだ千葉大筑波あたりが雇われるための下限に見える HTMLで稼げるとか言って講座売りつけてたやつもおったな
なんて名前だったっけ? >>201
Pythonはバカ向け言語
Rustはバカには使えない言語
使いこなせればRustはC/C++と同じく最も高速でありつつ便利で書きやすく現状で最高のプログラミング言語と言えよう 使いこなせれば...と言い出すと機械語吐けるので大差はないと思うが
(それこそ最適化まで考えたら、今でもFortranが数値計算系で多用される様に)
そしてむしろRustは、プログラマの賢さに期待しないでコンパイラのチェックを厳しくする事が安全に繋がるって考えが根底思想でしょ
知らんけど 低学歴で仕事欲しかったらJavaかRubyだよ
悪徳業者が薦めていてもPythonなんかやっちゃダメ、あれは東大の博士号を持ってないと仕事ないよ pythonはプログラムに疎い科学者向けいんたぷりたーなのだ 使ってる言語にプライド持ってるやつってまあ無能だよね 言語でいっぱいいっぱいの人が大勢いるのが現状なんだろう
情報技術を活かすためにRustをやるとか、統計やAIのためにPythonやるとか、そういうのとは違ってきてしまっている メモリ管理が問題なら
ガベージコレクタのある.netでいいのでは Pythonはバカ向けというのは結局Pythonの用法を理解できてなくて、機械学習、数理モデル、統計解析、数値計算と、プログラミング以外に考えることがたくさんある人が簡単にGPUなどのハードウェアを使えるようにする便利なスクリプト
Rustと比較するものじゃないし、現状RustがPythonに取って変われるようにも見えない
そもそも方向性が違う rust推しじゃないけど
メモリ管理にGCじゃ限度があるからrustでは所有権とかの機構や制限を導入したんでしょ?
ついでに言えば、GC含めメモリ管理が結局実行するまで分からん状態だったら
RubyやPythonなんかと変わらないじゃん
もちろんrustで狂ったコード自体は書けるけれど
コンパイル時に把握できるメモリ管理の問題をコンパイル時にちゃんと叩き出すのがrustでしょ 高卒にデータサイエンス講座とか売りつけてる奴おるね >>209
ガーベッジコレクションがある言語は遅いし避けたい場合が多いのよ
避けられるなら避けますよね >>210
それらはPythonでなくても出来る
Pythonがたまたま環境整っているだけの話
つまりPythonという言語自体は何か凄いわけでもないし便利でもないし特別な機能を持っているわけでもない Rustはバカには使えないぐらい学習コストが高い
美点のように言ってるけど欠点でしょ
裏を返せばPythonはバカでもかける言語だからエコシステムが発達して便利になった Rustで書かれたPythonのパッケージも今後増えそうだな Rustで堅固に開発したシステムがPythonを通じてエンドユーザーに使いやすい形で配布されるみたいな未来は当然あると思う
その関係は互換じゃなくて補完だから、片方持ち上げるために片方disってるのみるとそれは違うだろという感想になるな refcellとかboxとかメモリ扱わなきゃrustも他と大差ない
は言い過ぎだけど言うほど難しくはない 言うほど難しくはないが、言うほど使うメリットもない。 でも現実として従来C/C++で書かれていた分野はどんどんRustへ置き換わっていってるよ
元々頭が良い人たちばかりの分野が多いため まだ流石に「どんどん」と言うほど置き換わって行っている訳では無いが
趨勢は決したし、評価も出尽くしてただろうから
必要性の有無とか趣味の違いとかを抜けば、今更なんやかんや言うのはだいぶポンコツ感あるな rustに変わってるところなんてほとんどないがな。。
嘘を普通につくから信用がなくなるって当たり前のことすらわからんとはね。 高学歴御用達なのはmatlabじゃね? フォートランとか GAFAMみんなRustへ進んでるのね
Rustに立ち向かえるようなライバル言語がないことが大きいのかしら 低学歴の象徴である、専門学校とかって何を教えてるんだろね このスレでRustに反対する人たちが代わりに話すのがPythonとかRubyな時点で反対派がバカだとよくわかる Rubyってなんかね、高卒を騙して教材を売りつけてるようなのばっか目立つよね 逆でしょ
Rustの話してる人がなぜか全然性質の違うJavaとかPythonとかを引き合いに出して比較してバカさらしてるだけ スレ遡ると一人か二人アホみたいなRust信者が他言語sageしてるな
Rust的にもこういうアホ信者は迷惑だろ Javaはガーベッジコレクションある問題だけでなく言語として古臭くて書きにくい
Rustは洗練されて書きやすい 元々は手続き型として設計された簡潔な言語が、オブジェクト指向やら関数型やらを行き当たりばったりに増築し続けたおかげで、コレクション操作に関する「一貫性」という設計哲学が破綻してしまった悲惨な言語もある
[Ruby]
a.sort().reverse().map{|x| x.to_s}.join('-')
[JavaScript]
a.sort().reverse().map(x => x.toString()).join(“-“)
[Python]
'-'.join(map(lambda x: str(x), reversed(sorted(a)))) Py厨発狂w
Py厨発狂w
Py厨発狂w
Py厨発狂w Py厨発狂w
Py厨発狂w
Py厨発狂w
Py厨発狂w Py厨発狂w
Py厨発狂w
Py厨発狂w
Py厨発狂w なんか触れちゃいけないタイプのヤバいやつも湧いてる しーぷらぷらドロップアウター
ちんちんぶらぶら全裸Rust断末魔
キエエエエエー んで結局
goとrustはどっちがさいきょーなの? 何で書いてもバカはバカなコードを書く。その割に言語ガーをやりだす。 別にどんな言語でもすぐ習得できるから争う必要もないだろ
どの言語がフレームワークがって執着する奴は
学習コストとか言っちゃう無能 どの言語のどんなフレームワークについても同じ話で、
そのフレームワークを自力でも書ける人々が、様々なメリットからそのフレームワークを使うならば何の問題もない。
しかし、自力で書けないような人々が、表層上だけ理解するだけで満足して、様々な勘違いや間違いを犯すことが問題。
例えば、本質的なところを理解できていないために非効率な誤った使い方をしてしまったり、向いていない用途に使ってしまったりする。 非効率でも向いていなくても、仕様を満たしてれば問題ないと思うが >>248
そういうダメなやつうちにもいるわ
例えばオーダーが変わってきてしまう非効率なプログラミングしても入出力の仕様を満たせばOKにしちゃう >>248
こういうバカと仕様を適当に用意するバカが相互作用してひどいことになるってのがITの現場やね >>248
それは最悪
言語やアルゴリズム(計算からキャッシュまで種々)やフレームワークの選び方によっては性能が数倍から一桁は実際に変わる
例えばサーバー1台で済むところをサーバー10台必要になったらサーバーのランニングコスト10倍だ >>251
それは話が違う
10台で動けばいい仕様で、1台で動いちゃうシステムはオーバースペックだよ
もしそのためにコストが大きくなるようなら、遅い方が正解
だから、仕様を満たしていれば問題ない >>252
クラウドランニングコストが支出のメインなサービスはいくらでもあるわけです
毎月毎年の支出が1/10になることは経営陣も最も望む関心事項です
ダメなアーキテクト&プログラマーかそれとも優秀かで地獄と天国になります 251の言うことはもっともだ
仕様以上のことをしたって給料は上がらないからね
むしろクソを作ることで継続的な改修依頼を受注でき、営業から喜ばれるかもしれない それがいいのだが実際はクソのメンテで収入2倍とかなったりする狂った世界が展開されとる。 人はクソをどうにかしたいとは思わない
クソはなるべく早く水で流したい 要求仕様に欠陥があっても言われた通りに作るだけ
そして非効率で遅い実装でも仕様さえ満たせばOK
こんなダメな会社や業界やオフショアも多数存在
そして改修でさらに儲ける >>259
要求仕様に欠陥があるなら、実装する前に指摘しなよw
その上で非効率で遅い実装でも仕様を満たしているなら問題ない
要求仕様に欠陥があることを知りながら実装したり、
要求仕様にない機能や性能を実装するのは悪だろ >>252
サーバー10台で動く事を要求仕様にしたら規模見積りが根本的に駄目だろ >>260
「指摘 = 喧嘩吹っ掛けてきたと認識する」みたいな人だったら絶対指摘しないw
おかしなことになっても「そういう指示じゃん、俺の知ったことか」とだけ >>232
Rubyは今こんな感じです
a.sort.reverse.map(&:to_s).join("-")
mapをどーにかしてほしい >>266
現実見せてやらないと話にならないマンが過去にごく少数いたんだよ 俺はgo言語の潔い豪傑ぶりが好き
特に変数名を略しまくるところ。
後で見て自分で作ったことが全く意味わからなくなった C/C++の代替言語は今まで沢山生まれてきたが、ほとんど使われず消えていったという事実を直視しよう。 >>272
C/C++/Rustはガーベージコレクションが無い >>273
お前Javaがない世界線から来たやつ? >>275 横からだが
JavaはC/C++の代替とは成ってないだろ
JavaでOSやデバドラ書いたりしないし
そもそもjvmからして他のOSの上で動く事/他のOSがある事が前提だし
Java自体は成功した言語だし、他への影響も凄いと思うが
PythonがC/C++の代替言語じゃないのと同じようにJavaもC/C++の代替言語じゃない >>273
それらの言語のなかでは過去一成功していると思うけどね LinusはC++は平均以下のプログラマが好んで使うと言って批判してたな 違わね?
そもそもLinusが言ったのは
「並以下のプログラマが(C++を)使う事で簡単にゴミを作れるから」だろ
「C++は平均以下のプログラマが好んで使う」はどこから出て来たんだ? C/C++は絶妙な言語仕様だよね
アセンブラに近い事からCOBOLに近い事もできる
その適用範囲の広さは主要言語の中ではNo.1だろう
優秀なプログラマにとっては能率の良い万能言語だが
馬鹿が使うとバグ発生言語にしかならないという側面があるだけ >>281
その後に続くのが
「そういったプログラマを排除できるということのためだけにCを使い続けるのもありだ」
って文なんだからやっぱC++プログラマは能力が低いと認識してるよ。
さらに
I've come to the conclusion that any programmer that would prefer the project
to be in C++ over C is likely a programmer that I really *would* prefer to piss
off
とまで言ってる
CよりC++を好んでプロジェクトに使うようなプログラマーは本当に糞だという結論に達した >>284
どこがだよ...
deeplもあれば、なんでもあるのにどんな斜めな読み方してるんだ
頭悪いのも、ここまで度が過ぎると大変だな >>284 >>279
Linus Torvalds が昔 C++やC++を好むプログラマを嫌ってるのと
「C++は平均以下のプログラマが好んで使う」はかなり異なる話だが C++はたしかに欠陥言語だけど
俺なら使いこなせると言うバカがいつも出現しがちなことの方こそ問題 C++って違法増築を繰り返してて見苦しいったらありゃしねえ
JavaやC#も機能追加を繰り返してるがこれらは最初からそういう設計だったんじゃないかって感じに増築してる >>291
船頭が多いか少ないかの違いなんじゃないかな >>291
Javaの産みの親 James A. GoslingすらScalaを選んでるのに?
Javaは歴史的に必要だったとか価値があったなら分かるが
設計は新世界を夢見たものの複雑な思惑も混じった結果
James A. Gosling曰く”宇宙の悲劇”と烙印される酷さだぞ >>294
"Programming in Scala" の古い版に
If I were to pick a language to use today other than Java, it would be Scala.
--James Gosling, creator of Java
と言葉を寄せてるぐらい https://www.atmarkit.co.jp/ait/articles/2107/08/news112.html
「WebAssemblyアプリケーションの作成に使用している言語は何か」と質問したところ、Rustが最も多くの回答を集めた。
「WebAssemblyアプリケーションの作成に今後最も使用したい言語は何か」という質問でも、Rustを挙げた回答が最も多かった。 >James A. Gosling曰く”宇宙の悲劇”と烙印される酷さだぞ
そう思ってるのにscalaて。。goslingはバカなのかな? 明らかにレベル違いの相手へのズレた物言いが、まさに負け犬の遠吠えで悲しいな C++は書いててつまらない
コンパイルエラーばかり
C++書けるけど今のプロダクトはCで書いてる >>300
それはC++が悪いんでなくお前さんの理解不足なだけでないの? >>300
コンパイルエラーばかりで書けると言えるのか >>301
そうかもしれないがC++はエラーの内容が意味不明すぎる
言語仕様がでかすぎるから完璧に把握するのは無理
Cぐらいコンパクトじゃないとエラー解決に時間を使いすぎる Cほど言語仕様がコンパクトな言語なんてそうそうない
C++のシンタックスエラー潰しに汲々としているようじゃ他の言語もまともに使えんじゃろ >>305
どうもC++だけだめだわ
書いてて楽しさよりストレスのほうが多い
俺には合ってない C++なんてCの上位互換なだけの何でも入り言語だから美味しいところだけ使ってればいい
言語仕様を全部使おうなんて欲かかなきゃいいだけ 自分を制限できないからだめだわ
機能をぜんぶ使いたくなるタチだからC++の沼にはまりやすい
言語側で機能を制限してくれないと使いづらい ドライバ書くわけでもないのにC++じゃなくてCを使わされるとかとんだ罰ゲームだよ Rustは後発だけあって言語が洗練されていながら便利ですね Rustは問題の切り分けや対処の仕方が明確(referenceやerror message, cargo system)なのであって
言語として洗練されてるのとはちょっと違う気がするな...
macroやunsafe, life time, ownership 周りは試行錯誤のを取り入れて整えれずにダサい設計を引き摺ってるし
標準ライブラリ等が虚弱なのはcargoとcrates.ioにおんぶに抱っこの精神だし
勿論、それはRustの設計や思想が悪いとかじゃなくて
ハードよりの泥臭い問題とかプログラマの自由とその加減調整とか
求められてるモノが複雑化してるのに広範囲に及とかで
general purpose programming language を掲げる以上は仕方ないとは思うけど >>307
> 言語仕様を全部使おうなんて欲かかなきゃいいだけ
でも、そういう書き方をすると、C++の特異な創価のブタが文句いうんだよ。
まあ、創価からは非創価は人間じゃなくてゴキブリらしいからね、
なにかあると文句いうんだけどね。
創価は人にあらず。
全世界の認識なのに、創価は創価としか付き合わないから
全く理解してないんだよな。
ホント創価は迷惑。
というか創価こそ悪魔そのもの!
消えてなくなって欲しい >>308
言語に振り回されてるのか
趣味なら別にいいが
職業プログラマなら不味い そういう意味じゃ最近はPythonも機能増えすぎて使いづらくなってきた
プログラミング言語はちゃんとした舵取りがいないと駄目だな pythonは確かに迷走気味だな。
互換性を豪快に無視したver.upでコードの寿命も短いし
案件もないのにもてはやされてるのもちょっと変。
職業プログラマは係る価値のない言語。 >>320
ただの意見だし余計もへったくれもないだろ
お前みたいなのは議論の邪魔
具体的にどの意見がどうおかしいのか書け
それがないと情報としてただのゴミ >>319
シェルスクリプトを知らない人がPython使ってた >>323
XMLの操作とかシェルでやったら大ごとだがPythonでやれば一瞬 >>325
それはPythonでする必要性が全くありません >>326
シェルでやる必要はもっとないというか単に手間がかかるしJavaやC++でやる必要も全くない
言語なんて道具だよ
その場にある一番楽な道具を使うだけ C++は良い言語→わかる
C++はクソい言語→わかる
C++はクソい言語、C言語使うわ→何言ってるんだこいつ
C++使いたいけど、マイコンベンダーがC言語しか用意してないからC言語使うわ→わかる
C言語開発に慣れてるし、下手に自分のわからない機能を使われるのが嫌だからC言語使うわ→どうぞ
C++よりC言語使うべき→は? >>327
上二つは分かるが、最後はそれじゃダメだって流れがあるから
rust含めpythonのtypeとかjuliaへの移行とかだろ
ちゃんと変なこと起こさない道具じゃなきゃ、楽なだけは意味ない >>328
上の方で出てたLinusの意見だろ
C++ではなくCを使うだけでクソみたいなプログラマを
いくらか排除できるって言ってる そういう意味では今後のこの分野はCとRustだけで十分かもな RustがどこまでC/C++のシェアを奪えるかだよねぇ
LinuxはとりあえずCのままいくみたいだけど Linux kernelはRustも使うつもりだって最近ニュース結構出てるよ MSがそう言うってことはWDKをRust対応にするのかな
今はC言語しか使えなくてC++も使えないからすげー苦痛 if条件がbool型じゃなくてもOKな言語だとミスありがち
たった1文字のタイプミスで大量のChrome OSデバイスがログイン不可になってしまう
https://gigazine.net/news/20210726-google-typo-bricking-chrome-os/
Chrome OSが「バージョン91.0.4472.165」にアップデートれるとログインできなくなってしまう原因
【誤】if (key_data_.has_value() & !key_data_->label().empty()) {
【正】if (key_data_.has_value() && !key_data_->label().empty()) { 今時の言語ならlinterとか反応して警告出してくれても良さそうなのにな... Facebook、開発言語に「Rust」採用 次期ビルドシステムの開発で
https://www.itmedia.co.jp/news/articles/2107/28/news152.html
Rustを用いることで、どのような利点があるのか。
Facebookは記事の中で次の4つの項目を挙げています。
@Rustのasync/awaitシンタックスは、非同期のコードをとてもスムーズに記述できますし、
Rustは複雑な並行処理の詳細を正しく理解するのに役立ちます。
BuckのJavaの計算を一つ一つ並行処理に移行するのは数カ月に及ぶ困難な作業でしたし、
シングルスレッドの大きなボトルネックがまだ存在しています。
ARustには、開発をより簡単で楽しいものにしてくれる多くの高レベルな言語機能があります。
それらはenum、パターンマッチング、trait、手続き型マクロなどで、
Rustの開発者の多くに愛されています。
BRust はメモリの割り当てをより細かく制御することができます。
ガベージコレクションのある言語では、たとえジェネレーショナルコレクションであっても、
Buckが行うようなインクリメンタルな演算に対応するのは困難です。
CRustは高性能です。
Rustに移植することで劇的な性能向上を私たちは見てきました。 しかしC/C++でバグを生まないのは至難の業と言うか不可能だな >>341
規模が大きくなって、開発者が10人を超えるようになるともう不可能だな >>344
まあそうなんだけど
現実的にはバグを作り込みやすい言語とそうではない言語はあるわな Jay Oster氏「Rustは、安全でパフォーマンスが高いだけでなく、次のような機能を備えている」
・ジェネリック型
・トレイト
・代数型
・マルチパラダイム
・おそらく世界で最も優れた依存関係管理ツールとビルドツールを備え、「依存関係地獄」の問題を実質的に解決
・インラインドキュメントとテスト、ベンチマークの素晴らしいサポート
・ライブラリや抽象化、ツールについてエコシステムが成長中
・手続きマクロ
・既存コードとのFFI(他言語関数インタフェース)相互運用性
・数十のプラットフォームのサポート
・有益で、間違いなく満足のいく開発者エクスペリエンスの提供
「さらにRustは、以下を全て兼ね備えた唯一の言語だ」
・メモリ安全性
・型安全性
・データ競合が発生しない
・AOT(Ahead-of-time)コンパイル機能
・ゼロコスト抽象化に基づいており、これを促進する
・最小限のランタイム(ガベージコレクションやJITコンパイラ、VMがない)
・少ないメモリ使用量(小型マイクロコントローラーのようにリソースの制約がある環境でもプログラムが動作する)
・ベアメタルをターゲットにできる(例えば、Rustを“高次アセンブラ”として使い、OSカーネルやデバイスドライバを作成できる) >>344
典型的な「日本人の悪いところ」だな。
「名人になってノーミスでクリアしないやつが悪い」って言って、
思考停止して全体効率を下げる(もしくは上げない)。 c++は糞野郎ほどいらん機能つかってドヤってメンテしづらいコード残して去っていく。 >>348
C++の「いらん機能」を具体的に述べよ 機能ひとつづつ使う分には構わんが、複数コンストラクタ、演算子オーバーロード、ムーブあたりをがっつり混ぜて使うと普通に死ぬ C++でバグを出さないようにするのはクモの巣の隙間に腕を通すようなもの >>353
お前のししとうちんこなら通りそうだな。
どういう意味かわかるか?
C++はちんこで書け!! もちろんC++でも完璧にミスが起きないように注意してプログラミングしているのだがどうしてもメモリ管理ミスバグが後から見つかっている
そして大手IT企業ほどRust採用している現実を見ればわかる 世界最高レベルの大手ITの開発者でもバグを無くせないんだから人間の力だけでバグを無くすことは不可能に近いんだろうな C++はヘタクソが組み上げると収集がつかなくなる
フリースタイルだからね >>357
単純にC++が欠陥言語なだけ
だからこそC++からRustにするだけでメモリ安全性を確保できてその種のバグが生じなくなった Rustに切り替えるからといって普段からバグ出している小わっぱが急に出さなくなるとは到底思えない プログラミング始めた頃に比べてメモリは数千倍になったのに
まだメモリがメモリが言ってるの何でだろ C++使いはまともにソフトウェアを作ることができない
C++を書くのが手段ではなく目的になっているためだ >>360
一流のプログラマーたちが気付かない複雑な状況で起きている
オープンソースの基本ライブラリで何年間も誰も発見できなかったものもある
人間が手動で完璧に管理するのは無理だと歴史が証明している >>361
メモリバグを踏むかどうかはメモリ量とは関係ないってのが前提だが
(単に昔はセキュリティリスクも低ければ、ブルースクリーンが謝れば許されたとかもあり)
361の感覚とは逆で、要求される量に対してメモリはたいして増えてないだろ
個人利用のブラウザ一つとってもどれだけメモリ食ってると?
ましてや、商用のサービスのサーバーはじめメモリ消費がどれだけあることか >>365
意図的に誤解を書いてるのか知らんが、微妙に違う
人間がミスしたら、rustのコンパイラがコンパイルさせないので
問題をコンパイル時に人間が気がつく可能性があがる >>365
@理論的に、こういう使い方をしていればメモリ安全性が保たれる、というのはある。
AしかしC++プログラマーは、それを知らない or 知ってるが守らない or 守ろうとしているが人間なのでミスはあるしミスってもC++コンパイラは通してしまう。
BそこでRustはメモリ安全性が保たれている場合のみコンパイラが通すようにした。つまりコンパイルが通ったRustプログラムはメモリ安全性が保証される。 コンパイルいまーきみーはじんせいのーおおきなーおおきなーぶたいにーたーちー >>369
javaとかの nullpointerexceptionとかがrustならコンパイル通れば起こらないとか
実行時エラーのいくつかが起きないのと
GCの実行にかかる時間がまるまる消えるので早いし、メモリ効率も良い >>354
> お前のししとうちんこなら通りそうだな。
> どういう意味かわかるか?
あんたがひどく下品なのはわかる。 >>368
2に該当する人間がrust使ってもコンパイル通すためにunsafe使いまくる未来しか見えん。 >>373
「人間なので」以降の部分読み飛ばしてませんか メモリ確認機能があるからコンパイルに時間かかりそうだな
実際どうなの? >>376
一度コンパイル通れば、それ以降についてはCとかと変わらない
初回については色々と条件が違うのもあって比較しにくいが重めかもしれない 遅く無いだろ。そもそも、基本バックエンドはllvmそのものだぞ
アホでも秒で調べられる話に嘘言い出してるのは、脳味噌どっかに捨ててきたのか? いやどう考えても遅いだろ。。llvmが速いと思ってる時点でお察し。。 --release付けなくて遅い遅い言うのは初心者あるある いやもうまともな規模でc/c++でのビルドしたことないのはよくわかったよ。
そういう趣味でやってる分にはなんともないだろうし好きに言ってりゃ良いよ。 なんかコンパイル速度と実行速度の話題ごっちゃになっとらん? それにしても、自分の意見が通じないと分かったらファビョるの
初心者ムーブにしか見えなくて可哀想 開発者の「好きな言語」や「嫌いな言語」--Stack Overflow調査
https://japan.zdnet.com/article/35174931/
2021-08-09 08:30
181カ国、8万人以上の開発者がお気に入りの技術に投票した結果、プログラミング言語「Rust」が再びランキングのトップに立った。
Rustは、プログラマー向けのQ&Aサイト「Stack Overflow」が毎年実施している調査で、6年連続で「最も好ましい言語」の首位になっている。
この調査「2021 Developer Survey」は、2021年5月25日〜6月15日にかけて実施され、181カ国の開発者8万3439人から回答を得た。 うわぁC++嫌われ杉wワロタw
みんな頭悪いから仕方ないか Rustってのはメモリ監視を強化したC言語であるから、
早くて安全なのは、まあ、そうなんだが
メモリ監視を強化しなければならないほど、
プログラマは馬鹿で無責任な奴が多いってことだ。
高卒やらFランやらの計算機を理解していないクズどもが
Cで組むとかそれがそもそも問題なわけで
クズにRustで組ませても、それはそもそもクズプログラムにしか
ならないわけで、クズプログラムの量産につながってしまうだけである。
一部の才能のある人にだけ組ませるには
Cのほうがよい
Rustは敷居が高いくせに自由度がないという、
意味不明の言語だ
まあ朝鮮人にはお似合いの言語だ(笑) Rustってのはメモリ監視を強化したC言語であるから、
早くて安全なのは、まあ、そうなんだが
メモリ監視を強化しなければならないほど、
プログラマは馬鹿で無責任な奴が多いってことだ。
高卒やらFランやらの計算機を理解していないクズどもが
Cで組むとかそれがそもそも問題なわけで
クズにRustで組ませても、それはそもそもクズプログラムにしか
ならないわけで、クズプログラムの量産につながってしまうだけである。
一部の才能のある人にだけ組ませるには
Cのほうがよい
Rustは敷居が高いくせに自由度がないという、
意味不明の言語だ
まあ朝鮮人にはお似合いの言語だ(笑) 頭が悪い人は能力不足なよりRustでプログラミングが上手くできないケースもあるようだ
そしてアンチ化 公式資料よりブログ記事の「できたよーサンプルー」が参考資料になるからな C++の方が経験者が多いから答えを見つける機会が多い >>393
最初の段階ならRustの方が簡単
公式がまぁまぁしっかりドキュメント作ってるのもあって調べるのも簡単だし
ソースが見やすい(テストがだいたい梱包で利用の仕方が分かりやすかったり)
C++は(STLとか標準ライブらいの)ソースが複雑で、まぁ初心者には意味不明 Rustは様々な言語の良い部分を上手く洗練して取り込んでいて非常に使いやすい
C++は歴史的に増築改築を重ねて複雑化していてわかりにくいし綺麗でない 綺麗かどうかは書く人間による
アタマが悪いかオカシイ人が組むとあり得ない方向に行って帰ってこれなくなる >>396
それは信頼できない
>日経クロステックではWebアンケート「プログラミング言語利用実態調査 2021 夏」を実施した。
>調査期間は2021年5月31日〜6月23日。455人の会員から回答を得た。
一方でRustが最も好ましい言語1位となったアンケートは以下で信頼できる
>>387
>この調査「2021 Developer Survey」は、2021年5月25日〜6月15日にかけて実施され、
>181カ国の開発者8万3439人から回答を得た。 どんな言語どんな環境かは開発者の好き好き
何を作ってどれだけ売れたかだろ >>400
大手IT企業がこぞって従来のC++やJavaからRustへ切り替えていってる現状はこれまでのプログラミング言語たちと異なりますね >>396
VBAが6位なランキング持ってきて....
逆に、そういうのにはRustが出てこないってのは其れはそれで別の意味があるだろうが IT土方の動向を探るにはIT土方も入れたアンケートではないと実態を把握できないからね >>335
ブーリアンといっても内部的にはただ数値だし、条件を反転させることもするから、間違いは同じくらい起こるよ。 >>402
マイナーなものがランキング上位のわけがない。 >>404
それは強い静的な型システムを知らないと自白してる
その件に限らずRustはコンパイル時点で様々なメモリ安全性や使い方の間違いの防止を保証できる >>399
見てて恥ずかしくなるほどの母数の差だな。
「会員455人」対「181カ国の開発者8万3439人」て…。
前者、サンプル数が少なすぎて母集団が歪んでる可能性が高い。 >>408
へえ。勉強になったよ。ありがと。
でも、複数の辞書に載るほどの用法ならもはやそれは
その単語がその意味として日本語に定着しちゃってるって
ことにならないかな。
「新た」は「あらた」なのに、最近の若い女官たちが「あたら
しい」とかひっくり返した言葉をはやらせてて実にみっともない。
みたいなこと言ってた人もいたけど定着したし。
「全然大丈夫」なんて最初は抵抗あったけど、もはや全然は
否定の語尾を必ず伴うなんて思ってる人いないんじゃないかなあ。 まともな統計学的主張として扱われなくていいならその意味で「母数」を使い続けていいよ 横からだけど>>407の「母数」は「分母の数」の意味だと誰にでも明らかだから揉める必要ないように見えます そもそも「母集団」も間違ってるんだよな
母数の誤用はそれ単独の問題じゃなく統計の基礎知識を誤解している兆候 統計の基礎知識なんか知らなくても
専門用語なんか持ち出さなくても
>>407の母数は一般用語として意味わかるし
文句をつけてる人は荒らしかキチガイかどちらか Rustを敵視してCを擁護してJavaで食ってる野郎の知的レベルと人間性がよく分かる書き込みだな RustはイキりPGが推してるだけで案件はほぼ無いとか。企業側は過去にイキりPGの影響で採用したgoで懲りて臆病になっているらしい。
個人的にはCが滅びてくれれば次は何だって良いが、過去の膨大な資産がある限りあと30年は難しいだろうな。 Microsoft、Google、Mozilla、Huawei、Facebook「僕達イキってます」
プログラミング言語「Rust」のための「Rust Foundation」設立 -- AWS(Amazon)、Microsoft、Google、Mozilla、Huaweiが創設
https://japan.zdnet.com/article/35166267/
Facebookが「Rust Foundation」に参加
https://japan.zdnet.com/article/35170192/ >>419
Goは大規模だと大量に増えてきているが中規模以下だと開発の足枷で苦労話が絶えない。適材適所なんだがイキりは大規模事例が絶対という単純思考が多いようで。
>>420
それ保険やで。○○ Foundationで形骸化したものも多いやろ。Xenとか。 個人的にはC++を作り直すべきだと思う
もっとシンプルなC言語のスーパーセットを開発したほうが良い
ライブラリが豊富でユニコード対応が楽でマルチプラットフォーム
まさに夢のような言語 C++は文字コードがらみ無茶苦茶やからなw
17で入った標準変換が20で無くなるとかカオスmax
変換なしにまともに文字列扱えないしw >>424
色んな人が挑戦してるけど
今のところ先がありそうなのでrust以外だと
Zig Programming Language
あたり? >>428
Obj-C は方言がひどすぎる
Swift でやっとマシになったわ >>435
開発陣がやる気ないからGoでいいかなって感じ。 これもうダメだろ。。全く理解してない。
ttps://lkml.org/lkml/2021/7/7/399 「進次郎さんがCSISに入ってすぐ、ワシントンで開かれたシンポジウムでは彼は初対面の方にも“Hey!”と声をかけていました。日本語なら“おい!”と言っているようなものです。グリーン氏も“上司の僕にも言うんだよ”とこぼしていましたね」 >>406
あんたCPUもマシン語もアセンブラも知らないだろ? Web系プログラマー
→若者、大卒以上、テレワーク、私服で仕事、新しいトレンド、VSCODE、GIT、渋谷系勤務、都会派、iPhone使い、中流生活、こぎれい、Fireが羨ましい、綺麗なMacbook持ち、コロナワクチン接種推進派
業務系プログラマー
→中年、高卒専門卒、通勤電車、スーツで仕事、古いレガシー、ECLIPSE、SVN、SES所属、田舎者、android使い、底辺生活、こきたない、生活保護が羨ましい、オンボロごみノートのubuntu持ち、コロナワクチン接種反対派
こんなイメージかな >>440
めっちゃダメなところの寄せ集めが業務プログラマのイメージやんw >>440
Fireってなに?コーヒーとAmazonのやつしかわからん >>443 早期リタイアみたいな話
金稼いで節制して種つくったら後は利息で生きていくみたいな
鴨がネギしょって鍋に突っ込む様式美 無職な連中はプログラマー教室にでも行って一発逆転だ
中抜きされて辛いならJavaプログラマーになるのが一番
プログラミング教室のバナー広告もあるからクリックしてみれば?
Aさん
俺はJavaオンリーで700万だなぁ
Javaはここのアンチみたいに全然コーデングできない無能が現場に多いから
必然的に比較対象として優秀に見られるから楽なんだよね
こちとら一切勉強してないのに
Bさん
俺Javaメインで1400万だけどね
FInTechとかJavaの高額案件いくらもあるだろう
Javaしか出来ないという人間は少ないだろうが
Nodeもちょっといじったし今後増えるかもしれないけどバックエンドに関してはJSはまだまだぐちゃぐちゃ 妄想全開だなw
ああいうフリー向け案件紹介サイトは全部派遣会社がやってるガセなのに はーい、こんにちは
オブジェクト演算子を発明した私が来ましたよ なんか盛り上がってんね
でも俺web系だから多分一生触らないわ >>449
Apacheとかnginxとかの拡張モジュールをC/C++で開発するのはよくあるとこだと思うが 世間じゃ競技プログラミングの影響でC++読める人が増えてるらしいですよ CakePHPをnode.jsにリプレースしてぶっ壊れたteratailみたいな事例があるから使える人がろくにいない意識高い系技術はスルーが吉 RustはC++と違って安全かつ便利かつ高速というプログラミング言語の革命
> プログラミング言語は以下の3つに分類される
> CとC++ ←『省メモリ高速』だが、「メモリ解放でミスると危険」
> GC言語 ←『省メモリ高速』ではないが、「メモリ解放は自動で気にしなくていい」
> Rust ←『省メモリ高速』だが、「メモリ解放は自動で気にしなくていい」 メモリー管理とポインター管理がバグの7割って事かなぁ?
でも、型を自動判定してくれる系の言語も中々キショいバグ出してくれるよな ってか、あのautoってすっごく不気味なんだが
なんで型を決めてもらう必要があるんだ?自分が組んでるコードやろがい
わかるやろ!ってなる >>457
関数とかメソッドの戻り値は自分で組んだわけじゃないからわからない。
特にテンプレート絡み。 テンプレートの長ったらしい型をいちいち書いてられない >>457
Rustでは標準で型推論されるため
変数に型宣言することの方がレア こう言う自動なところが意図した方向と違うと思わぬバグが出るんだよなぁ >>462
その点、Rustでは関数の引数と戻り値について必ず型(トレイトを含む)を明記しなければならないので安全
その上でそれ以外の変数は型推論により型を明記することはほとんど必要なく便利 プログラミング言語は以下の3つに分類される
・CとC++ ←省メモリ高速だが、メモリ解放でミスると危険
・GC言語 ←省メモリ高速ではないが、メモリ解放は自動で気にしなくていい
・Rust ←省メモリ高速だが、メモリ解放は自動で気にしなくていい
つまり第三の新たなプログラミング言語が出現した >>466
経済的コストという大局から見ても
省メモリ高速であるか否かはコストに直結する最重要項目
IT大手各社もRustを採用した理由はそこにある 解放漏れとかは中で何やってるか分からないAPIが原因だと思うんだけど >>469
C/C++はそのように解放漏れや解放済みを気付かずに利用などが起きてしまう言語なので、プログラマーが常に完璧を期していないと発生してしまう
Rustは言語仕様でそれらが発生しない、つまり、コンパイル時に問題があれば発覚してエラーとして指摘してくれる、有能なプログラミング言語 メモリの静的動的解析ツールが山ほどあるのに
今更Rustの存在意義ってなんなの?
とむこうで議論になっていたようだが >>471
それは不完全で中途半端かつ手間暇も含めて無駄な行為
GC使用言語とRustではそんな馬鹿げたものが必要ない
それでいてRustではC/C++とほぼ同じ速度が出る Rustは少し使ってみただけだけど、バグがでないというのは本当だが、
制限がきつくて全部ベクターにするかunsafeを使うかのどちらかになる感じ。 ま、どんなものでも完璧なものなどないよ
ここんとこRustの脆弱性ぼろぼろ出てきてたやん
自分が負担しなくてよくなってるからそういうことになるわけだが それでも、C/C++&解析ツールとRustを比較すると、後者の方がバグは少ないよ
完璧では無いけど、よりバグが出にくいならいいんじゃね? そんなことよりRustはプログラミングしやすくて快適なことが一番大きい
基本的な言語設計と仕様が良い Rustさんには、GC言語のランタイム改善とか、
便利なライブラリの改善に力を入れてもらえると、
大変助かる。 >>479
そうなるだろうね
安全な言語でOSが書き変わっていけば、全ての言語というか全てのアプリケーションが恩恵を受けるわけだし ま、Cは「アセンブラだるい」ってのが開発理由だしアセンブラの悪い所がそのまま表面に出てしまってるだけだからなぁ
その後のCなんちゃらの体たらくは情け無いがな 今までは、OSや言語はC/C++を使ってきたが、やっと後継者現れた。リスクは実行効率が120%になる。
作ったものを製品化する、バグ対応、セキュリティを考えれば、もう乗るしかない。 作り手がちゃんと自分がなにやってるか把握してればいいだけなんだけど、人って
楽したがる生き物だからね https://news.mynavi.jp/techplus/article/20220701-2385610/
Rustは近年多くの開発者から人気を集めており、
LinuxカーネルメーリングリストのLKMLに、Linuxカーネルの第二言語としてRustをサポートする旨が投稿された。
参加者もRustのメモリーエラーに関する扱いはCを上回ることを理由に賛同している。 リーナスに指摘されたmalloc-panic問題は解決って事でいいの? >>483
sun microsystemが、c/c++の後継言語として、
javaをリリースした時に、
java chip上で実行させればコンパイルしなくても最速だって言ってなかった? AWSがプログラミング言語「Rust」に期待する理由
https://japan.zdnet.com/article/35183866/
Amazon Web Services(AWS)は、同社のエンジニアたちがプログラミング言語「Rust」を
使っている大きな理由として、エネルギー効率の高さを挙げる。
AWSは早くからRustを採用し、Rust Foundationの創設にも携わった。
現在もRustの普及に熱心に取り組んでいる。
AWSのソフトウェアエンジニアで、Rustの普及に取り組む
Shane Miller氏と主任エンジニアのCarl Lerche氏の投稿によれば、
Rustはメモリー安全性を高め、セキュリティ関連の不具合を減らす役に立つだけでなく、
PythonやJavaよりもはるかに「エネルギー効率に優れている」という。
Amazonは、2025年までにデータセンターの100%を再生エネルギーでまかなうという目標を掲げ、
データセンターの環境負荷の軽減に取り組んでいる。
Rustの採用はその一翼を担うという。
Rustで構築されたAWSサービスの例としては、
コンテナーアプリ用のサーバーレスプラットフォーム「Lamba」を支える「Firecracker」、
「Amazon Simple Storage Service(S3)」「Amazon Elastic Compute Cloud(EC2)」、
コンテンツ配信ネットワーク「Amazon CloudFront」、
LinuxベースのコンテナーOS「Bottlerocket」がある。
「CやRustが他の言語よりもエネルギー効率に優れていることに驚きはない。
衝撃的なのは、その違いの大きさだ。CとRustを広範に採用すれば、
控えめに見積もってもコンピュートに使用されるエネルギーの量を50%削減できる可能性がある」と
Miller氏は述べ、その根拠として、C、GoogleのGo、Lua、Python、Ruby、Fortranなどをはじめとする
複数の言語のエネルギー効率を相対的に示した研究結果を紹介している。 Rustはまだβ版臭がすごいんだよな
そして結局cのライブラリ使うときはunsafeなんでしょ? >>492
これだけIT大手各社が本格的に核心部分へ導入してるのにβ版なわけがない
unsafeとは、コンパイラが安全性の保証などをその部分だけは面倒見れないのでプログラマーの自己責任でコードを書いてね、という部分
つまりほとんどのプログラミング言語はプログラム全体がunsafe
非unsafeな部分があるRustで書くのが圧倒的に有利 Rust はね、 unsafe を使わずに済ませようとするなら、うまく設計しないとコンパイルが通らない
メモリ的に下手な設計がそもそもできない言語なんだよ(苦しみながら) >>494
下手な穴のある設計では困る
従来の言語はそんなダメな設計でもコンパイラは通していた
Rustコンパイラはそれを排除してくれる良い言語 >>494
ダメな設計がコンパイル時にわかるなんて
動かしてみないとわからないよりええやん MLを初めて使ったときは、コンパイルが通れば正しいプログラム
である場合が多くて感動したものだが、
それに近い感じ。 ja.m.wikipedia.org/wiki/ML_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)
これです。 ちゃんと教育しないからバグるんじゃねーの?
C,C++でバグる人がrustでバグらない保証あんのか? バグらない代わりに、コンパイルエラーを無くせないと思う。 >>502
こんな低次元なこと言ってるやつがいるからこそのRustだろ >>502
少なくとも「use after freeが生じるコード」が含まれる場合はコンパイラに弾かれるので、出荷されない >>502
管理サイドとしてはダングリングポインタが無くなるだけでもメリットある。
そのためにコーダーが苦労しようかどうでもいい。仕事したフリしてバク突っ込む無能を排除できるくらいにしか思わない。 Rustの効果が確認できたら世の中の言語はみんなこの方向性になるんじゃないか >>507
あんな難解言語の方向性になるとかありえない。
AIが発達してクソコードのリファクタリング提案するようになる方がまだ可能性高い。 Rustのようにプログラミングしやすく安全で高速な言語じゃないとな ちんこをまんこに出し入れする行為をしたいのですが誰も相手にしてくれません 各Webブラウザ等の基本ライブラリChromium、プログラミング言語「Rust」をサポートへ
https://news.mynavi.jp/article/20230116-2564518/ c++でまともに書けないやつがrust使ってもunsafe,RefCell使いまくって無理やりビルド通すだけだぞ >>518
unsafe使用は安全ではないコードとなるためC/C++と同様に厳格な人的チェックが必要となるから何も改善しないけど
RefCellは安全性の点では問題なく、問題があるまま進まない点で改善する
C/C++で安全でないメモリ操作のまま穴があるプログラムが量産されるよりはね Cにいたのはバグも直せない能無しばかりだったが、
Rustではビルドも通せない能無しばかりになるわけだな。 でも、VisualStudioには、まだRustは無いみたいだな。
てっきりDirectX13がRustにでもなるのかと思ってたら。 >>521
コンパイルを通せないとその言語のプログラマーとは言えないから
C/C++からRustへ移行するだけで駄目プログラマーを排除できる
そしてプログラムの品質も上がり良いこと尽くめ そうだな。
駄目プログラマーを排除という目的には使える。
スレの上の方でも誰か書いてたな、グーゴーみたいな大手なら
篩として使える、みたいな。
Cも今となっては、Cってだけで篩になってるけど。 篩としては使えても、その篩はほとんど使われない。
「やったこと無いからやらせてもらえない」ことより
「やったことなくてもやらされる」ことのほうが遥かに多いわけだからね。
そして「Rustなら、コンパイラがバグを検知してくれるから、
コーディングやテストでも安いやつ使えるはず」みたいな勘違いへ。 プログラマーだけでなくダメな会社も排除できる
セキュリティの観点からC/C++禁止でRust指定案件も増えていく
その時にダメな会社はふるい落とされる でもさ、ふるい落とすのはいいんだけど、この進捗の遅れは
どうやって取り戻すの?
相手は他社の人だから、サービス残業なんてさせられないよ?
今こうしてドンドン遅れてるのに、このメンバーで
ほんとにオンスケに戻れるの? >>527
振るい落とされなかった優秀な人達は、優秀だから。
それに、残らなかった人達は、仕事してなかったか、
邪魔になってたまである。 それはいいんだけど、優秀な人達がいながら
なんで今こうして遅れがでてるわけ?
ホント、どの現場に行ってもいっつも遅れるんだな。
みんな優秀なはずなんじゃねーの? Rust使用しばりにすれば
上から下までダメな足引っ張る連中を一掃できそうだな >>529
プロジェクトマネージャーとかマネジメントの人も、
ちゃんとrustしてる?例外があると効果ない気がする。 ちゃんとrustしてるはずだよ。
下請けの営業の人がそう言ってたもん。 例外機構を排除したGoやRustだと設計できないポンコツもいた ビルドエラーが無くならず進捗が遅れる言い訳は
「設計書にこう書いているからです。
今は修正をお願いしており、修正版を待っている状況です。」
レビューは通ってもビルドは通らない・・・ みんな助けようとしてくれてたのを
馬鹿にしまくった挙句はじから首を切って破綻したのに
まったく学習していない >>534
Rustは強力な『?』オペレータがあるからそんな不便なことしなくてよい
いわゆる古典的なtry-throw-catch例外機構よりも使いやすくなった
利便性と可読性と実行効率と複雑な状況にも対応できるようになったのがRust うそだ
Rustほどごちゃごちゃして読みにくい言語もない Rustは非常に洗練されていてコード読みやすい
もちろんどんな言語でもそれを理解しない(できない)者にとっては呪文にみえるだろう js function 丁寧
swift func 直観的
kotlin fun たのしい
rust fn 糞 そこは言語によって様々だから慣れの問題だけど
短いから見やすくて書きやすくていいよね 変数名とか、2文字って後悔する事が多いから
やめとけばいいのに 変数名ではなく予約語だろ
例えばPythonならif is in as orなど
Cだとdoなどもある functionは長いし
ElixirやClojureなどの関数型言語でfn使ってるから良い選択
あとRustではfnのおかげでFn FnMut FnOnceも短く済んでいてベストな選択 syntaxも関数名も2文字なんかいくらでもあるやん
doとかrubyにもあるし、golangだと関数名によく使われる この流れだと、clojureのdefnもダメな方? てか、C/C++でコード書いていた人ならRustはlintより厳しい奴がきたなって程度の感覚ですぐ理解できちゃうだろうけどね。 プログラミング言語「Rust」は世界のセキュリティレベルを底上げする
https://wired.jp/article/rust-secure-programming-language-memory-safe/
Androidでは今、暗号鍵を管理する機能の多くがRustで書かれているとGoogleのクライダーマーカーは話す。
たとえば、暗号化したインターネット通信の機能である「DNS over HTTPS」、新バージョンの超広帯域無線(UWB)チップスタック、
そしてグーグルの独自のチップである「Tensor G2」で使用される新しい「Android 仮想化フレームワーク(AVF)」 などだ。
また、BluetoothやWi-Fiなどの通信接続に使われるスタックも、Androidの開発チームによってRustへの変換が積極的に進められている。
理由は、これらが業界の複雑な標準規格に基づいており、脆弱性を多く含む傾向にあるからだとGoogleのクライダーマーカーは付け加える。
つまり最も狙われやすい、あるいは最も重要なソフトウェアの部分からRustに書き換えて、
そこから徐々に広げることで段階的にセキュリティ上の恩恵を受けようという戦略なのだ。 今日のMicrosoftの発表が興味深い
発表デモでなぜかPythonからRustへ
https://www.msn.com/en-us/news/technology/microsoft-s-new-bing-ai-chatbot-arrives-in-the-stable-version-of-its-edge-web-browser/ar-AA18CPK2
2023/03/15
本日マイクロソフトは、Edgeウェブブラウザの安定バージョンのサイドバーに、新しいBing AIチャットボットが含まれるようになったことを発表しました。
デモンストレーションで、AIにStack Overflowのヒントを調べながらコードのスニペットを書くように依頼しました。
AIはPythonコードをRustに変換することができました。 マイクロソフト「Windows 11がまもなくカーネル内でRustを用いて起動」
https://www.neowin.net/news/senior-microsoft-exec-says-windows-11-kernel-will-soon-be-booting-with-rust-inside/
BlueHat IL 2023 カンファレンスにおいて、マイクロソフトのエンタープライズおよび OS セキュリティ担当バイス プレジデントである David Weston が登壇し、
Windows セキュリティの進化について話し合い、最新の進歩と今後の道のりについての洞察を提供しました。
プレゼンテーションの中でWeston氏は、MicrosoftがWindowsカーネルの一部としてRustを使用して行ってきた進歩について話し合いました。
いくつかの理由でこの言語に興味を持っており、そのうちの11つはRustが提供するメモリの安全性とセキュリティを中心にしています。
Weston氏は次のように述べています。
「おそらく今後数週間または数か月以内に、カーネルでRustを使用してWindowsが実際に起動することになりますが、これは本当にクールです。
ここでの基本的な目標は、これらの内部C ++データ型のいくつかをRustの同等のデータ型に変換することでした。」 「Linux 6.3」がリリースーーより安全、高速に
https://japan.zdnet.com/article/35203093/
最新のLinuxカーネル「Linux 6.3」が複数の新機能を搭載してリリースされた。
今回のリリースの機能は、「Rust」のサポートなど、いくつか大きなものも含まれている。
Rustといえば、広く支持されているメモリー安全性に優れた言語であり、
今回の新カーネルではユーザーモードLinuxにRustコードのサポートが追加された。
Linuxカーネル開発者で、RustをLinuxに導入する取り組みを主導してきたMiguel Ojeda氏は2月、
「初めてのRustモジュールをアップストリームできるポイントに近づきつつある」と述べていた。 Rustを信じたいいのかわからない
最初はツールで確認できるしメリットがわからないと不評だった
なにも解決した話をきかないのに広まっていっている Rustは後発言語なだけあって
洗練された様々な高機能を有している
そのため開発効率が非常に高い
可読性もよいし保守性も優れている
それでいてC言語並の高速さと省メモリ
というのに加えてRustは
メモリ安全性、それ以外も含む各種ヌル安全性、データ競合皆無の安全性
これらがコンパイル通った時点で実行前に完全に保証される
この状況でC/C++を選ぶのはマゾ そろそろCOBOLもマイグレーションを考えないといけないだろうが
COBOL資産の移行先として、OutOfMemory地獄のGC搭載言語はありえんし
そう考えると実質Rustって案外唯一の選択肢じゃない? いうほどメモリを直接触るようなコード書いてる奴おらんって話だからな。
イキリがrust推してるけど、お前単なるweb屋じゃんっていう >>563
物理メモリ扱うのはOSとデバイスドライバだけ。
仮想メモリでもネイティブコードはプログラム領域にアクセスしたりスタックオーバーフローを起こしたりして壊れる可能性がある。
スクリプトでもエンジンがぶっ壊れる可能性はある。 >>564
全てのプログラミング言語はメモリを対象として扱います
そのメモリアドレスが物理アドレスか仮想アドレスかどうかはプログラムにとって関係ありません
遅い言語はそのメモリの使用をプログラムから見ると使い捨て放置となり
ゴミ(ガベージ)が溜まっていって言語システムが不定期にGC(ガベージコレクション)つまりゴミ集めをします
C/C++/Rustといった速い言語はゴミ(ガベージ)を発生させずGC(ガベージコレクション)もありません
その代わりC言語ではプログラマーが手動でゴミとなった使われないメモリ領域を解放します
メモリ領域の解放は手間であるとともに間違えると解放忘れや使用中に解放など危険もいっぱいあります
その代わりプログラムの動く速さと省メモリは抜群に良いです
C++はその不要となったメモリ領域の解放を半自動化することに成功しました
楽になりましたがプログラマーがミスをすると上述の危険な状況のバグが発生するのが>>1の話です
Rustはその不要となったメモリ領域の解放を常に安全に自動化することに成功しました
もちろんGCを使っていないのでC言語と同様に高速で省メモリです
ついに安全性と高速性の両立を人類が手にしたのです mallocしたメモリはfreeするなと
吹聴しまくった奴らが仕掛けた時限爆弾が
ついに炸裂したわけだ >>565
周辺機器とやり取りするときは関係あるから物理アドレス確保するんだよ。
GCと速い遅いに直接の関係はない。
C/Rust にはGCはないかもだけど C++ にはGCあるから。
> C++には言語自体にはガベージコレクションの機能がありませんが、C++11から標準ライブラリにスマートポインタという形でガベージコレクションが導入されました。 C++にGCはねえだろ
スマポのことを言ってるのかな?
あれは解放のタイミングが明確だからな
予期せぬタイミングでプチフリはしない en.wikipedia.org/wiki/C++23
> 削除された機能と非推奨になった機能
> C++ では多くの GC 実装が利用可能であるにもかかわらず、C++11 で追加されたガベージ コレクションのサポートが削除されました。
> 「C++ のガベージ コレクションは、特定のアプリケーションには明らかに役立ちます。
> しかし、標準で指定されているガベージ コレクションは、それらのアプリケーションには役に立ちません。」[114]
あー
役に立たない実装だから消されたのか。 言語のコアライブラリには要らないって話
禅問答的だが、C++でGC使って、要GCな言語を書くことはできるわけで イラネつーてるやつにまで押し付けると
歴史的な分裂騒動になるからな 実際スマートポインタが発明されてるのになんでGCなんてもんがいるんだ?
スマートポインタのほうが全てにおいて優れてない? C++のスマートポインタはRustで吸収され
・RustのCopy実装型 (使われる時は自動コピー)
・RustのCopy非実装型 (使われる時はムーブ) ← C++のunique_ptr
・RustのArc型 (atomic増減でスレッド間も利用可) ← C++のshared_ptr
・RustのRc型 (高速にスレッド内で利用可)
つまりunique_ptrの機能がRustでは標準で備わっている
さらにshared_ptrはArcでその軽量版Rcが追加
C++と異なり使い間違えるとコンパイルエラーで知らせてくれる
さらにRustは参照と可変参照の規則によりデータ競合をコンパイル時に防ぐ アイディアを盗みに来てるのね
Javaがそうしていたように この機能の起源はなんとかといえばマウント取れるのかな JavaからC++に来たバカプログラマはnewはするけどdeleteすることはなかった とはいえスマートポインタの仕組みって今まであらゆる後発言語がパクらなかったよね
だからこそRustはウケてるんだろうけど Rustの色々あるスマートポインタのうち
長さを伴う『スライス』というのがポインタをセキュアにしているしてるみたいなんだけど
C++にはスライスに対応するものがないのですか? Rust The BookによるとStringやVecですらスマートポインタ
https://doc.rust-lang.org/book/ch15-00-smart-pointers.html
we’ve already encountered a few smart pointers in this book, including String and Vec<T> in Chapter 8.
Both these types count as smart pointers because they own some memory and allow you to manipulate it.
They also have metadata and extra capabilities or guarantees. 全部 Rust にしたら、バグの 100% は Rust になるな >>578 >>585
記事を読めば分かるように
深刻なセキュリティ脆弱性バグのうち70%がC/C++のメモリ管理に起因する
と、MicrosoftとGoogleが共に同じ調査結果を出している話
Rustに変更するとその70%はゼロにできるため現在Rustへ変更しつつある >>587
そんなことが可能ならばとっくにやってる
しかしC++の言語仕様では無理
そして自動チェックを実現したのがRust つーかメモリ云々抜きでも、ぶっちゃけごちゃごちゃすぎてもう嫌じゃない?C++
モジュールやらなんやらわりとドラスティックに改善しようとはしてるけど
そういうの入れても結局過去の遺産と混ざって余計ぐちゃぐちゃになるし
そもそもC++11すら未だ相当数がロクに扱えないのに、C++20以降なんか追従できるわけがない
文字列はUTF-8の奴しかなく曖昧さがない、標準でMaybeとEitherが搭載されてる
モジュールもある、パターンマッチもある、半端な例外は無い、不幸を呼ぶ継承も無い
パッケージ管理システムもある、変数は標準でImmutable、Moveも明瞭、自動テストもメモ書き並の気軽さでかけるって
C++書いててクソだと思うものはRustはほぼカバーしてるし 生まれたてのRustのほうがもっと見た目ごちゃごちゃなのどういうことだ >>589
後発言語だから有利なのは当たり前だが
Rustは各言語の最新を上手く洗練して採り入れてるな
>>590
Rustでごちゃごちゃは感じない
正確に言うと
把握理解する前はごちゃごちゃに感じる部分もあるが
把握理解していくと意味や必要性が見えてきて
ごちゃごちゃしているわけではないことがわかってくる C++20は待望の機能が豊富にあって
もう17に戻ろうとは思わないぞ C++20でも問題が解決されず絶望してIT大手各社が共同でRust Foundationを設立してRustへと舵を切った - されず
+ できず
無能はすぐ道具のせいにする
無能に迎合する理不尽なルールが増えていくと
やる気なくして辞めていったり
無能に仲間入りする人が出てくる
いわゆる腐ったミカンてやつだ >>594
どの言語でも同じだろ
そのまま使うかコピーして別物として書き換わってもいいようにするかで分かれる そもそも文字列がイミュータブルな言語がほとんどやが
C++とRustが例外的なだけで >>593
じゃあ早くC++/CXみたいなやつ出してまともにGUI開発させてくれませんかMSさん? Rust ちゃんの文字列ルーティーンを
可愛らしい動画にすればバズるはず 業務アプリですらもう100%Webクライアントなのに、デスクトップクライアントはもう未来が無いし
本気でやるなら膨大なコストが掛かるわりに投資する価値がない
どうしてもレガシーな開発したいなら、Win32SDKもGTKも使えるからそれでいいだろ >>598
GUIデスクトップ作るならば
Web技術(HTML)を使うTauriがオススメ
・マルチプラットフォームで使える
・Webアプリ化も容易
・アプリ本体部分はRustで記述
・アプリGUI部分はJavaScriptかWebAssembly(by Rust)で記述
といった感じでRustのみ使用も可
今さらWindows上だけで動く時代遅れなものを作る必要ないよね Rustはいま使えるソリューションなんだから、今ある問題を確認してくれないと困る
ゲームなんかはまだSDKベースだろ Teamsのモッダ~ンなゲロ重UIをなんとかできない体たらくのまま
デスクトップアプリを勝手にレガシー認定しないでください Teamsが重いとか、どうせ未だにSandyBridgeでメモリ4GBみたいなレガシーな環境だろう そこはそんなレガシー低スペ環境でも動く小メモリRust製GUIの宣伝をしろよ それならeguiがシンプルでいいね
WindowsでもLinuxでもどの環境でも動いて
このサンプルページのようにWasmつまりブラウザ上でも動く
(Tauriと異なりHTMLなどWeb技術は関係ない)
https://www.egui.rs/
純Rust製 Chromiumベースのアプリがまともに動かない、化石みたいな低スペックPC向けの
Windows用デスクトップGUI開発をネイティブでやるぐらいニッチな案件だと
MFCやらのレガシー資産豊富なC++しかないだろうな
逆に言うと、この手のCOBOL新規開発並みの案件持ちださんとC++を選ぶ理由もないんだが >>579
C++のスマポを経て
Rustは標準で自動的に安全なメモリ自動解放を実現したから大丈夫 してWindowsはバグが30%に減少しただろうか? 5chでくだまいてる時点でお察しだね
そんな暇人でも5chでイキれるんだからc++て素晴らしい言語ですねw ChatGPTに書かせればバグはなくなるから結局C/C++に戻るだろ そんな夢物語の話するなら最初からバイナリ
吐かせれば良い だよな。AIがどれだけ複雑なシステムも確実にノーバグで出せるのなら
いちいち人間ごとき向けのプログラム言語を間に挟む意味がない なんかポリコレがらみの内紛でコアチームが揉めてるらしいじゃん
将来性黄色信号か? ま、内紛が本格化したら、フォークするだけだろ
MSが育ててくれるかもしれん ぐぐるとAppleは、DartとSwift持ってるし MicrosoftとGoogleとAmazonなどIT大手各社が共同でRust Foundationを設立したためRustは盤石な体制となっている Visual R++ができるかもね
でも現代なら、それもアリかなって >>591
crates.io はごちゃごちゃ感しかない >>590-591
RUSTも将来ごちゃごちゃになる運命 >>635
その分野ではTauriがベスト
>>601に書かれているメリットを上回るものが他にない これもRustにすれば解決するんだろうか
マイナンバー開発者が不具合の原因を暴露。「個人番号ではなく住所氏名で照合するプログラムを書いた」 [971283288]
ttps://hayabusa9.5ch.net/test/read.cgi/news/1686308209/ >>637
え?
本気で言ってるの?
ちょっとこのスレ読み直したほうがいいんじゃない? 信者なら、「Rustの安全性に依れば、そういうところにも資源を集中できる」って言うだろうけど、
それはもう推しってやつだな >>637
Rustはデータ競合をコンパイルエラーとし排除できる初のプログラミング言語なので
データ競合により引き起こされてきたバグなどは解決する
しかしその問題がデータ競合によるものかどうかは知らない 全ての不具合をコンパイラが検出してくれると思ってんだよな
アルゴリズム起因のバグやユーザーの入力間違い防止なんかは検出できるわけないのに 一応Tauriよりは軽量そうかつ、いきなり開発放棄にならなそうなGUIツールキットとしてはGTKがあるけど
Tauriと比べてシェアどうなんだろうね >>641
そんな思い込みをしてる人はいない
C/C++ではコンパイルが通ってしまう、
メモリ管理のバグや、
エラー(や例外)の対応忘れや、
異常値(NULLや-1など)の対応忘れや、
データ競合のバグなどを、
Rustではコンパイラがエラーで指摘してくれるため、
開発効率と品質が向上する 頭がAIなら、これぐらいAIで静的解析してれば防げたって本気で言い出すやつもいるだろうが
Rustだと少しでも知ってればいないだろうな 確か特定につながるから氏名住所使わなきゃだめとか
そういう話がなかったっけ 一方のシステムでは個人番号管理してないんだろう
危ないし
おまいらゲタゲタ笑ってたらじゃあ全部個人番号でって話になるぞ Meta、Rustの採用を加速--高性能バックエンドサービスで
https://japan.zdnet.com/article/35191156/
Metaは、Rustのバージョン1.0が登場した翌年となる2016年からRustを使用してきている。
Rustは、ブロックチェーンによるステーブルコインの実装を目指していた
「Diem」プロジェクト(旧称「Libra」)の主要記述言語として採用されていたほか、
ソースコード管理サーバー「Mononoke」の記述言語として、
そしてMetaの「ブロックチェーン向けの新たなセキュアプログラミング言語」であるMoveの基礎ともなっている。
C++よりもRustを重視するという選択は、Metaにとって大きな決断だった。
というのも、Facebookのバックエンドで動作する大半のコードはC++で記述されており、
それ自体は明らかな選択であったためだ。
Metaによると、Mononokeが成功したと見なされたことで、Rustの導入は勢いを増し、
PythonやJavaScriptのバックグラウンドを有するエンジニアらの興味を引くようになったという。 Cloudflare、NGINXに代えて自社開発のRust製HTTPプロキシ「Pingora」をグローバルCDNに採用。性能向上しつつCPUとメモリ消費を3分の1に
https://www.publickey1.jp/blog/22/cloudflarenginxrusthttppingoracdncpu31.html
CDNプロバイダのCloudflareは、同社のグローバルなCDNの基盤として長らく利用してきたNGINXに代えて、
同社自身がRust製のHTTPプロキシである「Pingora」を開発し利用していることを明らかにしました。
Pingoraはすでに同社のCDNに採用され、毎日1兆回以上のリクエストを処理し、
性能向上や数多くの新機能の提供を実現しつつ、従来と比較してCPUとメモリリソースの消費はいずれも3分の1程度に収まっているとのこと。
CloudflareはNGINXの性能上の課題について、各リクエストが1つのワーカーで処理が行われる仕組みが特定のCPUコアに負荷を偏らせること、
接続の再利用性が低いことなどが、性能低下を引き起こしていると指摘。
Pingoraは現時点でコードなどは公開されていませんが、いずれオープンソース化の計画についても明らかにするとCloudflareは説明しています。 rust, github見ても開発放棄されてるコードばっかなんだが。 >>652
Web方面もRust製になっていってるんだな AndroidとiOSのアプリがrustだけで書けるようになればいいなぁ TauriはもうAndroid版とiOS版のプレビューがあるんだな
モバイルでのこういうのは、だいたいネイティブ処理に他言語呼び出しがいるって理由で毎回流行らないがさて 0788デフォルトの名無しさん
2022/06/21(火) 08:59:28.38ID:vO+TReRM
俺はフロントエンドやらないからこのスレでTauriの話をしないでくれ >>623
C#.NET並みにFormが簡単に書けて
WPFみたいにインタラクティブに扱えて
なんならDirectXも簡単に呼べるなら有り サブモジュールの定義って古いmod.rsのほうが
ディレクトリにファイル全部押し込めて新しいやつよりよっぽど気分よくない? C++11の機能をちゃんと使える奴なんて、2023年でもC++の開発者の半分にも満たない上澄みだけだろ
歴史そのものがC++の弱点で、それはどうやっても消えない >>665
C++のスマポは機能が弱すぎてできないことが多すぎる
例えばヒープ領域しか指せないから
(L1キャッシュ効果と領域確保解放コスト無しで高速な)スタック領域の活用がスマポではできない C#が楽すぎてC/C++はやらなくなったな
Rustもやってみるか コンパイラに怒られて解決に時間とられたりするけどRustおもろいね 上に怒られる前にコンパイラに怒られて良かったじゃねーか ベルト伸ばしきった状態で止めとく奴でも少し痩せていた?ジャニでやろうよ
ケニーGがまた一般人ぶん殴って捕まってた
消化試合10勝15敗だから一ヵ月分くらいは試合しとるおっさんは株も上手いしファンも獲得できるかもしれないあたりこの国終わってるんだわ 「ソフトウェアはメモリ安全でなければならない」との声明を発表、米ホワイトハウス:「C」「C++」よりも「Rust」などの言語を推奨
https://atmarkit.itmedia.co.jp/ait/articles/2403/18/news045.html