アカウント名:
パスワード:
捨てるために読めないとダメとかそんな感じじゃないのか
宗教上の理由でM$(笑)起源のC#を使えない人たちに人気ですよ
C#はラムダ式をvarで格納できないという素晴らしい個性がありますね。
C#もjavaのこと言えない位に行き当りな機能追加で言語仕様はアレだろう。第一級関数が普通の言語と比べると古臭いのはjavaと変わらない。unix系でjavaを置き換えるのは多分Go言語、言語仕様がシンプルで速度も出て安全性も高い。
そのvarが推論しているのはラムダ式ではなくてFunc<int>だから。
var mul=new Func<int,int,int>((int x,int y)=>{return x*y;});
引数を持つラムダ式の場合、引数の指定が冗長になる。そもそも普通はこうかくだろう。
Func<int,int,int> mul=(int n,int y)=>{return n*y;};
Lispみたいな変態言語にしかなかった第一級関数も「普通の言語」の機能になったのか。
そうすると宗教上の理由でボラクル(笑)が管理するJavaを使えない人たちは…
管理≠起源
太陽教徒は捕囚になっても信仰を捨てたりしません。C# が ISOで規格化されても起源をとわれるのと同じです!!
C#よりはJavaの方がいいなあ。仕事でどちらが適しているという意味でなくて言語の好みだけど。
好みならしゃーないけど、言語の優劣でいったらJavaなんてC#の足下にも及ばないどころか他のJVM言語の方が圧倒的に優れてるじゃん
どの辺です?ツッコミとかしないので(俺は)、率直なところを聞きたい。
純粋に好みだけで判断してJavaの方が好きとは珍しい両方扱える人にとって需要から考えると圧倒的にJavaだけど個人の好みだとC♯って人の方が今は多いと思ってる
文法はC#で、ライブラリはJavaが好き。・・・だった。Java5以前は。
C++ユーザー「演算子オーバーロードはないの?」Java信者「あんなのはシンタクスシュガー。不要だし危険だからいらない。」C#ユーザー「プロパティはないの?」Java信者「ただのシンタクスシュガー。プロパティは甘え。」C++ユーザー「テンプレート」C#ユーザー「ジェネリクス」Java信者「うっせーバーカ」
あれ? なんかマカーに似てるな。
おじいちゃんたら、ジェネリクスはもう10年近く前になるJava SE5で導入されたでしょ!今はラムダ式だってあるのよ。もうすっかりボケちゃって。
他から指摘された欠点を頑なに認めず、後出しで劣化バージョンを導入されたら嬉々として自慢するJava信者乙
やめろそれ以上C#やPHPの悪口は止めるんだ!
LambdaはいいけどStreamが糞すぎて。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
物事のやり方は一つではない -- Perlな人
Javaってまだ使ってる? (スコア:0)
捨てるために読めないとダメとかそんな感じじゃないのか
Re:Javaってまだ使ってる? (スコア:0, 荒らし)
宗教上の理由でM$(笑)起源のC#を使えない人たちに人気ですよ
Re:Javaってまだ使ってる? (スコア:1)
C#はラムダ式をvarで格納できないという素晴らしい個性がありますね。
C#もjavaのこと言えない位に行き当りな機能追加で言語仕様はアレだろう。第一級関数が普通の言語と比べると古臭いのはjavaと変わらない。
unix系でjavaを置き換えるのは多分Go言語、言語仕様がシンプルで速度も出て安全性も高い。
Re:Javaってまだ使ってる? (スコア:1)
その理由わかっていってる?
これなら一応できるけど。
var y = new Func<int>(() => 1);
Re:Javaってまだ使ってる? (スコア:1)
そのvarが推論しているのはラムダ式ではなくてFunc<int>
だから。
var mul=new Func<int,int,int>((int x,int y)=>{return x*y;});
引数を持つラムダ式の場合、引数の指定が冗長になる。
そもそも普通はこうかくだろう。
Func<int,int,int> mul=(int n,int y)=>{return n*y;};
Re: (スコア:0)
と言いながら直ってないね。
(ひょっとして引数の型指定をしないけないから冗長になるって言ってる?)
それでもあなたはわかっているのだろうとは思うけど、型の推論が関数型言語ほどでないという弱さはある。
このコードで冗長なのはFuncで型を知らせないといけないところ。
でも Haskellだって型クラス制約つけるし、そんなにダメとは思わないんだよな。
とりあえず、
var mul=new Func<int,int,int>((x, y)=>{return x*y;});
Func<int,int,int> mul=(n, y)=>{return n*y;};
だね。引数に型名はつけなくていい。
Funcの型指定があるからその程度の型推論ならできてる。無印の.NET 3.5から可能。
あと「普通」は君の主観でしかない。変数名の先頭をそろえたいという好みの人もいる。
Re: (スコア:0)
Func<int,int,int> mul = (n, y) => n*y;
# さすがにこの指摘は細かすぎるかもしれない、すいません。
Re: (スコア:0)
Lispみたいな変態言語にしかなかった第一級関数も「普通の言語」の機能になったのか。
Re: (スコア:0)
そうすると宗教上の理由でボラクル(笑)が管理するJavaを使えない人たちは…
Re: (スコア:0)
管理≠起源
太陽教徒は捕囚になっても信仰を捨てたりしません。
C# が ISOで規格化されても起源をとわれるのと同じです!!
Re: (スコア:0)
C#よりはJavaの方がいいなあ。
仕事でどちらが適しているという意味でなくて言語の好みだけど。
Re:Javaってまだ使ってる? (スコア:1)
好みならしゃーないけど、言語の優劣でいったらJavaなんてC#の足下にも及ばないどころか他のJVM言語の方が圧倒的に優れてるじゃん
Re: (スコア:0)
どの辺です?
ツッコミとかしないので(俺は)、率直なところを聞きたい。
Re: (スコア:0)
純粋に好みだけで判断してJavaの方が好きとは珍しい
両方扱える人にとって需要から考えると圧倒的にJavaだけど個人の好みだとC♯って人の方が今は多いと思ってる
Re: (スコア:0)
文法はC#で、ライブラリはJavaが好き。・・・だった。Java5以前は。
Re: (スコア:0)
Javaはほぼclass単位でビルドできるのでUnitTestは速いなーとは思うけど(.NETはバックグラウンドコンパイルあるとはいえアセンブリ単位だとビルド時間かかるからやりにくい)、それくらいかなー。
Javaがそのものよりは、新しいものを取り入れる時の無理やり感が半端無くなって来てて。それが過去の負債からくるものってところがね(当時はそれが良い選択だったんだろうけど今は足枷に)。
Genericsもコンパイル時だけにせざるを得ないとか、ラムダ式は来たけどクロージャないので使いにくそうとか・・・。
Re: (スコア:0)
C++ユーザー「演算子オーバーロードはないの?」
Java信者「あんなのはシンタクスシュガー。不要だし危険だからいらない。」
C#ユーザー「プロパティはないの?」
Java信者「ただのシンタクスシュガー。プロパティは甘え。」
C++ユーザー「テンプレート」
C#ユーザー「ジェネリクス」
Java信者「うっせーバーカ」
あれ? なんかマカーに似てるな。
Re: (スコア:0)
おじいちゃんたら、ジェネリクスはもう10年近く前になるJava SE5で導入されたでしょ!
今はラムダ式だってあるのよ。もうすっかりボケちゃって。
Re: (スコア:0)
他から指摘された欠点を頑なに認めず、後出しで劣化バージョンを導入されたら
嬉々として自慢するJava信者乙
Re: (スコア:0)
やめろそれ以上C#やPHPの悪口は止めるんだ!
Re: (スコア:0)
LambdaはいいけどStreamが糞すぎて。