アカウント名:
パスワード:
関数型言語のブームなんてきたことは、ここ十年やそこらでは一度もないと思うけど。一体だれがそんなことを言ってるの?
>またPythonやRubyなどのように関数型言語の要素を導入する言語も増えている。PythonやRubyが関数型言語かなー。とてもそうは思えんが。#LISP等の関数型言語に一定の支持があるのは認めるが、それとブームとは別。
流行の兆しというか、ささやかなものは最近感じる。でも、オブジェクト指向とかライトウェイト言語?の時ほどのブームはもう起きないんじゃないかなぁ。
ブームにしようにも頭がいい人じゃ無いと使いこなせないのでブームにならないのが現実だと思います。
オブジェクト指向もデザイン・パターンが出てきて初めて概念先行を抜け出したと思うんだよ(一般人にとっては…)。利用事例が増えて、オブジェクト指向のデザパタに相当するものが出てくるとイケんるんじゃないだろか。
ああ、確かにデザパタに相当するものがあると状況が変わりそう。
あるよモナドととかアローとか一般人には理解不能なのが
結局頭が良くないとダメなのかorz
頭がいい人の間ではブームになっているのかも知れない。私にはわからないが。
関数型言語のブームにはなってないけど、C#、Scala、Dartみたいな形で、オブジェクト指向言語の中に関数型を取り入れるのは主流になって来てると思う。Javaにも導入されそうだし。
Java茶でも飲んで落ち着こうか。
関数型の考え方が便利だという認識が浸透してきてるから他の言語でも似た要素が採用されてるんだよ。
何興奮してんだ。
どっかのOSがコケたのは、タブレットの要素を導入したからじゃなくてデスクトップの要素を切り捨てたからでしょ。
スタートメニュー以外何もなくなってないけど?
たぶん違うな。実際触ってみるとわかるけど。
>C#、ScalaそれぞれC++、Javaより使いやすい部分があるから、それらのアッパーコンパチとして使われている。で、実際に「関数型言語として」それらを使おうとすると、正直言って使いにくいし気持ち悪い。
関数型言語が研究分野では使いやすいのかもしれないが、UIがあったり、多数の条件分岐があるコードだと本当に使いにくいしコードも見にくくなる。
関数型としてではなく便利なアッパーコンパチとして使ってやれば、ソースの行数も減るし、コードも書きやすい
だからそれを言ってんだろ。データ処理なんかに使う単なる便利機能としての関数型。
元コメは、「って言うか~」の後にまんまオウム返しするタイプですね。
「whileのループ周りの再帰コードを関数型で見てみる」ってどういうこと?
>多数の条件分岐があるコードだと本当に使いにくいしコードも見にくくなる。
はあ?君もしかして「Haskellなんて初めて聞いた」って書き込んでた人?
でたった一度でいい。whileのループ周りの再帰コードを関数型で見てみるといい。
そもそも、関数型だからといって再帰関数呼び出しはそんなに使いません。たいていは繰り返し処理用の関数を使います(たとえばmapやfold/unfoldなど)。
このへんは「オブジェクト指向言語の中に関数型を取り入れる」流れで、関数型でない言語でも見かけるようになりました。C#のEnumerableクラスやJava 8のStream、C++のなんかですね。
以下余談。これらの関数は、ループ処理の典型的なパターンを整理・分類して名前を付けたという点で、whileやforなどを直接使うより便利だと思っています(名前の存在がコードの理解や他人との意思疎通の手助けになるので)。
>>でも「関数型」の部分は全く評価されなくていいと思う。たった一度でいい。whileのループ周りの再帰コードを関数型で見てみるといい。
いうか君がソースを公表して指摘したらいいだけ。大抵の場合は「~が駄目」という人の能力が低かったりするからね。
fac n = do { a . 0) $ do { a *= i; i -= 1; }; a; }
fac n = do { a <- auto 1; i <- auto n; while (i >. 0) $ do { a *= i; i -= 1; }; a; }
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
人生の大半の問題はスルー力で解決する -- スルー力研究専門家
それって、いつの話? (スコア:-1)
関数型言語のブームなんてきたことは、ここ十年やそこらでは一度もないと思うけど。
一体だれがそんなことを言ってるの?
>またPythonやRubyなどのように関数型言語の要素を導入する言語も増えている。
PythonやRubyが関数型言語かなー。とてもそうは思えんが。
#LISP等の関数型言語に一定の支持があるのは認めるが、それとブームとは別。
Re:それって、いつの話? (スコア:0)
流行の兆しというか、ささやかなものは最近感じる。
でも、オブジェクト指向とかライトウェイト言語?の時ほどのブームは
もう起きないんじゃないかなぁ。
Re: (スコア:0)
ブームにしようにも頭がいい人じゃ無いと使いこなせないのでブームにならないのが現実だと思います。
Re:それって、いつの話? (スコア:1)
オブジェクト指向もデザイン・パターンが出てきて初めて概念先行を抜け出したと思うんだよ(一般人にとっては…)。
利用事例が増えて、オブジェクト指向のデザパタに相当するものが出てくるとイケんるんじゃないだろか。
Re: (スコア:0)
ああ、確かにデザパタに相当するものがあると状況が変わりそう。
Re: (スコア:0)
あるよ
モナドととかアローとか一般人には理解不能なのが
Re: (スコア:0)
結局頭が良くないとダメなのかorz
Re: (スコア:0)
頭がいい人の間ではブームになっているのかも知れない。
私にはわからないが。
Re: (スコア:0)
関数型言語のブームにはなってないけど、C#、Scala、Dartみたいな形で、オブジェクト指向言語の中に
関数型を取り入れるのは主流になって来てると思う。Javaにも導入されそうだし。
Re: (スコア:0)
Re: (スコア:0)
Java茶でも飲んで落ち着こうか。
関数型の考え方が便利だという認識が浸透してきてるから
他の言語でも似た要素が採用されてるんだよ。
Re: (スコア:0)
何興奮してんだ。
Re: (スコア:0)
どっかのOSがコケたのは、
タブレットの要素を導入したからじゃなくて
デスクトップの要素を切り捨てたからでしょ。
Re: (スコア:0)
スタートメニュー以外何もなくなってないけど?
Re: (スコア:0)
たぶん違うな。
実際触ってみるとわかるけど。
>C#、Scala
それぞれC++、Javaより使いやすい部分があるから、
それらのアッパーコンパチとして使われている。
で、実際に「関数型言語として」それらを使おうとすると、正直言って使いにくいし気持ち悪い。
関数型言語が研究分野では使いやすいのかもしれないが、
UIがあったり、多数の条件分岐があるコードだと
本当に使いにくいしコードも見にくくなる。
関数型としてではなく便利なアッパーコンパチとして使ってやれば、
ソースの行数も減るし、コードも書きやすい
Re: (スコア:0)
だからそれを言ってんだろ。データ処理なんかに使う単なる便利機能としての関数型。
Re: (スコア:0)
元コメは、「って言うか~」の後にまんまオウム返しするタイプですね。
Re: (スコア:0)
「whileのループ周りの再帰コードを関数型で見てみる」ってどういうこと?
Re: (スコア:0)
>多数の条件分岐があるコードだと本当に使いにくいしコードも見にくくなる。
はあ?
君もしかして「Haskellなんて初めて聞いた」って書き込んでた人?
Re: (スコア:0)
でたった一度でいい。whileのループ周りの再帰コードを関数型で見てみるといい。
そもそも、関数型だからといって再帰関数呼び出しはそんなに使いません。たいていは繰り返し処理用の関数を使います(たとえばmapやfold/unfoldなど)。
このへんは「オブジェクト指向言語の中に関数型を取り入れる」流れで、関数型でない言語でも見かけるようになりました。
C#のEnumerableクラスやJava 8のStream、C++のなんかですね。
以下余談。これらの関数は、ループ処理の典型的なパターンを整理・分類して名前を付けたという点で、whileやforなどを直接使うより便利だと思っています(名前の存在がコードの理解や他人との意思疎通の手助けになるので)。
Re: (スコア:0)
>>でも「関数型」の部分は全く評価されなくていいと思う。
たった一度でいい。whileのループ周りの再帰コードを関数型で見てみるといい。
いうか君がソースを公表して指摘したらいいだけ。
大抵の場合は「~が駄目」という人の能力が低かったりするからね。
Re: (スコア:0)
fac n = do {
a . 0) $ do {
a *= i;
i -= 1;
};
a;
}
Re: (スコア:0)
fac n = do {
a <- auto 1;
i <- auto n;
while (i >. 0) $ do {
a *= i;
i -= 1;
};
a;
}