- 1 名前:デフォルトの名無しさん [2022/04/17(日) 17:52:35.38 ID:KG26dcth.net]
- スレタイ(順番はRedMonk準拠)以外の言語もok
前スレ 次世代言語24 Go Nim Rust Swift Kotlin TypeScript https://mevius.5ch.net/test/read.cgi/tech/1647887021/
- 28 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 11:32:19.66 ID:Yow4FQAb.net]
- >>27
そんな面倒なことをせずとも無指定でunique_ptr相当になるRustを使った方が楽でいいな Rustなら他にも忘れたり間違えたりすればコンパイラがエラーとして詳しく指摘してくれるし
- 29 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 11:45:09.21 ID:VMhcwqBx.net]
- >>18
アリが象を潰すつもりですか?
- 30 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 11:47:49.11 ID:GWhRkThq.net]
- >>27
ある瞬間自分の書いたコードだけチェックできればいいってならその通りだとは思う ただ実際には依存ライブラリや他の人が入れてくるコード全てを常時チェックし続けないといけなくなるし もし依存ライブラリがnew使ってたとして毎回フォークして書き直すのか?という問題もある
- 31 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 12:03:53.59 ID:e4wxGEsZ.net]
- 巷に出没するRust信者自分でRustまともに書いてない説を提唱したい
- 32 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 12:14:51.12 ID:MYm7lCHF.net]
- そうなるとRustを広めたい勢力に雇われてる工作員の可能性出てきちゃう
- 33 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 12:27:52.69 ID:FXKoB+ib.net]
- >>28
引数渡しがデフォルトmoveじゃなければよかったんだかな。 デフォルトconst 参照で組まれていたらずいぶん学習しやすくなったと思う。
- 34 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 12:35:25.60 ID:pNu/+WEX.net]
- 所有権のmoveセマンティクスらへんがRustの最大の文法的特徴なのに、そこがいらんとな
最初からKotlinとか使ってればええやんか
- 35 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 12:42:20.62 ID:FXKoB+ib.net]
- >>34
C++以外のユーザーがRustを学習するときの一番の難所でもあるけどな。 実際、不変借用は頻出しそうな気がするけど、性能ペナルティーとかあるのかね?
- 36 名前:デフォルトの名無しさん [2022/04/18(月) 12:52:02.32 ID:4vneGtME.net]
- rustはインストール先がユーザーホームディレクトリの下なのが何だかな。
マルチユーザーで使う場合が手間かかる。
- 37 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 13:04:30.11 ID:nKPrtbqz.net]
- >>33
それはおかしい 一般的に参照を引き渡すということは様々な問題を生じさせるということ 競合の種も産むし参照切れの種も産む だから参照を引き渡す方が記述コストを増やすことこそ道理 次に C言語でもポインタ参照渡しは&を付けて表記する したがって無印よりも&前置こそ参照渡しに相応しい
- 38 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 13:08:07.19 ID:usoGfIPO.net]
- >>30
これ。 見つけたからってどう住んだよ?って話だよな 他社のコードを修正できないし、そもそもそんなチェックを未来永劫担当者に引き継いでいけるのか?ってこと 個人でできることと、組織やプロダクト関係者全体としてできることは違う
- 39 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 13:33:30.85 ID:X0td+574.net]
- >>30,38
そんなこと言ったら、Rustでも他人の書いたコードにunsafeが入ってる可能性もあるでしょ。 >>33 Nim言語だとデフォルトで不変コピー渡しだけど引数のサイズが一定サイズ以上(確かポインタサイズの3か4倍以上)だとポインタで渡すようなコードを生成するんだよね。 >>37 Rustは参照を使ったときの問題が起きないようにコンパイル時にチェックしているんだからデフォルトがconst参照渡しでも問題ないんじゃないの? Rustって借用したり借用を参照するときに&や*をつけないといけないけどその結果コードの見た目が生ポインタを使ってるCのコードに似てるんだよね。暗黙に借用したり参照しちゃダメって考えでそうなってるんだと思うけど。
- 40 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 13:42:31.54 ID:ZRRbnpkI.net]
- >>17
メモリリークは防げないでしょ
- 41 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 13:51:24.45 ID:vMsThGEl.net]
- >>39
>Nim言語だとデフォルトで不変コピー渡しだけど >引数のサイズが一定サイズ以上だとポインタで渡すようなコードを生成するんだよね。 この議論でそんな話を持ち出す時点であなたは以下の理解が足りない 一般的にプログラミング言語によるセマンティクスと最終的に生成されるコードは全く無関係でありそこに関連があってはいけない独立のものである 完全に独立したものであるが故に最終コード生成オプティマイズを十分にすることが可能となる
- 42 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 14:04:44.92 ID:usoGfIPO.net]
- >>40
そうですね。スミマセン
- 43 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 14:09:14.47 ID:e4wxGEsZ.net]
- やべーアスペおるな
- 44 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 14:11:19.47 ID:usoGfIPO.net]
- プログラミングを勉強しようと思って
なにを勉強すればいいか先生に聞いたらパイソンっていうから 検索したら大きな蛇の画像とかがでてきたのでやめたわw
- 45 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 14:29:04.41 ID:X0td+574.net]
- 生成されるコードがプログラミング言語のセマンティクスと無関係じゃだめでしょ。
コード生成はプログラミング言語のセマンティクスと矛盾しない範囲内で生成しないといけない。コンパイラはその中で最適なコードを生成しようとするわけでしょ。 Nimではデフォルトで引数はプロシージャ内で変更不可(変更しようとしたらコンパイルエラー)だから引数の型のサイズに併せて生成するコードをコピー渡しにしたりポインタ渡しにできるわけで。 もし引数が可変参照渡しだと引数の型が1バイトでもコピー渡しでは無くポインタ渡しにしないといけない。関数がインライン展開されると話が違ってくるけど。
- 46 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 14:44:43.88 ID:usoGfIPO.net]
- >>44
あ、すまん。これ誤爆しました。スミマセン〜。
- 47 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 14:49:14.45 ID:pGCdIhc3.net]
- 「プログラミング言語によるセマンティクスと最終的に生成されるコードは全く無関係」そんな訳ない、RustはLLVMのIRを前提に
コードが吐かれるし、コードのリンケージをアトリビュート指定できる。C言語だって同様だし、むしろ、ハードウェアよりの低レベルな システムプログラミングが可能な言語であれば、生成されるバイナリが厳密に言語の「セマンティック」を決める。 例えば今どきのCPUには分岐予測命令があるが、これに対応するstd::intrinsics::likelyのような分岐予測にヒントを与える、 セマンティクスはCPUがサポートされていれば100%生成されるバイナリがそうなる事を望む。無関係などありえない
- 48 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 14:53:46.39 ID:ykvGLY9n.net]
- >>47
Rustをgccと組み合わせて動かす試みあるから LLVM前提ではないのでは?
- 49 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 14:57:34.06 ID:2ZPl5Bs7.net]
- >>45
その言語のセマンティクスとしてimmutableで渡すケースでも 値をポインタで渡すか値自体を渡すかはどちらでも構わないから言語のセマンティクスとは別問題 もっと顕著にわかりやすい例 構造体を一つ返す関数があったとする 小さい構造体なら値を返すだろうが 大きな構造体なら領域を用意してそこに書き込んでそのポインタを返すかもしれない あるいは関数を呼ぶ側が領域を用意してそのポインタを裏引数として渡してそこへ返す値を書き込むかもしれない このように3種類考えられるが呼ぶ側と呼ばれる側で一貫していれば目的を果たす プログラマーはその生成コードが3種類のどれになるかを把握する必要はない つまりそこで明白にレイヤーが分離される
- 50 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 14:59:44.25 ID:X0td+574.net]
- >>33
もし文字列のベクタに文字列を追加する関数があったとき文字列が参照渡しでその関数が実行された後もその文字列が読まれていると、その関数は文字列をmoveすることができずコピーしなくてはならなくなるからじゃないかな。 メモリコピーは遅いから絶対に許さない人にはデフォルトがmoveのほうがいいのかも。
- 51 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 15:02:16.44 ID:pGCdIhc3.net]
- >>48
現状はIR前提でしょ、完成してない未来のものを持ち出すのであれば何とでもいえる。というか上で言ってる本題とはずれる そんなところに食いついて来てしょーもないわ
- 52 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 15:06:33.88 ID:i02G9WD5.net]
- >>47
Rustでもセマンティクスと生成コードは独立だよ 例えば>>49の関数が構造体を返す例 生成コードは言語仕様で定められていないしあなたも方法を答えられないでしょう 実際にRustで大きな構造体を返すと所有権を活用して驚きの最適化したコードを生成するよ
- 53 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 15:10:05.22 ID:uPETy31e.net]
- >>51
開発中で完成してないとは言っても実行バイナリの 生成もできないという状態ではないから あなたの話とは違うというか あなたの主張は間違ってるという例になってますよね
- 54 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 15:19:05.87 ID:pGCdIhc3.net]
- >>52
「生成コードは言語仕様で定められていないしあなたも方法を答えられないでしょう」 え?RustにもちゃんとFFIなどextern "C" {}ブロックがあるでしょ?生成コードは言語仕様で定められているし、このようなデータの受け渡しは 参照や可変参照の制限、ボローチェックなどがOFFになる。C言語やD言語やNimも同様でしょ、これが出来ない言語はシステムプランニングが できる言語とは言えない。 「Rustで大きな構造体を返すと所有権を活用して驚きの最適化したコード」 どのような驚きのバイナリを生成しようと、例えばゲームエンジンのUnityなどでデータを渡す場合に所有権をRust側で保持したままのような コードではUnityなどでメモリー管理されるので問題が出る。だから呼び出し間でどのようにデータを受け渡すか当然指定できる
- 55 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 15:20:54.20 ID:pGCdIhc3.net]
- >>53
何を言いたいのか1つも分かりません。。。あなたの勝ちでゴリラのようにマウンティングをしてください、どうぞ
- 56 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 15:33:12.79 ID:mb/oYyn3.net]
- >>54
FFIを理解していないアホですか? 例えばそのextern "C"した時のみC言語の受け渡しインタフェースに従うだけ どの言語でもFFI使わなければ各言語が自由自在の方法を取る
- 57 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 15:38:01.47 ID:4qMH/RHY.net]
- >>39
引数のサイズが一定サイズ以上だとポインタで渡す それはそれで他者が変更したときの挙動が変わるから怖いよね。 特に並列作業時。 >>50 const参照をデフォルトにしたら、そのあたりは引き渡し時にmoveを明記するんだろうね。あるいはCOWで実装するか。 もしかしたらRustに「権利を持つオーナーは極力少なく・小さくする」というポリシーでもあるのかな?
- 58 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 15:47:16.94 ID:pGCdIhc3.net]
- >>56
さっきからID変えて絡んでこなくてよいですよ、「extern "C"した時のみC言語の受け渡しインタフェースに従う」セマンティクスと生成コードが決まりますよね。 アホと言えば誰もしもが感情的になるわけではないです。FFI使わなければなんて話をしていませんし、「プログラミング言語によるセマンティクスと最終的に 生成されるコードは全く無関係」という理想論のような現実を知らないコンピューターサイエンス学科の学生のような言葉を否定してるだけです。
- 59 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 15:50:35 ID:X0td+574.net]
- >>57
デフォルトで引数は不変が前提なので引数の型の定義を変更してポインタ渡しになったとしても基本的には挙動は変化しない。 引数のアドレスをとってれば挙動が変化するかもしれないけど、Nim言語は明示的に変数のアドレスをとることは危険な行為で自己責任でやれってことになってるから。
- 60 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 16:01:25 ID:hx/TPiWJ.net]
- >>58
普通のプログラムでC言語FFIなんて使わないです、そして、その特殊ケースはどうでもよい話です 一般的に言語が定めるセマンティクスと生成コードは別階層なので独立しています
- 61 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 16:06:01 ID:buwrQlsl.net]
- >>57
静的型付けで型サイズが定まる普通の言語ならば大丈夫 引数や返り値がポインタ渡しになるか値直接渡しになるか 型サイズ次第で変化しても一貫していれば構わない
- 62 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 16:44:49.00 ID:pNu/+WEX.net]
- >>57
> それはそれで他者が変更したときの挙動が変わるから怖いよね。 > 特に並列作業時。 横レスだけど、明らかにそういう話じゃない
- 63 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 17:00:59.75 ID:VCJMEsmD.net]
- 普通にカーネルのシステムコールするだけでC言語のFFI使ってますよ、DBアクセスするにもSQLiteでもMySQLでもPostgresqlでも使用してますし
TCP/IPスタックにアクセスするにもFFI使ってます、もしや特殊なのはあなたなのでは?ガン無視されて独立しているのは、そんな詰まらないことで 言い張るあなたなのでは?
- 64 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 17:04:14.33 ID:uPETy31e.net]
- Kotlinみたいな出力先がjvmとjsとネイティブがあるのは
このひとの中でどう解釈するんだろ
- 65 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 17:15:12.72 ID:RntYGm+C.net]
- >>63
そんなことは誰でも知っているがこの流れとは無関係な話 各FFIはそのFFIの指定に従う 逆に言えば各言語の普通のコードではFFIなんて関係ないので各言語で完全に自由 だから引き数や戻り値のサイズに拠ってポインタ渡しか否か変わる言語もある プログラマーはそれらを知らなくてもプログラミングできる 各言語が定めるセマンティクスだけ理解すればプログラミングできる つまりセマンティクスと生成コードは完全に独立した別階層であり無関係
- 66 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 17:19:02.78 ID:e4wxGEsZ.net]
- この話の終着点どこ?
「お前はアホだから黙れ」が立証できれば満足するの?
- 67 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 17:22:10.87 ID:Em1ZPrJL.net]
- >>33
変数の代入がmoveなのに関数引数の時だけ参照になるのは紛らわしくない?
- 68 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 17:33:30.39 ID:4qMH/RHY.net]
- >>59
あ、不変前提ね。勘違いしてました。 >>67 変数もデフォルトで不変借用にする、とか。戻り値の受けが面倒臭くなりそうだけど。
- 69 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 17:41:53 ID:mz+noJnQ.net]
- >>68
Cの(ポインタ)参照が前置&だから Rustの(借用)参照も前置&にした現状仕様がわかりやすいと思うけど、なぜ変えたいの?
- 70 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 17:58:50.26 ID:Em1ZPrJL.net]
- >>68
変数の代入をデフォルトで参照にするとmutが絡んできたときにborrow checker周りでとてつもなく面倒になりそうな気がする
- 71 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 21:11:14 ID:CPWR65al.net]
- rustはライフタイム周りが途方もなく汚く見える
ウンコに触れたくない
- 72 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 21:16:17 ID:rznbXz+G.net]
- Rust「エラーには回復可能なエラーと回復不可能なエラーがあってResult<T, E>を使って~(長文)」
エンジニア「TとEって何だよ」「"?"って何?」「Box<dyn Error>って何?」 Golang「ほぼ if err != nil { panic(err) } でいい」 エンジニア「そうだったのか!」「やっと理解できた!」「Goって美しい」 何も言い返せんかったは・・・
- 73 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 21:19:09.66 ID:mtexizhK.net]
- twitterでイキってるバカをそんなに晒すなよ。
- 74 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 21:22:52.28 ID:rznbXz+G.net]
- なおイキッテルのはRUSTERのもよう
GOに完全敗北してどんな気持ち?
- 75 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 21:26:10.80 ID:WWHuTgUM.net]
- null安全じゃない言語とかこのご時世にあるんですね
- 76 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 21:39:04.08 ID:CZqwnDNY.net]
- スレタイの言語でも
Goとかnilチェックするコードを書き忘れてもコンパイルエラー出ないね 安全じゃない言語多すぎ
- 77 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 21:42:30.77 ID:rznbXz+G.net]
- GOはポイント使わなければ安全だぞ
ただし初期値に0と””が入る
- 78 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 22:25:39.31 ID:hd7uWEuw.net]
- >>77
このif文を書き忘れたらコンパイルエラーになるの? >>72 > if err != nil {
- 79 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 22:30:25.57 ID:Em1ZPrJL.net]
- >>74
これってgoありがたがる人を馬鹿にしたツイートじゃないの?
- 80 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 22:44:34.76 ID:edZlyGeP.net]
- Goはnil安全ではない
if err != nil {を書き忘れたり return nil, nilしちゃっていると死ぬ nil以外にも存在しない時の値で死ぬ 例えばstring.Index()は未発見時に-1を返す 返り値が-1かどうかチェック忘れてもコンパイルエラーとならない そのまま-1を使ってしまい実行時に死ぬ いずれのケースもRustではコンパイルエラーとなるため安全 Goは危険だらけ
- 81 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 22:55:48.31 ID:z7JFVAjx.net]
- 分かりにくい人「円周率は3.141592...と無限に続く数字で、よく近似の3.14が使われます。」
視聴者「何で3桁なの?」「2の後は何なんだよ」「近似って何?」 分かりやすい人「円周率って色々言われてるけど、実は3なんです!」 視聴者「そうだったのか!」「やっと理解できた!」「数学って美しい」 https://twitter.com/zugaaanzubababa/status/1506569845693100035 (deleted an unsolicited ad)
- 82 名前:デフォルトの名無しさん mailto:sage [2022/04/18(月) 23:02:13.65 ID:WPqVzB8b.net]
- Goでは「値が存在しないこと」を安全に表す方法がないことが敗因
RustではOption<T>型のNoneで安全に表せるところ
- 83 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 00:46:26 ID:S3LfaCKT.net]
- なおシェアはGOが圧勝したもよう
RUSTボーイズは一生夢見て低賃金でこき使われる童貞野郎
- 84 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 01:34:09 ID:VnIrO7oP.net]
- goはCがシンプルで使いやすいと思う人向けの言語じゃないかと思う
- 85 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 01:36:19 ID:VnIrO7oP.net]
- 言語機能をモリモリにしたい誘惑に抗ってランタイムを充実させるという判断できる自制心はすごいと思う
- 86 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 01:53:00.90 ID:tGbJiwG7.net]
- Ruby 3.0 のJIT は、MJIT で、
Ruby VM のバイト(中間)コードを、C コードに変換してから、 Cコンパイラでネイティブコードに変換していた Ruby 3.1 のJIT は、YJIT で、 バイトコードから直接ネイティブコードに変換する。 ただし、x86_64 のみに対応 条件分岐があっても、10回実行した分岐だけを変換する。 実行されない分岐は変換しない 遅延変換・Lazy Basic Block Versioning(LBBV) これで、Rails のプロジェクトが、20% ほど速くなったらしい
- 87 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 07:43:43.07 ID:S3LfaCKT.net]
- ゴミが20%早くなかったからってどうしたってゆうね
- 88 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 07:46:59.67 ID:3aREeURj.net]
- >>81
今さらゆとり
- 89 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 07:51:59.99 ID:jVj3oT5A.net]
- >>87
でもRuby on railsってまだまだ使われてるよね? 有名どころでも、クックパッド、Airbnb、Gunosy、クラウドワークス、 食べログ、価格.com、Twitter、 Hulu、 GitHub
- 90 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 08:03:56.92 ID:J98o16eP.net]
- >>81
偽物を「実は」という詐欺師。
- 91 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 09:17:26.14 ID:ipOfh3Xt.net]
- >>89
大規模railsを別言語で書き直しましたという ニュースは時々出てくるけど逆は聞かないからなあ…
- 92 名前:デフォルトの名無しさん [2022/04/19(火) 09:29:29.07 ID:Qc9Zpwhc.net]
- >>89
業界や会社によってはCOBOLだって使われてる。 いったんそれでシステム組んじまったら中々移行は出来んもんだよ。
- 93 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 09:35:08.80 ID:+uXVuu7q.net]
- >>80 >>82
Goはなぜそんな危険な言語仕様にしたの?
- 94 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 10:22:52.12 ID:NH+MJ17E.net]
- R○byは業界のSPA移行とPythonブームによって思いのほか綺麗に消えてくれたのは良かった
まあPHPなんかに比べたらまだ「恥を知る」人間が多かったんだろうね
- 95 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 11:21:50.97 ID:XEvBz8Zw.net]
- >>94
PHPユーザに失礼なやつだな お前あれだろ? 刺し身に直接わさびを付けるタイプだろ。醤油でわさびをとかさないで刺し身につけて食べてね?どうよ?
- 96 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 12:34:56.06 ID:gbQ3J7tR.net]
- >>94
言語マニアならpythonよりRubyの方がマシだろ。Pythonみたいにメソッドと関数が混在するのは書いててキモい。 python4でNim方式を採用してほしいわ。
- 97 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 12:39:13.85 ID:SdA/iojO.net]
- もちろんプログラム記述方式としてはPythonは最悪
あれが普及するのは害悪しかない
- 98 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 13:49:45.55 ID:jVj3oT5A.net]
- >>95
直接わさびを口に運び刺身を投入して咀嚼した後に醤油を飲むタイプです PHPユーザに対し失礼な発言は謝罪して撤回させていただきます。この度は申し訳ございませんでした。
- 99 名前:デフォルトの名無しさん [2022/04/19(火) 14:55:17.88 ID:WBt0dmCX.net]
- インデントでスコープ区切るのあんまり好きじゃない
- 100 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 16:35:48.82 ID:GlY6GAKK.net]
- H
- 101 名前:askellもインデントでスコープを区切ってた気がするけど一応ブレースでくくることもできるんだっけ []
- [ここ壊れてます]
- 102 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 18:18:04 ID:S3LfaCKT.net]
- >>98
人類最底辺のゴミPHPoorに謝罪など必要ない 奴らに必要なのは死あるのみ
- 103 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 18:22:33 ID:0UVfIqO/.net]
- PHP使う人ってなんであんなアヘアヘ君ばかりなの?昔からああなの?
- 104 名前:デフォルトの名無しさん [2022/04/19(火) 22:14:20.79 ID:OM/gUtcz.net]
- >>96
けっこう同意。
- 105 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 22:34:55.70 ID:S3LfaCKT.net]
- >>102
障害者手帳持ちでも書けるとガイジを集めたから ガイジが作ってガイジが保守して、真人間は近寄らないか万一深淵を覗いてもすぐに逃げるから ガイジだけが残った それがPoopHPoor
- 106 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 22:35:00.77 ID:cHj01Kom.net]
- 言語の良し悪しと普及率はあんまり関係ないってことだな
- 107 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 23:10:14 ID:+gF6CcFv.net]
- 良し悪しは文法だけでは決まらないしね
全部作り直すとかできないから、まず既存資産との互換性とかがめちゃくちゃ重要だしなあ
- 108 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 23:14:51.60 ID:ggKFiwdh.net]
- Haskellはとてもいい言語だと思うけど、まあ今後も広くは普及しないだろうね
- 109 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 00:49:02.14 ID:sjxPrwDV.net]
- Java(8以前)とPHPとVB.NETは案件も人材もロクなのにあたったことないし関わりたくない
- 110 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 07:57:17.73 ID:6jKBlzMv.net]
- 障害者雇用枠だししゃーない
- 111 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 13:03:13.18 ID:eR+oT63l.net]
- 小一時間でゲームをつくる──7つの定番ゲームのプログラミングを体験 (WEB+DB PRESS plus)
https://www.あmazon.co.jp/dp/4297127458 この本面白いね。 コンソールに出すアスキーアートだけでゲームを作るところと最小限の工程ごとに動作確認するところがユニークだ。 誰かこのなかのどれかのゲームをGoやRustに移植してgithubあたりにアップしてくれないか? その出来栄えでその言語の優劣を競うというのはどうだろうか?
- 112 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 15:11:07.62 ID:6jKBlzMv.net]
- コード書けない奴が何の優劣を語るんだ?
LOC?
- 113 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 16:00:31 ID:4qIYThBV.net]
- >>110
urlミスってるよ
- 114 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 16:19:25.49 ID:uTpu7tmC.net]
- コードが書けないやつだからこそnull安全なんてほとんど誰もありがたかってない事を上のように一生懸命言い出す
- 115 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 16:51:22.63 ID:OCnLwZQm.net]
- >>113
これだからGo信者は… 本当に現代人?
- 116 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 11:50:52.34 ID:3B58U+9M.net]
- /:|. /:|
/ .:::| / :::| | ...:::::| /u ::::| i ノ (  ̄ ̄⌒゙゙^――/ ::::::::| /_,, ⌒ u . _ ::::::::::::\ / \\゙.l | / ::// ̄● ̄ ̄/ ::::::::\ |● ::::::| . | | / :::: / :::::::::://u :::::::\ /i,.\_:::::::| u::::: / :::::::::// :::::::::\ / \( (\|. ::::::. // ̄) ) :::::::::\ / u ) )_ ^ ^  ̄ ̄ ,,、( ( i し./ :::::::::::::\ / / /__,,____,/ ̄ \ ))u ノ ( ::::::::::::::::::::\ / ヽ |.. | /└└└└\../\((\ '~ヽ :::::::::::::::::/ \ ) し ∨.|llllllllllllllllllllllllllllllll∨lllll| ) / / :::::::::::::::::/ \⌒ | |.|llllllllllll;/⌒/⌒ 〕 ::u::::::::::::::::/ | | |.|lllllllll; ./ . . | ::::::::::::::::::::/ .| | |.|llllll|′ / .| | |.|llll| | .∧〔 / u:::::::::::::| ヽ}.∧lll | ../ / / :::::::::::::::::\ i/| \┌┌┌┌┌ /. / /::: :::::::::::::::::i ( ゙゙^^¨^¨゙゙¨  ̄ ̄ ̄| i/::::::::::: u i ヽー─¬ー〜ー――i | :::::::::::::
- 117 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 13:08:35.07 ID:HvU2DlQ2.net]
- >>93
Goは言わば並列対応スクリプトC言語だからだよ だから今どきの言語と異なりC言語のように地道に記述量が増えるとともに安全軽視で自己責任
- 118 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 14:17:09 ID:/LgGWJm6.net]
- 男の人って気持ち悪い…
どうして少女をそんなに汚したがるの? お母さんに悪いとわおもわないの?
- 119 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 15:09:04.59 ID:W8PBxmKK.net]
- そらごらんなさいRustの悪影響を
- 120 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 15:43:32.20 ID:8Ud760iv.net]
- アイGoー
- 121 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 15:52:10.80 ID:aUxqSgEH.net]
- Rustならシンプルに分かりやすく書きやすい上に
うっかりミスもコンパイルエラーで検出されるから良いよな
- 122 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 17:31:45.76 ID:rHXUR/xS.net]
- Rustの話は専用の隔離部屋でお願いします
Rust part14 https://mevius.5ch.net/test/read.cgi/tech/1644596656/ 次スレタイトルからRustの文字を削除してください
- 123 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 17:40:50.87 ID:d9Ay4jJ1.net]
- 比較の話だからここでいいんじゃね
そもそもアンチ側が悪影響とか言い出してきっかけ作っているし アンチを各言語本スレへ誘導するのはダメだろ
- 124 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 17:59:45.68 ID:rHXUR/xS.net]
- 比較の話も含めて >>121 の専用スレでやって下さい
- 125 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 18:05:48.23 ID:l2zLdNmc.net]
- 言語同士の比較はここでやる
Rust単独の話は向こうでやる それだけだ 以上
- 126 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 18:32:35.61 ID:LoXMgsHc.net]
- むしろここが隔離スレだと思ってた
- 127 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 18:51:22.79 ID:RkfSdsaD.net]
- ここは次世代言語スレ
次世代言語の話題や機能や比較に議論まで何でもOK 各言語の本スレに迷惑がかからないようここで行なうこと推奨
- 128 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 20:07:59.60 ID:QQ8u361U.net]
- >>114
このように誰もGoのことなど挙げてないのに、Rustの超ビギナーの信者は異様に敵視を行う。 例えば、代表的なNull安全言語は、RustがまさにそうだがOptionを使うからNullなんて無いのだが、matchを書いたとしてもNoneで 異常を処理しないような事を書いてしまえば、Nullで落ちたりするプログラムと大して変わらない。unwrapを連打するようなプログラムは 論外だとしても、それはNullをチェックしないプログラムと何ら変わりない。 Qitaの有害記事、「null安全でない言語は、もはやレガシー言語だ」のせいで、このような思想を植え付けられている人があまりに多い。 大切なことは異常系をきちんと処理できているかということで、言い訳では「ちゃんとやるのを忘れているかもしれないのでは」という指摘に コンパイルが通らないだの、Rustでしかそうならない事を都合が悪いのか、短い考察だけで反論しています。 コンパイルが通ろうと通らななかろうと、”ちゃんとやるのを忘れて”いれば同じです。 また、たしかにNull安全は、
|

|