スレタイ以外の言語もok
前スレ
次世代言語10[Rust Swift TypeScript Dart]
https://mevius.5ch.net/test/read.cgi/tech/1524607347/
次世代言語11[Rust Swift TypeScript Dart]
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/06/03(日) 23:53:27.92ID:vrBh4O6u800デフォルトの名無しさん
2018/06/26(火) 23:00:40.71ID:HsrbbpJS 可読性の高い綺麗なPerlコードを書けるものだけが石を投げなさい
801デフォルトの名無しさん
2018/06/26(火) 23:12:38.14ID:SIV9Ebow >>799みたいなのは設計当初は綺麗なんだけど
後から、例えばD言語のconst/immutableみたいな選択肢を追加してしまうと罠に化けそうじゃない?(妄想だけど)
その点元が冗長ならある程度耐性がある、という話。後から省略可能にする方はできるしな
後から、例えばD言語のconst/immutableみたいな選択肢を追加してしまうと罠に化けそうじゃない?(妄想だけど)
その点元が冗長ならある程度耐性がある、という話。後から省略可能にする方はできるしな
802デフォルトの名無しさん
2018/06/26(火) 23:29:44.42ID:SLOKSalZ >>801
Dは全然知らないけど、調べたらデフォルトがミュータブルで、immutableをつけるとイミュータブルになるのか。
```
int x = 3; // ミュータブル
immutable int x = 3; // イミュータブル
auto s = "hello"; // イミュータブル
```
これはひどいな
Dは全然知らないけど、調べたらデフォルトがミュータブルで、immutableをつけるとイミュータブルになるのか。
```
int x = 3; // ミュータブル
immutable int x = 3; // イミュータブル
auto s = "hello"; // イミュータブル
```
これはひどいな
803デフォルトの名無しさん
2018/06/26(火) 23:32:04.35ID:SIV9Ebow >>802
そこはまあしょうがないとして、イミュータブルにも種類があるという点に注目してくれ
そこはまあしょうがないとして、イミュータブルにも種類があるという点に注目してくれ
804デフォルトの名無しさん
2018/06/26(火) 23:40:45.19ID:cumK515O コンパイル時に値がわかるのが定数
実行時に初期化するがその後は変更しないのがimmutableかな
実行時に初期化するがその後は変更しないのがimmutableかな
805デフォルトの名無しさん
2018/06/26(火) 23:56:28.51ID:SIV9Ebow 加えて、現在のスコープからは変更不可能だが実体はミュータブルかもしれないのがconst
更にそれぞれに推移のON/OFFがある
何も書かないのがイミュータブルだとその内の1つを適当に使ってるということで
選択肢が増えたときにどれか1つが不自然に短く書けてたことになるし
現状を突き詰め直したときにコンテキスト毎に別のだったなんてことになると目も当てられない
更にそれぞれに推移のON/OFFがある
何も書かないのがイミュータブルだとその内の1つを適当に使ってるということで
選択肢が増えたときにどれか1つが不自然に短く書けてたことになるし
現状を突き詰め直したときにコンテキスト毎に別のだったなんてことになると目も当てられない
806デフォルトの名無しさん
2018/06/27(水) 00:01:32.20ID:3Z0mJH5D やっぱり言語仕様は頻繁に変えるべきということだな!w
807デフォルトの名無しさん
2018/06/27(水) 00:50:40.19ID:jdISqR1B808デフォルトの名無しさん
2018/06/27(水) 00:59:47.78ID:CkpNpuYk >>805
GCが必須ではない言語の場合、ミュータブルならばメモリ解放もできる
現在のスコープからは変更不可能だが実体はメモリ解放するかも
というのは非常にまずい
現在のスコープから変更不可能ならば実体も変更不可能にしたい
GCが必須ではない言語の場合、ミュータブルならばメモリ解放もできる
現在のスコープからは変更不可能だが実体はメモリ解放するかも
というのは非常にまずい
現在のスコープから変更不可能ならば実体も変更不可能にしたい
809デフォルトの名無しさん
2018/06/27(水) 01:19:45.86ID:9jxZxPuA >>808
それだとイミュータブルなオブジェクトを貰って何かする関数に
ミュータブルなオブジェクトを渡せなくならない?
そうすると print とか toString とか hash とか compare とかありとあらゆるものが
immutable / mutable 2種類必要になる
引数に2つオブジェクトがあると4種
3つなら8種
それだとイミュータブルなオブジェクトを貰って何かする関数に
ミュータブルなオブジェクトを渡せなくならない?
そうすると print とか toString とか hash とか compare とかありとあらゆるものが
immutable / mutable 2種類必要になる
引数に2つオブジェクトがあると4種
3つなら8種
810デフォルトの名無しさん
2018/06/27(水) 20:24:28.42ID:GckfUNYK ただの再代入不可な変数をイミュータブルって言い始めたのって何の言語からなの
811デフォルトの名無しさん
2018/06/27(水) 21:06:16.07ID:7rLtDwhR >>810
たぶん英語だと思う
たぶん英語だと思う
812デフォルトの名無しさん
2018/06/28(木) 08:21:12.64ID:1UW06GNd >>795
pythonなんかも細かいところはど汚いわけだがあんまりそういう汚いところ
触らんでも仕事になるって違いはある。
てかシンタックスなんててきとうにチェックでもそんな問題にならんよ。
self書かされることなんて文法で規制されてるわけでもないが問題になることなんてない。
pythonなんかも細かいところはど汚いわけだがあんまりそういう汚いところ
触らんでも仕事になるって違いはある。
てかシンタックスなんててきとうにチェックでもそんな問題にならんよ。
self書かされることなんて文法で規制されてるわけでもないが問題になることなんてない。
813デフォルトの名無しさん
2018/06/29(金) 09:12:05.44ID:iOzvNZgV >>810
変更可、不可という概念は別に変数に限った話じゃない
変更可、不可という概念は別に変数に限った話じゃない
814デフォルトの名無しさん
2018/06/29(金) 09:23:47.61ID:XwuS30Hh Pythonの型アノテーション試してるけど正直苦痛
TypeScriptを使ってるときには全く感じなかった無駄なもの書かされてる感がすごい
というかTypeScriptの統合が完璧すぎるんだな
型書くことはノイズになるどころかコードをむしろ美しくするとすら思えるもんな
TypeScriptを使ってるときには全く感じなかった無駄なもの書かされてる感がすごい
というかTypeScriptの統合が完璧すぎるんだな
型書くことはノイズになるどころかコードをむしろ美しくするとすら思えるもんな
815デフォルトの名無しさん
2018/06/29(金) 10:57:44.57ID:0VaRYdhC 少しでも欲を出せばそうなる
完璧な無欲か完璧な満足かの1bitしかない
HaskellやRustのようになるまで止まらないぞ
完璧な無欲か完璧な満足かの1bitしかない
HaskellやRustのようになるまで止まらないぞ
816デフォルトの名無しさん
2018/06/29(金) 11:15:41.22ID:tgpXEKjE817デフォルトの名無しさん
2018/06/29(金) 13:13:42.11ID:8rEU0m4z818デフォルトの名無しさん
2018/06/29(金) 13:43:06.77ID:HOtQS3nQ >>817
ライブラリなどの既存メソッドの戻り値はほとんど型なしだから結局オレオレ型宣言を左辺の変数に付けて回ることになる
ライブラリなどの既存メソッドの戻り値はほとんど型なしだから結局オレオレ型宣言を左辺の変数に付けて回ることになる
819デフォルトの名無しさん
2018/06/29(金) 15:55:24.38ID:546QQsBD820デフォルトの名無しさん
2018/06/29(金) 20:05:29.68ID:SWySBfmj そんなに型に気を使って消耗する位ならもう生js使おう
適当にラッパーかけとけラッパー
適当にラッパーかけとけラッパー
821デフォルトの名無しさん
2018/06/29(金) 21:06:52.59ID:M/T+ZgVo822デフォルトの名無しさん
2018/06/29(金) 21:09:19.97ID:0KEVr9Fm せめて同梱の標準ライブラリくらいは網羅しておいてほしいよね。
823デフォルトの名無しさん
2018/06/29(金) 21:11:52.89ID:M/T+ZgVo824デフォルトの名無しさん
2018/06/29(金) 21:39:48.60ID:0VaRYdhC825デフォルトの名無しさん
2018/06/29(金) 22:21:57.95ID:5dIySMmw >>824
TypeScriptの場合は型定義を提供することでTypeScriptユーザーに使ってもらいやすくなり、
ユーザーの増加がライブラリ製作者にとって一手間かけるモチベーションになる
Pythonの場合は型アノテーションを付けたらPython3.5以上でしか使えなくなるのでユーザーは確実に減る
結果、誰も対応しない
根本的に破綻してるんだよ
TypeScriptの場合は型定義を提供することでTypeScriptユーザーに使ってもらいやすくなり、
ユーザーの増加がライブラリ製作者にとって一手間かけるモチベーションになる
Pythonの場合は型アノテーションを付けたらPython3.5以上でしか使えなくなるのでユーザーは確実に減る
結果、誰も対応しない
根本的に破綻してるんだよ
826デフォルトの名無しさん
2018/06/29(金) 22:35:49.90ID:0VaRYdhC827デフォルトの名無しさん
2018/06/29(金) 22:39:04.05ID:Yl8lnP6m そんなんでイメージ変わるのかよ…
828デフォルトの名無しさん
2018/06/29(金) 23:18:51.02ID:ifNvOhNj おれ的にはこのまま型定義ファイルがすべてのライブラリに標準装備されて緩やかにjsがts化していくことを希望したい。
最初から型定義がライブラリに入っていること多くなってきたよな、
最初から型定義がライブラリに入っていること多くなってきたよな、
829デフォルトの名無しさん
2018/06/29(金) 23:54:19.04ID:uRtJ4/dJ >>828
それには同意
それには同意
830デフォルトの名無しさん
2018/06/30(土) 02:42:20.84ID:eHfkv0CB このスレに来て初めてマウンティングって言葉を知ったわ。
831デフォルトの名無しさん
2018/06/30(土) 03:36:46.79ID:+abKhVkF832デフォルトの名無しさん
2018/06/30(土) 08:02:10.37ID:tr0WXiW5 Haxe では型定義ファイルがあるから、型推論も入力補完もできる
833デフォルトの名無しさん
2018/06/30(土) 09:44:21.50ID:4h701pQF 通常ならライブラリ本体丸ごと読んで型を調べるべきだ
本体に型がないなら別ファイルに書く
本体に型がないなら別ファイルに書く
834デフォルトの名無しさん
2018/06/30(土) 12:26:26.59ID:aZHCYAl9835デフォルトの名無しさん
2018/06/30(土) 14:15:03.20ID:BB0BPsjY まーたruby信者のそ、そんなのる、るびぃでもできるし!か。呆れ
なんでもかんでも深く考えず流行りをそうやって後付けで増築してって奇形極まってるよね。二度と使わないよ。
なんでもかんでも深く考えず流行りをそうやって後付けで増築してって奇形極まってるよね。二度と使わないよ。
836デフォルトの名無しさん
2018/06/30(土) 15:58:28.61ID:9HearrjU rubyの違法建築感は否定しない
が、なんかまとめ臭い書き方だなおい
5chエアプか?
が、なんかまとめ臭い書き方だなおい
5chエアプか?
837デフォルトの名無しさん
2018/06/30(土) 16:41:24.65ID:oxrLiD+S るびぃ信者、Proc.new、ラムダ、ブロックにおけるreturn、break、nextの挙動の違いをまとめようとした模様
https://qiita.com/jnchito/items/83410c0cda446efea582
結果、ややこしすぎるためコーディングを工夫してreturnやbreakの使用を避けましょうというなんじゃそりゃな結論www
何か理由があってわざわざ挙動を変えたんだろうが(まさか行き当たりばったりってことはないよね笑)ややこしすぎで使用自体を避けられてちゃ本末転倒だよなwww
https://qiita.com/jnchito/items/83410c0cda446efea582
結果、ややこしすぎるためコーディングを工夫してreturnやbreakの使用を避けましょうというなんじゃそりゃな結論www
何か理由があってわざわざ挙動を変えたんだろうが(まさか行き当たりばったりってことはないよね笑)ややこしすぎで使用自体を避けられてちゃ本末転倒だよなwww
838デフォルトの名無しさん
2018/06/30(土) 17:39:57.19ID:RHrrdh8p >>836
その人はrustがコンパイルできないおじさんだからほっときなさい
その人はrustがコンパイルできないおじさんだからほっときなさい
839デフォルトの名無しさん
2018/06/30(土) 18:00:17.99ID:Q/uEsP1n rust
ruby
似てないこともないな
ruby
似てないこともないな
840デフォルトの名無しさん
2018/06/30(土) 18:59:53.28ID:+abKhVkF >>834,836
とはいえ、ruby にまともに使える型チェックの実装があるのかには興味あるな。
まえ調べた感じだと、教祖の型チェック周りの発言はフワッフワだし、実装してみたい個人が互換性のない「オレオレ型チェック」を作っては破棄してる感じで、万人が使えるものは何一つないようなんだが。
とはいえ、ruby にまともに使える型チェックの実装があるのかには興味あるな。
まえ調べた感じだと、教祖の型チェック周りの発言はフワッフワだし、実装してみたい個人が互換性のない「オレオレ型チェック」を作っては破棄してる感じで、万人が使えるものは何一つないようなんだが。
841デフォルトの名無しさん
2018/06/30(土) 19:02:48.17ID:6fEIEQu0 どうせ
if type(...) != my_class:
とかのシュガーだろ。そんなもんに目くじら立てても意味あるのかね。
if type(...) != my_class:
とかのシュガーだろ。そんなもんに目くじら立てても意味あるのかね。
842デフォルトの名無しさん
2018/06/30(土) 19:33:21.11ID:CMs/fWc6 Rubyはオモチャだから型付けなんて要りません
それより散らかったオモチャを片付けなさい
それより散らかったオモチャを片付けなさい
843デフォルトの名無しさん
2018/06/30(土) 20:38:08.56ID:4h701pQF 自分のために違法建築したとは考えにくい
ユーザーを忖度して違法建築なら利己的ではないからOKという風潮があったんじゃないか
会ったこともないユーザーをモチベーションにするのはやめてほしい
ユーザーを忖度して違法建築なら利己的ではないからOKという風潮があったんじゃないか
会ったこともないユーザーをモチベーションにするのはやめてほしい
844デフォルトの名無しさん
2018/06/30(土) 23:16:50.81ID:tr0WXiW5 >>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
Ruby のProc, block はクロージャだから、クロージャを囲む関数から戻る。
一方ラムダは、単にクロージャを抜けるだけ。
Groovy なども参照
def f
(0..5).each do |i|
puts i
return if i == 3
end
end
f() #=> 0, 1, 2, 3
845デフォルトの名無しさん
2018/06/30(土) 23:39:42.18ID:xV+Shhkx >Ruby のProc, block はクロージャだから、クロージャを囲む関数から戻る。
クロージャ「だから」、クロージャを囲む関数から戻る??
まるでクロージャだったら当然の挙動と言わんばかりの書き方だけど、クロージャってそんなんだっけ?
クロージャ「だから」、クロージャを囲む関数から戻る??
まるでクロージャだったら当然の挙動と言わんばかりの書き方だけど、クロージャってそんなんだっけ?
846デフォルトの名無しさん
2018/07/01(日) 00:39:17.02ID:tX8JlSDC そんなものちゃんと読んでる>>845に感心したw
ネットにはゴミが多いね
ネットにはゴミが多いね
847デフォルトの名無しさん
2018/07/01(日) 01:54:08.61ID:5prQoZWD >>845
ヒント:Smalltalk
ヒント:Smalltalk
848844
2018/07/01(日) 02:00:27.83ID:YZ+qvhoO クロージャは、クロージャの外側の環境をつかんでいる。
つまり、クロージャを囲む関数内の変数をつかんでいる
だから、クロージャ内でreturn すれば、外側の関数も抜けて、
関数内の変数なども、解放した方が良いと考えた
Groovy の挙動とは違うかも
つまり、クロージャを囲む関数内の変数をつかんでいる
だから、クロージャ内でreturn すれば、外側の関数も抜けて、
関数内の変数なども、解放した方が良いと考えた
Groovy の挙動とは違うかも
849デフォルトの名無しさん
2018/07/01(日) 02:11:27.56ID:FQlsc9Xo >>848
return だけだったら納得できるんだが、next や break の扱いがぐちゃぐちゃなのはどう説明するの?
return だけだったら納得できるんだが、next や break の扱いがぐちゃぐちゃなのはどう説明するの?
850デフォルトの名無しさん
2018/07/01(日) 02:52:24.35ID:QlwNZjji851デフォルトの名無しさん
2018/07/01(日) 03:04:39.74ID:3SrV2o5x852844
2018/07/01(日) 08:32:31.95ID:YZ+qvhoO クロージャ(block)内のbreak は、クロージャを抜けるだけで、外側の関数は抜けない。
関数の最後まで実行される
クロージャ内のnext は、次の繰り返しに進むだけで、クロージャも抜けない。
クロージャの最後まで実行される
def f
num = 0
(0..5).each do |i|
num = i
break if i == 3
end
puts num
end
f() #=> 3
関数の最後まで実行される
クロージャ内のnext は、次の繰り返しに進むだけで、クロージャも抜けない。
クロージャの最後まで実行される
def f
num = 0
(0..5).each do |i|
num = i
break if i == 3
end
puts num
end
f() #=> 3
853デフォルトの名無しさん
2018/07/01(日) 08:58:20.58ID:mO0FHij0 すみませんがゴミの話は当該スレでお願いします
854デフォルトの名無しさん
2018/07/01(日) 09:01:20.31ID:TobyyIDd これ他の言語にも影響あるだろ
continueはバグの原因になるとか、gotoの方がマシとか言われる
continueはバグの原因になるとか、gotoの方がマシとか言われる
855デフォルトの名無しさん
2018/07/01(日) 09:18:30.80ID:5prQoZWD >>850
えー?closureが関数型特有な概念だと思ってるわけー?
面白いね、それ。本当は純粋関数型ではclosureはさほど重要ではないのだけど。
どうしてclosureが関数型固有な概念だと思ったのか、説明してごらん?
えー?closureが関数型特有な概念だと思ってるわけー?
面白いね、それ。本当は純粋関数型ではclosureはさほど重要ではないのだけど。
どうしてclosureが関数型固有な概念だと思ったのか、説明してごらん?
856デフォルトの名無しさん
2018/07/01(日) 09:22:52.78ID:TobyyIDd857デフォルトの名無しさん
2018/07/01(日) 09:23:49.76ID:FQlsc9Xo >>852
あなたが closure だからと主張する、block は 952の挙動だが Proc では break は例外吐くらしいけど何で?
# 言っちゃ悪いが、closure は定義した時点での環境を基準に動作が普通だと思うんで、
# ループ外で定義されているならば next/break は一律例外吐くで無いと一貫性がないようにしか見えん。
あなたが closure だからと主張する、block は 952の挙動だが Proc では break は例外吐くらしいけど何で?
# 言っちゃ悪いが、closure は定義した時点での環境を基準に動作が普通だと思うんで、
# ループ外で定義されているならば next/break は一律例外吐くで無いと一貫性がないようにしか見えん。
859デフォルトの名無しさん
2018/07/01(日) 09:25:25.69ID:89p34iy1 このbreakとnextは並列コレクションで困る気はする
860デフォルトの名無しさん
2018/07/01(日) 10:22:00.59ID:5prQoZWD861デフォルトの名無しさん
2018/07/01(日) 10:23:24.47ID:5prQoZWD >>856
で、関数型の人って誰?ばか?
で、関数型の人って誰?ばか?
862デフォルトの名無しさん
2018/07/01(日) 10:45:16.40ID:QlwNZjji Smalltalkの人たちはScalaやRustのtraitsに対して、オリジナルのSmalltalkと違うからダメだ!あれは別物!って批判するくせに
他の言語より後に実装したclosureについては独自仕様でも問題ない、技術ベースで語れっておかしくね?
ダブスタも甚だしいだろ
他の言語より後に実装したclosureについては独自仕様でも問題ない、技術ベースで語れっておかしくね?
ダブスタも甚だしいだろ
863デフォルトの名無しさん
2018/07/01(日) 10:48:49.50ID:TobyyIDd 忖度とか伝言ゲームとかいう問題を織り込むまでがITです
864デフォルトの名無しさん
2018/07/01(日) 10:59:11.30ID:uHA6sqOS865デフォルトの名無しさん
2018/07/01(日) 11:00:03.93ID:7m3QggRW クロージャの方が自身の関数スコープを持ってる印象だな
メジャーな中では Java, C#, C++, JavaScript, Obj-C, Swift などがそうだし
Rubyのラムダも上記と概ね同じに見える
ブロックは文字通りコードの塊と考えるとreturnやbreakについて妥当な動きに見える
Proc.newは挙動がキモい
↓によるとdo…endも挙動が違うらしいから >>837 のリンク先は4種で比較した方がいいかもな
https://qiita.com/riocampos/items/43e4431ddff93e01a18d
メジャーな中では Java, C#, C++, JavaScript, Obj-C, Swift などがそうだし
Rubyのラムダも上記と概ね同じに見える
ブロックは文字通りコードの塊と考えるとreturnやbreakについて妥当な動きに見える
Proc.newは挙動がキモい
↓によるとdo…endも挙動が違うらしいから >>837 のリンク先は4種で比較した方がいいかもな
https://qiita.com/riocampos/items/43e4431ddff93e01a18d
866デフォルトの名無しさん
2018/07/01(日) 11:08:34.39ID:7m3QggRW 中身読んだら結合度の差だったので >>865 の最後2行は撤回する
867デフォルトの名無しさん
2018/07/01(日) 11:16:48.58ID:5prQoZWD868デフォルトの名無しさん
2018/07/01(日) 11:19:42.69ID:5prQoZWD869857
2018/07/01(日) 11:25:18.69ID:usR85dqh >>867
smalltalkには break や continue (next) はないだろう?
ruby のは、closure に break や next を持ち込んでおかしくなっているように見えるよ。
smalltalkには break や continue (next) はないだろう?
ruby のは、closure に break や next を持ち込んでおかしくなっているように見えるよ。
870デフォルトの名無しさん
2018/07/01(日) 11:43:42.24ID:fENDu7uP871デフォルトの名無しさん
2018/07/01(日) 11:52:10.11ID:tX8JlSDC 気持ち悪い挙動だと言いがかりをつける気満々のレスに対して
smalltalk でもそうだった昔からある挙動ですよと指摘しているだけでは。
なにも知らなければ議論はできない
といって smalltalk の知識は前提にしていいのかは疑問
とはいえやはり共通の知識がないと議論は無理だし難しいわ
smalltalk でもそうだった昔からある挙動ですよと指摘しているだけでは。
なにも知らなければ議論はできない
といって smalltalk の知識は前提にしていいのかは疑問
とはいえやはり共通の知識がないと議論は無理だし難しいわ
872デフォルトの名無しさん
2018/07/01(日) 12:46:18.88ID:fENDu7uP Smalltalkを前提にすることに意味はない(Rubyと周辺状況が違いすぎるのに何故真似た?)というのが
すぐ直前の議論では
すぐ直前の議論では
873デフォルトの名無しさん
2018/07/01(日) 12:59:23.83ID:gbNzWOju 俺を批判するのはSmalltalkを批判するのと同じだっていうことの意味は一応ある
自分自身を守るためではなく仲間を守るためという大義名分ができる
自分自身を守るためではなく仲間を守るためという大義名分ができる
874デフォルトの名無しさん
2018/07/01(日) 13:03:25.38ID:QlwNZjji 滅びた言語のヘンテコな機能を真似た言語が
やっぱりヘンテコになって滅びつつある
それだけの話ではある
やっぱりヘンテコになって滅びつつある
それだけの話ではある
875デフォルトの名無しさん
2018/07/01(日) 13:04:20.30ID:yp7ufL3+ もうRubyの話はやめよう
次世代でも現世代でもないし
次世代でも現世代でもないし
876デフォルトの名無しさん
2018/07/01(日) 13:25:35.07ID:5wbqPO3N なんで?
rubyは触ってないけど、rubykaigiとかで盛り上がってる様子見てると、楽しそうだし盛り上がってる感あるけど。未だ現役じゃないの?
スタートアップがrails採用するイメージって、まだ古くないよね?
最近だとrailsのボトルネック部分をgoで書く話が面白かった。
rubyは触ってないけど、rubykaigiとかで盛り上がってる様子見てると、楽しそうだし盛り上がってる感あるけど。未だ現役じゃないの?
スタートアップがrails採用するイメージって、まだ古くないよね?
最近だとrailsのボトルネック部分をgoで書く話が面白かった。
877デフォルトの名無しさん
2018/07/01(日) 13:42:13.57ID:k6Y+DK56 perlの後継になりそこなったし
海外の人気がかなり落ちてるからね
rails用言語で終わってしまった感
海外の人気がかなり落ちてるからね
rails用言語で終わってしまった感
878デフォルトの名無しさん
2018/07/01(日) 13:43:43.18ID:3SrV2o5x railsにincludedされてるバッテリーだろ?www
879デフォルトの名無しさん
2018/07/01(日) 13:57:23.22ID:5wbqPO3N つーかrails言語で別に良くないか?
言語なんて所詮はツールなんだから。
bashでwebサービス作るやつはいないだろ?
言語なんて所詮はツールなんだから。
bashでwebサービス作るやつはいないだろ?
880デフォルトの名無しさん
2018/07/01(日) 14:06:40.12ID:gbNzWOju 目的と結果を比較されるから
目的はこれだったのに結果はこれなのか?と
目的などどうでもいいと断言できる人は少ない
目的はこれだったのに結果はこれなのか?と
目的などどうでもいいと断言できる人は少ない
881デフォルトの名無しさん
2018/07/01(日) 15:32:54.19ID:5prQoZWD882デフォルトの名無しさん
2018/07/01(日) 15:34:06.79ID:2efWQwxv 薬? お薬の幻覚でも見えてんのか?
883デフォルトの名無しさん
2018/07/01(日) 15:40:22.85ID:QlwNZjji Smalltalkという完全に終わった言語に執着してるんだから
まあフツーに頭がおかしいんでしょう
薬飲めも普段自分が言われてるんだろうね
まあフツーに頭がおかしいんでしょう
薬飲めも普段自分が言われてるんだろうね
884デフォルトの名無しさん
2018/07/01(日) 15:55:04.17ID:2efWQwxv 自分が言われたら嫌なことを人に言うって奴かw
885デフォルトの名無しさん
2018/07/01(日) 16:07:47.75ID:rXvfzJkI ここでも見てとれるようにRubyは言語と言うより信者がクソ。
他言語のスレで聞いてもないのにルビーデワールビーデワー宣伝必死過ぎてウザい。
Ruby自体は悪くない。
他言語のスレで聞いてもないのにルビーデワールビーデワー宣伝必死過ぎてウザい。
Ruby自体は悪くない。
886デフォルトの名無しさん
2018/07/01(日) 16:15:05.64ID:lS5AQxvk >>885
同感
同感
887デフォルトの名無しさん
2018/07/01(日) 16:33:48.43ID:gbNzWOju 陰謀論みたいに、お前が世界を支配してるんだろって言われるのは嫌じゃないが
888デフォルトの名無しさん
2018/07/01(日) 17:13:50.39ID:fENDu7uP889デフォルトの名無しさん
2018/07/01(日) 17:30:42.04ID:009IG+wv890デフォルトの名無しさん
2018/07/01(日) 17:32:52.47ID:i54g35bC >>889
同感
同感
891デフォルトの名無しさん
2018/07/01(日) 17:49:59.60ID:5prQoZWD892857
2018/07/01(日) 18:07:48.02ID:FQlsc9Xo893デフォルトの名無しさん
2018/07/01(日) 18:22:04.92ID:IY9E+BQR Perlさん何で死んでもうたん?
894デフォルトの名無しさん
2018/07/01(日) 18:23:52.18ID:mbUvUy2m Perlはワンライナーとして生き残ったのさ
895デフォルトの名無しさん
2018/07/01(日) 19:07:07.35ID:QlwNZjji >>891
まあお前がSmalltalk信者かどうかは見た人間が判断するから気にするな。病気が進行するぞ
ただ客観的な事実としてSmalltalkは完全なオワコンw
このスレでは場違いすぎて引くレベル
まあお前がSmalltalk信者かどうかは見た人間が判断するから気にするな。病気が進行するぞ
ただ客観的な事実としてSmalltalkは完全なオワコンw
このスレでは場違いすぎて引くレベル
896デフォルトの名無しさん
2018/07/01(日) 19:34:13.12ID:5wbqPO3N >>894
わかる。awkよりも使い勝手はいい。正規表現処理ツールとして有り。ふとnode.jsでもいい気がしたけど
わかる。awkよりも使い勝手はいい。正規表現処理ツールとして有り。ふとnode.jsでもいい気がしたけど
897デフォルトの名無しさん
2018/07/01(日) 19:46:03.96ID:x/qhOfWF スレタイ読まずに書き込んでる奴らなんなの?
898デフォルトの名無しさん
2018/07/01(日) 19:51:05.54ID:e+fGbKAY >>862
> Smalltalkの人たちはScalaやRustのtraitsに対して、オリジナルのSmalltalkと違うからダメだ!あれは別物!って批判する
それは「批判」ではなく、理解や運用の混乱を避けるための「区別」の必要性を訴えているのです。
「オブジェクト指向」もそうで、Smalltalkが重きを置く「決定の遅延のためのメッセージングのオブジェクト指向」と
C++以降の「抽象データ型をクラス(またはそれに準ずるエンティティ)で実現するオブジェクト指向」とは区別すべきと一緒です。
批判があるとすればそれは、本質的に違うものに後から同じ名前を付けて混乱を招いていることに対するものでしょうね。
> Smalltalkの人たちはScalaやRustのtraitsに対して、オリジナルのSmalltalkと違うからダメだ!あれは別物!って批判する
それは「批判」ではなく、理解や運用の混乱を避けるための「区別」の必要性を訴えているのです。
「オブジェクト指向」もそうで、Smalltalkが重きを置く「決定の遅延のためのメッセージングのオブジェクト指向」と
C++以降の「抽象データ型をクラス(またはそれに準ずるエンティティ)で実現するオブジェクト指向」とは区別すべきと一緒です。
批判があるとすればそれは、本質的に違うものに後から同じ名前を付けて混乱を招いていることに対するものでしょうね。
899デフォルトの名無しさん
2018/07/01(日) 20:00:26.61ID:e+fGbKAY >>862
> 他の言語より後に実装したclosureについては独自仕様でも問題ない、技術ベースで語れ
私はSmalltalk信者wですが、この文脈での>>844の「クロージャだから」もそれを受けた>>847の「ヒント:Smalltalk」も
混乱を招きかねない説明やサジェスチョンだと思いまよ。
# 以下は比較的に古典的かつナイーブな実装の Squeak や Pharo を想定しています。為念。
Ruby の retrun に相当する Smalltalk の(唯一の)制御構造である「^戻り値」は、
Ruby の>>837の例では prco_return や block_retrun と同じ挙動になります。
Object compile: 'rubyReturn
| f ret |
f := [:n | ^ n * 10. "以降に処理を書くとコンパイル時エラー"].
ret := #(1 2 3) collect: f.
^''ret: '', ret printString'.
self rubyReturn "=> 10 "
余談ですが、lambda_return の挙動も「thisContext retrun」(戻り値が欲しいときは「return: 戻り値」)
という表現を使えばまあできなくはないです(が普通はやりません)。
Object compile: 'rubyLambdaReturn
| f ret |
f := [:n | thisContext return: n * 10. #以降の処理は無視].
ret := #(1 2 3) collect: f.
^''ret: '', ret printString'.
self rubyLambdaReturn "=> 'ret: #(10 20 30)' "
いずれにせよ、Smalltalk でクロージャ内のリターンがそのクロージャを実行中のメソッドコンテキストを抜けるという挙動をもって
(継続渡しとかならともかく)Ruby の複雑な状況の説明を試みるのはあまりよい方法ではないのは確かですね。
> 他の言語より後に実装したclosureについては独自仕様でも問題ない、技術ベースで語れ
私はSmalltalk信者wですが、この文脈での>>844の「クロージャだから」もそれを受けた>>847の「ヒント:Smalltalk」も
混乱を招きかねない説明やサジェスチョンだと思いまよ。
# 以下は比較的に古典的かつナイーブな実装の Squeak や Pharo を想定しています。為念。
Ruby の retrun に相当する Smalltalk の(唯一の)制御構造である「^戻り値」は、
Ruby の>>837の例では prco_return や block_retrun と同じ挙動になります。
Object compile: 'rubyReturn
| f ret |
f := [:n | ^ n * 10. "以降に処理を書くとコンパイル時エラー"].
ret := #(1 2 3) collect: f.
^''ret: '', ret printString'.
self rubyReturn "=> 10 "
余談ですが、lambda_return の挙動も「thisContext retrun」(戻り値が欲しいときは「return: 戻り値」)
という表現を使えばまあできなくはないです(が普通はやりません)。
Object compile: 'rubyLambdaReturn
| f ret |
f := [:n | thisContext return: n * 10. #以降の処理は無視].
ret := #(1 2 3) collect: f.
^''ret: '', ret printString'.
self rubyLambdaReturn "=> 'ret: #(10 20 30)' "
いずれにせよ、Smalltalk でクロージャ内のリターンがそのクロージャを実行中のメソッドコンテキストを抜けるという挙動をもって
(継続渡しとかならともかく)Ruby の複雑な状況の説明を試みるのはあまりよい方法ではないのは確かですね。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★2 [BFU★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」 [ぐれ★]
- 「稼ぐのよ!」高市総理が電話ガチャ切りで伝えたこと 鈴木憲和農林水産大臣が国政報告会に出席 自身が目指す農政の方針語る [煮卵★]
- 俳優 高岡蒼佑「エジプト出身とかナイジェリア出身とかの人が、日本の代表顔して移民の事とか話してるの見るとなんか違う気がする」★2 [Anonymous★]
- 【高市悲報】片山さつき、円安進行を受けコメント「為替の変動を緊張感を持って見極める」 [888298477]
- 【悲報】かつて台湾を統治し中国大陸にまで侵略したジャップ「中国は台湾侵略するのやめろ!」 [616817505]
- 【高市悲報】アメリカ戦争省「あのさ、何回シミュレートしてもわーくに中国に負けちゃうんだよね🤗」 [359965264]
- 自民「高市の一言でこれまで積み上げてきた関係が駄目になる。言葉の重みを分かっていない。自分でまいた種は自分で刈り取ってもらう」 [256556981]
- 中国国営放送「日本は琉球をただちに中国に返還せよ」 キタ━━━━(゚∀゚)━━━━!!!!! [314039747]
- 識者「『フリーパレスチナ』とかイキってる連中が台湾の話になると『中国を怒らせるな!』ってなる。ほんと左翼の正義って薄っぺらい」 [279254606]
