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/
864 名前:デフォルトの名無しさん mailto:sage [2022/06/15(水) 03:22:52.73 ID:tT/4QRGb.net] 一般的にデータを初期化する際にいくつもの数のオプション値指定が存在するものが多い デフォルト引数にしても1つ目と2つ目はデフォルト値でいいけど3つ目は指定したいなど歯抜けでわかりにくくなる そこで一般的にその問題を解決するオプション指定方法としてビルダー方式がある ビルダー方式では指定したいオプション値のみをビルダーに対してオプション指定メソッド(の必要ならチェーン)で指定していくものである あるオプション指定は同時に2つのデータを与えなければならない場合でもこのビルダー方式ではメソッド引数2個で矛盾なくシンプルに表せる さらに型チェックの厳しい言語ともこのビルダー方式は相性が良く各オプション指定メソッド別に曖昧なく厳格に型宣言できる ちなみにRustではこのビルダー方式の有用性&利便性が広まり後からこのビルダー方式に移行したものもあるほどである
865 名前:デフォルトの名無しさん mailto:sage [2022/06/15(水) 03:32:06.02 ID:tT/4QRGb.net] >>849 Rustは例外機構がないからもっとエラー処理がシンプル 「?」一文字付加するだけで(必要ならエラー自動変換しつつ)上位関数にエラー処理委任できる そのため例外機構がなくても記述がシンプルかつ同様のことが出来るだけでなくエラー処理忘れなどもコンパイル時に指摘してくれて安全
866 名前:デフォルトの名無しさん mailto:sage [2022/06/15(水) 06:09:36.05 ID:sEZPBRlz.net] こんだけ色々な言語が乱立するってコンピュータの世界はバベルの塔だわ
867 名前:デフォルトの名無しさん [2022/06/15(水) 15:47:16.86 ID:IEWflW3G.net] コンピューターはバビルの塔
868 名前:デフォルトの名無しさん mailto:sage [2022/06/15(水) 18:32:44.57 ID:oaz3/shQ.net] 賽の河原での石積みに 昔から例えられている
869 名前:デフォルトの名無しさん [2022/06/15(水) 19:56:50.2
] [ここ壊れてます]
870 名前:2 ID:IqYclFLA.net mailto: twitterの「スタバでMacを開くエンジニア」って奴ほんと嫌い qiitaの記事も大したこと書いていないわりに結構な頻度でバズってて流れて来るから目障りだわ 技術力ないから逆にわかってませんアピールを武器にしていっている印象受けるんだがエンジニア畑にああいうネタ系の自虐するノリほんまいらねえよ エンジニア畑でバズるの狙うなら純粋に技術力の高さで競っていけよって思う [] [ここ壊れてます]
871 名前:デフォルトの名無しさん mailto:sage [2022/06/15(水) 23:05:23 ID:a3eoLX8e.net] なおそのQiita記事に助けられてるもよう
872 名前:デフォルトの名無しさん mailto:sage [2022/06/15(水) 23:58:49.93 ID:NtuuvbZ6.net] 大したことないって書いてあるだろ…
873 名前:デフォルトの名無しさん mailto:sage [2022/06/16(木) 00:21:07.28 ID:N0TE7UEH.net] その大したことない記事に助けられてるからバカにされてるんだろアスペw
874 名前:デフォルトの名無しさん mailto:sage [2022/06/16(木) 10:40:11.20 ID:oOjZlu3s.net] コピペしてすぐ使えるコードが出ている Qiita記事は役に立つよ 具体的な手順が書いてない記事はゴミ
875 名前:デフォルトの名無しさん [2022/06/16(木) 10:47:19.76 ID:OyMwP3lE.net] qiitaもワイもアカウント持ってて投稿したりしてるぐらいだから別に否定しているわけではないんだが qiitaがクソだと言っている分けではなくてただこいつがqiitaに載せている記事すべてが糞だっていう意味を言っている 気になるんなら見とけよ内容もtwitter上を跋扈するいわゆる情報商材系サイトのそれに近くて技術的な要素を一切含んでいない https://qiita.com/SMAC
876 名前:デフォルトの名無しさん mailto:sage [2022/06/16(木) 11:28:53.21 ID:jHsLwKQ/.net] ここはお前の日記帳かよ というか「スタバでMacを開くエンジニア」って固有名詞かよ
877 名前:デフォルトの名無しさん mailto:sage [2022/06/16(木) 11:55:25.21 ID:4wdIdA1r.net] >>858 助けられてるって書いてるか?
878 名前:デフォルトの名無しさん [2022/06/16(木) 13:02:40.58 ID:uKxWv5Aj.net] Qiitaはごみ
879 名前:デフォルトの名無しさん mailto:sage [2022/06/16(木) 16:40:13.18 ID:N0TE7UEH.net] >>862 Twitter一生懸命見て彼の成長に嫉妬してる時点で、君の”負け”やで
880 名前:デフォルトの名無しさん [2022/06/16(木) 18:30:34.70 ID:OyMwP3lE.net] >>864 「エンジニア1年生必見おすすめ入門書!」「【20XY年度最新】無料プログラミング学習サービス」「基本情報技術者試験のための戦略的方法」みたいなしょうもない記事しか書いていない奴のどこに技術的成長を感じればいいのか疑問なんやけど お前はまさかこういった記事を見て勉強してんのか?(笑) お前が勝ち負け判断すんの?(笑) 少なくともSNSで頻繁に目障りな投稿をしている人が他の媒体でどのような活動をしているのか確認する行為自体を一生懸命にならないとするの達成できない時点でお前がこの一連の流れのどんな登場人物よりも劣ってること明白じゃんwwwwwwwww きっと自分の電話にかかってきた電話番号を迷惑電話だったのかどうかネットで調べて確認すると言った最低限な行為すらも日常生活の中でするのには精一杯になってるんやろなwこの低脳(笑)wwwwwwwwwww
881 名前:デフォルトの名無しさん [2022/06/16(木) 19:21:05.39 ID:hEUIHdUO.net] どうみても本人の自作自演 https://www.youtube.com/watch?v=IdBBGkiECc4
882 名前:デフォルトの名無しさん mailto:sage [2022/06/16(木) 20:03:31.12 ID:r+hk7hk0.net] >>864 成長…?
883 名前:デフォルトの名無しさん mailto:sage [2022/06/16(木) 20:50:21.92 ID:N0TE7UEH.net] うわぁ、必死杉内
884 名前:デフォルトの名無しさん mailto:sage [2022/06/16(木) 20:53:08.58 ID:arzDgCAq.net] なにこいつ 煽りアフィカス?
885 名前:デフォルトの名無しさん mailto:sage [2022/06/16(木) 20:58:13.91 ID:VGxDlt+C.net] デジタル人材の副業・複業採用決定数をプログラミング言語・スキル別で分析 ~副業・複業人材の登録が、前年度比3倍に。 調査レポートを公開~ https://prtimes.jp/main/html/rd/p/000000040.000053307.html
886 名前:デフォルトの名無しさん mailto:sage [2022/06/16(木) 22:42:24.28 ID:R+xkwjLU.net] >>869 スタバマックくんかも
887 名前:デフォルトの名無しさん [2022/06/17(金) 14:55:42.76 ID:Ld/FFEEi.net] >>868 レスバ判定員です 言い返せなくなってる時点でお前の負けやでwwwwww
888 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 15:04:06.85 ID:jyuIrjdj.net] 非常にしつこい
889 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 15:10:54.32 ID:2abskYGH.net] なんでワッチョイ無いんだよ
890 名前:デフォルトの名無しさん [2022/06/17(金) 17:27:59.16 ID:G79h5Zer.net] わざと曲解して話を盛るのが5chクオリティ
891 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 17:48:44.96 ID:q4amRkHc.net] >>872 Qiitaの若者の成長に難癖付けて2ch陰口で悦に浸ってるオッサンとか キモすぎにもほどがあるでんで もうちょっと客観的に自分を見つめ直した方がええで
892 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 17:52:34.99 ID:douM25C/.net] ええでんで
893 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 19:51:03.63 ID:6H4dK9M3.net] >>825 rustが汚く感じるのはビルダーパターンが気持ち悪いのか、ファイルのopenにビルダーパターン使うのが気持ち悪いのか、どちら?
894 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 21:08:38.74 ID:ueszn7cF.net] >>878 どちらでもない optionをopenするのが気持ち悪いだけ
895 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 21:38:00.10 ID:8YmvneAf.net] let mut stream = FileStream::builder().read(true).write(true).build("foo.txt")?; これならいいのか
896 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 21:48:55.86 ID:G5rhOs4/.net] Rustにはなんでデフォルト引数ないの? Kotlinみたいに名前付き引数もデフォルト引数も欲しい
897 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 21:49:12.87 ID:8YmvneAf.net] でもパス名が最後に来るの確かに思考の順序と一致しなくてウザいな どのファイルを開くかより先にモードを考えたことなんかなかった
898 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 22:02:17.99 ID:flaMOIXW.net] >>878 ソフトエンジニアはビルダーパターンは気持ちよすぎになるが 一方、ドカタは気持ち悪いになるってだけだろ 言語としては主ターゲットユーザーがソフトエンジニアかドカタって重要だからな Rustはソフトエンジニアがターゲットで、そうじゃない奴はRustじゃなくドカタ用言語使え ってこと。
899 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 22:12:15.35 ID:1Z6irghS.net] そうでなくて最後にopen()でビルダーが終了して実行そしてエラーが返る あと横に書くのではなく縦に書くほうが見やすいので推奨される ビルダー方式にしているのは複雑になりがちな 様々なオプション指定をわかりやすくするため 例えば 書き込み用を新規作成だが既にファイルが存在しているならばエラーとなるオープンならば let file = File::options() .create_new(true) .write(true) .open("output.txt")?; Windowsで全てクローズされたら自動削除される書き込みファイルを作成ならば use std::os::windows::fs::OpenOptionsExt; let file = File::options() .create(true) .write(true) .custom_flags(FILE_FLAG_DELETE_ON_CLOSE) .open("tmp.txt")?; Unix(Linux)でシンボリックファイルならFOLLOWしない(つまりオープン失敗となる)読み込みオープンならば use std::os::unix::fs::OpenOptionsExt let file = File::options() .read(true) .custom_flags(O_NOFOLLOW) .open("input.txt")?; それぞれ他のプログラミング言語で書くとどうなるかを考えてみよう
900 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 23:24:36.27 ID:1Z6irghS.net] あと余談だが >>884 のO_NOFOLLOW指定はUNIXのC言語プログラマーなら馴染みでも一般的にわかりくいという時 Rustではメソッド拡張が可能なことから 以下のように no_follow_symbolic_link() とわかりやすい指定ができるようにすることも可能 let file = File::options() .read(true) .no_follow_symbolic_link() .open("input.txt")?; この実現方法はRustの一般的なメソッド拡張と同じで 拡張用のトレイトを用意してその実装を与えればよい trait OpenOptionsUnixCustomExt { fn no_follow_symbolic_link(&mut self) -> &mut Self; } impl OpenOptionsUnixCustomExt for std::fs::OpenOptions { fn no_follow_symbolic_link(&mut self) -> &mut Self { self.custom_flags(O_NOFOLLOW) } } もちろんこの拡張用traitをuseした時のみ有効となる つまり既にある仕様を壊さずに拡張が可能 いずれにせよビルダー方式でのメソッドチェーン指定は 全てを引数で複雑もしくは長々と指定するよりもよっぽど好ましい方式
901 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 01:48:38.80 ID:ElTVdqXo.net] ビルダーパターンはオプション引数のある言語でも簡単に実現できるんだが 逆は一般的にハードルが高い(Rustならproc macroとかになる) ビルダーとオプション引数は本来はユースケースによって使い分けるものなので 使い分けられないようならその言語は機能的に劣っているということ
902 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 03:34:01.13 ID:qRZqKkc3.net] Rustは代数的データ型のOption型があるから特に困らないんじゃない? むしろOption型がないプログラミング言語はundefinedやnullやnilなどの排除すべき危険なものが存在していて安全じゃない
903 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 03:46:11.38 ID:1ZLmOyHM.net] 欲しいのはオプション引数というかキーワード引数? Noneなりnullなりが連続する関数呼び出しはつらいよね
904 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 03:49:38.33 ID:qRZqKkc3.net] デフォルト引数のことか C、Java、Go、Rust、Haskell、…とサポートしていないプログラミング言語は多いけど それらの言語が劣っている欠陥言語と言われることはないよ
905 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 07:13:04.48 ID:bAwBngwg.net] やっぱりカリー化が欲しいのよ
906 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 10:59:53.21 ID:W1b6m0i9.net] デフォルト引数はあったほうがいい 究極的にはPythonみたいに書けるC言語が欲しい それを目指したのがおそらくGoだと思うが
907 名前:デフォルトの名無しさん [2022/06/18(土) 11:19:30.38 ID:56BPbiHd.net] cpythonでええやん
908 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 11:24:27.43 ID:ZQWHh7s0.net] >>891 あのゴミみたいなsyntaxで目指してるとか鼻で笑うで
909 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 12:11:06.20 ID:i5hxcodT.net] >>891 Goには当然デフォルト引数は無い あと、GoはPythonとは真逆の思想
910 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 12:28:29.18 ID:1P56+GFt.net] Kotlinみたいにサポートしてほしい
911 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 12:37:40.53 ID:n5ZvcUIJ.net] RustもGoも標準ライブラリが良くない 気持ち悪い
912 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 12:41:20.81 ID:n5ZvcUIJ.net] >>889 欠陥言語なんてものはそもそもほとんどない デフォルト引数は新言語に人気が出てくると確実に要望が出てくる いつかは実装される 実装できる余地がある言語はいいけど言語仕様上実装不可な場合はどうしようもない
913 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 12:46:26.67 ID:pOm9NLXW.net] >>889 ある言語が他の言語に比べて劣っている部分があるということと その言語が欠陥言語かどうかは全く別の問題 もう少し論理的に物事を考えよう
914 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 12:52:00.37 ID:n5ZvcUIJ.net] Rsutは意味不明なんだよな struct初期化で名前指定して初期値入れてるのにデフォルト実装や名前付き引数がない 不思議
915 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 13:00:28.27 ID:7x85yRDf.net] Rustはソースコード上の情報多くしたい感じだからデフォルト引数は入らなさそう ソースコードの見た目をすっきりさせたいなら素直にPythonとか使うのがいいかと
916 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 13:08:33.19 ID:n5ZvcUIJ.net] デフォルト引数もなく関数オーバーロードがないから謎の関数がぼこぼこ増えるんだろうな ○○ ○○_with_XX ○○_by_YY みたいに
917 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 13:15:01.13 ID:n5ZvcUIJ.net] 言語を作った人間がデフォルト引数絶対に入れない!って言ってても その人が一線から引いて他の開発メンバーに任されたら速攻で入る
918 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 13:42:57.17 ID:7x85yRDf.net] Rustはすでに作った人は居なくなってるし 仕様決めるのも多数決とかじゃなく意見が割れるようなのは入らないからな コミュニティ全体が入れる空気にならない限り無理
919 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 13:44:38.50 ID:n5ZvcUIJ.net] 新しい元老院の出来上がりか
920 名前:デフォルトの名無しさん [2022/06/18(土) 13:57:51.20 ID:0HZmI7WS.net] Rustは複雑な引数はstructで渡しなさいという考えだから その方法の一つがビルダーパターンだけど、structとDefaultを組み合わせたほうが個人的には好き
921 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 14:03:46.44 ID:1P56+GFt.net] ..Default::default() にシンタックスシュガーあって短く書ければいいんだけど
922 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 14:46:02.16 ID:W1b6m0i9.net] 引数爆発の解決のアプローチはいろいろあるわな だがキーワード引数があったほうが爆発したときに楽なんだがな GoやRust的には構造体使えってことか
923 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 14:55:32.45 ID:vtBUlFGw.net] >>899 デフォルトは作ればあるよ オプション引数の代替策の一つとしても使える
924 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 14:56:30.79 ID:vtBUlFGw.net] あ、ガイシュツだった
925 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 17:55:33.35 ID:+lle12+G.net] >>903 >>902 Rustでは不可欠な機能が着実に次々と実現されていっており それら全て状況も議論も全てオープンに行われている 互換性、安全性、関連する影響がないことなど全て満たす必要があるためどの案件も時間がかかるが信頼できて安心できる 関数の引数の諸々の件も長くオープンに議論され続けているが様々な諸問題がでておりそれらを解決しうる仕様がまだ出来上がらずかなり先になるだろう そして色々な代替手段があるためこれを必須として現実に困っている人がいない問題でもある
926 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 18:43:27.93 ID:ZQWHh7s0.net] >>903 なんや、既に崩壊してる言語なのか ざまあねえな
927 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 19:21:21.77 ID:W1b6m0i9.net] Rustって創始者いないのなんでなの?
928 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 19:27:03.11 ID:1ZLmOyHM.net] >>912 創始者が抜けたのはバーンアウトしたかららしい
929 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 19:56:43.48 ID:ZQWHh7s0.net] >>912 修復不可能なデザインバグを見つけてしまったから逃げたんだろう
930 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:01:24.70 ID:9K3tt+Ez.net] Mozilla関係の組織っておんも歩けないような人が多いよね まともな人から辞めていくんだろうか
931 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:14:49.20 ID:ApP/hHwA.net] 燃え尽きて去ったRustの創造者はいまはどこで何をしているんだ? まさか、googleでGoしているってことないよな
932 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:18:43.54 ID:1P56+GFt.net] AppleでSwiftの開発をしてるらしいぞ
933 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:30:46.91 ID:aTjkq+5e.net] >>910 Rustコミュニティがオープンだとは全然思えない。async-stdとtokioなんか正にそう
934 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:40:14.11 ID:ZQWHh7s0.net] >>917 やっぱゴミはゴミに惹かれるんやね XウンコードとかいうゴミゴミのゴミIDEバンドルのゴミに惹かれるなんて やっぱゴミ
935 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:40:52.91 ID:n5ZvcUIJ.net] c++の規格団体がクソだったのと大して変わらない
936 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:46:04.24 ID:n5ZvcUIJ.net] >>910 apple信者の人たちと大して変わらんなw androidにしかない機能があっても必要ない、問題ない、困ってないと言い放つが実装されると大騒ぎして喜び 誇らしげに自慢する 何週遅れてんだよと
937 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 21:07:12.04 ID:G0PSkUdv.net] 全て状況も議論も全てオープンに行われていればまあこんな事になる
938 名前:けがないよなww 「The entire moderation team resigns, effective immediately. This resignation is done in protest of the Core Team placing themselves unaccountable to anyone but themselves.」 https://github.com/rust-lang/team/pull/671 [] [ここ壊れてます]
939 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 21:10:24.45 ID:FdDF61RI.net] >>921 気持ち悪いRust信者はこの板に1人いるだけだぞ 通称複オジこと、はちみつオジ
940 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 21:20:50.21 ID:ApP/hHwA.net] >>917 おいおい、ほんとなのか。 優秀な奴だろうからどっかが雇っているだろうと思っていたが。 appleならMozillaより激好待遇だろうな
941 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 21:36:02.59 ID:ZQWHh7s0.net] >>923 Qiitaで若者に嫉妬したりエアプRust信者したり大変だな
942 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 22:53:12 ID:WzwwMm2M.net] コミュニティの意見に向き合うのは難しい問題で、どの言語でも同じ Rust Foundationとか、Kotlin Foundationとか、コミュニティ向けに組織体制をちゃんとする努力があるだけマシだといつも思う
943 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 22:56:08 ID:eg6b2Ems.net] スタバマックくんw
944 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 23:36:58.06 ID:WzwwMm2M.net] そして批判の声が見当たらないコミュニティは逆に危険 ユーザーは意見を述べるモチベーションがなかったり、意見を聞き届ける環境すら整えられていない 言い換えるとカルト。
945 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 00:20:26.22 ID:Mk9KDawR.net] >>926 なんちゃらファウンデーションなんてそれはコミュニティに向き合うとか組織体制がちゃんとする努力をしているとは違う。後ろにスポンサーがいるかどうかが違うだけ 得てしてプラス面もあるが多くは大企業の意見がよく通る
946 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 00:58:59.69 ID:61bWOpc5.net] >>929 どの言語のコミュニティが理想だと思う?
947 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 02:05:01.40 ID:kfPGjv4I.net] なんだその質問ww
948 名前:デフォルトの名無しさん [2022/06/19(日) 02:09:16.77 ID:6XdwO9QI.net] ジャップは10年遅れでPython受け入れだしたからな Juliaも10年は遅れるよ バカなジャップだから
949 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 05:40:31.85 ID:SdXdUMni.net] Julia流行の隆盛とともに死すナムー(-人-) 今はJuliaとか言って、もう少し経ったらの言語マンセーするくせにさ
950 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 07:28:14.73 ID:YnIsF6Qk.net] 10年後にジャップランド土人村が残ってるかも疑わしい
951 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 09:42:08.66 ID:+2WAsQm8.net] 何で突然ジャップとか言い出した?選挙が近いから?
952 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 09:57:40.03 ID:KAsrUTco.net] >>934 ってどこの国の人なんやろな なんかウンコのにおいしてるけどw
953 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 10:15:25.21 ID:YnIsF6Qk.net] 今の日本の体たらくはジャップランド土人村と呼ぶにふさわしいよ 未だに「日本サイコー!」とか言ってる奴らの方がどうかしてる
954 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 10:30:27.88 ID:2cctUuao.net] 声の大きいクソユーザーのせいで言語がどんどん変わっていくC#
955 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 10:55:12.05 ID:KAsrUTco.net] >>938 具体的にはどういうとこ? 俺は最初からC#ダサいと思ってたけど
956 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 11:04:07.37 ID:PZvlYDex.net] >>939 具体的にダサいところあげてくれ ついでにダサくない言語も教えてくれ
957 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 11:07:05.21 ID:C4wP3ian.net] 単純にMicrosoftのソフトウェア開発能力がめちゃくちゃ高いからどんどん変わっていけてるだけだぞ 昔から巨大ソフトウェアをずっとたくさん作り続けてるだけあるよ 他の言語だってリソースさえあればあれもこれもやりたい、って言ってるのたくさんあるじゃん
958 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 11:11:04.94 ID:2cctUuao.net] 言語仕様が使いもしないパターンマッチよりにどんどん変わってる 学習コストが上がるだけなのに if (x is { Name.Length: 1 }) { Console.WriteLine("single-char Name"); }
959 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 11:13:34.22 ID:KAsrUTco.net] >>942 へーそうなん サンクスコ
960 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 11:15:07.77 ID:2cctUuao.net] x is { Name.Length: 1 } これが何を指しているか直観的にわかるように思えて実際は違っている
961 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 13:07:02.40 ID:Mk9KDawR.net] MicrosoftはTeamsのアップデートしすぎ、ほぼ毎日バージョンが変わる。マジで勘弁してほしい
962 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 13:32:37.74 ID:YdsUdLcR.net] C#は場当たり的に糖衣構文追加するもんだから BNFがとんでもない長さになってるな ここまで言語仕様汚くなった言語他に無いんじゃね?
963 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 13:39:49.73 ID:MGBoiv+i.net] さすがに C++ Perl Ruby には敵わないだろ
964 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 14:13:50.73 ID:vUT9u2r3.net] >>944 具体的に他の言語で書くとどういう記述に相当するもの?
965 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 14:16:23.55 ID:61bWOpc5.net] BNFで構文表現できてる時点で綺麗だよね
966 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 14:21:29.08 ID:Db+21BxG.net] BNFで表現できない文法はやめてくれ
967 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 14:37:30.12 ID:XPOA14Ne.net] >>947 Rubyは意外にシンプル
968 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 15:16:16.80 ID:YnIsF6Qk.net] >>951 シンプルでなくイージー 型無し糞言語代表だろ
969 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 15:23:17.11 ID:T+HLe5Kk.net] rubyに型がないとかw 恥を知れ恥を
970 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 17:07:15.35 ID:SjAidwyp.net] 恥を知れ恥をって一番恥ずかしい煽りだよな
971 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 17:08:50.63 ID:2cctUuao.net] 他の言語の定型文をそのまま日本語に持ってくるからそうなる 富士山は日本で一番高い山の一つですは誤訳
972 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 22:06:45.19 ID:VFAsiM2X.net] Rubyはスクリプト言語にしてはPythonに比べ型は厳格だが、なんにでもなれるメソッドなかったっけ?
973 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 22:28:00.46 ID:8/kH/R2d.net] #method_missing
974 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 12:03:09.79 ID:7+wjkIp4.net] >>952 型無し言語って何?
975 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 12:17:32.20 ID:G0GSIi1k.net] シェルスクリプトやアセンブリのことです
976 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 12:59:21.71 ID:EbOcYieG.net] シェルスクリプトにも変数の型はあるしアセンブリもレジストリの種類は意識しないといけない
977 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 13:09:02.41 ID:rr2OcjMu.net] 型なし言語って、誤用でしか用例を聞いた覚えがないけど、型なし言語とかいう用語はあるの? 文脈からして何を言いたいかはわかるんだけど
978 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 13:09:53.23 ID:rr2OcjMu.net] 値に型がない言語のことを型なし言語、って呼ぶのは正しいの?
979 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 13:52:48.64 ID:6L0FdSjR.net] 型無し言語じゃない 型無し糞言語だ 間違えるな痴れ者が 型無し糞言語3兄弟といえばRuby、PHP、Perl 業界の常識 未だこれ使ってる時代遅れのバカ老害どもは首吊って死んでええぞ
980 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 13:55:02.11 ID:4VWLMq9p.net] >>961 https://ja.wikipedia.org/wiki/%E5%9E%8B%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0#%E5%9E%8B%E3%81%AA%E3%81%97 型付けを更に厳密に定義した区分として型なし(英: untyped)という区分が存在する。 代表的な言語としてはSmalltalk[7]、BCPL、B言語、アセンブリ言語などがある。 Smalltalkでは高速化のため処理系依存で実行時に型検査することがあるものの言語的には型検査がなく、 動的型付け言語のように文字列に割り算をするといった不正な操作をしても処理系が型検査して停止する事は無い。 BCPL、B言語、アセンブリ言語などオブジェクト指向とは関係なく型を持たない言語では、 ハードウェアのワード長に依存した1種類の型のみを持つか、 言語を使う側でデータを参照するときにデータ幅や種類の解釈を決定することとなる。
981 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 14:10:59.58 ID:G0GSIi1k.net] >>960 bashのdeclareについては一旦忘れていただく方向でお願いします
982 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 14:23:54.46 ID:rr2OcjMu.net] >>964 ほんまや Brainfuckとかみたいな難解言語もだいたいuntypedかな
983 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 14:32:59.17 ID:njNeMAGl.net] >>963 が言っている型無し言語とは、一つの変数がいろいろな型の値を束縛できるってこと?
984 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 15:16:39.40 ID:gnE/PDYV.net] untypedは基本的にdynamically typedのこと アカデミック用語で実務者用語ではない 実務者が型なし言語と呼ぶのはtypeless languagesのこと 現代において動的型付け言語を型なし言語と呼ぶのは明らかな間違い
985 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 15:39:41.45 ID:rr2OcjMu.net] >>968 > untypedは基本的にdynamically typedのこと 出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。
986 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 15:54:46.01 ID:4VWLMq9p.net] 型付けなんてプログラマにとっては基本の基本で おろそかにしていいものではないから > 型無し糞言語3兄弟といえばRuby、PHP、Perl これがいかにド素人で無教養で恥知らずな発言かは お分かりいただけてると思う
987 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 16:28:03.20 ID:G0GSIi1k.net] 複おじ怒りのマジレス
988 名前:デフォルトの名無しさん [2022/06/20(月) 18:29:27.28 ID:1agQsnkM.net] >>901 これがちょっと辛いんだよな。
989 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 18:53:41.48 ID:BnXOM/sm.net] 型無し言語と言えば型無しラムダ計算だろ。
990 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 19:04:42.99 ID:hXDnNrPc.net] 次スレ(リニューアル) Era 26 コンセプトは、現状の漠然とした実質未来最強言語決定戦という誰も得しない未来トレンドの断定を避けて、 次世代言語はまだ存在しない仮説を使って建設的な言語仕様の検討を促すことです。
991 名前:デフォルトの名無しさん [2022/06/20(月) 19:05:46.77 ID:hXDnNrPc.net] https://mevius.5ch.net/test/read.cgi/tech/1655719441/l50 ↑次スレのリンクです。もし興味があればどうぞ。 (一定数いる最強言語決定戦を続けたい層には不向きかもしれないので、 棲み分けなどに、もし良いアイデアがあればどうぞご自由になさいませ。)
992 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 19:24:15.90 ID:cgMFd80D.net] そういうのGitHubでやったほうがいいよ
993 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 19:52:16.37 ID:E2oosySA.net] >>972 今どきの言語ならそんなことは起きないんじゃないかな 例えばRustの標準ライブラリには同名のreplace()という関数が10個もあるけど (1) まず名前空間が分かれている 例えば str::replace() や Option::replace() など (2) 次にメソッドの場合は名前空間を明示する必要がない 例えば let s = "価格: 123円"; という文字列に対してはstr::を付けずに s.replace("価格", "値段"); // → "値段: 123円" (3) 更にジェネリックな引数も取れる 例えば文字列""ではなく文字''も指定可能 s.replace('円', "万円"); // → "価格: 123万円", 文字判定関数を指定することも可能 s.replace(char::is_numeric, "*"); // → "価格: ***円" このように様々な対象に対して様々な引数で用いられていても 同名のreplace()で曖昧になることもなくそれぞれを使うことができる 昔のように長い関数名を付けずに済むようになっている
994 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 20:07:59.34 ID:8GsqMDfw.net] 次スレ立てるのはもうそろそろかな
995 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 20:46:13.10 ID:6L0FdSjR.net] >>975 アスペっぽい ガイジ
996 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 21:02:14.54 ID:Hg6hQLhP.net] >>963 ガイジ乙!
997 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 21:08:22.86 ID:mSfgS0Wr.net] >>977 3つともオーバーロードやデフォルト引数はほぼ関係ない話じゃん 3つめがかろうじてオーバーロードに引っかかってはいるが論点が違う
998 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 21:24:31.48 ID:j7veV6LL.net] シャドーイングがOKで関数オーバーロードがNGって普通は逆じゃね?
999 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 21:29:29.90 ID:ofPdKV5n.net] >>982 その2つがどう関係あるのか説明してくれ
1000 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 21:39:32.57 ID:j7veV6LL.net] シャドーイング 同じ変数名で実際は完全に別物 関数オーバーロード 同じ関数名で引数が違う でも普通は同じ働き
1001 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 21:50:35.85 ID:lr2wAV+c.net] 引数の型が違うだけならジェネリクスでいいし、ジェネリクスで表現できないような 引数の違いがあるような場合はそもそも同じ関数名にすべきじゃないような気がする。 オーバーロードいらないよな。
1002 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:04:20.07 ID:j7veV6LL.net] せいぜい意味不明なワードがくっついた似たり寄ったりの関数を大量に作ってくれよ
1003 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:09:55.02 ID:xRbFgwNB.net] >>984 なるほどそういう意味か イミュータブルとムーブがデフォルトだとシャドーイングNGだと命名負荷が高くなりすぎるのよ オーバーロードやデフォルト引数/オプション引数ないとメソッドの命名負荷が高くなるのと似てる
1004 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:17:07.52 ID:G0GSIi1k.net] >>982 C++/Java/C#書いてる脳だとまあすんなり同意するけど OCamlだのHaskellだの書いてる脳で読むと「お前の普通なんか知らねーよ」って感じだな
1005 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:26:34.16 ID:GOjINbNj.net] >>982 効果が真逆という結論のようです > シャドーイングは同時に存在できるのが一つだけで曖昧さがなくプログラミングにおいてプラス効果 > オーバーロードは同時に異なるものが存在できるため可読性を下げたりミスを起こす機会を生じさせてマイナス効果 確かにシャドーイングが出来ない言語では例えば price_str = "398" price_int = int(price_str) とするかミスを生みやすい動的型付けで同じ変数名priceに入れるようです シャドーイングがいかに優れているかよくわかりますね
1006 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:30:15.50 ID:j7veV6LL.net] 書き込みする前に読み返したか? ふわっふわしてるぞ
1007 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:36:51.94 ID:j7veV6LL.net] Rsutは関数オーバーロードがないから int(price_str)できない
1008 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:44:52.02 ID:d/VymnYf.net] >>991 そういう時にメソッドではない不要なグローバル関数を設けるプログラミング言語は時代遅れ もしstrに対してintに変換する関数int()を用意するならばstrのメソッドとして用意する 君には>>977 を読み直すことを勧める
1009 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:52:38.23 ID:j7veV6LL.net] Rustは同様に abs(x)ができない 他の言語ではmath.abs()とかにある x.abs()と言う不思議な感じになる -1_i32.abs() は -1になる変な言語
1010 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:54:18.35 ID:GOjINbNj.net] >>991 Rustではintが多数あるため let s = "98765"; let a: i32 = s.parse()?; let b: u64 = s.parse()?; となります どちらも同じメソッドparse()で大丈夫です あなたが使っている言語では多数のint毎に別々の変換用の関数があるのですか?
1011 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:55:48.87 ID:j7veV6LL.net] >>994 出た 愚者の?
1012 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:59:31.50 ID:bmv2finQ.net] >>993 >int(price_str)できない >Rustは同様に abs(x)ができない それはどっちもできるよ
1013 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:59:45.45 ID:4VWLMq9p.net] >>993 i32::abs(-1)
1014 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 23:01:03.11 ID:j7veV6LL.net] parseは多分ジェネリック実装されてて戻り値の推定からジェネリック型決めてるんだろ? そっちのほうが不気味 そのparseだってどうせトレイトで実装してんだろ?
1015 名前:デフォルトの名無しさん [2022/06/20(月) 23:02:42.38 ID:MklghZCY.net] >>985 ジェネリクスはまた別物だろ。 ライブラリ無いからシステムコール利用する機能を提供しようとする。 例えば socket(2)でいいわ。 第3引数なんて使うことないからと第2引数までを取るAPIとして公開、後になって第3引数必要になった(例えばSCTP利用)ってなった場合、オーバーロードできないとAPI変える必要あるじゃん。
1016 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 23:03:17.12 ID:j7veV6LL.net] >>996-997 それは実質fabs()と変わらない
1017 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 64日 5時間 10分 42秒
1018 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています