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


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

次世代言語11[Rust Swift TypeScript Dart]



1 名前:デフォルトの名無しさん [2018/06/03(日) 23:53:27.92 ID:vrBh4O6u.net]
スレタイ以外の言語もok

前スレ
次世代言語10[Rust Swift TypeScript Dart]
https://mevius.5ch.net/test/read.cgi/tech/1524607347/

804 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 21:56:05.20 ID:SIV9Ebow.net]
>>787が書いてくれたが
俺も、どっちも細々としたもんだがFirefoxのほうがDelphi(製アプリ)よりはまだマシだろう、というつもりだった
その上で20年後の変更されまくったrustはDelphiやswiftより汚くなってそう、という予想

805 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 22:07:57.87 ID:TI86xS9J.net]
すでに汚いしな。

806 名前:デフォルトの名無しさん [2018/06/26(火) 22:12:37.76 ID:SLOKSalZ.net]
>>785

varがあるのはわかるけど、そこでvarを使う場面てあるのかね?

https://ideone.com/vMGLEg
```swift
case let .B(n):
let t = n+1
return String(t)
```

だって変わらんし

807 名前:デフォルトの名無しさん [2018/06/26(火) 22:24:29.16 ID:SLOKSalZ.net]
>>785
それにvarのときだけつければ良くないかね,Rustだと「mut」つけるだけだけど

https://play.rust-lang.org/?gist=f7bb032027fcdbc6db2f033c4874c27c&version=stable&mode=debug
```rust
AB::B(mut n) => {
n+=1;
n.to_string().into()
}
```

808 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 22:33:54.59 ID:wjruZlWa.net]
>>791
変数束縛にletとvarがある言語において、switchのときだけ変数束縛を特別扱いしてletやvarを省略できるのは一貫性が無いという考え方もある

809 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 22:39:59.15 ID:wjruZlWa.net]
それに短ければ良いなら、rustのlet mulよりswiftのvarの方が短い
パターンマッチより変数宣言方が良く出て来るしね

810 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 22:47:02.38 ID:b30is1tn.net]
20年後に汚くなるってのはみんなわりと納得するんじゃね?
C++もJavaも、時間経過とともにきっちり汚くなった
言語仕様こねくり回すのが仕事の人が存在するからしゃーないっちゃあしゃーない

811 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 22:48:50.88 ID:cumK515O.net]
難しい・易しいではなく汚い・美しいという見方をするのはなんでだろう
数学を諦めた感が漂ってる

812 名前:デフォルトの名無しさん [2018/06/26(火) 22:49:48.96 ID:SLOKSalZ.net]
>>793
そういう見方もあるけどね

でも
```
case let .B(x): return String(n)
```

```
case .B(let x): return String(n)
```
の違いってなんなのかね、違いがないなら「let」省略できたほうがいいように思うが



813 名前:デフォルトの名無しさん [2018/06/26(火) 22:51:21.79 ID:SLOKSalZ.net]
>>797
訂正: xじゃなくてn

814 名前:デフォルトの名無しさん [2018/06/26(火) 22:57:45.92 ID:SLOKSalZ.net]
>>794
短いことがいいんじゃないよ、理由なく冗長な構文がだめなだけ。

Rustはわざと「var」とかじゃなく「let mut」にしている理由は、通常イミュータブルを使うようにするため。
ミュータブルの構文が長いことでプログラマがイミュータブルをより一般的に使うよう促す効果がある。

815 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 23:00:40.71 ID:HsrbbpJS.net]
可読性の高い綺麗なPerlコードを書けるものだけが石を投げなさい

816 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 23:12:38.14 ID:SIV9Ebow.net]
>>799みたいなのは設計当初は綺麗なんだけど
後から、例えばD言語のconst/immutableみたいな選択肢を追加してしまうと罠に化けそうじゃない?(妄想だけど)
その点元が冗長ならある程度耐性がある、という話。後から省略可能にする方はできるしな

817 名前:デフォルトの名無しさん [2018/06/26(火) 23:29:44.42 ID:SLOKSalZ.net]
>>801
Dは全然知らないけど、調べたらデフォルトがミュータブルで、immutableをつけるとイミュータブルになるのか。

```
int x = 3; // ミュータブル
immutable int x = 3; // イミュータブル
auto s = "hello"; // イミュータブル
```

これはひどいな

818 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 23:32:04.35 ID:SIV9Ebow.net]
>>802
そこはまあしょうがないとして、イミュータブルにも種類があるという点

819 名前:に注目してくれ []
[ここ壊れてます]

820 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 23:40:45.19 ID:cumK515O.net]
コンパイル時に値がわかるのが定数
実行時に初期化するがその後は変更しないのがimmutableかな

821 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 23:56:28.51 ID:SIV9Ebow.net]
加えて、現在のスコープからは変更不可能だが実体はミュータブルかもしれないのがconst
更にそれぞれに推移のON/OFFがある

何も書かないのがイミュータブルだとその内の1つを適当に使ってるということで
選択肢が増えたときにどれか1つが不自然に短く書けてたことになるし
現状を突き詰め直したときにコンテキスト毎に別のだったなんてことになると目も当てられない

822 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 00:01:32.20 ID:3Z0mJH5D.net]
やっぱり言語仕様は頻繁に変えるべきということだな!w



823 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 00:50:40.19 ID:jdISqR1B.net]
>>802
ゲェジかな
ワイの方がよっぽどいい設計できるわ
この作者はワイのケツ穴でも舐めてた方が幾分有益な人生になったんじゃないかw

824 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 00:59:47.78 ID:CkpNpuYk.net]
>>805
GCが必須ではない言語の場合、ミュータブルならばメモリ解放もできる

現在のスコープからは変更不可能だが実体はメモリ解放するかも
というのは非常にまずい
現在のスコープから変更不可能ならば実体も変更不可能にしたい

825 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 01:19:45.86 ID:9jxZxPuA.net]
>>808
それだとイミュータブルなオブジェクトを貰って何かする関数に
ミュータブルなオブジェクトを渡せなくならない?

そうすると print とか toString とか hash とか compare とかありとあらゆるものが
immutable / mutable 2種類必要になる
引数に2つオブジェクトがあると4種
3つなら8種

826 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 20:24:28.42 ID:GckfUNYK.net]
ただの再代入不可な変数をイミュータブルって言い始めたのって何の言語からなの

827 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 21:06:16.07 ID:7rLtDwhR.net]
>>810
たぶん英語だと思う

828 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 08:21:12.64 ID:1UW06GNd.net]
>>795
pythonなんかも細かいところはど汚いわけだがあんまりそういう汚いところ
触らんでも仕事になるって違いはある。
てかシンタックスなんててきとうにチェックでもそんな問題にならんよ。
self書かされることなんて文法で規制されてるわけでもないが問題になることなんてない。

829 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 09:12:05.44 ID:iOzvNZgV.net]
>>810
変更可、不可という概念は別に変数に限った話じゃない

830 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 09:23:47.61 ID:XwuS30Hh.net]
Pythonの型アノテーション試してるけど正直苦痛
TypeScriptを使ってるときには全く感じなかった無駄なもの書かされてる感がすごい
というかTypeScriptの統合が完璧すぎるんだな
型書くことはノイズになるどころかコードをむしろ美しくするとすら思えるもんな

831 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 10:57:44.57 ID:0VaRYdhC.net]
少しでも欲を出せばそうなる
完璧な無欲か完璧な満足かの1bitしかない
HaskellやRustのようになるまで止まらないぞ

832 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 11:15:41.22 ID:tgpXEKjE.net]
>>814
Python 3.6の変数アノテーションはTypeScriptと大して変わらないのでは?
以前のコメント形式は糞だったけど



833 名前:デフォルトの名無しさん [2018/06/29(金) 13:13:42.11 ID:8rEU0m4z.net]
>>814
全部の変数にアノテーション付けようとしてる?
基本、関数・メソッドの入出力だけでいいぞ
残りは大体推測してくれる

834 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 13:43:06.77 ID:HOtQS3nQ.net]
>>817
ライブラリなどの既存メソッドの戻り値はほとんど型なしだから結局オレオレ型宣言を左辺の変数に付けて回

835 名前:ることになる []
[ここ壊れてます]

836 名前:デフォルトの名無しさん [2018/06/29(金) 15:55:24.38 ID:546QQsBD.net]
>>818
あー、過渡期だからそれはあるかもね
対策としては、他モジュールを呼び出すところはなるべく集める、いきなり完璧を目指さないぐらいか

837 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 20:05:29.68 ID:SWySBfmj.net]
そんなに型に気を使って消耗する位ならもう生js使おう
適当にラッパーかけとけラッパー

838 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 21:06:52.59 ID:M/T+ZgVo.net]
>>820

TypeScriptユーザーがシコシコ型定義ファイル作ってるおかげで、vscodeでjsでも補完きくんやで。感謝せーや

839 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 21:09:19.97 ID:0KEVr9Fm.net]
せめて同梱の標準ライブラリくらいは網羅しておいてほしいよね。

840 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 21:11:52.89 ID:M/T+ZgVo.net]
>>814
typeScriptみたく型定義ファイルの共有する仕組み無いの?
いちいち書くのはしんどいな。

841 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 21:39:48.60 ID:0VaRYdhC.net]
>>823
しんどいのか
その作業がないということはライブラリの作者は楽をしている
だからライブラリが増やすのも楽
そういう仕組みなんだろう

842 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 22:21:57.95 ID:5dIySMmw.net]
>>824
TypeScriptの場合は型定義を提供することでTypeScriptユーザーに使ってもらいやすくなり、
ユーザーの増加がライブラリ製作者にとって一手間かけるモチベーションになる
Pythonの場合は型アノテーションを付けたらPython3.5以上でしか使えなくなるのでユーザーは確実に減る
結果、誰も対応しない
根本的に破綻してるんだよ



843 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 22:35:49.90 ID:0VaRYdhC.net]
>>825
破綻してるのはお前のマウンティングだよ
マウントが酷いのはHaskellで、TypeScriptは無関係みたいなイメージが根本的に壊れた

844 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 22:39:04.05 ID:Yl8lnP6m.net]
そんなんでイメージ変わるのかよ…

845 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 23:18:51.02 ID:ifNvOhNj.net]
おれ的にはこのまま型定義ファイルがすべてのライブラリに標準装備されて緩やかにjsがts化していくことを希望したい。
最初から型定義がライブラリに入っていること多くなってきたよな、

846 名前:デフォルトの名無しさん [2018/06/29(金) 23:54:19.04 ID:uRtJ4/dJ.net]
>>828
それには同意

847 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 02:42:20.84 ID:eHfkv0CB.net]
このスレに来て初めてマウンティングって言葉を知ったわ。

848 名前:デフォルトの名無しさん [2018/06/30(土) 03:36:46.79 ID:+abKhVkF.net]
>>823
あるよ。
typeshedてのがそれ

>>825
関数の引数、返値なら3.0から書けるし、コメント使うか別ファイルに書くやり方なら2.7にも対応可能ですが

849 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 08:02:10.37 ID:tr0WXiW5.net]
Haxe では型定義ファイルがあるから、型推論も入力補完もできる

850 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 09:44:21.50 ID:4h701pQF.net]
通常ならライブラリ本体丸ごと読んで型を調べるべきだ
本体に型がないなら別ファイルに書く

851 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 12:26:26.59 ID:aZHCYAl9.net]
>>831
なんだあるんだ。なら型付言語として使われるのも時間の問題だな。
rubyにもあるみたいだし、
ライブラリのインターフェースだけでも型付き当たり前の世界が来そうだね

852 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 14:15:03.20 ID:BB0BPsjY.net]
まーたruby信者のそ、そんなのる、るびぃでもできるし!か。呆れ
なんでもかんでも深く考えず流行りをそうやって後付けで増築してって奇形極まってるよね。二度と使わないよ。



853 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 15:58:28.61 ID:9HearrjU.net]
rubyの違法建築感は否定しない
が、なんかまとめ臭い書き方だなおい
5chエアプか?

854 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 16:41:24.65 ID:oxrLiD+S.net]
るびぃ

855 名前:信者、Proc.new、ラムダ、ブロックにおけるreturn、break、nextの挙動の違いをまとめようとした模様
https://qiita.com/jnchito/items/83410c0cda446efea582

結果、ややこしすぎるためコーディングを工夫してreturnやbreakの使用を避けましょうというなんじゃそりゃな結論www

何か理由があってわざわざ挙動を変えたんだろうが(まさか行き当たりばったりってことはないよね笑)ややこしすぎで使用自体を避けられてちゃ本末転倒だよなwww
[]
[ここ壊れてます]

856 名前:デフォルトの名無しさん [2018/06/30(土) 17:39:57.19 ID:RHrrdh8p.net]
>>836
その人はrustがコンパイルできないおじさんだからほっときなさい

857 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 18:00:17.99 ID:Q/uEsP1n.net]
rust
ruby
似てないこともないな

858 名前:デフォルトの名無しさん [2018/06/30(土) 18:59:53.28 ID:+abKhVkF.net]
>>834,836
とはいえ、ruby にまともに使える型チェックの実装があるのかには興味あるな。
まえ調べた感じだと、教祖の型チェック周りの発言はフワッフワだし、実装してみたい個人が互換性のない「オレオレ型チェック」を作っては破棄してる感じで、万人が使えるものは何一つないようなんだが。

859 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 19:02:48.17 ID:6fEIEQu0.net]
どうせ
if type(...) != my_class:
とかのシュガーだろ。そんなもんに目くじら立てても意味あるのかね。

860 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 19:33:21.11 ID:CMs/fWc6.net]
Rubyはオモチャだから型付けなんて要りません
それより散らかったオモチャを片付けなさい

861 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 20:38:08.56 ID:4h701pQF.net]
自分のために違法建築したとは考えにくい
ユーザーを忖度して違法建築なら利己的ではないからOKという風潮があったんじゃないか

会ったこともないユーザーをモチベーションにするのはやめてほしい

862 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 23:16:50.81 ID:tr0WXiW5.net]
>>837
Ruby のProc, block はクロージャだから、クロージャを囲む関数から戻る。
一方ラムダは、単にクロージャを抜けるだけ。
Groovy なども参照

def f
(0..5).each do |i|
puts i
return if i == 3
end
end

f() #=> 0, 1, 2, 3



863 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 23:39:42.18 ID:xV+Shhkx.net]
>Ruby のProc, block はクロージャだから、クロージャを囲む関数から戻る。

クロージャ「だから」、クロージャを囲む関数から戻る??

まるでクロージャだったら当然の挙動と言わんばかりの書き方だけど、クロージャってそんなんだっけ?

864 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 00:39:17.02 ID:tX8JlSDC.net]
そんなものちゃんと読んでる>>845に感心したw
ネットにはゴミが多いね

865 名前:デフォルトの名無しさん [2018/07/01(日) 01:54:08.61 ID:5prQoZWD.net]
>>845
ヒント:Smalltalk

866 名前:844 mailto:sage [2018/07/01(日) 02:00:27.83 ID:YZ+qvhoO.net]
クロージャは、クロージャの外側の環境をつかんでいる。
つまり、クロージャを囲む関数内の変数をつかんでいる

だから、クロージャ内でreturn すれば、外側の関数も抜けて、
関数内の変数なども、解放した方が良いと考えた

Groovy の挙動とは違うかも

867 名前:デフォルトの名無しさん [2018/07/01(日) 02:11:27.56 ID:FQlsc9Xo.net]
>>848
return だけだったら納得できるんだが、next や break の扱いがぐちゃぐちゃなのはどう説明するの?

868 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 02:52:24.35 ID:QlwNZjji.net]
>>847
関数型でもないウンコ言語がクロージャの話に入ってくんな
何の参考にもならんわ

869 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 03:04:39.74 ID:3SrV2o5x.net]
>>837
> まさか行き当たりばったりってことはないよね笑

その、まさかだぞ。
楽しくプログラミング()した結果が仕様だ文句あるか!w

870 名前:844 mailto:sage [2018/07/01(日) 08:32:31.95 ID:YZ+qvhoO.net]
クロージャ(block

871 名前:)内のbreak は、クロージャを抜けるだけで、外側の関数は抜けない。
関数の最後まで実行される

クロージャ内のnext は、次の繰り返しに進むだけで、クロージャも抜けない。
クロージャの最後まで実行される

def f
num = 0
(0..5).each do |i|
num = i
break if i == 3
end
puts num
end

f() #=> 3
[]
[ここ壊れてます]

872 名前:デフォルトの名無しさん [2018/07/01(日) 08:58:20.58 ID:mO0FHij0.net]
すみませんがゴミの話は当該スレでお願いします



873 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 09:01:20.31 ID:TobyyIDd.net]
これ他の言語にも影響あるだろ
continueはバグの原因になるとか、gotoの方がマシとか言われる

874 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 09:18:30.80 ID:5prQoZWD.net]
>>850
えー?closureが関数型特有な概念だと思ってるわけー?
面白いね、それ。本当は純粋関数型ではclosureはさほど重要ではないのだけど。
どうしてclosureが関数型固有な概念だと思ったのか、説明してごらん?

875 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 09:22:52.78 ID:TobyyIDd.net]
>>855
おまえが自分で説明しないで人に説明させようとするからだよ
もし関数型の人が説明したら関数型の概念になるに決まってるだろ

876 名前:デフォルトの名無しさん [2018/07/01(日) 09:23:49.76 ID:FQlsc9Xo.net]
>>852
あなたが closure だからと主張する、block は 952の挙動だが Proc では break は例外吐くらしいけど何で?

# 言っちゃ悪いが、closure は定義した時点での環境を基準に動作が普通だと思うんで、
# ループ外で定義されているならば next/break は一律例外吐くで無いと一貫性がないようにしか見えん。

877 名前:デフォルトの名無しさん [2018/07/01(日) 09:24:49.31 ID:FQlsc9Xo.net]
>>857
すまん、「block は >>852の挙動」だな。

878 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 09:25:25.69 ID:89p34iy1.net]
このbreakとnextは並列コレクションで困る気はする

879 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 10:22:00.59 ID:5prQoZWD.net]
>>856
へー、技術のベースになる概念が、関数型の人が説明したら別物になるのかー
おもしろいねークスクス

880 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 10:23:24.47 ID:5prQoZWD.net]
>>856
で、関数型の人って誰?ばか?

881 名前:デフォルトの名無しさん [2018/07/01(日) 10:45:16.40 ID:QlwNZjji.net]
Smalltalkの人たちはScalaやRustのtraitsに対して、オリジナルのSmalltalkと違うからダメだ!あれは別物!って批判するくせに
他の言語より後に実装したclosureについては独自仕様でも問題ない、技術ベースで語れっておかしくね?
ダブスタも甚だしいだろ

882 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 10:48:49.50 ID:TobyyIDd.net]
忖度とか伝言ゲームとかいう問題を織り込むまでがITです



883 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 10:59:11.30 ID:uHA6sqOS.net]
>>844はクロージャなら当然あるべき姿としてRubyのProcを語ってるからなぁ

それに対して>>847がヒント:Smalltalkって言ってるのは
要するにSmalltalkがクロージャのあるべき姿を体現してるって言ってるワケで、そりゃ傲慢すぎる

ただの一例としてSmalltalkのような仕様もあるって言うなら批判されないのに

884 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 11:00:03.93 ID:7m3QggRW.net]
クロージャの方が自身の関数スコープを持ってる印象だな
メジャーな中では Java, C#, C++, JavaScript, Obj-C, Swift などがそうだし
Rubyのラムダも上記と概ね同じに見える

ブロックは文字通りコードの塊と考えるとreturnやbreakについて妥当な動きに見える

Proc.newは挙動がキモい

↓によるとdo…endも挙動が違うらしいから >>837 のリンク先は4種で比較した方がいいかもな
https://qiita.com/riocampos/items/43e4431ddff93e01a18d

885 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 11:08:34.39 ID:7m3QggRW.net]
中身読んだら結合度の差だったので >>865 の最後2行は撤回する

886 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 11:16:48.58 ID:5prQoZWD.net]
>>864
妄想が激しいね。
ヒント:Smalltalkっていうのは、Rubyのそのヘンテコな仕様はSmalltalk由来だということなんだけど。
お大事にね

887 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 11:19:42.69 ID:5prQoZWD.net]
>>862
きみ、結局はSmalltalkでのクロージャからのreturnの仕様を調べることすらしないで
思い込みだけで騒いでるでしょ?
そういうのを「バカ」って言うんだよ

888 名前:857 [2018/07/01(日) 11:25:18.69 ID:usR85dqh.net]
>>867
smalltalkには break や continue (next) はないだろう?
ruby のは、closure に break や next を持ち込んでおかしくなっているように見えるよ。

889 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 11:43:42.24 ID:fENDu7uP.net]
Smalltalkの仕様がどうであれ、それがRubyの仕様を正当化すると思ってなされているレス(>>847だの>>867だの)は
結局Smalltalkの仕様に権威がある、またはRubyがSmalltalkを模倣するだけの理由があるのを前提にしているわけで
傲慢という批判は妥当に思うな

890 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 11:52:10.11 ID:tX8JlSDC.net]
気持ち悪い挙動だと言いがかりをつける気満々のレスに対して
smalltalk でもそうだった昔からある挙動ですよと指摘しているだけでは。

なにも知らなければ議論はできない
といって smalltalk の知識は前提にしていいのかは疑問
とはいえやはり共通の知識がないと議論は無理だし難しいわ

891 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 12:46:18.88 ID:fENDu7uP.net]
Smalltalkを前提にすることに意味はない(Rubyと周辺状況が違いすぎるのに何故真似た?)というのが
すぐ直前の議論では

892 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 12:59:23.83 ID:gbNzWOju.net]
俺を批判するのはSmalltalkを批判するのと同じだっていうことの意味は一応ある
自分自身を守るためではなく仲間を守るためという大義名分ができる



893 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 13:03:25.38 ID:QlwNZjji.net]
滅びた言語のヘンテコな機能を真似た言語が
やっぱりヘンテコになって滅びつつある
それだけの話ではある

894 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 13:04:20.30 ID:yp7ufL3+.net]
もうRubyの話はやめよう
次世代でも現世代でもないし

895 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 13:25:35.07 ID:5wbqPO3N.net]
なんで?
rubyは触ってないけど、rubykaigiとかで盛り上がってる様子見てると、楽しそうだし盛り上がってる感あるけど。未だ現役じゃないの?
スタートアップがrails採用するイメージって、まだ古くないよね?
最近だとrailsのボトルネック部分をgoで書く話が面白かった。

896 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 13:42:13.57 ID:k6Y+DK56.net]
perlの後継になりそこなったし
海外の人気がかなり落ちてるからね
rails用言語で終わってしまった感

897 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 13:43:43.18 ID:3SrV2o5x.net]
railsにincludedされてるバッテリーだろ?www

898 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 13:57:23.22 ID:5wbqPO3N.net]
つーかrails言語で別に良くないか?
言語なんて所詮はツールなんだから。
bashでwebサービス作るやつはいないだろ?

899 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 14:06:40.12 ID:gbNzWOju.net]
目的と結果を比較されるから
目的はこれだったのに結果はこれなのか?と

目的などどうでもいいと断言できる人は少ない

900 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 15:32:54.19 ID:5prQoZWD.net]
>>870
そこまで妄想が激しいようだと治療は困難だね。
でもあきらめないで、先生からもらった薬をちゃんと飲むようにね。
でないと他人様に迷惑かけることになるから。
やくそくだよ。

901 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 15:34:06.79 ID:2efWQwxv.net]
薬? お薬の幻覚でも見えてんのか?

902 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 15:40:22.85 ID:QlwNZjji.net]
Smalltalkという完全に終わった言語に執着してるんだから
まあフツーに頭がおかしいんでしょう
薬飲めも普段自分が言われてるんだろうね



903 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 15:55:04.17 ID:2efWQwxv.net]
自分が言われたら嫌なことを人に言うって奴かw

904 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 16:07:47.75 ID:rXvfzJkI.net]
ここでも見てとれるようにRubyは言語と言うより信者がクソ。
他言語のスレで聞いてもないのにルビーデワールビーデワー宣伝必死過ぎてウザい。
Ruby自体は悪くない。






[ 続きを読む ] / [ 携帯版 ]

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

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