[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 01/01 19:50 / Filesize : 270 KB / Number-of Response : 1019
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

次世代言語25 TypeScript Swift Go Kotlin Rust Nim



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/

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 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<270KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef