22/09/28 19:43:30.85 M8/EGStO.net
>>546
その「一旦理解する」というのが絶壁だっつうの。
573:デフォルトの名無しさん
22/09/28 19:43:33.10 AiQeg8Nw.net
データ構造含めてスパゲッティでも動いてくれるGC言語と
データ構造が整理されていないとコンパイラが通ってくれないRust
保守性の良いコードを強制してくるRustはウザいよな
574:デフォルトの名無しさん
22/09/28 19:51:26.79 9pngDMED.net
>>547
ポインタであろうとデータであろうと
nullやnilなどはその型と全く別の型であるべきであり
型が異なればコンパイルエラーとすることができるため
nullやnilをうっかり使ってしまう悲劇を確実に回避できる
この仕組みを備えることをnull安全性と言う
575:デフォルトの名無しさん
22/09/28 20:06:25.79 nKJkDRPP.net
>>543
kotlinは割りとバランスいいと思う。
Option<T> みたいな冗長な型にならず T? で済ませてるから。
Rust はそこはちょっとダルい。
576:デフォルトの名無しさん
22/09/28 20:27:35.31 dSAv9mNm.net
はぁ?w
577:デフォルトの名無しさん
22/09/28 20:37:57.86 wiWWHZ2n.net
>>539
そんな優等生な実用性は求めてないんだよ。
次世代なら、超すごいGCとかなんでも推論してハマればすごいけれど外れるとクソみたいなのをやってくれよ。
578:デフォルトの名無しさん
22/09/28 21:50:06.42 lioEJO8p.net
>>553
その辺はcopilotなど最新のAIの分野だと思われる
モダン言語としてはまず言語仕様をしっかり安全性の高いものにするのが大事
それに俺はヤンキーを否定してるわけではない
pythonとかライブラリの充実度は世界一だろうし
雑なツールを作るには一番早くできるだろう
TypeScriptもスクリプト言語の型システムとしてはよくできている
しかしその手の言語を最初に使っても結局そのスクリプトを人がどんどん改造してスパゲッティになる様子を見てきた
スクリプト言語である程度実装可能なことがわかったら
すぐにRustに切り替えるべき
579:デフォルトの名無しさん
22/09/28 22:09:10.05 lioEJO8p.net
>>548
C/C++を理解していないと難しいとは思う
所有権の移動はあらゆる変数参照で起きうるから
ひとまず借用しまくること
Rustの借用はコンパイルが通る限り安全なのだ
所有権を移動しない
これで既存の言語のように書けるのではないかな
580:デフォルトの名無しさん
22/09/28 22:56:28.26 MJCKmooB.net
>>555
move不要説って、RefCellで複雑なことやろうとするでしょ
Cellでreplaceしまくったほうが簡単だよ
581:デフォルトの名無しさん
22/09/28 23:45:50.98 Ujmzyxrz.net
moveでもborrowでも呼び出し階層のどのレイヤーで所有権を持つか常に意識しないといけないから既存の言語と同じ感覚では書けないよ
それが良い面もあれば悪い面もある
582:デフォルトの名無しさん
22/09/28 23:54:28.10 TuAX623B.net
>>556
Cellや動かせないOptionの中身に対してはreplaceだな
生成コストかかるものならtakeで一時的に借りるしな
moveはいつでもコスト安い
583:デフォルトの名無しさん
22/09/28 23:56:03.77 Abgphp/D.net
>>543
いるに決まってんだろ。
お前意味なくいつもnull許容ばかり使ってるのか?ありえねーわ。
584:デフォルトの名無しさん
22/09/28 23:58:55.54 POQG8oSL.net
>>557
それは>>515も書いているように
どんな言語でもまともなプログラマーならば内心で意識してプログラミングするっしょ
そしてその意識の差で速度が大きく変わって来るから言語に関係なく重要な
585:デフォルトの名無しさん
22/09/29 00:25:48.05 DsUo27GE.net
moveは速い
cloneも速くするためにはRcに入れて循環参照とかいうリスクを取る
逆に言えば、最適化の意識が低いスタイルを確立すれば循環参照問題が無くなるのでは?
586:デフォルトの名無しさん
22/09/29 01:02:09.01 Z2jW5FHk.net
>>561
聞きかじりだけでRustを使ったことがないからそんな間違えをする
Rcのcloneと中身のcloneは全く別物かつ独立
例えば中身がclone実装なく不可でもRcはcloneできる
循環参照は意図的に作らない限りRustでは自然に生じることはない
そして作らないことが正解
587:デフォルトの名無しさん
22/09/29 01:13:01.23 bDeqabsn.net
>>560
GC言語では全く意識する必要ないよ
性能にも関係ない話
588:デフォルトの名無しさん
22/09/29 02:20:18.96 y6wWIkPL.net
>>563
GC言語でも意識しないと性能に直結するぞ
>>515が言うループの内外どちらかで速度差を測ればすぐ分かる
589:デフォルトの名無しさん
[ここ壊れてます] .net
複オジ相手しても時間の無駄だぞ
590:デフォルトの名無しさん
[ここ壊れてます] .net
>>562
聞きかじりがどうのと、そんなメンドクサイ言語はダメだわ。
バグのもとだわ。
591:デフォルトの名無しさん
22/09/29 08:16:59.79 2DEJTfP6.net
>>560 >>562
そんな前提が無いと使えないんじゃ、やっぱりRustは絶壁の学習コストだな。
コミニティも初心者に配�
592:カする気配無いし、>>544が正解か。
593:デフォルトの名無しさん
22/09/29 08:35:25.13 l+nUKPCx.net
>>566
>>567
じゃあC++についても知らないのね
C++のshared_ptrもRustのRc/Arcもどちらも機能もその件も同じで
そのスマートポインタのコピー(clone)をしても中身はコピーされないんだよ
中身はそのままで共有する仕組みであって基本知識の入門レベル
GCのある言語でもオブジェクトの参照のコピーとオブジェクト自体のコピーの違いがありますね
それと同じことだからこの2種類のコピーの違いを理解できていないのはマズいですよー
594:デフォルトの名無しさん
22/09/29 08:50:17.22 wt+vHEcs.net
ホントRustをわざと嫌われるように仕向けてるように見えるよなあ
595:デフォルトの名無しさん
[ここ壊れてます] .net
Rustはなぜ開発者に愛されているのか、そして「人を選ぶ」理由とは? 実案件でRustを採用するゆめみに聞く
URLリンク(codezine.jp)
596:デフォルトの名無しさん
22/09/29 11:33:20.73 ixRuqvEN.net
まずは既存言語の延長として借用ベースでコードを書いてから
適切にムーブもするというスタイルをお勧めしたいね
本来のRustのスタイルとしてはムーブベースで考えるべきなのだけど
ハードルがかなり高いと思う
(C++のムーブコンストラクタやムーブ代入演算子を使いまくってた俺クラスの人間じゃないと無理)
借用の乱用でライフタイムの指定が嫌になったころにムーブを覚える
これこそアハ体験
597:デフォルトの名無しさん
22/09/29 11:38:34.00 cdfoharm.net
>>568
2種類のコピーが同じではない証拠があればそうなる
証拠を得ることができない仕組みをわざと作れば、両者は速度以外同じになるので最適化に利用される
598:デフォルトの名無しさん
22/09/29 12:05:38.59 wt+vHEcs.net
毎回ID変えて書き込む理由って結局何なの?
599:デフォルトの名無しさん
22/09/29 13:45:27.89 cdfoharm.net
自分の名刺に知らない会社の名前が書いてある理由は?
600:デフォルトの名無しさん
22/09/29 13:48:46.01 c7o9QpKC.net
Rust初心者なのになぜ強がって墓穴を掘りたがるのか
複オジ病の心理が理解できん
601:デフォルトの名無しさん
22/09/29 14:01:28.67 uqGHlXBC.net
>>575
承認欲求だろ
他で承認されることがないから
匿名掲示板で嘘ついても虚勢を張ってでも
承認してもらいたくてしょうがない心理状態
子供が親に褒めてもらおうと嘘をつくのと同じ
大人でそれが常態化してれば病気だよね
602:デフォルトの名無しさん
22/09/29 14:30:58.29 v+CEiWWO.net
>>571
消費する時はムーブ
消費しない時は借用
603:デフォルトの名無しさん
22/09/29 17:55:07.76 BEcK0oxF.net
>>572
参照のコピーと実体のコピーは異なる
後者はそれ以後二つの実体へ分岐となる
604:デフォルトの名無しさん
22/09/30 16:19:35.52 GviXnHhi.net
ファミコンで動作するGUI付きOS「NESOS」が爆誕
2022年09月30日 11時06分
ファミリーコンピュータ上で動作するGUI付きのOS「NESOS」が開発されました。
NESOSではタスクバー付きのデスクトップ画面を表示したり、デスクトップ上のアイコンを自由に並び替えたり、テキストの編集を実行したりできます。
デスクトップ上のアイコンは自由に並び替え可能で、タスクバーにファイルやアプリを配置することもできます。
テキストエディタでは、ファミリーベーシック用のキーボードを使ってアルファベットと各種記号を入力可能。
NESOSは無料配布されており、公式ページのダウンロードリンクからダウンロード可能です。
URLリンク(gigazine.net)
605:デフォルトの名無しさん
[ここ壊れてます] .net
最近の流行りが静的型付けと型付きラムダ系FPからの便利機能輸入だから逆風だけど、雑に書くのに向いてる言語ってなんだろうね
Nimはかなり書き味意識してるって話だし、ベタッと実装するならGolangは向いてると思ってる
606:デフォルトの名無しさん
22/09/30 18:32:32.92 5s+XxWyj.net
開発環境も含めてならC#は雑に書くのに向いてると感じたな
最近のバージョンだとクラスやmainメソッドを省いてスクリプト言語みたいに書けるし、IDEの補助が神がかってるから迷わずに書けてミスしにくい
まあ書き味も大事だが、雑に書く場合は極力テストの手間も抑えたいから、ミスしないことは超重要
607:デフォルトの名無しさん
22/09/30 21:42:44.42 e4s4we75.net
型推論できる?
608:デフォルトの名無しさん
22/10/01 09:46:02.05 GWYjbPGr.net
C#はF#みたいにネイティブでスクリプト実行できるようになった?
609:デフォルトの名無しさん
22/10/01 09:50:20.55 TxHdfIOV.net
nodeとgoとrustで/helloを受け取ったら、hello worldと返すだけのAPIを立ててベンチマークしたんだけど何でここまで差が出るかわかる人いる?30倍も違うんだけど
12スレッドのwsl linuxだけどtaskset -c 1で1コアに制限しても
Goでは 36345.50rps avg102.03ms, Rustでは 82382.92rps avg43.57ms と依然として差があるんだが
シンプルなAPIでもここまで差が出るんだから、Nodeは論外ってことなのかな
コード: URLリンク(pastebin.com)
wrkを使用
$ wrk -c 4000 -d 5 URLリンク(localhost:3000)
node (express)
Thread Stats Avg Stdev Max +/- Stdev
Latency 466.94ms 73.50ms 669.37ms 81.57%
Req/Sec 4.09k 678.72 4.82k 82.98%
38284 requests in 5.07s, 8.73MB read
Requests/sec: 7547.73
Transfer/sec: 1.72MB
go (net/http)
Latency 8.72ms 5.33ms 102.98ms 96.17%
Req/Sec 122.50k 6.37k 135.10k 69.57%
1163747 requests in 5.10s, 144.28MB read
Requests/sec: 228242.97
Transfer/sec: 28.30MB
rust (active-web)
Latency 8.77ms 3.15ms 31.07ms 76.16%
Req/Sec 115.76k 18.13k 156.46k 62.22%
1085310 requests in 5.08s, 133.52MB read
Requests/sec: 213464.53
Transfer/sec: 26.26MB
610:デフォルトの名無しさん
22/10/01 10:38:25.68 WgkbTFRg.net
ひょっとすると JavaScript だから遅いんじゃなかろうか
611:デフォルトの名無しさん
22/10/01 11:22:52.62 TxHdfIOV.net
IO処理が主体ならそんなに変わらない認識だったけど10行程度のWebAPIでここまで変わると思ってなかった
612:デフォルトの名無しさん
22/10/01 11:33:35.78 PbFN9kvE.net
>>583
なった
613:デフォルトの名無しさん
22/10/01 11:52:41.67 h74T9WJ/.net
スパゲッティにならなきゃRustは最速だな
614:デフォルトの名無しさん
22/10/01 12:47:40.48 bVj73OG1.net
Goは1コアに制限したらGCのペナルティが大きいんじゃね。今は複数コアある前提でコンカレントマークでしょ?
615:デフォルトの名無しさん
22/10/01 13:00:54.63 d18GHPyd.net
>>584
起動時にモジュールを大量に読み込んでるしJITもしてるからそんなベンチじゃ遅いのは当たり前
616:デフォルトの名無しさん
22/10/01 13:02:43.96
617: ID:d18GHPyd.net
618:デフォルトの名無しさん
[ここ壊れてます] .net
>>590
はあ?
1分やっても2分やっても全く同じだけど?
もしかして平均の意味すら知らないのかな?
619:デフォルトの名無しさん
[ここ壊れてます] .net
>>592
偉そうにいう前にまともなベンチしろ
620:デフォルトの名無しさん
22/10/01 13:35:05.69 TxHdfIOV.net
>>593
いやだから10秒だろうが1分だろうが5分だろうが変わらないって
偉そうなこと言ってるのはお前だろ
あらゆるノイズを排除してここまで差が出るんだから起動時のコストなんて関係ないだろ
適当なこと言ってマウント取ってんじゃねーよゴミ
621:デフォルトの名無しさん
22/10/01 13:42:50.86 d18GHPyd.net
>>594
ゴミはお前
論点ずらしするな
ただのストローマンだぞ
俺の言ったことをまずやれ
そしてそれでも差があるなら反論しろ
それが正当なやり方だろ
お前は手を動かさずに自分の意見が正しいと言ってるだけ
もしかして数分実行しただけでキャッシュができると思ってる?
しかもそんなよくわからんサンプルで?
そもそもキャッシュができる条件など仕様にはない
できない可能性もある
そういうことを含めてのベンチなんだよ
622:デフォルトの名無しさん
22/10/01 13:44:30.12 d18GHPyd.net
「俺の意見が間違ってる」ことをコードで証明しろ
ストローマンの口八百で語ってもなんの意味もない
それこそただのマウント野郎だろ
623:デフォルトの名無しさん
22/10/01 13:50:13.47 8aXdhr6R.net
いくらなんでもNode遅すぎで気になるね
レスポンスしてるヘッダの内容とかも比べてみなよ
HTTP/1.1が使われてるのか、cookieセットされてるかとか、keep-aliveはどうかとか
624:デフォルトの名無しさん
22/10/01 13:50:43.33 d18GHPyd.net
俺の意見を無視するならここに書く意味はないし
はろーわーるどのベンチでnodeは遅いね、で終わる話
ここに書かずに1人で納得しとけ
ここに書く以上何か意見を求めてるんだろ?
その意見を言ってやってるのに無視する
正しい人間の態度とは思えんな
あまりの自分勝手さに怒りさえ覚える
625:デフォルトの名無しさん
22/10/01 13:58:44.87 d18GHPyd.net
とりあえず家帰ったら動かしてみる
俺のローカル環境だが
626:デフォルトの名無しさん
22/10/01 14:07:18.89 TxHdfIOV.net
>>597
試したけどcurl -vで複数回投げた時にconnection left intactとRe-using出るからコネクション使いまわせてるね
HTTP1.1だからデフォルトでkeepaliveになってる
wrkはHTTP1.1対応
Nodeは日付とか色々ヘッダに入ってみたいだから公平な比較にはなってないけどそれにしても差があるすぎると感じるね
627:デフォルトの名無しさん
22/10/01 14:27:28.59 nfi+ceWJ.net
>>584
Q:なぜ何でここまで差が出るのか?
A:この場合、rust (active-web) は、asyncなどでI/O待ちを切り替え起点とした非同期処理を行うが
goは1リクエストに対してgoroutineが1つ付く。細かく言うとRustはソケットI/Oへ受・送信が終わらないと
次のリクエストは処理待ちになる。
結果はReq/Secに出て高速で(効率的な)スイッチングを行えるgo (net/http)のほうが最終的に処理できる
リクエスト数は高いが、平均処理時間avgはRustのほうがほんの少し速くなる。
goでavgが遅くなるのは、処理中にI/Oを起点としない時分割で別リクエスト処理へ切り替えるために
切り替えコスト+処理コストの合計で1つのリクエストを完了する時間は長くなる
余談だが、wrkは5秒だと並列テストなどをするには短い。より厳密な計測ができるwrk2とかあるが
この場合は並列での負�
628:ラテストではないのでそんなに変わらない。ただ最初の1秒が参考にならない 上の例はあくまで1コアだが、多コア高負荷環境(1000同時スレッド・3万リクエスト・30秒ぐらい)だと 50%はgoのほうが速くなり、Req/SecはRustのほうが多くなる node(express)は、express自体の重厚さJS/TS自体の重さがかなり効いていると思う
629:デフォルトの名無しさん
22/10/01 14:50:55.94 nfi+ceWJ.net
ただWSLであってもLinuxのbacklog当たりのカーネルパラメータを弄れば結果は変わるかもしれない。
並列・高負荷ではなくても4000コネクションだと標準の状態だと足りない気がする
$ sudo sysctl -a 2>&1 | grep -E 'somaxconn|tcp_max_syn_backlog'
net.core.somaxconn = 128
net.ipv4.tcp_max_syn_backlog = 512
630:デフォルトの名無しさん
22/10/01 14:57:42.06 8aXdhr6R.net
WSLでやってんのか、WSLってパフォーマンス的にはなんか特徴あるのか?
このあと気が向いたらおれもちょっと気になるとこのベンチ比較してみる
631:デフォルトの名無しさん
22/10/01 15:34:25.37 OE4o0z6J.net
とりあえずNodeは遅いゴミってのが証明されてるな
632:デフォルトの名無しさん
22/10/01 15:59:56.14 qXf32HZQ.net
>>597
その木なんの木。
633:デフォルトの名無しさん
22/10/01 17:07:51.42 nfi+ceWJ.net
もう1つ言うと高負荷で比べるならrust (active-web) なら、go側はSO_REUSEPORT/SO_REUSEADDRを
効くようにするか、fasthttp系(fiber)などを使用すべきで、net/httpを普通に使っただけだと極限の性能では
無いので注意が必要です、今回は高負荷でないので関係ありませんが
634:デフォルトの名無しさん
22/10/01 19:35:39.80 cdNryapk.net
利用者数が全然違うので、今はGo言語を使うほうが良いのでは?
もしもRustが使われるようになったなら、その時使えば良い。
今はまだHaskell候補の状態。
そのうちHaskellのように誰も見向きもしなくなるんだろうなあと。
635:デフォルトの名無しさん
22/10/01 19:44:27.68 WgkbTFRg.net
万能言語は作れない
用途別だ
636:デフォルトの名無しさん
22/10/01 22:06:34.84 WF3iEAg3.net
並行プログラミングなら、関数型のElixir
637:デフォルトの名無しさん
22/10/01 22:14:09.37 dtVI/r0B.net
型なしのゴミ
638:デフォルトの名無しさん
22/10/01 22:57:03.33 6Ogoexfu.net
型連呼している奴って逆に無能なのかと思うw
639:デフォルトの名無しさん
22/10/01 23:39:41.67 sINRWAWi.net
殊更に型の重要性を連呼する人間は、本人が有能か無能かはともかく、自分含めて人間の技能と精度を信用していないというのは確かだと思うよ
640:デフォルトの名無しさん
[ここ壊れてます] .net
>>611
では質問するがなぜMicrosoftはJavascriptは不十分だと認識してTypescriptを開発したの?そして普及したの?
なぜPythonなどのスクリプト言語はしきりに型ヒント機能を追加してるの?
無能は型の重要性を理解できないお前、エンタープライズでは必須
641:デフォルトの名無しさん
22/10/02 07:31:01.25 er6rX+SK.net
>>610
じゃあErlangなら文句ないな
642:デフォルトの名無しさん
22/10/02 08:25:14.53 kfWfVuRd.net
>>611
みんな無能だよ。
たまに型無しで完璧にやれるやつはいるけど、そういう奴は他の人と一緒に仕事しても自分の高い能力を盾にルールに従ってもらえないから面倒だわ。
一人でR&Dとか調査主体の部署でやってもらうのが無難。
643:デフォルトの名無しさん
22/10/02 09:29:20.44 nK3zLFOq.net
無能向けのルールに従っていたらせっかくの高い能力を発揮できないじゃん
妥当じゃないの
644:デフォルトの名無しさん
22/10/02 10:19:17.56 /RWx79y8.net
>>616
ところが >>611 みたい�
645:フは能力が高いわけで無いという。
646:デフォルトの名無しさん
[ここ壊れてます] .net
>>594
>あらゆるノイズを排除してここまで差が出る
全然ノイズ排除できてないじゃんww
意味のないベンチだよ
647:デフォルトの名無しさん
[ここ壊れてます] .net
>>613
型パズルで開発者にできた感を与えられるから
で実際、型を合わせるだけで正常系は大体うまく動くからね
648:デフォルトの名無しさん
[ここ壊れてます] .net
>>611
100%同意
適材適所で選ぶ能力が無いだけ
649:デフォルトの名無しさん
22/10/02 11:54:19.38 qWyZcf2G.net
>実際、型を合わせるだけで正常系は大体うまく動くからね
ほら無能じゃんw
650:デフォルトの名無しさん
22/10/02 11:56:25.66 I7V0xRyx.net
>>612
テスト書かないの?
651:デフォルトの名無しさん
22/10/02 12:04:09.63 37W/LuFO.net
まあ実際動的型付け言語でやるプロジェクトは
少数精鋭のチーム編成ができないと厳しいわな
メンバーが多くてコミュニケーションコストが高かったり入れ替わりが頻繁だったり下請け孫請けから最低ラインを下回るメンツが入ってくるようなら静的型付け言語のほうが楽
652:デフォルトの名無しさん
22/10/02 12:30:18.64 Bnxz+VO6.net
>>618
どこができてない?ヘッダに多少差があるとはいえ明確な差が出てるよね
Nodeはhttpモジュール使っても遅いし言語自体がゴミとしか言いようがない
653:デフォルトの名無しさん
22/10/02 12:34:37.19 Bnxz+VO6.net
APIに存在しうるCPU処理、IO処理を排除してミニマムな状態でもGoやRustと比べるとここまで差が出る
だからISUCONで誰もNodeなんか使わないんだよ
Goは手軽でスピードが出るから人気なのは自明だな
654:デフォルトの名無しさん
22/10/02 18:32:39.72 95XqQzPR.net
>>622
このスレに居てその質問は流石に不勉強じゃないかな……
静的型付け言語での実装においてもテストはもちろん書かれるよ
当然テストに網羅性は無いわけだけど、型はそれを補ってくれて、テストで調べるべき範囲を絞ってくれる訳だ
スイスチーズモデルにしても型は理論的に一定の範囲に穴がないことを保証してくれるのでテストの良き友だよ
ランタイムやコンパイラの型の実装が間違ってるかもしれないとかいう意見は、構文解析が間違ってるとか最適化が間違ってる並の、有り得はするけど議論するレイヤーが異なる難癖なので無視するよ
655:デフォルトの名無しさん
22/10/02 18:49:30.07 rGaa40h0.net
>>626
バカにされてることがわからず斜め上のレスをしちゃう無能w
656:デフォルトの名無しさん
22/10/02 19:02:06.24 ieoagAHy.net
>>627
上司に無能って言われた経験ありそうw
657:デフォルトの名無しさん
22/10/02 19:07:31.43 luHcc1UZ.net
アンカーを付けるときはまず無知無能異常者認定する複おじしぐさ
658:デフォルトの名無しさん
22/10/02 20:08:45.57 JygyFtJu.net
Rustなら安心安全だからテストは必要ない
コンパイラーが全部教えてくれる
659:デフォルトの名無しさん
22/10/02 20:37:15.64 X4ijFCuF.net
>>630
Rustはプログラムを書き始めるためのcargo new --lib した時にテスト用mod testsの雛形が自動的に生成用意されるくらいテスト重視主義の言語
もちろん強力な型システムによりRustコンパイラがコンパイル時点でデータ競合を含む多くのバグを実行する前に指摘してくれるのも事実
その分だけテスト記述は本来のロジックに関するテストに対して専念できる
660:デフォルトの名無しさん
22/10/02 20:38:45.06 zjrrEOrw.net
>>630
それって
コンパイラが教えないバグが一部存在してもコンパイラにペナルティがないこと
を問題視しているんだよね
全部教えると断言すればきっと罰を受けるのになあってことだよね
661:デフォルトの名無しさん
22/10/02 20:47:01.74 Vwpwuo9W.net
>>627
バカにされてる、というか煽られている部分を感じなかった訳じゃないけど、そうだとしても煽ってくる人間は、型とテストが複合的にエラーを減らす手段であって排他なものではないということを、理解していないか少なくとも認識していないので、レスの内容は変わらないよ
大体実装が早くできて楽だよね、っていう動的型付け言語の特性を私は否定するつもりはないし
技術というのはメリット・デメリットを認識した上で選定するものであって、単に煽るだけとか無能呼ばわりするような人間がそれらを認識できてるとは思わないし、もし不勉強と言われたくないならテストを書くという単一の手段がエラーを防ぐという点でどういう十分さがあるのか説明しなきゃ
あと
>>630
Rustだって基本のツールチェーンでテストが実行できるように作られてるんだからテストが必要ないなんで事は少なくとも言語開発チームは思っちゃいないよ
テキトー言わんでくれるかな
662:デフォルトの名無しさん
22/10/02 21:05:46.88 2u4kRfur.net
>>633
かつての静的型付け言語は型宣言が面倒だったため動的型付け言語は型宣言が必要ない僅かな分だけ有利だった
今の静的型付け言語は自動的に型推論が行われるため動的型付け言語が有利なことはない
実行時デバッグの手間が増える動的型付け言語は劣ったプログラミング言語
663:デフォルトの名無しさん
22/10/02 21:25:54.32 zjrrEOrw.net
現実は違う
まるで不殺主人公みたいに動的型を殺さないし、コンパイルが通らなかった人を殺さない
検査しかしないくせに結構役に立つのが現実
664:デフォルトの名無しさん
22/10/02 22:58:21.35 5dFyg2Cc.net
FacebookがRust使ってると自慢レスがあったけど。
それでFacebookは使いにくいのかと納得してしまった。
665:デフォルトの名無しさん
22/10/02 23:20:02.90 /RWx79y8.net
c++は拡張子が規格で決まってない糞だ
666:デフォルトの名無しさん
22/10/02 23:54:28.90 VOshVQpb.net
>>636
クラウド世界トップのAWSも
CDN世界トップのCloudflareも
Rust製です
667:デフォルトの名無しさん
22/10/02 23:55:48.81 nK3zLFOq.net
じゃあ企画委員会に入ればいいんでねーの
668:デフォルトの名無しさん
22/10/02 23:57:50.44 5dFyg2Cc.net
>>638
アマゾンが倒産する日も近いな。
669:デフォルトの名無しさん
22/10/03 00:04:13.05 FlGgn4CT.net
Rust Foundationを共同設立したGoogle, Microsoft, Amazonなど各社は負け組になる可能性ありうる
670:デフォルトの名無しさん
22/10/03 00:06:35.78 U6ww4YhW.net
型の話はRDBとNoSQLの比較で
schema on writeがいいかschema on readがいいかという話と同じ
どちらか一方がが常に言い訳ではなくそれぞれ良し悪しがある
671:デフォルトの名無しさん
22/10/03 00:46:15.86 q34w0x/H.net
根本的哲学的になぜ型というものが存在してるのか
672:デフォルトの名無しさん
22/10/03 01:01:23.35 8GQ2M+OR.net
>>642
NoSQLデータベースの多くはschema on readではなく、単に入れたものをそのまま出すだけだ
多くのNoSQLはオンライン性能が重要なため、Elasticsearchのようにschema on writeを使用するものもある
schema on readはむしろデータ分析用途でリレーショナルモデルとSQLで使用される場合が多い
673:デフォルトの名無しさん
22/10/03 01:23:30.99 8DSCRzId.net
OLTP用かつschema on readなNoSQL DBってあるっけ?
MongoやDynamoDBみたいなKVS+α系はキースキーマとインデックスの併用だから典型的なschema on writeだよな
インデックスなしのスキャン操作はschema on readと言えなくもないけどオンラインでは普通使わないよね
674:デフォルトの名無しさん
22/10/03 05:58:59.43 j+ZBVQFg.net
>>643
原始的なアセンブラはアド
675:レスに型が無く、アドレスに何が入っているかによって人間が命令を使い分ける。 その状態より型があるほうが便利なのでC言語は支持された。
676:デフォルトの名無しさん
22/10/03 06:14:28.71 g/IsZXX1.net
a[i]の順序を逆にi[a]と書くのが何故マナー違反かって質問が存在することは誰も否定しなかったので
質問が存在するゆえに型が存在する
677:デフォルトの名無しさん
22/10/03 10:12:35.74 BGisZcin.net
>>640
判ります
678:デフォルトの名無しさん
22/10/03 10:14:07.92 BGisZcin.net
>>646
アドレッシング用レジスタとデータ用レジスタの区別も無い罠
プログラムカウンタでさえただのレジスタと区別しないの好き
679:デフォルトの名無しさん
22/10/03 10:16:41.11 BGisZcin.net
>>637
OSが存在しないファイルシステムも存在しない環境でどうやって拡張子を定義するんだって話
680:デフォルトの名無しさん
22/10/03 10:19:27.04 BGisZcin.net
>>633
>型とテストが複合的にエラーを減らす手段であって排他なものではないということを、理解していないか少なくとも認識していない
めっちゃ判ります
っていうか煽るためにわざと知らない気付かないフリしてるのかと思える
681:デフォルトの名無しさん
22/10/03 10:23:00.71 TB48Z0Cc.net
・動的型付け言語 ←動的動作のためメモリ上に型情報が必要となる
・GCあり言語 ←GCのためにメモリ上に一部型情報が必要となる
・GCなし言語 ←基本的にはメモリ上に型情報は必要ない
(ただし敢えて動的に型を扱いたい時は型情報をメモリ上に持たせる)
682:デフォルトの名無しさん
22/10/03 11:43:54.89 +b5G+0cY.net
>>644
>NoSQLデータベースの多くはschema on readではなく、単に入れたものをそのまま出すだけだ
schema on readの意味くらいは理解してからレスしろ
683:デフォルトの名無しさん
22/10/03 11:45:28.34 +b5G+0cY.net
>>645
おまえもschema on readの意味くらいは調べろよ
684:デフォルトの名無しさん
22/10/03 12:09:23.06 iqvSOKEH.net
恥ずかしいから>>654こそ調べたほうがいいぞ
schema on readというのはデータ分析や大規模バッチ処理の文脈で出てくる言葉で、Hadoopのように検索時に生に近い形式のデータを力業でフルスキャンする方式だ
データ分析においてはデータの取り込みは柔軟にしつつ読むときに工夫しろというベストプラクティスがあって、それを端的に表している
対してschema on writeってのは普通のRDBやMongoDB、Elasticsearchのような、書き込み時にスキーマ情報を使ってインデックスを作る方式を指す
685:デフォルトの名無しさん
22/10/03 12:15:37.58 FME7tQvo.net
>>650
それは実行環境であって、開発ビルド環境のソースファイルは関係ねーだろ?
それともお前はOSも無いファイルシステムもない環境で開発ビルドしたことあんのかよ?あ?
686:デフォルトの名無しさん
[ここ壊れてます] .net
>>656
そもそもソースがファイルかどうかもわからんのにお前は何を言ってるんだ?w
687:デフォルトの名無しさん
22/10/04 00:52:19.50 0X2CPyYg.net
>>657
ム板で、ソースがファイルじゃないなら何?
688:デフォルトの名無しさん
22/10/04 06:00:39.30 /0MiP4cL.net
>>658
ストリームとかじゃね
あるかどうかは知らんけどワンパスコンパイラなら標準入力からソースもらうとか可能なはず
689:デフォルトの名無しさん
22/10/04 09:09:48.35 k8Tx7LNR.net
こういうとき絶対>>657本人じゃなくて
横から「○○じゃね?」っていうやつがやってくるの面白いよね
690:デフォルトの名無しさん
22/10/04 11:43:33.67 tBDpfoR6.net
>>660
知らんけど がついてたらモアベターだったよね。
691:デフォルトの名無しさん
22/10/04 12:54:23.68 b5efofhH.net
ファイル以外のソースがあるとしてそれがファイルの拡張子が決まってないこととなんか関係あるのか?
知らんけどw
692:デフォルトの名無しさん
22/10/04 13:32:51.60 k8Tx7LNR.net
こういう流れで>>657本人が出てきて
最後まできっちり議論に付き合うケースって皆無よねw
693:デフォルトの名無しさん
22/10/04 13:44:57.74 r+s1ZTqA.net
そんな話じゃないでしょ…
C++の規格はフリースタンディングも想定してるから、ファイルシステムなんかそもそも規約に入れようが無く、結果、ソースファイルについても何の規約も無い、みたいな話ではないの?
規約が無いかは調べてないけど。
694:デフォルトの名無しさん
22/10/04 13:59:03.52 fLWYqVho.net
C言語のソースファイルは*.c
そしてヘッダファイルは*.h
決まっていて困ることはない
ファイルシステムがどうこう言い訳してるやつは屁理屈
695:デフォルトの名無しさん
22/10/04 14:14:34.11 ye813FXw.net
>>662
ストリームに名前なんて無いんだから拡張子なんてつけようがないだろ
>>664
そもそも開発環境とかを規定してる言語の方が珍しいだろ
696:デフォルトの名無しさん
22/10/04 15:59:25.45 u1jaqPgY.net
本人再登場ww
ファイルシステムなんて関係ねーだろw
697:デフォルトの名無しさん
22/10/04 18:44:15.47 OYHWMS0e.net
>>658
ソースは俺。
698:デフォルトの名無しさん
22/10/04 18:59:59.83 eYXLusXZ.net
規格で拡張子が決まってる言語なんてあるの?
699:デフォルトの名無しさん
22/10/04 19:21:43.31 r+s1ZTqA.net
知ってる範囲ではc#が規格内に拡張子が書かれてるけど、確かに規定では無いな。
700:デフォルトの名無しさん
22/10/04 21:33:50.53 t1xbXCiE.net
javaとかは決まってるんじゃないか
知らんけど
701:デフォルトの名無しさん
22/10/04 21:35:32.21 3BE5Mov4.net
汎用機とかでファイル名の最大長が短くて拡張子使わないケースとかはあるわな
702:デフォルトの名無しさん
22/10/04 21:49:54.68 AC9so0xb.net
>>671
javaは拡張子やフォルダー構成も決まってたような気がするけど言語仕様なのか単なる開発環境の決め事なのかはよく知らん
703:デフォルトの名無しさん
22/10/05 00:45:16.34 N6l/fPxM.net
誰か拡張子の歴史について調べてこい
704:デフォルトの名無しさん
22/10/05 02:18:07.42 N6l/fPxM.net
俺様がベーシックやってた頃は拡張子なんて無かったぞ
誰か説明しろよ
705:デフォルトの名無しさん
22/10/05 06:29:51.10 +KHGV4+/.net
拡張子なんて決め事以上のものではないからなぁ。
706:デフォルトの名無しさん
22/10/05 06:37:01.54 AqmD6pJy.net
拡張子で言語が流行るかどうか決まる
707:デフォルトの名無しさん
22/10/05 17:09:15.64 NuKocPG+.net
最近読んだC++コードの拡張子がc++だったのはたまげたな
708:デフォルトの名無しさん
22/10/05 17:51:07.30 DUWBs0va.net
c++は
.cpp
.cc
.cxx
.c++
.C
.hpp
.hh
.H
とか節操無さすぎ。
709:デフォルトの名無しさん
22/10/05 20:10:07.38 GbBRP+XD.net
その点Rustは統一されてて安心安全
ついでにメモリも安心安全
710:デフォルトの名無しさん
22/10/06 02:02:14.61 fggEPvCQ.net
c言語は UNIX という OSを実装するために作られたものだから
ファイルシステムとは表裏一体だったという歴史は捨てようがない
派生した言語や OS も色々引きずっている
711:デフォルトの名無しさん
22/10/06 02:04:08.96 YyAOMCIS.net
拡張子なんてもんはいつからできたんだよ
誰か調べてこい
712:デフォルトの名無しさん
22/10/06 05:32:32.78 HCQdlFdq.net
>>681
もうC++の話はいいのか?w
C言語では *.[cC], *.[hH] でない処理系は見たことないな
713:デフォルトの名無しさん
22/10/06 05:57:55.23 fggEPvCQ.net
拡張子の文化が広まったのは、
8ビットマイコン時代にCP/Mが普及したのがキッカケで
CP/M→MS-DOS→windows の系譜で定着したのだろう
当初は、アセンブリ言語のソースや実行ファイルを拡張子で区別したが
高水準言語(高級言語)が次第に移植された
714:デフォルトの名無しさん
[ここ壊れてます] .net
拡張子の由来
URLリンク(ja.wikipedia.org)
拡張子は、もともとはDECのオペレーティングシステム (OS) 、たとえば、TOPS-10、OS/8やRT-11に利用されていた。
その後、CP/Mでも採用された。CP/Mのファイル名は8+3バイトの構成になっており、後ろの3バイトが拡張子と呼ばれた。
�
715:ウらにCP/Mと互換性を取るため、MS-DOSやOS/2、Windowsなどに受け継がれた。現在のWindowsでは3バイトの制限はない。
716:デフォルトの名無しさん
[ここ壊れてます] .net
CP/Mが真似たDECのOSから普及していたが
717:デフォルトの名無しさん
[ここ壊れてます] .net
そりゃ、K&Rの時代から .c .hが有ったにしても
DECのミニコンを庶民はそうそう導入できない
718:デフォルトの名無しさん
22/10/06 09:13:49.27 MAWAKzq8.net
そりゃ当然、コンピュータを使っている人への普及の話だろ。使ってもいない人に普及するわけはないが。
719:デフォルトの名無しさん
22/10/06 09:39:10.81 HCQdlFdq.net
>>687
いつから庶民の話になったんだ?
720:デフォルトの名無しさん
22/10/06 09:59:11.55 fggEPvCQ.net
>>689
UNIXとCの話は先に書いたから、
次にマイコン時代の浸透と拡散の話に進めたけど、早かったか
それらの前、BCPL等の時代に拡張子やファイルの概念があったのかは調査中だ
721:デフォルトの名無しさん
22/10/06 10:07:30.39 ojVJdV1x.net
簡単過ぎるから未解決のまま放置される問題というのがある
アクセルとブレーキどうやって区別するのかとか
拡張子を何にするかとか
722:デフォルトの名無しさん
[ここ壊れてます] .net
>>691
ナルセのワンペダルで解決しているよ。
(日産のパチもんじゃないので注意)
723:デフォルトの名無しさん
22/10/06 14:56:07.85 HrpdOifl.net
>>691
優先度低いためにいつまでたっても解決されない問題とかあるわ。
本来なら時間経過とともに優先度は上げるべきなんだよな。
724:デフォルトの名無しさん
22/10/06 15:37:24.75 HCQdlFdq.net
ホントに困ってたら優先順位上げるだろ
ずっと低いままと言う事はたいして困ってないってこと
725:デフォルトの名無しさん
[ここ壊れてます] .net
>>694
追加機能とか便利になる機能とかは困ってるわけじゃないからなぁ。
726:デフォルトの名無しさん
22/10/06 20:36:12.00 mTG1aBjr.net
拡張子の話もういいよw
727:デフォルトの名無しさん
22/10/06 22:34:31.24 Ok1z/xEn.net
やっぱりヘッダーファイルができた
C言語あたりから拡張子が必要になったんじゃないか
それまではソースファイル一つとオブジェクトファイル一つで
データは外から読んで、外に書き出すものだったから
728:デフォルトの名無しさん
22/10/07 12:11:11.36 d4ub3t4L.net
そもそもwikipediaをソースにしちゃうひとってω
729:デフォルトの名無しさん
22/10/07 12:12:35.68 d4ub3t4L.net
>>683
.inc とか .m とかたまに観る
730:デフォルトの名無しさん
22/10/07 12:14:03.56 d4ub3t4L.net
>>675
.N88 とか .BAS より古いのか
731:デフォルトの名無しさん
22/10/07 12:14:41.50 fXFk3JYA.net
そんなの初めて聞いた
いったいどこの処理系だよ
732:デフォルトの名無しさん
22/10/07 12:17:48.21 UqkGeV53.net
>>699
.inc はまだしも .m はみたことないな
733:デフォルトの名無しさん
22/10/08 00:54:36.30 lWG3uN0c.net
>>700
Csave命令に拡張子はなかった
何冊か確認した
80年代のキッズ向けゲームプログラミングの本だ
734:デフォルトの名無しさん
22/10/15 13:35:22.93 7x3tyssR.net
Siv3DやDXライブラリ等のゲーム制作用のフレームワークを使用したくてC++に初めて手を出そうと思うのですが
世の中の風潮がC++での新規開発はナンセンスでありC++を代替する言語(主にRust?)を選択すべきとあるようです
正直C++もRustも構文が複雑ですぐに忘れそうなので、NimかZigが良さそうと感じました
Zigは安定版がまだまだ先なので採用できませんがNimが流行っていないのは何か致命的な欠点があるからでしょうか
735:デフォルトの名無しさん
22/10/15 13:37:39.38 ZvCbuaRx.net
ゲーム作りたいならunityかc++じゃないの?rustはいずれ台頭するかも知れないけど今はまだ成熟して�
736:ネい気がする。
737:デフォルトの名無しさん
22/10/15 13:48:06.01 7x3tyssR.net
>>705
Unity等のゲームエンジンは使用せずプログラミング言語(GCは無しか軽めのやつ)でいきたいです
C++のフレームワークは最悪DLL化すればよいので、読みやすくコンパイルや実行速度が速い言語が良いです
総合するとNimが最有力かなと思いました
Nimがなぜこんなにも流行っていないのか不思議でなりません
738:デフォルトの名無しさん
22/10/15 14:06:33.72 F6SpEMOp.net
C++が嫌、Unityも嫌って趣味でするなら何でもいいけど
もし仕事ならそれは無理があるw
739:デフォルトの名無しさん
22/10/15 14:14:29.81 VwzLwjKk.net
普通にフレームワーク使えば良くないか?
こだわりがあるわけでもないみたいだし
740:デフォルトの名無しさん
22/10/15 14:26:29.95 xlxbbjp3.net
先週のレスだけど.mはObjective-C
741:デフォルトの名無しさん
22/10/15 14:40:37.67 nv6vkvQj.net
Nimは別に致命的な欠陥があるとかではないんだろうけど
わざわざ使う理由もないんだよな
構文が好きな人はいるだろうけど結局個人の好みなので
みんなで移行するほどの動機にはならない
742:704
22/10/15 14:45:33.73 7x3tyssR.net
レスどうもです
ひとまずC++でいこうと思います
C++20とかで昔よりは書きやすく見やすくなっている気がしますし
何より日本語の参考情報・コミュニティが多いのが長期的に見れば問題発生時に助かるはず
743:デフォルトの名無しさん
22/10/15 14:53:07.87 p7Jd9YR9.net
IT土方を目指すならRust
趣味や個人でやるんならNim
744:デフォルトの名無しさん
22/10/15 14:54:50.47 F6SpEMOp.net
土方がRustなんか使えないし使わないw
745:デフォルトの名無しさん
22/10/15 15:10:11.71 s57NbqIZ.net
人形劇ご苦労さん
746:デフォルトの名無しさん
22/10/15 15:50:43.54 fXRWKHGk.net
ゲームそのものを作るのはUnity/UE/cocos2dのいずれか又は全部で、それぞれの1stターゲットの言語を使ってやりつつ、エンジン自作はC++でやればいいと思う
一応Rustもこないだ見たらwindows-rsでDirectX 12も書けるしXamlも食えるようになってたのでナシではない
Windows以外のプラットフォーム向けなら何個かVulkanラッパーあるし
いずれにせよ修羅の道だけど
747:デフォルトの名無しさん
22/10/15 16:31:40.59 i2DHISwU.net
>>706
ネイティブコンパイラじゃなくトランスレーターだから。
過去トランスレーターで流行ったのはTypescriptしかない。
748:デフォルトの名無しさん
22/10/15 17:46:33.43 2u2iBEwS.net
>>716
初期のC++もトランスレーターだったから流行らない原因をトランスレーターと言うのはちょっと違うと思うな
749:デフォルトの名無しさん
22/10/15 18:11:19.69 NmAr5sG4.net
セルフホスティングできない言語は2流
750:デフォルトの名無しさん
22/10/15 18:13:42.88 49IRcNny.net
ゲームでは、Unity 以外は無理
特に、C++ なんて10年以上は掛かる
751:デフォルトの名無しさん
22/10/15 19:30:07.96 q7Ga6+cW.net
unity使うなら素直にc#だな。
752:デフォルトの名無しさん
22/10/15 19:43:34.04 i2DHISwU.net
>>717
それはMicrosoftが開発言語に採用したからだ。
753:デフォルトの名無しさん
22/10/15 19:48:13.86 19XBAed2.net
Unreal Engine「あの・・・」
754:デフォルトの名無しさん
22/10/15 20:13:38.24 2u2iBEwS.net
>>721
それならますますトランスレーター関係ないだろw
755:デフォルトの名無しさん
22/10/15 20:25:42.25 53DgTVqf.net
nim言語は普通にコンパイルして使う場合には
ネティブコードコンパイラと違いはない
nim c -d:danger -d:strip hello.nim
でバイナリの実行コードができるので。
756:デフォルトの名無しさん
22/10/16 11:35:47.53 v1FuyRJe.net
イケてない最大の理由は名前
kotlinとかnimとか名前がダサい
響きが野暮
757:ったい
758:デフォルトの名無しさん
22/10/16 11:59:35.86 lwaRyv7J.net
錆に言われても…
759:デフォルトの名無しさん
22/10/16 15:31:24.57 IVc+yLVX.net
イケてないネーミングは
rust
が一番だわ w
760:デフォルトの名無しさん
22/10/17 01:09:17.45 dy8+u3n6.net
>>726
>>727
俺もそう思う。
初めて見た時なんで錆?って思ったわ。
761:デフォルトの名無しさん
22/10/17 01:42:41.41 WFbt/TKL.net
ゴタクはいいよ
なんでnimが流行ってないかお前らも考えろよ
おおかたロゴかマスコットキャラがキモかったんじゃねーの
762:デフォルトの名無しさん
22/10/17 02:11:22.42 7HubD3zm.net
ゴタクwww
763:デフォルトの名無しさん
22/10/17 09:05:27.87 Ofm9JCy9.net
流行ってない泡沫言語なんて山のようにあるんだから考えるだけ無駄。
流行っている理由ならまだしも。
764:デフォルトの名無しさん
22/10/17 10:09:48.88 AW6s8izC.net
まあ流行自体が目的でない限り、真の目的のために流行を犠牲にするのはごく普通の手段でしょ
対価を一円たりとも支払わない方針のほうが珍しい
765:デフォルトの名無しさん
22/10/17 11:36:17.89 4lxPxHPJ.net
チャリンカスの言う事はわかんねえな
766:デフォルトの名無しさん
22/10/17 16:14:18.51 GuOtjDmV.net
単発お疲れ
767:デフォルトの名無しさん
22/10/18 15:14:40.60 z3UYdKVf.net
CNET Japan: グーグル、Rustで書かれたセキュアなOS「KataOS」を発表.
URLリンク(japan.cnet.com)
768:デフォルトの名無しさん
[ここ壊れてます] .net
>>735
> このOSは、デスクトップPCやスマートフォン向けではなく、モノのインターネット(IoT)、おそらくはスマートホームを対象としたものだ。
769:デフォルトの名無しさん
[ここ壊れてます] .net
Zig言語 日本語マニュアル
URLリンク(ja.wikibooks.org)
これは助かる
770:デフォルトの名無しさん
22/10/19 08:41:14.53 1HFYTZZW.net
>>736
だから何?
771:デフォルトの名無しさん
22/10/19 11:24:46.83 e814Cfcc.net
>>735
だから何?
772:デフォルトの名無しさん
22/10/19 12:28:59.25 GEPyqTO9.net
>>738
PCのOSじゃないのか、がっかり
773:デフォルトの名無しさん
22/10/19 12:29:54.54 GEPyqTO9.net
>>739
グーグルがRustで本格的にOSつくりだしたことで、Rustの覇権が決定的なものとなった
774:デフォルトの名無しさん
22/10/19 12:36:32.14 ym3Y2idE.net
Google Researchだから論文出して飽きたら終わりだよ
775:デフォルトの名無しさん
22/10/19 13:04:51.36 6gvt48Sb.net
ハードを遠隔操作するOSは飽きるんじゃなくてハードが規制される
言語は規制されないから終わらない
776:デフォルトの名無しさん
22/10/20 06:12:38.97 LB7mrsJk.net
>>741
RTOSだとRustの制約がきつすぎて他の言語と変わらなくなりそうだと思うがね。
特にAliasing XOR Mutabilityをマルチスレッドで有効活用するのはキツイんじゃね?Mutex、RwLock、Atomicの管理で破綻しそうだし、熟成するまでせっかちなGoogleが我慢できるとも思えん。
777:デフォルトの名無しさん
22/10/22 09:25:03.56 gR6VtGLA.net
Rustが覇権取ってくれるのは一向に構わんがはよ流行れよとw
いつまで同じこといってんのよ~って感じやな
Goが下火になってきてるのはいいことやとは思う
はよGoを滅ぼしてくれよRustさんよぉ
778:デフォルトの名無しさん
22/10/22 09:59:05.95 Kx4jEG6I.net
Rustも流行らないよ
borrow checkerが厳しすぎる
779:デフォルトの名無しさん
22/10/22 11:11:33.12 g8L2LKV+.net
>>745
用途が全然違うのになぜ比較したがるのか
RustはCとC++の代替言語な
780:デフォルトの名無しさん
22/10/22 11:37
781::42.63 ID:7/DIukmA.net
782:デフォルトの名無しさん
22/10/22 13:08:21.47 OES5lhv+.net
>>745
Webサービスに使うならGoで良いんじゃない?
GCあっても誤差レベルだし
ライブラリも豊富だから作りやすいでしょう
非同期ランタイムとか面倒なこともないし
783:デフォルトの名無しさん
22/10/22 21:40:08.13 YfyYmLnG.net
>>749
>GCあっても誤差レベルだし
これマジで言ってる?w
784:デフォルトの名無しさん
22/10/22 23:03:08.03 iDqDSmph.net
Rustが覇権を握った世界でもCは使われるんじゃないの?
小さなプログラムでもRustが上なのか?
785:デフォルトの名無しさん
22/10/22 23:50:16.06 OES5lhv+.net
>>750
?
786:デフォルトの名無しさん
22/10/23 08:05:47.52 JTB6G86q.net
>>751
メモリの開放処理が不要なツールとかだと、明示的にメモリ解放サボれるCが有利なケース作れたりするんかな。
そんなケースで勝てなくてもいいとは思うけど。
787:デフォルトの名無しさん
22/10/23 08:33:25.76 mcEZ9b2B.net
>>749
正直Webサービスって別にGoじゃなくてもいいよね感半端ない
JavaでもRubyでもC#でもいいし
Goの利点なんて全然ないわ
Goルーチンなんて全然いらんし
788:デフォルトの名無しさん
22/10/23 09:03:11.53 UH4lwye7.net
>>754
でもISUCONでは一番人気だしスケールしやすく簡単にかけて可読性がよくパフォーマンスが出るのは事実なのでは?
Goが一番輝くのはDockerやKubernetesで使われてるようにクラウド関連の周辺ツールやバックエンドだな
CockroachDBやTiDBで使われてるように、その気になればDBみたいなプログラムにも適している
Rustはとっつきにくさがあるからここまで流行らないだろうね、そもそもGCが気になるケースってのは非常に稀だしOS開発ぐらいでしかまず使われないだろう
GCも当然進化しているわけだからJavaとかと比べてGoの停止時間は圧倒的に短いし、ある程度書き方を工夫することでスタックヒープにわける制御もできる
だからほとんどGCが問題になることもない
あくまでもRustはCを置き換える言語だね
789:デフォルトの名無しさん
22/10/23 09:15:11.78 mcEZ9b2B.net
>>755
でもいらねーんだよ
JavaやらのGCだってどんどん進化してるし
別にGoじゃなくてもDocker、k8sでスケールできるし
Goじゃなきゃ非機能要件を満たせないなんてことまずねーんだよ
それにエラー処理が糞だからなぁ
790:デフォルトの名無しさん
22/10/23 09:43:25.00 H9SBWcx0.net
javaとgoはスピンアップ速度で違いが出る
791:デフォルトの名無しさん
22/10/23 10:06:55.74 UH4lwye7.net
>>756
エラー処理がクソってのもお前の感想でしかない
例外の方がクソって考えてる人もそれなりにいるわけなんでね
俺からしたらGoよりJavaの方が終わってる点が圧倒的に多いと思ってるでね
俺はISUCONで一番Goが使われててJavaなんて誰も使ってないっていうデータを示してるわけだが
お前の感想なんか誰も聞いてないよ
792:デフォルトの名無しさん
22/10/23 10:21:24.89 UH4lwye7.net
スケールできるってのはあくまでも効率よくって話な
ISUCON12の初期実装でもGoとJavaでは5倍ほど差があったとのことだし、同じように実装しても普通に差が出るんだから
当然効率よくスケールできるという話になるわけ
793:デフォルトの名無しさん
22/10/23 11:03:30.61 JTB6G86q.net
>>758
いやー、Goのエラー処理は適当やってると問題起きた時につらいんだよね。スタックトレース付けてなかったりすると、どこで問題起きてるかがわからない。
スタックトレースをエラー処理に組み込んでないってのが、JVM言語やってた人間からすると信じがたい。
794:デフォルトの名無しさん
22/10/23 12:37:24.57 aumvRfST.net
軽量スレッドを使った並行並列処理する上で例外は相性が悪いからオミットされて代わりに値として扱ってるってのがまずあるね
Goが作られた最大の理由は効率よくマルチコアを利用するってのだし
Nodeみたいにシングルスレッドなのであれば例外も扱えることができるが
これを両立してる言語は存在しないね
795:デフォルトの名無しさん
22/10/23 13:40:15.59 Ru+lcIaK.net
JVMでできることが何故LLVMでできないの?
796:デフォルトの名無しさん
22/10/23 13:46:11.16 NS3+KJ7P.net
実際、D言語にはGCがあるけど、LLVMを使ってるLDCでコンパイルすれば
C++にかなり近い実行速度になるし、GCはそんなに遅くない気はする
797:デフォルトの名無しさん
22/10/23 14:00:57.32 VfLJCoFB.net
ていうか、Rustってなんでこんなに必死なの?
798:デフォルトの名無しさん
22/10/23 14:06:22.10 Ru+lcIaK.net
生殺与奪の権を自分で握っているから
799:デフォルトの名無しさん
22/10/23 14:08:45.41 ioVOctq2.net
>>759
Javaの場合はフレームワークもそれなりに重いからね
800:デフォルトの名無しさん
22/10/23 14:13:26.72 ioVOctq2.net
>>754
別に書き換える必要はないと思うよ
新規で始めるならGoとかRust使った方が面白いのではないかと言うこと
801:デフォルトの名無しさん
22/10/23 14:51:49.61 /lSuGz6a.net
そもそもJavaとWebって相性が悪い
なぜならオブジェクト指向とWebの相性がそもそも悪いから
アホがOOPを意識して書くとオーバーエンジリアリングになりがちで、基本的に手続型の方が適してる
Spring Bootとか重厚すぎて終わってる
OOPが向いてるのはGUIとか
public static void mainとかアホじゃねーの
802:デフォルトの名無しさん
22/10/23 15:33:35.06 iZvinCS0.net
public static final int countdown
803:デフォルトの名無しさん
22/10/23 15:54:26.44 9PrlG1Sf.net
違うと思う
相性が悪いわけではなかった
「今後必要になるプログラミング言語」を見てみると当時javaがどう思われていたのかが分かる
804:デフォルトの名無しさん
22/10/23 16:47:45.25 uJU0x2Ru.net
>>756
「でも」の意味がわからなすぎて草
「Goじゃなきゃ非機能要件を満たせない」なんて、その言語がチューリング完全じゃないみたいじゃん
極論過ぎて言いたいことがぼやけてるぞ
805:デフォルトの名無しさん
22/10/23 16:48:56.95 uJU0x2Ru.net
>>760
適当にするからでしょ。
そもそもその場で処理しているはずであって、スタックトレースに頼る実質超巨gotoな例外の方がどうかしてると思う。
806:デフォルトの名無しさん
22/10/23 16:53:17.98 Ru+lcIaK.net
メッセージ送信とかいう概念がwebと相性がいいのは分かる
その概念が何故オブジェクトの概念と密結合になってるのかが分からない
807:デフォルトの名無しさん
22/10/23 17:12:16.99 JTB6G86q.net
>>772
理想はまぁそうなんだけどさ。現実そうでないコードがどうやっても紛れ込むんだから根性で解決とかは勘弁。
808:デフォルトの名無しさん
22/10/23 17:25:00.01 UH4lwye7.net
>>774
errcheckとか活用すればいいし、コーディングする際は必ず戻り値を確認すればいい
漏れやすいのは確かだけど、エラー表現が全く統一されてないC、C++に比べると圧倒的に楽なのは事実
809:デフォルトの名無しさん
22/10/23 19:26:33.97 HOBBKeJ+.net
Rustのエラー処理に慣れると他の言語使えんよ
anyhowとthiserrorのコンボこそあらゆるプログラミング言語のエラー処理のエデンと感じる
810:デフォルトの名無しさん
22/10/23 19:54:48.16 xpNFRiXA.net
まあ所詮Haskellの焼き直しなんですけどね
811:デフォルトの名無しさん
22/10/23 20:01:27.37 608cGiLj.net
原理試作と実用製品の関係みたいなもん
812:デフォルトの名無しさん
22/10/23 20:52:58.51 Ru+lcIaK.net
DelphiとC#とTypeScriptの関係みたいなもんでしょ
813:デフォルトの名無しさん
22/10/23 22:33:19.11 u5B1k/fb.net
>>776
InvalidArgume
814:ntみたいな標準的なのを各レイヤーごとにいちいち自分で名前決めて定義しないといけないのはどうかと思う プロジェクトがかわってもRust使ってる場合に標準的に使えるエラー型は用意して欲しい まあanyhowレベルで浸透するならcrateの形でも提供でもいい
815:デフォルトの名無しさん
22/10/24 00:00:17.86 c7GaYtEs.net
うむ
816:デフォルトの名無しさん
22/10/24 08:19:36.09 vANHr58d.net
もう少し例外を使用しても良いのではないか...
URLリンク(qiita.com)
例外処理は処理コストが掛かるらしいことを確かめようとしたら、意外とそうでもなかった話]
URLリンク(katzchang.hatenadiary.org)
817:デフォルトの名無しさん
22/10/24 08:44:13.82 Nh76Mk4a.net
let hoge
try {
hoge = maybeThrow()
} catch (err)
{
エラー処理
}
hogeをここで使用
スコープが分断されるのが嫌い
かといって全部try catchでまとめて囲むのも嫌だ
818:デフォルトの名無しさん
22/10/24 11:09:28.71 SEdanpUe.net
それ以上の描き方思いつかないならそれで我慢しろとしか言いようがねえな
819:デフォルトの名無しさん
22/10/24 12:54:58.71 kFwD+FAK.net
try {
const hage = ......
// ここでハゲる
}
catch .....
820:デフォルトの名無しさん
22/10/24 13:45:05.88 SEdanpUe.net
思いついてやったぞ
3項演算子みたいに書けるトライキャッチがあればいいんだろう
821:デフォルトの名無しさん
22/10/24 13:46:20.16 rCA25jH/.net
なんでこっちにしなかったんだろう
スコープを考えたら絶対こっちの方が良いのに
try {
.....
catch (e) {
.....
}
}
822:デフォルトの名無しさん
22/10/24 13:47:17.46 SEdanpUe.net
ラムザキャッチと名付ける
823:デフォルトの名無しさん
22/10/24 13:50:06.34 SEdanpUe.net
let hoge = maybeThrow() ? catch(err){
//エラー処理1
//エラー処理2
//エラー処理3
};
こういう見映えだとラムダ式に似てるだろ
824:デフォルトの名無しさん
22/10/24 18:46:24.56 8+UVFZyO.net
>>787
それも少し数増えたら見づらいだろ。
825:デフォルトの名無しさん
22/10/24 19:24:34.71 m3/1dAn6.net
そうか?
case e => HogeException
case e => FugaException
みたいにすればすげーわかりやすい気がするが
この構文は前から俺が温めていたものだ
特に出す機会はないがw
826:デフォルトの名無しさん
22/10/24 19:29:48.11 LLDppSf/.net
>>787
例外ってすげー祖先まで遡る事もあるって知らないの?
827:デフォルトの名無しさん
22/10/24 22:37:32.41 J+qP7U3e.net
stderrに文字を書き込んでexitしてもターミナルは終了しない
というマルチタスク的なUIを
シングルタスクで擬似的に再発明する機能がcatchだ
catchしなければ全部終了するから
828:デフォルトの名無しさん
22/10/30 13:17:58.74 bFRBVv52.net
多分岐を前提としたエラーハンドリングはクソだと思うわ
GoやTSみたいに基本一つで必要に応じてエラーハンドラの中で分岐でいい
829:デフォルトの名無しさん
22/10/30 20:11:15.05 LsgJ3Yzj.net
>>794
それ、エラーハンドリングの書き方の違いで結局多分岐じゃん
830:デフォルトの名無しさん
22/10/30 20:17:26.90 mEHydPb0.net
スタックフレームを遡る時点でとんでもない副作用だから
今の時代にはふさわしくないわな
831:デフォルトの名無しさん
22/10/30 21:12:37.95 A2hghp/9.net
副作用?
832:デフォルトの名無しさん
22/10/30 21:21:33.37 +1c8jgme.net
日本ではどっちもサッパリだけど海外だとZig>>>Nimだな
次スレはNim外してZigでよろしく
833:デフォルトの名無しさん
22/10/30 21:21:43.43 +1c8jgme.net
日本ではどっちもサッパリだけど海外だとZig>>>Nimだな
次スレはNim外してZigでよろしく
834:デフォルトの名無しさん
22/10/30 21:24:41.43 d1FOMSru.net
例外は重いから出来るだけ避けたい
835:デフォルトの名無しさん
22/10/30 21:52:12.74 mEHydPb0.net
やたらZig人気あるけど理解できん
構文もそんなにわかりやすいか?
836:デフォルトの名無しさん
22/10/31 00:55:44.52 8RrIgicz.net
ZigはZenでケチついたけど、トラブルは片付いたのかね?
837:デフォルトの名無しさん
22/10/31 06:43:44.47 4lYEr6WH.net
Zenなんて無視でいいだろw
838:デフォルトの名無しさん
22/10/31 06:49:37.53 gpqFhr3z.net
じゃあ、Bun の話
839:デフォルトの名無しさん
22/10/31 12:50:48.82 +v2gX208.net
Goは日付フォーマットがウンコ
840:デフォルトの名無しさん
22/10/31 14:07:28.91 ghuRVpi7.net
>>794
ワロタw
問題の本質を分かってない
Go推奨してるやつの半分以上はこのレベルなんだよなぁ
841:デフォルトの名無しさん
22/10/31 23:47:17.25 rwQMN8uU.net
いつも通り
何か言ってそうで 何も言ってなくて
ワロタw
842:デフォルトの名無しさん
22/11/01 16:40:48.61 1fqXVNhi.net
>>806
問題の本質を教えてくれないか?
843:デフォルトの名無しさん
22/11/02 02:06:41.97 S5a8978Q.net
本物のスコットランド人論法やな
844:デフォルトの名無しさん
22/11/02 08:42:08.53 EJy9x2LF.net
>>794はJavaですら catch (IOException | SQLException ex) とか書けるのを知らないアホ
845:デフォルトの名無しさん
22/11/02 09:32:19.73 jjpE9iF+.net
>>810
それはまさにJavaのcatchが多分岐を前提にしているからこそ必要になった構文だよね
後から追加されたってことは実際に多くの人が「多分岐を前提としたエラーハンドリングはクソ」と感じていたということでしょ
バカにされたからって無理筋でつっかかるなよみっともない
846:デフォルトの名無しさん
22/11/02 10:05:26.78 E44dP1ZR.net
本質を選択する
本質に集中する
メンバーを書かなければ中身のないただの箱になる
847:デフォルトの名無しさん
22/11/02 12:50:51.28 k32CSUhG.net
>>811
いや
多分岐は全然オッケーだけどまとめたい時もあるよねというだけ
848:デフォルトの名無しさん
22/11/02 13:33:21.09 2ZJAy0Zn.net
そもそも多分岐を前提としてないエラーハンドリングなんてないからw
849:デフォルトの名無しさん
22/11/02 15:11:19.41 W1v41eym.net
>>814
多分岐を想定してるのと多分岐が大前提でデフォなのはデザインの志向としては全然違うでしょ
例えばGoの言語仕様をデザインする上でそりゃ多分岐のエラーハンドリングを想定していないわけはないけど、結果としてエラーの多分岐に対する第一級のサポートは何もない
850:デフォルトの名無しさん
22/11/02 18:28:17.60 GwKq235T.net
スマン、こいつの言ってる多分岐のエラーハンドリングってはいったいどういうコードなのか誰かエスパーしてくれんか。
851:デフォルトの名無しさん
22/11/02 18:33:51.20 m8w2BBVr.net
そもそも「多分岐」ってワードが聞き慣れないので
話が耳に入ってこない
自分で言葉作っちゃうやつと議論してもムダに終わる
852:デフォルトの名無しさん
22/11/02 18:44:46.71 ZqFrwRdn.net
>>816
catch (~) {
}
catch (~) {
}
...
みたいなのじゃね?
こっちの方が中でifするよりネストが減ってエレガントだよね
853:デフォルトの名無しさん
22/11/02 18:52:44.54 OGyWRdOS.net
>>818
tryのネストがあるだろ。
ネストの深さだけでいうとifのほうがどちらかというと分があるんじゃね。
Goのエラー処理は、そもそも大域脱出したいとかスタックトレースをたどらないといけないような呼び出し階層の深いコード書くなというメッセージ的な側面もありそう。
854:デフォルトの名無しさん
22/11/02 18:56:30.02 oICVsRnV.net
>>819
tryのネスト?
try {
try {
...
こんなコード書く人居る??????
855:デフォルトの名無しさん
22/11/02 19:01:47.22 oICVsRnV.net
まあ呼び出し階層を削減しろって意見は分からんでもないが
それはエラーハンドリングとは別ベクトルの問題だろ
856:デフォルトの名無しさん
22/11/02 19:13:58.62 jyU6y3CY.net
>>808
そんなことよりこれへの回答まだ?
857:デフォルトの名無しさん
22/11/02 19:17:17.91 j64WQohl.net
typescriptの可能性は無限大やで
「Webpack」より700倍高速な次世代バンドルツール「Turbopack」が登場
URLリンク(gigazine.net)
858:デフォルトの名無しさん
22/11/02 19:45:11.50 HzsLyTHT.net
Rustの可能性、なw
859:デフォルトの名無しさん
22/11/02 19:45:24.48 qyHEkcPy.net
typescriptなんかマジで要らないw
860:デフォルトの名無しさん
22/11/02 20:02:06.24 5K2+hbiB.net
Webで型なんかいるか?
型チェックしてエラーになっても死ぬのは許されないから
適当にごまかす処理を書くしかない
厳密なチェックしてもかえって厄介であんまり意味ないと思うんだよな
861:デフォルトの名無しさん
22/11/02 20:03:05.34 5K2+hbiB.net
>>826
俺はOption型強制ぐらいで十分だと思ってる
862:デフォルトの名無しさん
22/11/02 20:49:43.63 xJvT1Cbm.net
IsやAsやtype switchやvalue switch使って
シコシコと手動でネストさせたコードを書かなきゃいけないのがクソじゃなかったらなんなんだろうな
863:デフォルトの名無しさん
22/11/02 21:14:35.40 92BXP9jc.net
>>823
Typescriptは文法好きだけどこうやってあっという間にエコシステム入れ替わるから真面目なバックエンド、ビジネスでは使えんのよね
フロントはいつか総とっかえするからまあいいかって感じだけど
864:デフォルトの名無しさん
22/11/02 21:34:50.83 t/iark2f.net
「シェルピンスキーのギャスケット」を描画する機会はあまり無いのでは
865:デフォルトの名無しさん
22/11/02 22:02:22.20 E44dP1ZR.net
extern "C" 以外のABIが意味不明 → 全部静的リンク → 一部変更があれば全部入れ替える
866:デフォルトの名無しさん
22/11/02 22:17:31.20 jyU6y3CY.net
正直ここまでコンパイル前提にするならJSとの互換性なくても良くねーか?
開発者のレベルが上がってるし
そこはもう割り切ってやろうよ
867:デフォルトの名無しさん
22/11/02 22:45:19.27 jjpE9iF+.net
TypeScriptには変換後のJSに対してハックを入れない(ただしbabelを目的とする場合は除く)というポリシーがあるようで、
JSに対する後方互換性よりもそっちの方が重い足枷になっている
868:デフォルトの名無しさん
22/11/02 22:48:25.19 1ThO0l2A.net
>>829
新しいものが出てきたからってすぐに乗り換える必要はないんだぜ?
869:デフォルトの名無しさん
22/11/02 23:13:38.47 92BXP9jc.net
>>834
新しく始めるときにあれ前とテンプレが違う、、、ってのが最悪なのよ
870:デフォルトの名無しさん
22/11/02 23:23:41.46 1ThO0l2A.net
誰が変えるんだよ?変えなきゃいいだけ。
871:.NET MAUI HighScool
22/11/03 11:03:31.92 P57hKE9o.net
すまん最近Blazor始めたけどTypeScript使うならC#使ったほうが良くね?って結論出てしまったわ
動的型付け言語だしオブジェクト指向だし作った人同じだし
872:.NET MAUI HighScool
22/11/03 11:05:23.52 P57hKE9o.net
>>825
C#でいいもんなw
C#はバックエンドで使用可能だからハイブリット運用が楽
Node.jsとかいらんかったんや
873:.NET MAUI HighScool
22/11/03 11:07:05.12 P57hKE9o.net
すまんなんか勢いで動的型付け言語って書いたけど静的型付けだったわ
874:デフォルトの名無しさん
22/11/03 11:42:59.08 GZFcpBDY.net
Blazorは面白いけど業務で�
875:ィ目にかかることはないだろう
876:デフォルトの名無しさん
22/11/03 11:44:07.71 tn2ZhR3p.net
ふつうは用途によって使い分けると思うがBlazorとか言っているからWebアプリの話か。
UIフレームワークがRazorってところがネックだな。WPFなんかが使えたら喜んで乗り換えるんだが。
877:.NET MAUI HighScool
22/11/03 12:02:08.40 P57hKE9o.net
>>841
これ
XAML最強!!
878:デフォルトの名無しさん
22/11/03 12:04:17.91 tn2ZhR3p.net
とは言ってもRazorしか使えない現状じゃあやっぱりReact+Typescriptだな。
879:.NET MAUI HighScool
22/11/03 12:05:38.67 Kj7ywx2W.net
>>843
なぜ?
React使う必要ある???
880:デフォルトの名無しさん
22/11/03 12:41:33.82 tn2ZhR3p.net
素のhtml/cssだけでWebアプリ組むのはさすがに大変なんで。
881:.NET MAUI HighScool
22/11/03 12:44:06.01 Kj7ywx2W.net
>>845
?
ウェブコンポーネントの概念知らない?
882:デフォルトの名無しさん
22/11/03 12:59:20.91 tn2ZhR3p.net
>React使う必要ある???
>ウェブコンポーネントの概念知らない?
この2つの質問はどう繋がっているんだろう?
883:.NET MAUI HighScool
22/11/03 13:06:37.73 fiCeisHS.net
>>847
Reactを使う必要があるか?に対してHTML,CSSを使うのはめんどくさいからという問いが帰ってきたわけだな
それで俺はHTMLやCSSをゴリゴリ書く必要がないコンポーネント使えばよくね?
と返したわけだ
884:デフォルトの名無しさん
22/11/03 13:13:35.86 tn2ZhR3p.net
>ウェブコンポーネントの概念知らない?
が
>それで俺はHTMLやCSSをゴリゴリ書く必要がないコンポーネント使えばよくね?
という意味だったと?
わかんねーよw
885:.NET MAUI HighScool
22/11/03 13:21:39.39 lb4yYaZW.net
まぁ伝わりづらかったのはすまんと思ってる
だがまぁ言いたいことは伝わったしいいや
886:デフォルトの名無しさん
22/11/03 13:55:48.74 RNtCoIjI.net
>>843
Razorも慣れると便利よ
Reactと違って直感的だしDIもサポートされてる
887:デフォルトの名無しさん
22/11/03 15:08:12.26 7nafImuY.net
Zig言語 最新版 0.10.0 リリースされた
URLリンク(ziglang.org)
888:デフォルトの名無しさん
22/11/04 17:16:01.21 GPuumgjE.net
うねいへの要望
・受け取りボックスの下の次ページと最終ページの間に次10ページと次100ページを追加する
・カードを選択した場合に、ピックアップ機能で絞り込んだ場合、絞り込み外をグレーアウトでなく非表示にする
・1つ1つ開封する機能に加えて、一斉開封機能を追加する
・開封したものがハロの場合、指定した機体に自動で合成する機能を追加する
開封を楽しむゲームじゃないんだから、ユーザの気持ちを考えて、ちゃんと利便性を上げるように!
889:デフォルトの名無しさん
22/11/04 17:16:51.56 GPuumgjE.net
誤爆スマソ
890:デフォルトの名無しさん
22/11/04 18:54:33.04 5+z9Ldzg.net
日本語版 作成中
Zig 言語リファレンス
URLリンク(gist.github.com)
891:デフォルトの名無しさん
22/11/04 19:15:43.95 UHaMS99C.net
Zigはいつ頃バージョン1になるの?
892:デフォルトの名無しさん
22/11/04 19:56:14.70 5+z9Ldzg.net
0.1アップするのに10ヶ月かかったことから計算すれば
1 = 0.100.0 とすると
72年後くらい
893:デフォルトの名無しさん
22/11/04 20:58:27.13 DH/gCa9u.net
そんくらいは人月の威力でどうにかなるでしょ
作業者が10人だとすれば72年
100人で7年
700人だと1年
世界中から参加者を募ると爆速になる
894:デフォルトの名無しさん
22/11/04 21:02:53.82 5+z9Ldzg.net
じゃお願いします
895:デフォルトの名無しさん
22/11/04 21:22:30.60 DlOGKIwq.net
「人月の威力 - 納期を短くする銀の弾丸」フレデリック・ブラックス
896:デフォルトの名無しさん
22/11/04 22:04:16.66 cCcP5R7t.net
低位な階層のライブラリがそろえば、
高位
897:階層のライブラリ開発・機能実装が捗り、 メジャーアップデートは目に見えて進むことであろう
898:デフォルトの名無しさん
22/11/04 23:47:10.54 DH/gCa9u.net
その前提条件はどうやって満たされるかと言うと、やっぱり集まる人数が増えるからじゃなかろうか
899:デフォルトの名無しさん
22/11/04 23:48:12.30 DH/gCa9u.net
前提条件ってのは低レベルライブラリのことな
900:デフォルトの名無しさん
22/11/04 23:56:01.86 cCcP5R7t.net
もちろん、あらゆるプロジェクトに共通する事だが
「そうであったらいいなあ」という願望を含む
901:デフォルトの名無しさん
22/11/05 00:52:15.14 mvfmSa9B.net
>>729
流行ってないのは確かだが
流行れば良いってもんでもない
902:デフォルトの名無しさん
22/11/05 01:28:25.52 RYRZpGu6.net
良い言語であれば流行る🦍
903:デフォルトの名無しさん
22/11/05 07:01:26.55 GkYR7njX.net
>>729
GCのせい
904:デフォルトの名無しさん
22/11/05 12:58:03.66 bSYf4piC.net
良い言語が流行るんじゃないんだ
流行った言語が良い言語なんだ
905:デフォルトの名無しさん
22/11/05 13:26:33.21 sgQIqiUv.net
なぜ流行ったかとするとやっぱり魅惑的な音の響きだな
つまり人前で堂々とパイパイと発音すること自体が主目的だ
906:デフォルトの名無しさん
22/11/05 18:40:47.55 ZY0dHsRZ.net
やっぱりキラーフレームワークやライブラリがないといかんね
大抵流行ったもんにはそういうのがつきもんや
907:デフォルトの名無しさん
22/11/06 00:14:21.72 kgsILO0p.net
じゃあニムの推しってどういうところなんだ?
908:デフォルトの名無しさん
22/11/06 02:49:08.91 DM24i0Wt.net
GCするなら思い切ってbetter pythonに舵を切っても良いと思うが
python使いならトランスパイラとか気にしないだろうし
909:デフォルトの名無しさん
22/11/06 06:32:56.43 w3pjOZVr.net
GCといえば結局V言語は詐欺だったの?
910:デフォルトの名無しさん
22/11/06 06:49:26.74 w3pjOZVr.net
URLリンク(github.com)
> メモリ管理
> Clawnはプログラム中の値の依存関係を静的に検証し、適切なタイミングでメモリの確保と解放を行うコードを自動的に挿入するメモリ管理機構を持っているため、プログラマがメモリについて意識する必要はありません。
>
> ただし、この機能は実験的で今後さらなる安定化及び最適化がなされる予定です。
次はClawn++でその次がDlawnかな?Clawn#かも
高校生だと思うんだけど勉強大丈夫なのかな?
開成中からどこ進んだんだろ?
911:デフォルトの名無しさん
22/11/06 12:19:42.02 DM24i0Wt.net
>>874
お前本人だろ
912:.NET MAUI HighSchool
22/11/06 12:32:44.00 Am1kuzif.net
素直にC#使っとけばいいんだよ
913:デフォルトの名無しさん
22/11/06 12:36:10.71 D1klnPle.net
まあ確かにバックエンド、コンソール、Windowsデスクトップ、マルチプラットフォームならC#で良いと思う
でもフロントはやっぱReact使いたいんだわ
React.NETがあれば移行するんだけどねC#はXMLリテラルが無いから難しいだろうな
914:デフォルトの名無しさん
22/11/06 18:08:14.48 S6zCBHE1.net
>>877
XMLリテラルなんてJavaScriptにもないが。
JSXのことならあれプリプロセスで事前に単純な関数呼び出しに変換(たいていBabelで)してるだけだぞ?
<Foo><Bar attr1="test"/></Foo>
↓
React.createElement(Foo, null, React.createElement(Bar, {
attr1: "test"
}));
難しいもクソもない
プリプロセスなんだからあらゆる言語に同等なものを作れるだろう
価値を見出だされないないから作られないだけで
915:デフォルトの名無しさん
22/11/06 18:19:41.71 uB3qlRsw.net
>>878
プリプロセスで処理されるとか具体的な解析実装はどうでもよくて
TSXという言語の文法としてはあの要素はXMLリテラルとしか言いようがないだろう
916:デフォルトの名無しさん
22/11/06 18:46:39.02 S6zCBHE1.net
>>879
じゃXML使ったテンプレートエンジンじゃダメなの?
というかフロントでC#が使われないのはXMLリテラル()のあるなしの問題じゃないんだけどな
つまり>>877の
> でもフロントはやっぱReact使いたいんだわ
> React.NETがあれば移行するんだけどねC#はXMLリテラルが無いから難しいだろうな
だと、暗にC#にXMLリテラルが無いからC#でReactみたいに書けるReact.NETのようなものが出ないと言ってるようだが、
そうではなく単純にパフォーマンスとランタイムの容量の問題でやってないだけ(あるいはあるのかもしれないけど流行ってないだけ)だと思うよ
C#をフロントで動かすわけだから
知らんけどBlazorとかで挑戦したんじゃないの?
でも流行らなかったのは詰まるところこれでしょ
917:デフォルトの名無しさん
22/11/06 18:57:13.32 D1klnPle.net
うわ
918:デフォルトの名無しさん
22/11/06 19:06:37.80 p1AlQ8ne.net
人気の機能なら、フレームワークが対応するだろ
919:デフォルトの名無しさん
22/11/10 01:33:05.52 hD0OG9MJ.net
Rustでメモリリーク、あれれ?
URLリンク(github.com)
920:デフォルトの名無しさん
22/11/10 09:48:20.76 udEj1q0c.net
メモリリークなのかそれ?
921:デフォルトの名無しさん
22/11/10 11:50:14.96 sPRTEUcQ.net
rustはメモリリークを防ぐ事を目標とはしません。
922:デフォルトの名無しさん
22/11/10 11:55:23.60 ymb/LLh9.net
メモリリークはRustにおいてはメモリ安全であることを意味します。
923:デフォルトの名無しさん
22/11/10 13:18:29.70 6YuXhhHf.net
そもそも誰かが安全を約束した記憶がないぞ
まずは記録、次に記憶、最後に安全だ
924:デフォルトの名無しさん
22/11/10 19:37:50.25 QR7OvDMX.net
>>886
*メモリリーク除く
て書くべきだよなぁ。
925:デフォルトの名無しさん
22/11/11 09:36:33.47 hQJMOW1q.net
つまり漏れても安全と
926:デフォルトの名無しさん
22/11/11 09:53:10.02 BCkqZtDS.net
問題は2種類ある
消してはいけない記憶を消すのは安全か?
記憶を消した方が得なのに記憶が残っているのは安全か?
927:デフォルトの名無しさん
22/11/11 10:48:49.86 HIHx32jw.net
Rustならメモリーリークがあっても安心安全なんだよ
928:デフォルトの名無しさん
22/11/11 15:34:56.64 1zSybYQk.net
>>891
これ、皮肉じゃなくてまじだから
929:デフォルトの名無しさん
22/11/11 16:38:39.70 bn0cLj5f.net
メモリリークってメモリ安全ではないだろ
Rustのメモリ安全性に対する立場誤魔化しすぎやわ
930:デフォルトの名無しさん
22/11/11 17:30:26.12 v14soyBX.net
メモリリークって処理系が対処しうる脆弱性なのかね。
どんな言語使ってもそこはアプリケーション開発者の責任にせざるを得ない気がする。
931:デフォルトの名無しさん
22/11/11 17:31:41.06 L/uUC/Rw.net
メモリリークで迷惑すんのはOSやユーザなのに
何言ってんだ
932:デフォルトの名無しさん
22/11/11 17:56:15.97 OlJAtaAw.net
まぁよくあるのがイベントハンドラとかの登録解除忘れで
これはGCでも回収できないよね
そういう意味でもメモリリークは安全性に含まないという立場は妥当だと思うけど
(含めてもいいけど、そうすると全部の言語が不安全ということになるからあまり意味ない)
933:デフォルトの名無しさん
22/11/11 17:58:17.45 +k6SYzmN.net
それはリソースリーク。広義のメモリリークかもしれんが
934:デフォルトの名無しさん
22/11/11 18:00:02.42 bn0cLj5f.net
言語処理系自身がどのように努力しても回収できないメモリリークは言語処理系自身のバグでしょ
イベントハンドラの登録解除はプログラマが努力すればリークは防げる
ただrustにはプログラマがどのように努力しても解放できないメモリリークが存在する
だからrustはメモリ安全ではない
935:デフォルトの名無しさん
22/11/11 18:07:18.89 BCkqZtDS.net
トロッコ問題も2種類ある
命に関わらないケースでじゃんじゃん犠牲者を出すタイプ
命に関わる時だけ突然必要悪や合理主義について語り出すタイプ
936:デフォルトの名無しさん
22/11/11 18:39:03.33 JbYRZxft.net
トロッコの定義がありません
937:デフォルトの名無しさん
22/11/12 12:18:21.51 HkbNrqSi.net
メモリ安全性についてRustばかり�
938:獄レされてるけど、Ponyも同等以上の安全性だよね Ponyはアクターモデルで実現している
939:デフォルトの名無しさん
22/11/12 14:24:46.04 bGmFFeXN.net
>>901
アクターモデルの作り方わかってる?
アクターひとつひとつメッセージ待ち受けのループまわするだぜ?負荷が違いすぎるだろ
940:デフォルトの名無しさん
22/11/12 14:36:15.84 4TuxhxhZ.net
Ponyはループで待ってんの?
普通はselectとか使うんでは?
941:デフォルトの名無しさん
22/11/12 15:48:42.14 MCjrPOuJ.net
>>903
お前はポーリングと勘違いしてそう
942:デフォルトの名無しさん
22/11/13 01:05:00.14 pHaGIosp.net
>>904
man selectして言ってる?
943:デフォルトの名無しさん
22/11/13 04:27:18.51 RFRBhoEy.net
URLリンク(www.theregister.com)
> NSA は、組織が C や C++ などのプログラミング言語から、C#、Rust、Go、Java、Ruby、Swift などのメモリセーフな代替言語に移行することを奨励するガイダンスをリリースしました。
るるる、るびぃwwwww
944:デフォルトの名無しさん
22/11/13 06:03:11.05 5OUI3Mlo.net
いつの間にかC++とか本屋で入門書すら売られてないんだよな
945:デフォルトの名無しさん
22/11/13 14:20:01.12 pGpBP/ir.net
>>907
でかい本屋しか売ってないね
しかも売れてなさそう
946:デフォルトの名無しさん
22/11/13 15:04:33.03 aD+9aMvk.net
まあ今から最初の言語としてC/C++選ぶのはかなりレアだろうししゃーないわな
947:デフォルトの名無しさん
22/11/13 17:21:55.25 vYboHCwy.net
いやいや C や C++ は人気上位言語なので
入門書が売れすぎて品不足になっているだけ
948:デフォルトの名無しさん
22/11/13 17:58:48.98 Y9Ue/KDn.net
arduinoとかで使ってるCにちょっとC++要素が入ってる言語が丁度良い感じする
949:デフォルトの名無しさん
22/11/13 18:34:42.17 XjmVHZzm.net
最近は最初の言語として何選ぶの?Python?
950:デフォルトの名無しさん
22/11/13 18:50:35.95 bDR9q5yR.net
>>912
基幹系・勘定系はJavaだけど
ウエブサイトのフロントエンジニアは今はなんだろ?
なんだかんだいってRubyかPHPだろ
951:デフォルトの名無しさん
22/11/13 20:19:47.76 Y8O7bfcY.net
Rubyはランキング入りの人気言語だからな
URLリンク(i.imgur.com)
952:デフォルトの名無しさん
22/11/13 20:20:37.65 4MPzkrV0.net
ブラウザさえあれば動くjsが一番やりやすい気が
953:デフォルトの名無しさん
22/11/13 21:49:19.01 A9QXzbsc.net
>>905
当然pselectのとこを見る。
お前は待ち受けループという言葉をどう思ってんだ?
954:デフォルトの名無しさん
22/11/13 21:51:55.61 A9QXzbsc.net
>>913
フロントはtypescriptがデファクトスタンダードじゃろ。
勘定系はCOBOLをJavaに書き写しただけのJOBOLだよ。クソ。
955:デフォルトの名無しさん
22/11/13 21:58:46.65 SeSkk5iM.net
>>913
みずほはReact
URLリンク(www.mizuho-rt.co.jp)
956:デフォルトの名無しさん
22/11/13 22:02:42.83 lw1yHv02.net
>>918
みずほが採用してるってことは、近寄ったらダメってことでは?
957:デフォルトの名無しさん
22/11/13 22:05:34.78 lw1yHv02.net
>>916
epoll、kqueue、iocpを調べること。
958:デフォルトの名無しさん
22/11/13 22:56:17.75 T5PK/vl5.net
NotionもReact
URLリンク(blog.allstarsaas.com)