スレタイ(順番はRedMonk準拠)以外の言語もok
前スレ
次世代言語24 Go Nim Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1647887021/
次世代言語25 TypeScript Swift Go Kotlin Rust Nim
レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん
2022/04/17(日) 17:52:35.38ID:KG26dcth879デフォルトの名無しさん
2022/06/17(金) 21:08:38.74ID:ueszn7cF880デフォルトの名無しさん
2022/06/17(金) 21:38:00.10ID:8YmvneAf let mut stream = FileStream::builder().read(true).write(true).build("foo.txt")?;
これならいいのか
これならいいのか
881デフォルトの名無しさん
2022/06/17(金) 21:48:55.86ID:G5rhOs4/ Rustにはなんでデフォルト引数ないの?
Kotlinみたいに名前付き引数もデフォルト引数も欲しい
Kotlinみたいに名前付き引数もデフォルト引数も欲しい
882デフォルトの名無しさん
2022/06/17(金) 21:49:12.87ID:8YmvneAf でもパス名が最後に来るの確かに思考の順序と一致しなくてウザいな
どのファイルを開くかより先にモードを考えたことなんかなかった
どのファイルを開くかより先にモードを考えたことなんかなかった
883デフォルトの名無しさん
2022/06/17(金) 22:02:17.99ID:flaMOIXW >>878
ソフトエンジニアはビルダーパターンは気持ちよすぎになるが
一方、ドカタは気持ち悪いになるってだけだろ
言語としては主ターゲットユーザーがソフトエンジニアかドカタって重要だからな
Rustはソフトエンジニアがターゲットで、そうじゃない奴はRustじゃなくドカタ用言語使え
ってこと。
ソフトエンジニアはビルダーパターンは気持ちよすぎになるが
一方、ドカタは気持ち悪いになるってだけだろ
言語としては主ターゲットユーザーがソフトエンジニアかドカタって重要だからな
Rustはソフトエンジニアがターゲットで、そうじゃない奴はRustじゃなくドカタ用言語使え
ってこと。
884デフォルトの名無しさん
2022/06/17(金) 22:12:15.35ID:1Z6irghS そうでなくて最後に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")?;
それぞれ他のプログラミング言語で書くとどうなるかを考えてみよう
あと横に書くのではなく縦に書くほうが見やすいので推奨される
ビルダー方式にしているのは複雑になりがちな
様々なオプション指定をわかりやすくするため
例えば
書き込み用を新規作成だが既にファイルが存在しているならばエラーとなるオープンならば
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")?;
それぞれ他のプログラミング言語で書くとどうなるかを考えてみよう
885デフォルトの名無しさん
2022/06/17(金) 23:24:36.27ID:1Z6irghS あと余談だが
>>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した時のみ有効となる
つまり既にある仕様を壊さずに拡張が可能
いずれにせよビルダー方式でのメソッドチェーン指定は
全てを引数で複雑もしくは長々と指定するよりもよっぽど好ましい方式
>>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した時のみ有効となる
つまり既にある仕様を壊さずに拡張が可能
いずれにせよビルダー方式でのメソッドチェーン指定は
全てを引数で複雑もしくは長々と指定するよりもよっぽど好ましい方式
886デフォルトの名無しさん
2022/06/18(土) 01:48:38.80ID:ElTVdqXo ビルダーパターンはオプション引数のある言語でも簡単に実現できるんだが
逆は一般的にハードルが高い(Rustならproc macroとかになる)
ビルダーとオプション引数は本来はユースケースによって使い分けるものなので
使い分けられないようならその言語は機能的に劣っているということ
逆は一般的にハードルが高い(Rustならproc macroとかになる)
ビルダーとオプション引数は本来はユースケースによって使い分けるものなので
使い分けられないようならその言語は機能的に劣っているということ
887デフォルトの名無しさん
2022/06/18(土) 03:34:01.13ID:qRZqKkc3 Rustは代数的データ型のOption型があるから特に困らないんじゃない?
むしろOption型がないプログラミング言語はundefinedやnullやnilなどの排除すべき危険なものが存在していて安全じゃない
むしろOption型がないプログラミング言語はundefinedやnullやnilなどの排除すべき危険なものが存在していて安全じゃない
888デフォルトの名無しさん
2022/06/18(土) 03:46:11.38ID:1ZLmOyHM 欲しいのはオプション引数というかキーワード引数?
Noneなりnullなりが連続する関数呼び出しはつらいよね
Noneなりnullなりが連続する関数呼び出しはつらいよね
889デフォルトの名無しさん
2022/06/18(土) 03:49:38.33ID:qRZqKkc3 デフォルト引数のことか
C、Java、Go、Rust、Haskell、…とサポートしていないプログラミング言語は多いけど
それらの言語が劣っている欠陥言語と言われることはないよ
C、Java、Go、Rust、Haskell、…とサポートしていないプログラミング言語は多いけど
それらの言語が劣っている欠陥言語と言われることはないよ
890デフォルトの名無しさん
2022/06/18(土) 07:13:04.48ID:bAwBngwg やっぱりカリー化が欲しいのよ
891デフォルトの名無しさん
2022/06/18(土) 10:59:53.21ID:W1b6m0i9 デフォルト引数はあったほうがいい
究極的にはPythonみたいに書けるC言語が欲しい
それを目指したのがおそらくGoだと思うが
究極的にはPythonみたいに書けるC言語が欲しい
それを目指したのがおそらくGoだと思うが
892デフォルトの名無しさん
2022/06/18(土) 11:19:30.38ID:56BPbiHd cpythonでええやん
893デフォルトの名無しさん
2022/06/18(土) 11:24:27.43ID:ZQWHh7s0 >>891
あのゴミみたいなsyntaxで目指してるとか鼻で笑うで
あのゴミみたいなsyntaxで目指してるとか鼻で笑うで
894デフォルトの名無しさん
2022/06/18(土) 12:11:06.20ID:i5hxcodT895デフォルトの名無しさん
2022/06/18(土) 12:28:29.18ID:1P56+GFt Kotlinみたいにサポートしてほしい
896デフォルトの名無しさん
2022/06/18(土) 12:37:40.53ID:n5ZvcUIJ RustもGoも標準ライブラリが良くない
気持ち悪い
気持ち悪い
897デフォルトの名無しさん
2022/06/18(土) 12:41:20.81ID:n5ZvcUIJ >>889
欠陥言語なんてものはそもそもほとんどない
デフォルト引数は新言語に人気が出てくると確実に要望が出てくる
いつかは実装される
実装できる余地がある言語はいいけど言語仕様上実装不可な場合はどうしようもない
欠陥言語なんてものはそもそもほとんどない
デフォルト引数は新言語に人気が出てくると確実に要望が出てくる
いつかは実装される
実装できる余地がある言語はいいけど言語仕様上実装不可な場合はどうしようもない
898デフォルトの名無しさん
2022/06/18(土) 12:46:26.67ID:pOm9NLXW899デフォルトの名無しさん
2022/06/18(土) 12:52:00.37ID:n5ZvcUIJ Rsutは意味不明なんだよな
struct初期化で名前指定して初期値入れてるのにデフォルト実装や名前付き引数がない
不思議
struct初期化で名前指定して初期値入れてるのにデフォルト実装や名前付き引数がない
不思議
900デフォルトの名無しさん
2022/06/18(土) 13:00:28.27ID:7x85yRDf Rustはソースコード上の情報多くしたい感じだからデフォルト引数は入らなさそう
ソースコードの見た目をすっきりさせたいなら素直にPythonとか使うのがいいかと
ソースコードの見た目をすっきりさせたいなら素直にPythonとか使うのがいいかと
901デフォルトの名無しさん
2022/06/18(土) 13:08:33.19ID:n5ZvcUIJ デフォルト引数もなく関数オーバーロードがないから謎の関数がぼこぼこ増えるんだろうな
○○
○○_with_XX
○○_by_YY
みたいに
○○
○○_with_XX
○○_by_YY
みたいに
902デフォルトの名無しさん
2022/06/18(土) 13:15:01.13ID:n5ZvcUIJ 言語を作った人間がデフォルト引数絶対に入れない!って言ってても
その人が一線から引いて他の開発メンバーに任されたら速攻で入る
その人が一線から引いて他の開発メンバーに任されたら速攻で入る
903デフォルトの名無しさん
2022/06/18(土) 13:42:57.17ID:7x85yRDf Rustはすでに作った人は居なくなってるし
仕様決めるのも多数決とかじゃなく意見が割れるようなのは入らないからな
コミュニティ全体が入れる空気にならない限り無理
仕様決めるのも多数決とかじゃなく意見が割れるようなのは入らないからな
コミュニティ全体が入れる空気にならない限り無理
904デフォルトの名無しさん
2022/06/18(土) 13:44:38.50ID:n5ZvcUIJ 新しい元老院の出来上がりか
905デフォルトの名無しさん
2022/06/18(土) 13:57:51.20ID:0HZmI7WS Rustは複雑な引数はstructで渡しなさいという考えだから
その方法の一つがビルダーパターンだけど、structとDefaultを組み合わせたほうが個人的には好き
その方法の一つがビルダーパターンだけど、structとDefaultを組み合わせたほうが個人的には好き
906デフォルトの名無しさん
2022/06/18(土) 14:03:46.44ID:1P56+GFt ..Default::default() にシンタックスシュガーあって短く書ければいいんだけど
907デフォルトの名無しさん
2022/06/18(土) 14:46:02.16ID:W1b6m0i9 引数爆発の解決のアプローチはいろいろあるわな
だがキーワード引数があったほうが爆発したときに楽なんだがな
GoやRust的には構造体使えってことか
だがキーワード引数があったほうが爆発したときに楽なんだがな
GoやRust的には構造体使えってことか
908デフォルトの名無しさん
2022/06/18(土) 14:55:32.45ID:vtBUlFGw909デフォルトの名無しさん
2022/06/18(土) 14:56:30.79ID:vtBUlFGw あ、ガイシュツだった
910デフォルトの名無しさん
2022/06/18(土) 17:55:33.35ID:+lle12+G911デフォルトの名無しさん
2022/06/18(土) 18:43:27.93ID:ZQWHh7s0912デフォルトの名無しさん
2022/06/18(土) 19:21:21.77ID:W1b6m0i9 Rustって創始者いないのなんでなの?
913デフォルトの名無しさん
2022/06/18(土) 19:27:03.11ID:1ZLmOyHM >>912
創始者が抜けたのはバーンアウトしたかららしい
創始者が抜けたのはバーンアウトしたかららしい
914デフォルトの名無しさん
2022/06/18(土) 19:56:43.48ID:ZQWHh7s0 >>912
修復不可能なデザインバグを見つけてしまったから逃げたんだろう
修復不可能なデザインバグを見つけてしまったから逃げたんだろう
915デフォルトの名無しさん
2022/06/18(土) 20:01:24.70ID:9K3tt+Ez Mozilla関係の組織っておんも歩けないような人が多いよね
まともな人から辞めていくんだろうか
まともな人から辞めていくんだろうか
916デフォルトの名無しさん
2022/06/18(土) 20:14:49.20ID:ApP/hHwA 燃え尽きて去ったRustの創造者はいまはどこで何をしているんだ?
まさか、googleでGoしているってことないよな
まさか、googleでGoしているってことないよな
917デフォルトの名無しさん
2022/06/18(土) 20:18:43.54ID:1P56+GFt AppleでSwiftの開発をしてるらしいぞ
918デフォルトの名無しさん
2022/06/18(土) 20:30:46.91ID:aTjkq+5e >>910
Rustコミュニティがオープンだとは全然思えない。async-stdとtokioなんか正にそう
Rustコミュニティがオープンだとは全然思えない。async-stdとtokioなんか正にそう
919デフォルトの名無しさん
2022/06/18(土) 20:40:14.11ID:ZQWHh7s0920デフォルトの名無しさん
2022/06/18(土) 20:40:52.91ID:n5ZvcUIJ c++の規格団体がクソだったのと大して変わらない
921デフォルトの名無しさん
2022/06/18(土) 20:46:04.24ID:n5ZvcUIJ >>910
apple信者の人たちと大して変わらんなw
androidにしかない機能があっても必要ない、問題ない、困ってないと言い放つが実装されると大騒ぎして喜び
誇らしげに自慢する
何週遅れてんだよと
apple信者の人たちと大して変わらんなw
androidにしかない機能があっても必要ない、問題ない、困ってないと言い放つが実装されると大騒ぎして喜び
誇らしげに自慢する
何週遅れてんだよと
922デフォルトの名無しさん
2022/06/18(土) 21:07:12.04ID:G0PSkUdv 全て状況も議論も全てオープンに行われていればまあこんな事になるわけがないよな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
「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
923デフォルトの名無しさん
2022/06/18(土) 21:10:24.45ID:FdDF61RI924デフォルトの名無しさん
2022/06/18(土) 21:20:50.21ID:ApP/hHwA925デフォルトの名無しさん
2022/06/18(土) 21:36:02.59ID:ZQWHh7s0 >>923
Qiitaで若者に嫉妬したりエアプRust信者したり大変だな
Qiitaで若者に嫉妬したりエアプRust信者したり大変だな
926デフォルトの名無しさん
2022/06/18(土) 22:53:12.86ID:WzwwMm2M コミュニティの意見に向き合うのは難しい問題で、どの言語でも同じ
Rust Foundationとか、Kotlin Foundationとか、コミュニティ向けに組織体制をちゃんとする努力があるだけマシだといつも思う
Rust Foundationとか、Kotlin Foundationとか、コミュニティ向けに組織体制をちゃんとする努力があるだけマシだといつも思う
927デフォルトの名無しさん
2022/06/18(土) 22:56:08.60ID:eg6b2Ems スタバマックくんw
928デフォルトの名無しさん
2022/06/18(土) 23:36:58.06ID:WzwwMm2M そして批判の声が見当たらないコミュニティは逆に危険
ユーザーは意見を述べるモチベーションがなかったり、意見を聞き届ける環境すら整えられていない
言い換えるとカルト。
ユーザーは意見を述べるモチベーションがなかったり、意見を聞き届ける環境すら整えられていない
言い換えるとカルト。
929デフォルトの名無しさん
2022/06/19(日) 00:20:26.22ID:Mk9KDawR >>926
なんちゃらファウンデーションなんてそれはコミュニティに向き合うとか組織体制がちゃんとする努力をしているとは違う。後ろにスポンサーがいるかどうかが違うだけ
得てしてプラス面もあるが多くは大企業の意見がよく通る
なんちゃらファウンデーションなんてそれはコミュニティに向き合うとか組織体制がちゃんとする努力をしているとは違う。後ろにスポンサーがいるかどうかが違うだけ
得てしてプラス面もあるが多くは大企業の意見がよく通る
930デフォルトの名無しさん
2022/06/19(日) 00:58:59.69ID:61bWOpc5 >>929
どの言語のコミュニティが理想だと思う?
どの言語のコミュニティが理想だと思う?
931デフォルトの名無しさん
2022/06/19(日) 02:05:01.40ID:kfPGjv4I なんだその質問ww
932デフォルトの名無しさん
2022/06/19(日) 02:09:16.77ID:6XdwO9QI ジャップは10年遅れでPython受け入れだしたからな
Juliaも10年は遅れるよ
バカなジャップだから
Juliaも10年は遅れるよ
バカなジャップだから
933デフォルトの名無しさん
2022/06/19(日) 05:40:31.85ID:SdXdUMni Julia流行の隆盛とともに死すナムー(-人-)
今はJuliaとか言って、もう少し経ったらの言語マンセーするくせにさ
今はJuliaとか言って、もう少し経ったらの言語マンセーするくせにさ
934デフォルトの名無しさん
2022/06/19(日) 07:28:14.73ID:YnIsF6Qk 10年後にジャップランド土人村が残ってるかも疑わしい
935デフォルトの名無しさん
2022/06/19(日) 09:42:08.66ID:+2WAsQm8 何で突然ジャップとか言い出した?選挙が近いから?
936デフォルトの名無しさん
2022/06/19(日) 09:57:40.03ID:KAsrUTco >>934ってどこの国の人なんやろな
なんかウンコのにおいしてるけどw
なんかウンコのにおいしてるけどw
937デフォルトの名無しさん
2022/06/19(日) 10:15:25.21ID:YnIsF6Qk 今の日本の体たらくはジャップランド土人村と呼ぶにふさわしいよ
未だに「日本サイコー!」とか言ってる奴らの方がどうかしてる
未だに「日本サイコー!」とか言ってる奴らの方がどうかしてる
938デフォルトの名無しさん
2022/06/19(日) 10:30:27.88ID:2cctUuao 声の大きいクソユーザーのせいで言語がどんどん変わっていくC#
939デフォルトの名無しさん
2022/06/19(日) 10:55:12.05ID:KAsrUTco940デフォルトの名無しさん
2022/06/19(日) 11:04:07.37ID:PZvlYDex941デフォルトの名無しさん
2022/06/19(日) 11:07:05.21ID:C4wP3ian 単純にMicrosoftのソフトウェア開発能力がめちゃくちゃ高いからどんどん変わっていけてるだけだぞ
昔から巨大ソフトウェアをずっとたくさん作り続けてるだけあるよ
他の言語だってリソースさえあればあれもこれもやりたい、って言ってるのたくさんあるじゃん
昔から巨大ソフトウェアをずっとたくさん作り続けてるだけあるよ
他の言語だってリソースさえあればあれもこれもやりたい、って言ってるのたくさんあるじゃん
942デフォルトの名無しさん
2022/06/19(日) 11:11:04.94ID:2cctUuao 言語仕様が使いもしないパターンマッチよりにどんどん変わってる
学習コストが上がるだけなのに
if (x is { Name.Length: 1 })
{
Console.WriteLine("single-char Name");
}
学習コストが上がるだけなのに
if (x is { Name.Length: 1 })
{
Console.WriteLine("single-char Name");
}
943デフォルトの名無しさん
2022/06/19(日) 11:13:34.22ID:KAsrUTco944デフォルトの名無しさん
2022/06/19(日) 11:15:07.77ID:2cctUuao x is { Name.Length: 1 }
これが何を指しているか直観的にわかるように思えて実際は違っている
これが何を指しているか直観的にわかるように思えて実際は違っている
945デフォルトの名無しさん
2022/06/19(日) 13:07:02.40ID:Mk9KDawR MicrosoftはTeamsのアップデートしすぎ、ほぼ毎日バージョンが変わる。マジで勘弁してほしい
946デフォルトの名無しさん
2022/06/19(日) 13:32:37.74ID:YdsUdLcR C#は場当たり的に糖衣構文追加するもんだから
BNFがとんでもない長さになってるな
ここまで言語仕様汚くなった言語他に無いんじゃね?
BNFがとんでもない長さになってるな
ここまで言語仕様汚くなった言語他に無いんじゃね?
947デフォルトの名無しさん
2022/06/19(日) 13:39:49.73ID:MGBoiv+i さすがに C++ Perl Ruby には敵わないだろ
948デフォルトの名無しさん
2022/06/19(日) 14:13:50.73ID:vUT9u2r3 >>944
具体的に他の言語で書くとどういう記述に相当するもの?
具体的に他の言語で書くとどういう記述に相当するもの?
949デフォルトの名無しさん
2022/06/19(日) 14:16:23.55ID:61bWOpc5 BNFで構文表現できてる時点で綺麗だよね
950デフォルトの名無しさん
2022/06/19(日) 14:21:29.08ID:Db+21BxG BNFで表現できない文法はやめてくれ
951デフォルトの名無しさん
2022/06/19(日) 14:37:30.12ID:XPOA14Ne >>947
Rubyは意外にシンプル
Rubyは意外にシンプル
952デフォルトの名無しさん
2022/06/19(日) 15:16:16.80ID:YnIsF6Qk953デフォルトの名無しさん
2022/06/19(日) 15:23:17.11ID:T+HLe5Kk rubyに型がないとかw
恥を知れ恥を
恥を知れ恥を
954デフォルトの名無しさん
2022/06/19(日) 17:07:15.35ID:SjAidwyp 恥を知れ恥をって一番恥ずかしい煽りだよな
955デフォルトの名無しさん
2022/06/19(日) 17:08:50.63ID:2cctUuao 他の言語の定型文をそのまま日本語に持ってくるからそうなる
富士山は日本で一番高い山の一つですは誤訳
富士山は日本で一番高い山の一つですは誤訳
956デフォルトの名無しさん
2022/06/19(日) 22:06:45.19ID:VFAsiM2X Rubyはスクリプト言語にしてはPythonに比べ型は厳格だが、なんにでもなれるメソッドなかったっけ?
957デフォルトの名無しさん
2022/06/19(日) 22:28:00.46ID:8/kH/R2d #method_missing
958デフォルトの名無しさん
2022/06/20(月) 12:03:09.79ID:7+wjkIp4 >>952
型無し言語って何?
型無し言語って何?
959デフォルトの名無しさん
2022/06/20(月) 12:17:32.20ID:G0GSIi1k シェルスクリプトやアセンブリのことです
960デフォルトの名無しさん
2022/06/20(月) 12:59:21.71ID:EbOcYieG シェルスクリプトにも変数の型はあるしアセンブリもレジストリの種類は意識しないといけない
961デフォルトの名無しさん
2022/06/20(月) 13:09:02.41ID:rr2OcjMu 型なし言語って、誤用でしか用例を聞いた覚えがないけど、型なし言語とかいう用語はあるの?
文脈からして何を言いたいかはわかるんだけど
文脈からして何を言いたいかはわかるんだけど
962デフォルトの名無しさん
2022/06/20(月) 13:09:53.23ID:rr2OcjMu 値に型がない言語のことを型なし言語、って呼ぶのは正しいの?
963デフォルトの名無しさん
2022/06/20(月) 13:52:48.64ID:6L0FdSjR 型無し言語じゃない
型無し糞言語だ
間違えるな痴れ者が
型無し糞言語3兄弟といえばRuby、PHP、Perl
業界の常識
未だこれ使ってる時代遅れのバカ老害どもは首吊って死んでええぞ
型無し糞言語だ
間違えるな痴れ者が
型無し糞言語3兄弟といえばRuby、PHP、Perl
業界の常識
未だこれ使ってる時代遅れのバカ老害どもは首吊って死んでええぞ
964デフォルトの名無しさん
2022/06/20(月) 13:55:02.11ID:4VWLMq9p >>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種類の型のみを持つか、
言語を使う側でデータを参照するときにデータ幅や種類の解釈を決定することとなる。
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種類の型のみを持つか、
言語を使う側でデータを参照するときにデータ幅や種類の解釈を決定することとなる。
965デフォルトの名無しさん
2022/06/20(月) 14:10:59.58ID:G0GSIi1k >>960
bashのdeclareについては一旦忘れていただく方向でお願いします
bashのdeclareについては一旦忘れていただく方向でお願いします
966デフォルトの名無しさん
2022/06/20(月) 14:23:54.46ID:rr2OcjMu967デフォルトの名無しさん
2022/06/20(月) 14:32:59.17ID:njNeMAGl >>963が言っている型無し言語とは、一つの変数がいろいろな型の値を束縛できるってこと?
968デフォルトの名無しさん
2022/06/20(月) 15:16:39.40ID:gnE/PDYV untypedは基本的にdynamically typedのこと
アカデミック用語で実務者用語ではない
実務者が型なし言語と呼ぶのはtypeless languagesのこと
現代において動的型付け言語を型なし言語と呼ぶのは明らかな間違い
アカデミック用語で実務者用語ではない
実務者が型なし言語と呼ぶのはtypeless languagesのこと
現代において動的型付け言語を型なし言語と呼ぶのは明らかな間違い
969デフォルトの名無しさん
2022/06/20(月) 15:39:41.45ID:rr2OcjMu970デフォルトの名無しさん
2022/06/20(月) 15:54:46.01ID:4VWLMq9p 型付けなんてプログラマにとっては基本の基本で
おろそかにしていいものではないから
> 型無し糞言語3兄弟といえばRuby、PHP、Perl
これがいかにド素人で無教養で恥知らずな発言かは
お分かりいただけてると思う
おろそかにしていいものではないから
> 型無し糞言語3兄弟といえばRuby、PHP、Perl
これがいかにド素人で無教養で恥知らずな発言かは
お分かりいただけてると思う
971デフォルトの名無しさん
2022/06/20(月) 16:28:03.20ID:G0GSIi1k 複おじ怒りのマジレス
972デフォルトの名無しさん
2022/06/20(月) 18:29:27.28ID:1agQsnkM >>901
これがちょっと辛いんだよな。
これがちょっと辛いんだよな。
973デフォルトの名無しさん
2022/06/20(月) 18:53:41.48ID:BnXOM/sm 型無し言語と言えば型無しラムダ計算だろ。
974デフォルトの名無しさん
2022/06/20(月) 19:04:42.99ID:hXDnNrPc 次スレ(リニューアル)
Era 26
コンセプトは、現状の漠然とした実質未来最強言語決定戦という誰も得しない未来トレンドの断定を避けて、
次世代言語はまだ存在しない仮説を使って建設的な言語仕様の検討を促すことです。
Era 26
コンセプトは、現状の漠然とした実質未来最強言語決定戦という誰も得しない未来トレンドの断定を避けて、
次世代言語はまだ存在しない仮説を使って建設的な言語仕様の検討を促すことです。
975デフォルトの名無しさん
2022/06/20(月) 19:05:46.77ID:hXDnNrPc https://mevius.5ch.net/test/read.cgi/tech/1655719441/l50
↑次スレのリンクです。もし興味があればどうぞ。
(一定数いる最強言語決定戦を続けたい層には不向きかもしれないので、
棲み分けなどに、もし良いアイデアがあればどうぞご自由になさいませ。)
↑次スレのリンクです。もし興味があればどうぞ。
(一定数いる最強言語決定戦を続けたい層には不向きかもしれないので、
棲み分けなどに、もし良いアイデアがあればどうぞご自由になさいませ。)
976デフォルトの名無しさん
2022/06/20(月) 19:24:15.90ID:cgMFd80D そういうのGitHubでやったほうがいいよ
977デフォルトの名無しさん
2022/06/20(月) 19:52:16.37ID:E2oosySA >>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()で曖昧になることもなくそれぞれを使うことができる
昔のように長い関数名を付けずに済むようになっている
今どきの言語ならそんなことは起きないんじゃないかな
例えば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()で曖昧になることもなくそれぞれを使うことができる
昔のように長い関数名を付けずに済むようになっている
978デフォルトの名無しさん
2022/06/20(月) 20:07:59.34ID:8GsqMDfw 次スレ立てるのはもうそろそろかな
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★2 [蚤の市★]
- 公用車カーナビのNHK受信料「全額免除を」 千葉市議会、国に制度創設求める意見書可決 [少考さん★]
- 【食】「シャウエッセンは焼くべからず」暗黙のルールを破り売上高過去最高…日本ハム社員たちが「夜味」にかけた情熱 [ぐれ★]
- 神田沙也加さん元恋人で元俳優の前山剛久 六本木のメンズラウンジ勤務を報告「真叶(まなと)です。よろしく」 [muffin★]
- 【君が代】今井絵理子氏 高市首相に国歌として統一した手話表現を定めることを要望→「あまりいい答弁にならない」と返される [少考さん★]
- ( ´・ω・` )どいてもらえます?
- 彼氏が朝から犯してくる(´;ω;`)
- おはようございます(´・ω・`)🍎
- 【埼玉】34歳無職、置き配📦を盗みまくる!その数、400点!😱 [718678614]
- 米国株大暴落!!!NISA含み損www [252835186]
- なあ、「石破さんにもう一回やって頂く」って選択肢って…ないか? [976717553]
