次世代言語13 Go Rust Swift Kotlin TypeScript

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/08/20(月) 21:55:53.03ID:JBCtYT+G
スレタイ以外の言語もok

前スレ
次世代言語12 Go Rust Swift Kotlin TypeScript
http://mevius.5ch.net/test/read.cgi/tech/1530664695/
2018/08/28(火) 20:51:44.96ID:7f0I5EGI
>>168

let fromSettingFile = "true"
let checked = Bool(fromSettingFile)
print( type(of:checked) )

--output-----------
Optional<Bool>
2018/08/28(火) 21:16:31.72ID:et++zaIG
半角さん現るw
2018/08/28(火) 21:48:28.78ID:NpcISEiM
C#とかKotlinのnullable booleanは true か false との比較がいる
2018/08/28(火) 21:50:40.71ID:edw0fiqP
checkedがNaNの時等価じゃないだろ
173デフォルトの名無しさん
垢版 |
2018/08/28(火) 21:59:42.32ID:hby/BPp+
ブーリアンをそんな頭悪い使い方するのがそもそも間違い
もはやそれはブーリアンじゃない

ブーリアンにnullいれたりするような頭悪いヤツが書いたコードは
えてしてundefinedになってるような更に上をいくスーパーウンコブーリアンがまじってる
174デフォルトの名無しさん
垢版 |
2018/08/28(火) 22:05:20.31ID:hby/BPp+
true、false、null
とかただの3ステートだからな

コレはもうブーリアンじゃない
1、2、3でも入れとけばいい
2018/08/28(火) 22:07:30.20ID:fXAZZcRu
>>174
ファジー論理学とか。よく知らんけど。
176デフォルトの名無しさん
垢版 |
2018/08/28(火) 22:10:45.66ID:hby/BPp+
そんなもん表現するなら
0~1の浮動小数点入れるか
0~255の数値いれたりして
度合いを正規化する

3つだけとか貧弱すぎ
超意味ない
2018/08/28(火) 22:13:15.70ID:NpcISEiM
できる限り nullable を回避すべきなのはそうだけど、APIの結果(json)とかLEFT JOINの結果をデシリアライズする際に nullable を使うことはよくある
2018/08/28(火) 22:18:01.32ID:gML/vais
>>174
nullとundefinedがまた更に別
2018/08/28(火) 22:20:54.04ID:Z8Vrq7+b
javascriptのクソ仕様を他に伝搬させるな
2018/08/28(火) 22:42:29.81ID:vFWqxH+c
>>147
それをアレするのはリンダってゆうんやで
2018/08/28(火) 22:44:40.54ID:vFWqxH+c
>>159
ワナビーの法則やな
誰でも口出しできる駐輪場の話題が一番盛り上がって恋仲を深めるってやつ
2018/08/28(火) 22:46:37.27ID:vFWqxH+c
3つの状態を持つのはSQLで三値論理演算ゆうんやで
無学なおまいら何も知らないNOOBYよ
183デフォルトの名無しさん
垢版 |
2018/08/28(火) 22:49:45.78ID:hby/BPp+
DBの設計がまともにできない知恵遅れが設計すると
そういうウンコDBができるとアホが自慢してる
184デフォルトの名無しさん
垢版 |
2018/08/28(火) 22:54:34.25ID:hby/BPp+
知恵遅れが設計したDBはSQLの抽出条件もnvlだらけになる
2018/08/28(火) 22:57:41.01ID:ixRLZ+D8
いやいや、ディビニストの基本やぞ・・・
三値論理演算できて初めて半人前のお赤飯や
愚か者
186デフォルトの名無しさん
垢版 |
2018/08/28(火) 23:00:33.92ID:hby/BPp+
nullとから文字は違うと
みなわかってることを
みなにドヤ顔で話してるバカとそっくりなヤツが
このスレにもいる

そいつ知能が著しく低いことは
みなしってるがだれもそいつにはいわない

オマエはな、そういう自覚はもっといやほうがいい
187デフォルトの名無しさん
垢版 |
2018/08/28(火) 23:01:53.05ID:hby/BPp+
DBでもnull可能なブーリアン入れる知恵遅れなんかまずいない
2018/08/28(火) 23:03:02.22ID:ixRLZ+D8
クソバカ半角がいじw
ナールを正しく扱えて初めて半人前だのクラッカーボレーだッッッ(ジョジョッ)
189デフォルトの名無しさん
垢版 |
2018/08/28(火) 23:35:15.67ID:hby/BPp+
マーケティングリサーチなんかの調査票で
はい、いいえという選択肢がない項目でも
DKやOMITが付与されることがある
クロス集計するときそれがカテゴリになったり除外されることがある

知恵遅れにそういうのを放置してやらせると
そのまんま見た目でそういう変数ですらブーリアンにしてしまう

このスレにはその程度の知能のヤツがウヨウヨいる
2018/08/28(火) 23:41:51.99ID:g4U2T+jR
最初の条件は誰もbooleanとは言ってないのにねぇ>コレはもうブーリアンじゃない
191デフォルトの名無しさん
垢版 |
2018/08/28(火) 23:46:10.87ID:hby/BPp+
明らかにブーリアン
コレをブーリアンのことをいってないと考えれるなら
オツムに軽度の障害がある

145 名前:デフォルトの名無しさん[sage] 投稿日:2018年08月28日(火) 13時32分07秒52 [昼] ID:YFDGQHp2 [1/3]
if checked == true 〜
if checked != true 〜
みたいな馬鹿馬鹿しい判定がコンパイルエラーになる言語ってない?

147 名前:デフォルトの名無しさん[sage] 投稿日:2018年08月28日(火) 16時02分37秒80 [夕方] ID:YFDGQHp2 [2/3]
伝わってないようだけど
checked == true や checked != true みたいなバカなコーディングを
コンパイルエラーにしてくれる言語はないのか? 

150 名前:デフォルトの名無しさん[sage] 投稿日:2018年08月28日(火) 17時57分19秒80 [夕方] ID:YFDGQHp2 [3/3]
非建設的でコミュ障な回答ありがとうございました
非建設的な馬鹿は死ななけば治らないのですね
192デフォルトの名無しさん
垢版 |
2018/08/28(火) 23:49:14.00ID:hby/BPp+
オツムに軽度の障害があるから
D:YFDGQHp2 ← コイツの質問の意図も読みとれないワケ

で、このスレの池沼たちは質問と無関係なトンチンカンなアホなレスばっかりしてるワケ

わかった?
2018/08/28(火) 23:53:33.19ID:rofHFqPM
ていうかこれ質問が悪いよね
どっちにも解釈できる
2018/08/29(水) 00:39:46.87ID:WBp+gbgf
型無し糞言語が能無し糞ガイジを産む
負のwhile (true) ループ
2018/08/29(水) 00:40:46.22ID:IJ3hSlk/
ローコンテキスト文化なところでハイコンテキストな質問をする方が悪いとしか
2018/08/29(水) 01:17:12.49ID:pYcA3LnZ
コミュ症だから意図がよみとれないんじゃないか
2018/08/29(水) 01:48:53.74ID:0CwGsWHn
スレ的にJuliaはどう?
1.0なったのに全然話題になってないな
2018/08/29(水) 01:58:33.25ID:mxENW9mj
結局 if err != nil 無くそうとしてるじゃねーか
今までの主張はなんだったんだ
https://go.googlesource.com/proposal/+/master/design/go2draft.md
2018/08/29(水) 02:17:33.77ID:Md5DkR0O
Goのエラーハンドリングは先進的だとかジェネリックなんか必要ないとか言ってドヤ顔してた人は今どんな気持ち?w
2018/08/29(水) 06:25:28.09ID:FkuJoTq5
Google様の仰られる言葉は全て正しいんやで
2018/08/29(水) 07:30:40.82ID:4JuKKSSB
>>199
先進的だとか必要ない、ではなくてどちらも弊害が多い、の間違いだろ
2018/08/29(水) 07:40:17.12ID:GqBN8ZFM
これでgoも一般のクソ言語の仲間入りだね。
203デフォルトの名無しさん
垢版 |
2018/08/29(水) 07:55:44.86ID:skfmkunk
エラーハンドリングとジェネリクスは弊害か多い??
エラーハンドリングなんかしちゃだめだって主張??
2018/08/29(水) 08:26:21.14ID:azUIVUCr
誰かgo2の解説頼む。
2018/08/29(水) 08:50:24.08ID:DW0Jb9Fq
conditionはexpressionだろ
checkedも、checked==trueもexpressionじゃん。

はい、いいえ以外の選択肢はあるよ。無回答だ。
無回答という値を作ってもいいが、普通はnullだろ。
そのためのnullだ。集計してもnullに食われる「ようになってる」。
2018/08/29(水) 08:54:19.80ID:Md5DkR0O
NOと言えない島猿
2018/08/29(水) 09:53:38.09ID:3Y4hBlHJ
> if checked == true 〜
> if checked != true 〜

これなぁ
プルリクでこれきたらなおさせてたが最近は認めてる

バカはバカなりに特定の値で分岐するときのイディオムとしてifと==を組み合わせて使うって覚えてるんだよ
intであろうがboolであろうが同じ
そう思うとこれはこれで一貫性ある
実際これが読みにくいって感じることはないし
コンパイラは黙って最適化するし

なので許すことにした
自分では書かないが
2018/08/29(水) 10:34:17.12ID:FFtlPXOG
Swift大勝利じゃないか
C++もgoも後を追ってくる
2018/08/29(水) 10:41:05.27ID:f5noujOQ
winでswift使わせてよー
2018/08/29(水) 11:47:51.64ID:DBASjTr8
nullだのエラー処理だの言ってるのはモナド
モナドは型を書かないと意味わからないし
その型はジェネリクスのようなものがないと宣言できない
2018/08/29(水) 12:02:48.71ID:u5ADcZZb
>>208
そのSwiftはRustの後を追ってる
やっぱりRustなんだよなぁ
2018/08/29(水) 12:17:51.45ID:DW0Jb9Fq
falsyなものが無い言語ならどっちでも良いとは思うけど、どっちにも言い分はあると思う。
APIの戻り値なんかが変わったときに
「何もしないで同じ動きをして欲しい。自動テスト転ばないのが唯一の正義」派と
「明確に対応したい。転ばない自動テストが間違ってる。そもそもちゃんとアサーションしろ、本当にtrueでもfalseでもない状態はありえないか?メモリ化けとかどーすんの?」派の違いだと思うわ。

結局falsyな言語だと「本当にfalse」と「falseではないがfalseとみなされる」を、混同したい場合も区別したい場合もあるんだし。
2018/08/29(水) 13:43:29.30ID:DBASjTr8
Perlでは数値と数値の比較には==を、文字列と文字列の比較にはeqという演算子を使う
数値と文字列の比較はない
数値なら0だけがfalse
それ以外にfalsyな値は存在しない
2018/08/29(水) 16:28:08.12ID:A/ggV7aH
>>207
俺もこれだわ
二重否定以外は大抵許してる

3値論理の必要性は分かるけど、開発メンテしていく上では邪魔なので基本使わせない
2018/08/29(水) 16:32:06.97ID:7N1N66pK
Swiftなんかあったの?
2018/08/30(木) 00:00:20.35ID:UmVQrNZ9
> if checked == true

この流儀?を許したら
if checked == true
if checked != true
if checked == false
if checked != false
の四兄弟がセットで押し寄せてくる
さらに
if (n > 10) == true
if (enabled & visible) = true
if checked == true && enabled == true && visible == true
なども体をねじ込んでくる
さあ楽しくなってくるじゃないか
2018/08/30(木) 00:08:34.03ID:K2XYaSpY
ワナビーの凡人法則

糞どうでもいい低レベルな議論しかできないヤツが
糞どうでもいい話に飛びついて
ここぞとばかりに高説ぶる


死ねば
ええんちゃうか?ωωω
2018/08/30(木) 00:14:26.32ID:mi8K02wj
オブジェクト指向でいうとboolに==メソッドがあるのが悪い
もしObjectクラスの==をboolが継承しているなら、Objectクラスが存在するのが悪い
219デフォルトの名無しさん
垢版 |
2018/08/30(木) 00:47:04.12ID:DrSr47TU
オメーガ?
2018/08/30(木) 00:48:13.84ID:K2XYaSpY
だからさー!君たちワナビーの法則やっちゅうねんバカなのか!
2018/08/30(木) 00:55:49.05ID:H/5/FX9R
>>218
boolに比較演算子がないと型パラメータとして渡す時に要らん制限が増えるだろ
2018/08/30(木) 01:13:21.94ID:7OC3inua
>>218
論理演算子に同値が定義されていないのも色々と書きにくそう
notとandとorで書けるけど
223デフォルトの名無しさん
垢版 |
2018/08/30(木) 01:21:47.57ID:/0YXnEsV
2項比較演算子がダメということじゃないからな

  aho == true
  true == aho

 のブーリアンのリテラルが入ってる2項等価演算子はダメ

  aho == baka

 の2項等価演算子はアリ

わかった?
224デフォルトの名無しさん
垢版 |
2018/08/30(木) 01:24:38.44ID:/0YXnEsV
つまり、trueとfalseは
代入以外に使えないようにすればいい
2018/08/30(木) 03:28:31.53ID:IxfOs83u
>>213
空リストとか空文字列ってfalse扱いじゃなかったっけ?
2018/08/30(木) 03:31:50.70ID:fTlUE3DU
コミュニケーションじゃなくてプログラミングスタイルで繋がりたいんだろうが
実はそっちのほうがもっと無理
2018/08/30(木) 04:38:17.14ID:mi8K02wj
語学じゃなくて心理学とか脳科学とかでシンギュラリティしたいんだろ
そっちのほうが無理
2018/08/30(木) 07:11:50.68ID:K2XYaSpY
ワイノ話を聞かないとは無能揃いだね?
2018/08/30(木) 07:34:59.92ID:wxlIjpoe
半角の人はなぜ駄目かを全く読んでないのな。
2018/08/30(木) 07:39:56.35ID:K2XYaSpY
てゅかさ。深夜に書き込んでるってことはおまいら無職だろ
無職風情がワイ様無視してワナビー法則でイキってるとかマジゴミだろωωω
2018/08/30(木) 08:11:26.07ID:ff0XXJ3a
無駄だからそんな書き方しなくていいってだけで、それ自体何か害があるわけじゃないから
文法上禁止してしまう理由はないと思うがなぁ。
レビューで指摘するのはそれがコードスメルだからってだけだろう。
2018/08/30(木) 09:09:42.55ID:hUyiY/SJ
a == trueが禁止されたのでa ^ !trueに置換しておきました
2018/08/30(木) 09:55:24.67ID:K2XYaSpY
マジこのワナビーの法則の話いつまで続くんや
夏厨死ねよ
2018/08/30(木) 11:01:42.71ID:e8DSDd9g
>>225
文字列なら "" と "0" がfalse
数値なら0だけがfalse
235デフォルトの名無しさん
垢版 |
2018/08/30(木) 11:59:46.41ID:A5Nytyjy
perlには '0 but true' という、数値として 0 と比較すると一致するが if でそのまま使うと true 扱いになる特殊な値があったりする。
2018/08/30(木) 12:14:56.63ID:6I1bUcuW
次世代を担うに相応しい真偽評価戦略を語るべし
2018/08/30(木) 13:15:05.68ID:io9LYUoZ
次世代はif文が消えjsのthen的なものになります
2018/08/30(木) 13:47:18.38ID:6sRyznT+
うえー
2018/08/30(木) 13:49:00.74ID:e8DSDd9g
数値の偽は0
文字列の偽は "" "0"
オブジェクトの偽は null "" "0" その他
階層が深いほど偽が多い法則
2018/08/30(木) 13:57:19.48ID:k9/abrGo
次世代言語にはifもforもない
2018/08/30(木) 14:29:05.96ID:dTt5OSNq
アスペはこういうところに拘ってしまって先に進めないんだよね
2018/08/30(木) 14:47:28.76ID:e8DSDd9g
飯炊き三年握り八年
2018/08/30(木) 18:20:12.51ID:fWBwT80E
ちゃんと読んでないけど
boolなら
if checked / if !checked
でいいやん
2018/08/30(木) 18:57:30.25ID:JpHgwHVB
数値なりリストなりを暗黙に真偽値比較せずに
明確にすればいいだけじゃないの?
2018/08/30(木) 19:30:44.87ID:7mcJbcKo
直和な幽霊型でCheck|Uncheckを型に持たせて管理すればいいよ
246デフォルトの名無しさん
垢版 |
2018/08/30(木) 21:15:21.94ID:+O/rJ+xn
if で boolean 型以外を許さず、更に boolen 型の値の比較も許さない言語を作れば解決。
2018/08/30(木) 21:51:23.27ID:ff0XXJ3a
というかそれが普通なんだけどな。
型がないB言語の特徴を受け継いだCがなまじヒットしてしまったせいで
後続の言語もその悪習を真似るようになってしまった。
2018/08/30(木) 22:07:01.18ID:Ah+zwqqR
こんなしょうもないことに時間使ってもバグは減らないっていう事実にそろそろ気付こうよ。
249デフォルトの名無しさん
垢版 |
2018/08/30(木) 22:21:35.61ID:/0YXnEsV
低学歴知恵遅れが書いたなぜダメかを読んでない?
まず読む必要がない
頭悪すぎてお話にならないからな

適切にダメなケースを書いてるのはオレしかいないからな
当然、低学歴知恵遅れのレスなんかどうでもいいことになる
2018/08/30(木) 22:48:08.67ID:39ABXWI9
まず読む必要がない事を書いてくれてありがとうな
2018/08/30(木) 23:10:41.48ID:e8DSDd9g
些細なヘイトスピーチもきっちりデバッグしてる欧米の文化の方がITの才能がある
2018/08/31(金) 02:17:18.78ID:/VjCJv9E
>>233
ワナビーの法則
って何?
ググってもこのスレしか出てこないんだが
https://i.imgur.com/PzUYieo.jpg
2018/08/31(金) 05:21:39.77ID:J05bSyHo
>>248
ホントこれ
2018/08/31(金) 11:41:15.33ID:YfdxjJ3c
無益なものを批判する暇があったら
有害なものを批判しろよ
255デフォルトの名無しさん
垢版 |
2018/08/31(金) 19:26:31.62ID:waeuZPFW
右の睾丸を触られたら左の睾丸を触りなさい
2018/08/31(金) 19:58:49.98ID:YfdxjJ3c
刑を執行してはいけないが、裁判と有罪確定まではやっていい
257デフォルトの名無しさん
垢版 |
2018/08/31(金) 21:20:12.74ID:4ZfpOo1s
ギルティ
死刑!
2018/08/31(金) 23:12:29.91ID:hg6LXyjO
>>243
それが常人のイディオム
bool型の変数に説明的な変数名をつけるだけで
ifの可読性が増すなんてことは
自分で思いつくか
人のを見て気付くか
人に教わって知るか
いずれかの方法で自分のものにするはず

たぶんアホは変数名をflagなどにしてて
「フラグがTRUEのとき」などという覚え方をしてるからこそ
if flag_foo == true などという書き方になるんやろな、知らんけど
2018/08/31(金) 23:21:27.80ID:7Lf8QxyM
いつまで初心者な話題ばっかやってんの
つまりはそういうことなの?
2018/09/01(土) 02:13:15.43ID:BxU4Z/sw
a < b < c みたいな連続比較(演算子の連結?)って、なんで流行らないの?
2018/09/01(土) 02:24:21.20ID:I7Wpi/+P
Python、Julia、Mathematica辺りはできるね
意外にMatlabはできない
2018/09/01(土) 07:28:39.38ID:sv0UK566
>>260
大して簡素化しない割には、ANDしか対応できないからじゃね?
2018/09/01(土) 07:59:09.68ID:O36P/gVq
rangeにinかなにかでよさげ
2018/09/01(土) 08:01:36.87ID:FRKhXQkv
>>260
文法が複雑になるし、等値比較の扱いをどうするかが難しい
a < b < c == e >= f
これC系の優先順位に倣うと (a < b < c) == (e >= f) が自然だろうけど、たぶんこの式を書いた人の期待していた結果ではないだろう
2018/09/01(土) 10:17:17.34ID:y+HuzDXi
数学では a < b < c って表記は良くあるけど
a < b < c = e はそんなに出てこない気がする

そして a < b < c = e >= f はガイジが書いたとしか思えない
2018/09/01(土) 10:18:25.01ID:/xY33kfI
でも個人開発じゃなかったらガイジも書くから
2018/09/01(土) 10:31:17.38ID:8XWt4TWp
>>265
そんなに出てこなかろうが書けなきゃ一貫性に欠ける
a < b <= c の形に限るんなら a in (b..c] の方が美しいわ
2018/09/01(土) 10:56:33.83ID:y+HuzDXi
>>267
あんまり出てこないって言っただけで、>>265の二つめは出来た方が良いと思うよ。三つめガイジだけど
で、>>261に挙げられた言語は出来ないの?出来るんじゃね?
269267
垢版 |
2018/09/01(土) 11:13:45.36ID:8XWt4TWp
>>268
その上で、範囲チェックにしか使えないんなら範囲チェックに特化した表記の方が望ましいという意見なんだけど、言ってる意味わかる?
表記上は一般的に広く使えそうに見えて実は特定の限定的なパターンしか認めないってのは典型的なダメ言語だよ
■ このスレッドは過去ログ倉庫に格納されています