アカウント名:
パスワード:
Javaの型推論のローカル変数への拡張を提案するJEP 286 [infoq.com]
型推論はべつにC#発祥でもなんでもないしなあ。
そこでC#を引用する理由がわからん。
C#がやると、Javaが実装するってのが、あまりにも多いだろ次はstructのパクリする予定なんでしょ?
それはあなたがC#とJAVAしか知らないだけでは?世界はもっと広いのです
だからさぁ、起源の話をしてるんじゃないんだよかたくなに実装を拒んでたものを、C#が実装したから実装する例が多いんだってばお前がC#やJavaの歴史を知らないだけのことだろ
まあ、さすがにstructは要らないと思いますが。
でも、>かたくなに実装を拒んでたものを、C#が実装したから実装する例が多いんだってばって、そんなに有りますか?C#の機能を取り込んだもの(逆にC#がJavaの機能を取り込んだものも)はいくつかありますが、「かたくなに実装を拒んでいた」のに、「C#が実装したから」実装したものって???
JCPで実装する仕様を議論・策定ってフェーズがあるので、他の言語が実装して便利に思えた機能が採用されるのは無理ないですし、系統的に兄弟にあたるC#に有ってJavaにない機能は、営業戦略的にもできるだけ取り込みたいという感じになるとは思いますが。
eunm、Generics、Boxing、ラムダ式、プロパティなどなどどれもC#以外にもあるのだから、C#より早く実装されてもおかしくないけど、現実にC#が先に実装してるんだから、C#を見て追加してると言われるのはしょうがない。
Genericsなんかは初期にJavaとC++との対比で上げられていた特徴の一つ(採用しないことで言語仕様をシンプルにしたと)だし、C#の最初のバージョンからあったstructを今更実装とか笑ったわ(キーワードは違うらしいけど)
Javaの初期の仕様はC++なんかの既存言語が複雑すぎる部分を嫌ってた経緯があるのに、現実主義のC#の後追いを初めておかしくなったように見えるわけよ。Java1.0.2とかから見てるとさ。
その背景は知ってるけどさ、、、結局意味もなく存在してるわけではないんだよね。operatorとかなんか削ったの間違いと思ってる。
式は式らしい体裁を備えた方が良いと思うんだ。ぱっと見計算だと分からないというのは、くだらないバグの元になってるのだしね。
BigIntegerとか、式として書けないことでのミスとか異様な記述量とかひどいよ。
Generics
Java 5 2004-10C# 2.0 2005-11
なるほどです。
まあ、enumに関してはC#というよりCからですね。「Cのあの機能が欲しい」というユーザの声と、int型定数を使う汚いコーディングを排除したい(安全な言語を目指してましたから)という言語設計側の目的が一致した良い例だと思います。
ラムダ式は実装方法でずいぶん揉めて時間がかかりましたが、関数型言語の機能を取り込むための布石ですね。今はすごく中途半端な感じのする機能ですが。
プロパティが、C#のプロパティの事を言われているのだとすると、Javaにはまだ無いです。でも欲しいなあ(でも実装方法はRuby式の方が私的には嬉しい)。
>現実主義のC#の後追いを初めてやっぱり、特にC#の後追いとは言えないと思いますよ。それどころか全方位で、Java以降に新しく設計された言語が搭載している機能の良いとこ取りを目指している気がします。仕様をオープンな形で募集すると、あれもこれもになってしまうのではないでしょうか。このまま仕様が発散してしまわないか、そちらが不安です。
おおっと、実装はそうだったかもね
でも、Genericsは1.0の時点で次のバージョンでサポートしますってすでに明言されてたんだよ。>March 2003
https://msdn.microsoft.com/ja-jp/library/cc404920(v=vs.71).aspx [microsoft.com]
いえ、それでは>かたくなに実装を拒んでたものを、C#が実装したから実装する例が多いんだってばというコメントと話が合いません。もともとは、C#で「実装された」からあわててJavaも真似した機能がたくさん有るってお話ではありませんでしたか?
まあ本音を言えば、そんな細かい事はどうでも良いのですが。機能を真似しようとされようと、現時点で使いやすければ(そして将来それが妙な色気を出して拡張した機能のせいで破綻しなければ)、言語名がJavaでもC#でもそんなの全然構いやしません。
いっそ全部の言語の優れたところを取り込んだ究極の言語を誰か考えだしてくれたら、それが一番ハッピーです。
Lisp系はどれも良い(面白いし役に立つ)言語だけど、方言が多すぎる。しかも方言間で言葉が通じないとか、究極の言語と言うにはちょっと。
#1つ選ぶとしたら、もれなくエディタが付いてくるEmacs Lispとか (逆?
http://homepages.inf.ed.ac.uk/wadler/gj/index.html#jan03 [ed.ac.uk]
January 2003: Generics headed for inclusion in Java 1.5.
それを言ったら、Java5のGenericsの土台となったGeneric JavaというJava拡張があって、
Java Generics 導入の裏側http://kmizu.hatenablog.com/entry/2016/02/15/144706 [hatenablog.com]> GJチームによって、1998年にはGJコンパイラが動作するようになりました。
本家: A Generic Java Language Extensionhttp://homepages.inf.ed.ac.uk/wadler/pizza/gj/ [ed.ac.uk]> May 1999: Sun proposes to Add Generics to Java, based on GJ.
1998年には動くものができて、1999年にはJava本体への導入が決まってたわけで。
あと一次情報が見付けられないんだけど、Java言語仕様1.0の前書きあたりに、近いうちにGenerics入れたいねーみたいなことが書いてあったはず。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ
C#の型推論を批判してたアンチM$(笑)はもちろん使いませんよね (スコア:0)
Javaの型推論のローカル変数への拡張を提案するJEP 286 [infoq.com]
Re: (スコア:0)
型推論はべつにC#発祥でもなんでもないしなあ。
そこでC#を引用する理由がわからん。
Re: (スコア:0)
C#がやると、Javaが実装するってのが、あまりにも多いだろ
次はstructのパクリする予定なんでしょ?
Re: (スコア:0)
それはあなたがC#とJAVAしか知らないだけでは?
世界はもっと広いのです
Re: (スコア:0)
だからさぁ、起源の話をしてるんじゃないんだよ
かたくなに実装を拒んでたものを、C#が実装したから実装する例が多いんだってば
お前がC#やJavaの歴史を知らないだけのことだろ
Re:C#の型推論を批判してたアンチM$(笑)はもちろん使いませんよね (スコア:0)
まあ、さすがにstructは要らないと思いますが。
でも、
>かたくなに実装を拒んでたものを、C#が実装したから実装する例が多いんだってば
って、そんなに有りますか?
C#の機能を取り込んだもの(逆にC#がJavaの機能を取り込んだものも)はいくつかありますが、「かたくなに実装を拒んでいた」のに、「C#が実装したから」実装したものって???
JCPで実装する仕様を議論・策定ってフェーズがあるので、他の言語が実装して便利に思えた機能が採用されるのは無理ないですし、系統的に兄弟にあたるC#に有ってJavaにない機能は、営業戦略的にもできるだけ取り込みたいという感じになるとは思いますが。
Re: (スコア:0)
eunm、Generics、Boxing、ラムダ式、プロパティなどなど
どれもC#以外にもあるのだから、C#より早く実装されてもおかしくないけど、現実にC#が先に実装してるんだから、C#を見て追加してると言われるのはしょうがない。
Genericsなんかは初期にJavaとC++との対比で上げられていた特徴の一つ(採用しないことで言語仕様をシンプルにしたと)だし、C#の最初のバージョンからあったstructを今更実装とか笑ったわ(キーワードは違うらしいけど)
Javaの初期の仕様はC++なんかの既存言語が複雑すぎる部分を嫌ってた経緯があるのに、現実主義のC#の後追いを初めておかしくなったように見えるわけよ。Java1.0.2とかから見てるとさ。
Re: (スコア:0)
その背景は知ってるけどさ、、、結局意味もなく存在してるわけではないんだよね。
operatorとかなんか削ったの間違いと思ってる。
式は式らしい体裁を備えた方が良いと思うんだ。
ぱっと見計算だと分からないというのは、くだらないバグの元になってるのだしね。
BigIntegerとか、式として書けないことでのミスとか異様な記述量とかひどいよ。
Re: (スコア:0)
Generics
Java 5 2004-10
C# 2.0 2005-11
Re: (スコア:0)
なるほどです。
まあ、enumに関してはC#というよりCからですね。「Cのあの機能が欲しい」というユーザの声と、int型定数を使う汚いコーディングを排除したい(安全な言語を目指してましたから)という言語設計側の目的が一致した良い例だと思います。
ラムダ式は実装方法でずいぶん揉めて時間がかかりましたが、関数型言語の機能を取り込むための布石ですね。今はすごく中途半端な感じのする機能ですが。
プロパティが、C#のプロパティの事を言われているのだとすると、Javaにはまだ無いです。でも欲しいなあ(でも実装方法はRuby式の方が私的には嬉しい)。
>現実主義のC#の後追いを初めて
やっぱり、特にC#の後追いとは言えないと思いますよ。それどころか全方位で、Java以降に新しく設計された言語が搭載している機能の良いとこ取りを目指している気がします。仕様をオープンな形で募集すると、あれもこれもになってしまうのではないでしょうか。このまま仕様が発散してしまわないか、そちらが不安です。
Re: (スコア:0)
おおっと、実装はそうだったかもね
でも、Genericsは1.0の時点で次のバージョンでサポートしますってすでに明言されてたんだよ。
>March 2003
https://msdn.microsoft.com/ja-jp/library/cc404920(v=vs.71).aspx [microsoft.com]
Re: (スコア:0)
いえ、それでは
>かたくなに実装を拒んでたものを、C#が実装したから実装する例が多いんだってば
というコメントと話が合いません。
もともとは、C#で「実装された」からあわててJavaも真似した機能がたくさん有るってお話ではありませんでしたか?
まあ本音を言えば、そんな細かい事はどうでも良いのですが。
機能を真似しようとされようと、現時点で使いやすければ(そして将来それが妙な色気を出して拡張した機能のせいで破綻しなければ)、言語名がJavaでもC#でもそんなの全然構いやしません。
いっそ全部の言語の優れたところを取り込んだ究極の言語を誰か考えだしてくれたら、それが一番ハッピーです。
Re:C#の型推論を批判してたアンチM$(笑)はもちろん使いませんよね (スコア:1)
Lispで十分だな。
Re: (スコア:0)
Lisp系はどれも良い(面白いし役に立つ)言語だけど、方言が多すぎる。
しかも方言間で言葉が通じないとか、究極の言語と言うにはちょっと。
#1つ選ぶとしたら、もれなくエディタが付いてくるEmacs Lispとか (逆?
Re: (スコア:0)
http://homepages.inf.ed.ac.uk/wadler/gj/index.html#jan03 [ed.ac.uk]
Re:C#の型推論を批判してたアンチM$(笑)はもちろん使いませんよね (スコア:1)
それを言ったら、Java5のGenericsの土台となったGeneric JavaというJava拡張があって、
Java Generics 導入の裏側
http://kmizu.hatenablog.com/entry/2016/02/15/144706 [hatenablog.com]
> GJチームによって、1998年にはGJコンパイラが動作するようになりました。
本家: A Generic Java Language Extension
http://homepages.inf.ed.ac.uk/wadler/pizza/gj/ [ed.ac.uk]
> May 1999: Sun proposes to Add Generics to Java, based on GJ.
1998年には動くものができて、1999年にはJava本体への導入が決まってたわけで。
あと一次情報が見付けられないんだけど、Java言語仕様1.0の前書きあたりに、近いうちにGenerics入れたいねーみたいなことが書いてあったはず。