X



次世代言語18 Go Rust Elixir Kotlin TypeScript
■ このスレッドは過去ログ倉庫に格納されています
0535デフォルトの名無しさん
垢版 |
2020/03/02(月) 17:54:10.41ID:lNfcnDid
>>534
わかったわかった。
ジェネリクスについてちゃんと勉強してきてからまた読み直してくれよ。
0536デフォルトの名無しさん
垢版 |
2020/03/02(月) 18:08:36.58ID:1of+/HmK
C/C++が絶賛されないのはテストしすぎてリスクの大きさが見えるからだろ
本当に科学的なやつらはテストを嫌う
0538デフォルトの名無しさん
垢版 |
2020/03/02(月) 19:55:38.54ID:JudLh/rB
>>535
勉強しても問題が理解できてないのかよ。。少しは自分でコード組んでみれば?

>本当に科学的なやつらはテストを嫌う
こんな大嘘をよく平気で言えるな。
0539デフォルトの名無しさん
垢版 |
2020/03/03(火) 00:50:53.97ID:halZ50DI
>>538
確かに中途半端にしかポリモーフィズム意識してないお前みてーなやつには
難しくて理解できんのでメンテできる人が限られたコードにはなるという問題はあるな…
0540デフォルトの名無しさん
垢版 |
2020/03/03(火) 01:30:28.89ID:9peK0gCx
くりかーえーす♪この
0542デフォルトの名無しさん
垢版 |
2020/03/03(火) 14:51:04.88ID:9peK0gCx
Rust勉強してんだけど、
let mut n = 5;
println!("{}", n = 4);
println!("{}", n);
〜結果〜
4
5
なるほど分からん
0543デフォルトの名無しさん
垢版 |
2020/03/03(火) 15:42:26.74ID:lzYVFoFM
>>542
>println!("{}", n = 4);

named parameterがformat stringで使われてないから
エラーにすべきケースかもね
0544デフォルトの名無しさん
垢版 |
2020/03/03(火) 17:25:37.47ID:9peK0gCx
あー、assignmentではなく…
なるほどだけど、
えー…
Rustでは代入式は右辺の評価値ではなく空のタプルを返すとあったから確かめようとしたらこうなったw
大根乱ですよ
0545デフォルトの名無しさん
垢版 |
2020/03/03(火) 17:31:22.84ID:EXykEa9V
むしろ何で代入してると思ったのか
0546デフォルトの名無しさん
垢版 |
2020/03/03(火) 18:04:04.14ID:9peK0gCx

いや以下expected `i32`, found `()`でエラーになるけど代入の結果空のタプルが返ったればこそでしょ??どういう意味?
fn foo(x: i32) -> i32 {
x * 2
}
let mut n = 5i32;
let m = foo(n = 4i32);
0547デフォルトの名無しさん
垢版 |
2020/03/03(火) 18:44:54.59ID:uIYzrTnG
nを定義しても呼び出された側からは見えないのがレキシカルスコープ
でもやっぱり見えるスコープが欲しい
これはダイナミックスコープの再発明だな
0550デフォルトの名無しさん
垢版 |
2020/03/04(水) 22:33:59.46ID:/mNi51EN
行儀の悪いことするな、で終わってもいいかもしれんが、結局>>542はどう解釈するのが正しいの?
0551デフォルトの名無しさん
垢版 |
2020/03/04(水) 22:54:37.02ID:yiNVycVp
>>550
2行目のn=4は println!マクロの中で
`n`というnamed parameterを新しく定義してそれに4を入れてるので1行目のnとは別物
https://doc.rust-lang.org/std/fmt/index.html#named-parameters

個人的にはエラーにすべきケースだと思うけど
named parameterが明示的に使われてなくても
format stringが必要としてるパラメータの数に合致してるとエラーが出ないっぽい

let x = 100;
println!("{}, {}, {}", x, x=200, y=300); //=> 100, 200, 300
0552デフォルトの名無しさん
垢版 |
2020/03/04(水) 23:01:20.25ID:4yioSA0z
fn print6(a:()){ println!("{}", 6); }
let mut n = 5;
println!("{}", n = 4); //マクロの引数: 代入じゃない(マクロの仕様次第)
println!("{}", n);
print6(n = 7); //関数の引数: これは代入
println!("{}", n);

4
5
6
7
0553デフォルトの名無しさん
垢版 |
2020/03/07(土) 00:08:15.14ID:po15mmZE
書けば書くほどPython嫌いになるわ
機械学習とかやるにはいいんだろうけど、これでサーバーサイド組むとか狂気もいいとこ
やっぱ型無し言語って糞だわ
0556デフォルトの名無しさん
垢版 |
2020/03/07(土) 10:09:34.67ID:po15mmZE
>>555
過去のおガイジどもが色んな言語使いすぎて保守不能になって
社内標準言語がPythonとJavaScriptだけになったから

>>554
最低でもJava8
どんなに type hinting 書いても IDE は黙ったままだし補完も大して効かないし
糞of糞、糞の山マウンテンがチョモランマ

__init__.pyがないとimportできない糞
pyenv使ってbuildしてもruntimeエラーがでる糞
venv,pipenv,poetry,pyflow, おまえいったいいくつパッケージ管理ツールつくるねんの糞

糞糞糞糞
0557デフォルトの名無しさん
垢版 |
2020/03/07(土) 10:35:22.99ID:Gh4Y79Ev
PythonとJavaScriptだけって結論出した奴も含めておガイジやん
つまるところ一番の糞はその職場や
0558デフォルトの名無しさん
垢版 |
2020/03/07(土) 10:38:36.62ID:XLWmxUUx
>過去のおガイジどもが色んな言語使いすぎて保守不能になって
これはまあよくある話だが
>社内標準言語がPythonとJavaScriptだけになったから
こうなるのは珍しいな。。普通は逆にこいつの言うように堅めのやつでjava一択とかなりそうな気はするが。
0559デフォルトの名無しさん
垢版 |
2020/03/07(土) 10:49:17.19ID:tB1OTpLA
今javaは時期が悪いよ
0560デフォルトの名無しさん
垢版 |
2020/03/07(土) 11:19:48.16ID:po15mmZE
>>557
わかっとるわそんなん
だがPythonが糞なのも事実

>>558
超消極的な理由で選ばれただけ
バックエンドは機械学習プロダクトもあるからPythonは必須
フロントエンドはJavaScript必須

他はなんも考えてない
笑えよ
0561デフォルトの名無しさん
垢版 |
2020/03/07(土) 11:31:51.02ID:XLWmxUUx
またとりあえず機械学習に手を出しちゃうところも糞要素として取り上げたいw
0562デフォルトの名無しさん
垢版 |
2020/03/07(土) 12:21:08.97ID:z518jRtl
>>556
>どんなに type hinting 書いても IDE は黙ったままだし補完も大して効かないし

これはIDE自体の問題か使う側の問題じゃないか?
0565デフォルトの名無しさん
垢版 |
2020/03/07(土) 13:13:17.74ID:e127m1PH
Pythonどちらかと言うと好きな方だけど開発環境周りは糞極めてるよね
0566デフォルトの名無しさん
垢版 |
2020/03/07(土) 13:30:02.16ID:po15mmZE
うるせーコロナで死ね
俺の言うこと聞かない言語は全て糞なんだよ糞、糞糞糞の糞
0569デフォルトの名無しさん
垢版 |
2020/03/07(土) 15:06:23.05ID:Zs2bgd34
TypeScript作ってる当のMicrosoftがPyright出してるじゃん。何の不満が?
0571デフォルトの名無しさん
垢版 |
2020/03/07(土) 15:41:21.16ID:Zs2bgd34
乞食の癖に贅沢言うな!じゃあお前が作れ!
0573デフォルトの名無しさん
垢版 |
2020/03/07(土) 17:10:01.53ID:/3GyPk4K
要はライブラリでPythonを超えればPythonは消えるよね
でも大抵の言語はライブラリを管理するツール自体が保守不能になる
Pythonは手動またはC言語のツールに丸投げしておけば保守不能にはならない
0574デフォルトの名無しさん
垢版 |
2020/03/07(土) 19:26:36.13ID:XLWmxUUx
まあc言語のライブラリ管理はそんな簡単じゃないがな。
低レイヤー触るとどうしてもそうなる。
0575デフォルトの名無しさん
垢版 |
2020/03/07(土) 21:21:55.92ID:zyQisfjb
PythonがC FFI側に投げてるライブラリのバージョンの複雑さは結局ユーザじゃなくてメンテナがコスト払ってるだけな部分もあるからな……
0576デフォルトの名無しさん
垢版 |
2020/03/07(土) 22:13:32.23ID:7WCIBliR
>>574,575
そんな低レイヤーうんぬんなど些細な話だ
そもそも2系から3系への移行ではPython本体やCライブラリだけでなく、
あまたの2系ライブラリのメンテナが膨大なコストを払っているのだから…
「後方互換性の断絶」とはそうゆうものだ

Python利用者はそうした神の決定に逆らうことは許されない
神の行いは絶対であり、聖書PEPを疑ってはならない
0580デフォルトの名無しさん
垢版 |
2020/03/08(日) 07:27:02.29ID:8cCRMkvW
一方で単一の言語処理系に過去バージョン互換をさせるとそれ自身の複雑さが極端に増すのは間違いない訳で
結局どこかしらでコストは払ってるんだよ
この辺はいくら次世代のいい感じの言語が出ようとも変わらないと思う
0581デフォルトの名無しさん
垢版 |
2020/03/08(日) 08:57:57.34ID:WHPmDMrq
んなあたりまえのこといわれても、でっ?ていう。
最適な互換性の維持具合についてなんか意見でもあるなら言えばいいけど
なんも考えてなさげだな。
0582デフォルトの名無しさん
垢版 |
2020/03/08(日) 09:38:38.42ID:oRQj+xWf
Pythonには2と3があるから駄目
そしてPythonをJavaに置き換えることを意識した時点で
Javaもその駄目なグループのメンバーになったようなもの

GCがある言語は多分みんな駄目になってしまう
0584デフォルトの名無しさん
垢版 |
2020/03/08(日) 10:06:42.70ID:ZuSBaXSz
いやJSもGCあるだろ…
0585デフォルトの名無しさん
垢版 |
2020/03/08(日) 14:22:36.07ID:jdr/SdJJ
>GCがある言語は多分みんな駄目になってしまう
なんの根拠もなく現状を全く無視したことを平然とのたまう精神はどこからきてるんだろうか。

こういう輩が好みそうなのはrustですかね。
0586デフォルトの名無しさん
垢版 |
2020/03/08(日) 16:42:21.18ID:8nAE6D2E
そうだね
なんの根拠もないものは全く無視されて当然
その精神がある限り、古い仕様は無視されて互換性が無くなる
0587デフォルトの名無しさん
垢版 |
2020/03/08(日) 17:08:13.34ID:aNSOANJ3
仕様は根拠では?
0588デフォルトの名無しさん
垢版 |
2020/03/09(月) 12:56:13.44ID:sMpZHxT3
静的型付け言語(typescript)の設計を学ぶためには、HaskellとF♯どっちが向いてるんだろう。
0591デフォルトの名無しさん
垢版 |
2020/03/09(月) 16:12:01.63ID:yVhMK1Dj
Javaとか型システム微妙言語の代表だろ
0592デフォルトの名無しさん
垢版 |
2020/03/09(月) 16:54:47.41ID:SsKgVmjs
javaScriptの数値は浮動小数点数だけなんたな
0594デフォルトの名無しさん
垢版 |
2020/03/09(月) 19:28:17.56ID:vLcN6ouJ
NumberとBigIntの二種類あるよ。
かつてNumberしかなかったのは、
JS作ってるほうも「JSで数値計算?そんなやつおらへんやろ〜」って感じだったんだと思う。
実際はそんなことはなかったという歴史は知っての通り。
0595デフォルトの名無しさん
垢版 |
2020/03/09(月) 20:29:51.94ID:8jAtqHAE
昔から知ってるやつからすると
ホームページ上で動的にデザイン変えるための言語だよなそもそもは
0597デフォルトの名無しさん
垢版 |
2020/03/09(月) 21:37:38.49ID:ZpX38Mjq
TypeScript、普通にトップクラスに書きやすいから困る
json 扱うなら TypeScript さいつよ
0598デフォルトの名無しさん
垢版 |
2020/03/09(月) 21:57:00.16ID:y1num/wG
JavaScriptでも、ビット演算は32bit符号付き整数に対する演算と決められてるので、
直接32bit整数の値を作れはしなくても、内部的にそのような型は存在はしてるはず

JavaScriptではビット演算はオペランドをこの32bit整数に暗黙的に型変換してから
実行するので、これを利用してNumber型を"整数型"に変換できる
a = Math.PI | 0
a == 3 // --> true

実際、JavaScriptにトランスパイルされるAltJSのPureScriptではInt型があるけど、
PSからコンパイルされたJS見てみると、Intは|0で実装されてるのがわかる。
0599デフォルトの名無しさん
垢版 |
2020/03/09(月) 22:05:45.05ID:m8/R2X0g
asm.jsと言うのものがあってだな・・・
元々誰も使ってなかった上にwasmの登場で完全にいらない子になったけど
0600デフォルトの名無しさん
垢版 |
2020/03/09(月) 22:09:10.66ID:+A4ZnB3N
int型の有無で言語を2つ以上作る世代は早く終わってほしい
ライブラリを追加するだけですむようにしてくれ
0605デフォルトの名無しさん
垢版 |
2020/03/10(火) 01:26:22.74ID:p2qIixd6
優秀つってもしょせんC++で作られたプログラムだろ?C++褒め称えろよ
0606デフォルトの名無しさん
垢版 |
2020/03/10(火) 02:25:56.91ID:pLogcX5n
出発点だったら何なんだよ
すべてのC言語プログラマはBCPLを崇め奉らなきゃいけないのか?
どっちが間抜けだよ
0607デフォルトの名無しさん
垢版 |
2020/03/10(火) 02:57:32.01ID:YCA0GKqZ

V8はC++で作られてるでしょ?
CコンパイラはBCPLで書かれてるの?
違うでしょ?大抵CかC++で書かれてるでしょ?
何で書かれてるかと何が先祖かの区別つかないとか、頭大丈夫?w
0609デフォルトの名無しさん
垢版 |
2020/03/10(火) 07:40:37.31ID:zMjjJrJs
でもアセンブラとC++にはマクロがあるから
文字列指向というか

asm.jsもテキスト形式だな
0612デフォルトの名無しさん
垢版 |
2020/03/10(火) 12:27:40.09ID:TTfAesFm
ももも、文字列指向www
マクロがあったらw
文w字w列w指w向www
Rustもマクロがあるから
文w字w列w指w向www
0613デフォルトの名無しさん
垢版 |
2020/03/10(火) 14:14:07.58ID:zMjjJrJs
IDEも予測入力もなかった時代に入力を補完するオーパーツ的な存在がマクロ
引数があれば補完後のどこかに挿入されたりする
0616デフォルトの名無しさん
垢版 |
2020/03/10(火) 19:21:25.93ID:wOkC+tNx
defineマクロみたいなのは純粋な文字列置換
lisp系とか高級になるとトークンを受け取ってどのような構文木を作って返すかプログラマーが操作できる処理
0618デフォルトの名無しさん
垢版 |
2020/03/10(火) 20:04:37.71ID:ZpJirelH
フォトジェニックマクロとか言うやつでしょ?ぼく知ってるよ
0621デフォルトの名無しさん
垢版 |
2020/03/11(水) 02:11:53.77ID:zwwCe0yv
スレタイにJulia入れなかったのはつまりそういうことか
0622デフォルトの名無しさん
垢版 |
2020/03/12(木) 01:25:03.61ID:cYhZNtzC
Rust触ってみたいんだけど逆に悪いところってなに?
いいところしか聞かないから聞きたい
0625デフォルトの名無しさん
垢版 |
2020/03/12(木) 09:23:56.54ID:cdl9Dqe3
コミュニティーがことごとく都合の悪いことをなかったことにしている。
そんなに悪いとこがねーならとっくに他の言語を置き換えてるだろうに。
0626デフォルトの名無しさん
垢版 |
2020/03/12(木) 09:34:32.26ID:SjQQh/Ja
安全教信者がうるさいって印象はある
でも言語自体はよくできてると思うわ
Let's EncryptのやらかしもRustなら防げたんだろうし
0627デフォルトの名無しさん
垢版 |
2020/03/12(木) 09:37:04.12ID:cdl9Dqe3
防げるわけねーだろ。。
結局低レイヤーの配列のインデックスに演算が必要な場合はunsafeだしな。
そういうところで嘘を表に出さないようなことやってるから信用がない。
0630デフォルトの名無しさん
垢版 |
2020/03/12(木) 10:35:24.94ID:pkrQoC1s
C++はユーザーに数十年間検査され欠陥が大量に見つかったがほとんど直さない
Rustはそもそも検査されてないので直すところもない

あとは正しい方を選ぶだけの簡単な作業
0631デフォルトの名無しさん
垢版 |
2020/03/12(木) 10:57:04.90ID:2DPQopCV
欠陥は誰かが騒ぐからググればすぐに出てくるので
実害はない。そこを避ければいいだけ。
普通、迂回策も書いてある。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況