- 【JavaScript】スクリプト バトルロワイヤル44【pl,rb,php,py】
822 :デフォルトの名無しさん[sage]:2014/07/19(土) 16:34:18.16 ID:T59/5GeD - >>812
いつのSmalltalkの話ししてるんだ? まさかSqueakみたいな化石を前提に話してるんじゃ無いだろうな。 因みにSmalltalk環境は標準でChangeSetっていうVersion管理機能がついてる。
|
- Swift part2
910 :デフォルトの名無しさん[sage]:2014/07/19(土) 16:54:45.57 ID:T59/5GeD - >>871
Closure = gcc拡張の関数内関数 Closure != C++の関数内classの静的関数 因みにBorlandのC++だとこんなClosureがあった。 Example example; int (__closure *function)(int) = &example::Something; 今のC#で言うdelegateだけど、これもClosure。 Closure != 無名関数 で有る点は意識したほうが良いと思う。
|
- Swift part2
911 :デフォルトの名無しさん[sage]:2014/07/19(土) 17:14:00.06 ID:T59/5GeD - >>907
あれは関数型プログラミングとは言えないと思う。 単なるSmalltalkへの回帰じゃん。 ( 1 to: 10 ) select: [ :each | 5 < each ]. これと同じ。 関数型って言うなら numberFor := [ :value | [ value value. ] ]. zero := numberFor value: 0 asValue. one := numberFor value: 1 asValue. two := numberFor value: 2 asValue. array := [ :index | ( { zero. one. two} at: index value ) ]. array value: zero. array value: one. array value: two. こんな感じで配列だろうが値だろうが全部関数として扱えなきゃ、 関数型Programingと言えないだろ。
|
- Swift part2
913 :デフォルトの名無しさん[sage]:2014/07/19(土) 17:26:17.41 ID:T59/5GeD - 因みにSmalltalkはLispの影響が強くて
a := 1 asValue. b := [ 1 ]. c := a value = c value. 最初からこんな風に値を関数化する仕組みを備えてる。
|
- Swift part2
914 :デフォルトの名無しさん[sage]:2014/07/19(土) 17:28:15.02 ID:T59/5GeD - >>913の訂正
? c := a value = c value. ○ c := a value = b value.
|
- 【JavaScript】スクリプト バトルロワイヤル44【pl,rb,php,py】
824 :デフォルトの名無しさん[sage]:2014/07/19(土) 17:44:37.30 ID:T59/5GeD - >>823
そもそもcvsがChangeSetをText形式に使えるようにした劣化品。 ChangeSetはgitに比べりゃ見劣りする部分があるが、 ChangeSetの後継ならgitと見劣りしないよ。 しかもgitとかと違ってRefactoringにも追随できるし、 他のResourceも管理できる。 更にはMethod単位で確実に管理できるから、 枝分かれした成果物を統合すんのもgitに比べりゃ簡単。 Smalltalk以外の言語じゃその長所を生かせないのが欠点だけどね。
|