【Java SE 7】 次世代Javaの動向 9 【dolphin】
ラムダの書式ダサすぎ
C#のを素直にぱくってくればいいのに
C#乙
まあ #()(1).() が美しいとは言えんし
(()=>1)()
#()(1).()
どっちも文字数変わらないから
あんまり違いはないんじゃない?
そういうのは書式というか記法というけど。
美しいかどうかならrubyのあれが一番かな。クロージャの{=>}もruby記法の影響を受けてたわけだし。
>>8 型推論による型省略や var があるとだいぶ変わってくる
Haskellのやつがいい
12 :
デフォルトの名無しさん:2010/06/15(火) 21:18:49
出る出る詐欺
ところでオープン・ソラリスはどーするんだろう。
pc(x86)ではグーグルオーエスなんかよりも期待してたのに。
Oracleに買われてからjava.sun.comが使いにくい orz
final 変数しかキャプチャできない匿名クラスの制限を緩めるだけじゃだめなのかな > lambda
今更既存のAPIと互換性のない形で導入されたって現実的には全く使えないよね。
メソッド一つだけのインターフェイスを実装する匿名クラスを生成する
シンタックスシュガーとして実装するくらいしかないんじゃないの。
汚いけどそれ以外の選択肢はないと思う。
マイクロソフトがあるからJavaなんかどうでもいい
>>17 実際にシンタックスシュガーとして実装されてるよ
クロージャに限らずJavaの言語仕様に追加された機能はほとんどがそう
今回の例のラムダの提案はそうじゃないよ
完全にC#のデリゲートと同じような仕組みを新たに導入するというもの
デリゲート(メソッドポインタ)とラムダは別物じゃね?
lambda_trans.pdfにはメソッドハンドルで実装すると書いてある
作成時に環境オブジェクトを渡したりしてるから完全にデリゲート
>>22 そういうもんじゃないだろ。
実装がどうなっているかは関係ない。
JSR292は主にJVM動的型言語用の機能でProject Lambdaのために導入されたわけじゃないと思うが。
実際にはヘッダのバージョン書き換えただけでJVMに何ら新機能は追加されてない
なんてことしても「クラスファイルの互換性がない」という文句はほとんど聞こえてこないん
だから実は大した問題じゃないんだろ。
>>24 このコード、例のpdfのラムダの実装コードにそっくりw
>>24ってそもそもラムダ全否定だよね
むしろシグネチャだけしか考えない分、デリゲートよりも型付けが弱い
12年も前の腐りきった戯言のリンクなんか張るな
オブジェクト指向とは何かというとき、それは即class指向だ、と考えさせようとするのは禿げ先生の洗脳だよ
クラス指向ってなんだ?
C (非C++) のモジュール化みたいにしかクラスを使わない設計?
いやいや、C++やJavaなど始めにクラスありきなオブジェクト指向のことだろ
ところでWindows 7 (64bits)でSUN JAVAは動くんですか?
Windows 7でもappletやawtは動くんですか?
英語wikiて最近デザイン変えたでしょ?
このまえ英語wikiのページにjava appletの動画プレーヤー(普通はflashだけど)が埋めこんであったんだよね。
osが古くてflash10はもうインストできないから、javafxで作ってもあってもいいけどlinuxにはうれしい。
javaプログラマーは口ではいくらでも大きなことを言うけど結局は今まで動画プレーヤーを作れるスキルもなかったのかと思った。
いくらjavaを勉強しても、Webサーバーの設定・設置に強くはなるかもしれないけど、自分でアプリを作れるスキルは身につかないで終わるだろうね。
>>23 デリゲートっていう概念が何のことなのかも理解できなくてモゴモゴ言ってるだけだろ
もっとも自分のところのdelegateが本質的にどういうものかも理解してないじゃないの?
>>23 たしかその高木なんとかって、winny用の不正アクセスのソフト作った人でしょ?
法学の専門家でもないのに独特な法律解釈をするし自分の主義思想と現実(罪刑法定主義)がごっちゃになってるんだろうね。
こういう人はこの業界によくいるでしょ。
官庁つながりがたまたまあったかもしれないけど、ストールマンと同じでなんかの秘密結社の教祖にでもなろうとしてるんじゃないの?
秘密結社って、誰かと思ったらopenbsdのあの人のことだw
いるんだよね・・・自分が神にでもなったと錯覚しちゃう人ってさ
チームプレイにまったく向いてなくて、理想だけが先走っちゃっていつのまにか周りには誰もいなくなってるのにそれでも突っ走って犯罪まで一歩手前の人っていうか
媚びるのがいけないというならJavaだってレガシーC脳な人に比較的媚びた設計だよね
C#はRADに媚びてるけどそっちはわりと切り捨ててるよね
セキュリティといえば、ソ連スパイのゾルゲ事件(死刑)を思い出すね。
研究員として碓ぐらい部屋でシコシコ開発してるなら、高々原子力技術の流出や造船設計書の産業スパイ程度であまり被害はないんだけど。
しかしゾルゲ事件は政治家でもないのに自分の理想実現のための政治主張をしまくり、それに翻弄された挙げ句日本のここ100年の国益を損ねたね。
さすがにもう高木先生は枯れたJavaから手を引いてるでしょ
高木先生開発アプリのうち最新のNyzillaもJavaで開発されてるじゃん。
その何とかって先生は、どこかの大学で教えてる何の学科の先生なの?
ひろみちゅって今も産総研だっけ?
>>45 おまえ…
ちゃんとトップを走る連中を追えよな…
産総研発祥でこれは外せないアプリ、有用なアプリってなんかあったの?
内輪だけで盛り上がってたけどクノッピーとかそうだっけ?
予算は多くつけてもらっているが、結局はポスドクと天下りだけしかいない独立行政法人
税金でやってるわりには国益にもならないし日本のベンチャー産業に有用なわけでもないしそのうち仕分け対象になるんじゃないのか
管轄が同じだから、そこの祖父と事業部はIPAと合併してお役所事務仕事に徹する方向で事業縮小判定になるよ。
Nyzillaは完全に個人開発だから産総研関係ない
産総研、理研、NICT、IPAあたりの主たる役割は、作りすぎたポスドクの雇用維持。
文部省が博士増産計画(数倍?)主導したのだから、
国内企業にポストが無い状況で、国で出口政策主導するのはしょうがない。
研究費使って身内同士でciteしまくるようなクソ論文量産するぐらいなら、
時給1000円ぐらいで写経でもしててくれんもんかなと思う。
まー、その研究費に測定機やらのメーカーが群がって、公共投資になるわけだから、
しゃあないといえばしゃあないか。
> 身内同士でciteしまくる
Webページだったらリンクspam認定だな
身内なら当然rel="nofollow"つけてるだろ
rel="nofollow"な論文引用ってどんなんだ
どうせMS社員かC#工作員の嫌がらせだろう
サンはMSやC++0xと違って言語仕様は明確な目的を持って決めるからそういう戯言はまったく影響ない
genericsの時と同じでそのような戯言がサンの中の人に届くこともない
いやいや、もう太陽は沈んじゃったし
>>62 それ良いことなの?w
確かにJava5なんかユーザーの反発を無視した強引な拡張だけど
最近のゴスリンはオラクルは人的リソースを蔑ろにしてるとかいう嫌味ばっかりでしょ。
といってもサンは当のゴスリンにすら見捨てられたから、最近はjdkに見切りを付けてmonoで遊んでる。
こういうことがあるからjdkはopenjdkにしといて本当に良かったと思うよ。
旧サンの社員(ゴスリンの部下達)もオープンソースにしてあるからこそ転職しても今までの仕事が続けられるんだし。
関数の複数の戻り値は追加される?
タプルか
(int x, int y) = getPoint();
のように戻り値で使うだけならいいけど変数にタプルオブジェクトそのものを代入しようと思うと
$(int, int) point = (x, y);
みたいにまた変な新しい型が必要になるぞ
タプルに変数への参照渡せたら
int x, y; (x, y) = getPoint();
みたいにできるんだけどな。
タプルが糞なのは、いったん(
>>67に倣って)$(int, int)型に入れてしまうと
変数名(x, y)が失われてしまって可読性が失われること。
だからって$(int x, int y)みたいな長い型名を持ちまわるのはかえって面倒だし、
だからといってそのためにtypedef的なものを導入すると、最初から普通にクラスを作るのと変わらない。
例えばpythonではオブジェクトはメンバ名とそれに対応する値の集合だからタプルがうまく機能する。
70 :
69:2010/07/16(金) 23:55:01
すまん最後の行は勘違いだから無視して
型推論とジェネリック型があればいい感じにタプルが使える
戻り値用の単純なのだけでいいな
複雑な構文入れるならScalaの土俵でしょ
あれこれ欲しいならC#で十分
情報が少なくて可読性が損なわれるのってラムダもそうなんだよな
#int(int)だけ見ても全く意味が分からない
だからC#やDelphiなどでは関数を格納する型を明示的に宣言しないといけないし
CやC++の関数ポインタもtypedefして使うことが多いわけだけど
Javaの中の人に言わせればダサイらしい
日本語でおか
弱いtypedefされっと型変換すらなしに勝手に他の型に成り下がるからなぁ……
暗黙の型変換もあってもいいけどデフォルトではキャストか変換用メソッド強要のがいいな。
>>74 C#はFunc<int int>になったんじゃなかったか?
それはLINQだけ
純粋に高階関数のアルゴリズム集だからそれに渡す関数にはもともと特に具体的な意味はない
結局#int(int)みたいな関数型って導入されることになったの?
gdgdすぎてどっちに転ぶかわからん。
>>79 syntaxのみ未定。
semanticsもやや改変あるかも。
>>61にもあるけど関数型なんてやめてSAMクラス(として見做せるクラス)に対するシンタックスシュガーでいいと思う
そんなにラムダを型付けするのが嫌か
いきなりgenericsのprimitive型対応に飛びつくようなの見せられると
好き嫌い以前のレベルで心配になる。
しかもgenericsのprimitive型対応ってのもかなりやっつけ仕事だしなぁ。
やるんなら互換性削ってもいいからVMレベルで対応して欲しいんだが。
VMレベルで対応するとなると評判の悪いオートボクシングをVMレベルに持ち込むことになるんだぞ
それに既存のジェネリクス使ったクラスでは値型が入ることが全く想定されてないから
正しく動作しない可能性が高い
> VMレベルで対応するとなると評判の悪いオートボクシングをVMレベルに持ち込むことになるんだぞ
意味わからん
二行目以降は、既存のジェネリクス使ったクラスはそのままで
プリミティブ対応の場合は新しいキーワードかアノテーションでやればいいだけ。
reified genericsのときもそーゆー話は出てたし。
86 :
84:2010/07/18(日) 18:21:40
ああ、プリミティブ対応したい場合は特別に指定するってことね
それなら問題ないけど制限が厳しくて使いづらいものになると思うよ
Objectクラスのメンバを呼ぼうとする場合に問題ということ
hashCodeを取得するための別のクラスとか必要になる
new Boxing<int>()とか出来るようになったところで何がうれしいのかさっぱりわからん。
VMレベルでボクシングが不要になればコレクションのパフォーマンスが桁違いに上がる
そうか?
プリミティブを格納するコレクションなんてそもそもArrayListくらいしか必要なくね?
MapやSetで使ったりしないだろ?
だったらそこら中で実装されてるIntArrayListをjava.utilに入れるだけでええやん
ArrayListでプリミティブを格納できるのか?
ジェネリクスでプリミティブ型をサポートするなら最低限Object型であることの保証もなくなるわけだから
ArrayListならCollection<E>すらも実装できないことになるな
既存のコードとの互換性ゼロだね
>>86 それだけなら
int toHashCode(int) String toString(int)
みたいなメソッドをどっかに持たすとか
設定できるようにしときゃいいだけなんでは?
>>94 Objectじゃなくなることがどれだけの影響をもたらすか想像できる?
コレクション系のインターフェイスはほぼ全て非互換になるんだぞ
for (Object item : iterable)みたいなこともアウト
これをオートボクシングで回避しようと思ったらやっぱりVMに組み込む必要がある
つかプリミティブのコレクションなんか誰が何に使うんだっつー話だよ
VMいじってまでの必要性あんのかよ
まあ.NETのジェネリクスで値型サポートが重視されたのはユーザが定義できるからだもんな
プリミティブ型だけなら我慢しろ
そこまでjvmにこだわるなら普通はinvokedynamicの方を勉強する
ジェネリクスの辻褄合わせのために遅延バインディングしてたら本末転倒だろうが
もうGenericsやめてTemplateにしちゃいなYO
もしかしてC++みたいな高速とか効率とかいう戯言こそが最上の価値であるって前提で考えてないか?
でも実際コレクションのボクシングがボトルネックになる場合はあるからな
>>96 だから非互換でいいって言ってるじゃん。
既存のコレクション変えろとも言ってないし、autoboxingしろとも言ってない。
それはjava langの仕様の問題じゃなくてプログラミング・テクでしかない。langやjvmなどまったく関係なく、せいぜいUtils.metho(int)あたりのライブラリ・サポートになる。
c/c++のメモリモデルやアルゴからちゃんとプログラミングを勉強してるならfor loopsのそのようなパターンは個数が有限か不定個数なのかでコードが違うけどいつもの典型的なあのパターンを使えば十分。
>>98 個人的には我慢しろで通すのもアリだとは思うが、
Doug Lea御大が
>>93みたいに型一杯書かされるのは嫌だと仰ってな。
コンパイラレベルでサポートできなくはないけどそれ完全にテンプレートだよ
.NETのように実行時に展開する方式をとるならVMレベルでボクシングをサポートしないとどうやっても無理
>>109 それList<int>をList<Integer>として実装するだけらしい
コンパイラが自動的にボクシングを追加しまくる
List<int>#toArray() とか大変そうだな……
他の言語からはどう見えるんだろ?
タプルは欲しいとは思うけどこれは構造体とかの議論だから今回のラムダ実装プロジェクトじゃタプルサポートなんて到底間に合わないだろ。
クロージャやるときにタプルや定数について議論を深めてほしいとは思う。
ラムダMLや<int>でうだうだいってるようじゃ、タプルとか定数とかの近代的な言語概念についてついてこれる人はあまりいないだろうけど。
java 7 でモジュールをサポートするって話だったけどやっぱり止めたの?
モジュールってパッケージと何が違うの?
やっぱりOSGiでやるとかやらないとか。
>>114 JSR294とかJSR277なら見事に轟沈したんじゃなかったか?
>>111 List<int>のインスタンスをリフレクション経由で操作、
とか考えたらそれだけで済むわけないと思うんだが。
特に配列扱う部分は鬼門。
>>118 そんなこと<Integer>でも元々できないでしょ
>>109にはイレイジャとして実装するのは変わらないと明記されてる
今更だけどジェネリクス最大の欠陥だ
>>119 List<Integer> は List<int> じゃないんだから int[] toArray(int[]) できないのは当然だが。
それに erasure 使うにしても、フィールド引数戻り値で使われれば
型情報として List<int> みたいなのは残るからな。
今になって思えば、総称型が失敗だったというより
そもそもプリミティブ型入れちゃったのが欠陥のような気もする。
呼び出し側で配列もボクシング/アンボクシングしちゃえばいいんだよ
>>109にもそう書いてある
ただし、とっても高コストな処理になるはずだから大問題ね、だそうだ
>>121 呼び出し側と呼び出されるメソッドだけならそれで解決できるかもしれんが、
メソッド内でT[]を引数か戻り値に使う別のメソッド呼ばれるときはどうやって解決するんだ?
<T> T[] join(T[][] arrays, Class<T> clazz) {
int size = 0; for (T[] array : arrays) size += array.length;
T[] retArray = (T[])Array.newInstance(clazz, size);
size = 0; for (T[] array : arrays) { System.arraycopy(array, 0, retArray, size, array.length); size + = array.length; }
return retArray;
}
T[] toFlatArray(List<List<T>> l, Class<T> clazz) {
T[][] arrays = (T[][])Array.newInstance(Array.newInstance(clazz, 0).getClass(), l.size());
for (int i = 0; i < l.size(); i++) arrays[i] = l.get(i).toArray(Array.newInstance(clazz, l.get(i).size()))
return join(arrays);
}
>>122 > T[] toFlatArray(List<List<T>> l, Class<T> clazz) {
<T> T[] toFlatArray(List<List<T>> l, Class<T> clazz) {
> return join(arrays);
return join(arrays, clazz);
だな。というか、多重にメソッド呼び出しせずとも
<T> T[] toArray(List<T> l, Class<T> clazz) {
T[] array = (T[])Array.newInstance(clazz, l.size());
for (int i = 0; i < l.size(); i++) array[i] = l.get(i);
return array;
}
みたいにクラス内で T[] 生成されてもアウトのような。
T[]に変換しようとした時点でコンパイラが
CompilerUtil.boxIfNecessary(Array.newInstance(clazz, size));
みたいなコードを生成するくらいしかないかな
既にコンパイルされている既存のライブラリが使い物にならなくなる。
頭痛が痛い
C++みたくアルゴリズムが豊富に揃ってるわけでもないのに
既存ライブラリでプリミティブを扱えて得するやつなんて超少数派だろ
互換性保つために実行時効率犠牲にして boxing/unboxing 使うアプローチにしたのに
互換性破壊されんのはダメダメのような
思い切って現行ジェネリクスを非推奨にして、
追加機能を考慮した新しい何かを導入するというのもある。
現行の generics を置き換えるようなものとなると一朝一夕にはいかんし
結局 function type のが現実的だと思うけどな。
より現実的なのはParallelArrayごとラムダを削除する事だな
>>109 可変長引数の扱いとかも結構酷い事になりそうな予感。
List<int>list = Arrays.asList(new int[0]); //List<int> ができるなら、これが期待される
List<int[]> list = Arrays.asList(new int[0]); //互換性を考えると、こうせざるを得ない。
もっと早い段階からオートボクシングはVMに組み込んどくべきだった
すべてが手遅れ
simonpjがboxing/unboxingの最適化の論文書いたのが90年代前半なので…
type erasureを使った言語/ライブラリ設計としてはよく出来ているし。
ユーザーに実装を意識させる時点でおかしい
テンプレートとして実装する方が将来的な実装の幅が広がってまだマシだった
>>135 iterableをObjectが実装してくれるだけで使いやすくなるのかなぁ、と
思うんだけど
どのみちiterableでプリミティブ型は列挙できないじゃん
やっぱりVMレベルでのオートボクシングが必要
iterableってどっからでてきたんだ?
>>139 なんでもかんでも Object に突っ込んだら駄目だろ
Objectってのは、基底クラスで実装してくれたらなってだけで・・・
Listでも配列でも単値でも、どれでもイテレーション出来たら便利って話だけで。。
opensolarisは開発中止になって解散するそうだね。
Neale Ferguson による動議: OGB は OpenSolaris への理解とオープンな開発
を促進し、 Oracle と共にコミュニティを代表して活動したく思っているが、
それとして、OGB は 2010 年 8 月 16 日までに OpenSolaris の将来および
OpenSolaris コミュニティとの相互作用について話す権限を持った連絡役を
Oracle が 指名することを必要としている。さもなければ、OGB は 8 月 23 日
の会議において Oracle へコミュニティの管理を返還する OGB 憲章の条項を
発動するための行動を講じる。
http://mail.opensolaris.org/pipermail/ug-jposug/2010-July/002181.html
windowsで起動して日常的に使っているアプリの大半はオープンプロジェクトのソフトなんだし、openglもこなれてきたからwinである必要はないでしょ。
ただし無料ソラリスがなくなって、デスクトップ・クライアントPCがlinux一色になっちゃうのは辛いな。
最近だとPCなんか5万前後で新品が手に入るのに、未だにPCは一人1台だからOSライセンスも各PC必要なんていうビジネスモデルにすがっているんだろう・・・
>>145 家のPCは全部OpenSolarisなんでしょうね。
>>147 chengesetの内容見る限り、スタートアップjarの扱いを変えてるだけに見える。
そーいやARMが入ったんじゃなかったか?
今更だなあ
誰がどう考えても最初から
>>149以外ありえないと思うけど
そこには書いてないが、
>>109みたいな話も出てるし
たぶんそのまま行くことはないだろうと思うが。
yieldについても非難轟々だったしねぇ。
>>148 入ったのは AutoCloseable だけじゃね?
下のchangeset待ちっぽい
># Changeset 13354e1abba7
> * 6911256: Project Coin: Support Automatic Resource Management (ARM) blocks in the compiler
> * 6964740: Project Coin: More tests for ARM compiler changes
> * 6965277: Project Coin: Correctness issues in ARM implementation
> * 6967065: add -Xlint warning category for Automatic Resource Management (ARM)
もうJavaは終わコン
JDK6がダウンロードできなくなった、おいおい
継続すると言ってたはずのOpenSolarisも終わったし、
次はOOoかMySQLかとささやかれてる
ボラクルが絡むとろくなことがない
Androidにもケチつけてるし、中々行く末厳しいねえ
いやいや、アンドロイドは普通に特許権侵害でしょ。
グーグルは全世界の著作者に対して著作権侵害とくに書籍の無許可スキャンと公衆への公開をして中国、ヨーロッパ、(インド方面)の全世界のマーケットより締め出されたでしょ。
次は特許侵害でアメリカ国内の同業者から締め出され、さらに日本・韓国・ドイツなどの個別の国ではプライバシー権(個人情報無断違法収集など)侵害で政府機関から目を付けられるだろう。
bing発表の時期にグーグルに都合が悪いニュースだったからすかさずgoogle waveを発表してかき消して、中国撤退の時もあの手この手で逸そうとしてたけどグーグルはそういう厚化粧ばかりしてるでしょ。
グーグルは.comバブルの最後の生き残りだけどもう虚像営業も限界なんだろう。
グーグル提供のwebアプリなんかも飛び抜けて凄い分けでもないしグーグルがなくなってもまったく困らない。最近だとweb中立性とか言い出してるから近いうちにwebの世界からも締め出されるんじゃないかな。
下らない訴訟やる暇があるなら、さっさとjdk7リリースしろよ……
java 7のリリース発表はjavaoneの場で発表するからそれにあわせてjdkのビルドスケジュールを調整してるんだけど・・・気がつかなかった?
>>157 現状スマートフォンのほとんどがgoogleに依存してるのに締め出されるとかw
全く依存してないのって黒苺くらい?
>>161 スマートフォン持ってないの?
それじゃ話にならない
グーグルの戯言に頭おかしくされちゃったグーグル狂信者には何を言っても無駄
>>159 それ
>>154の今年の3月時点の予定でしょ。
凄く遅れてるからJavaOneには間に合わんと思うが。
>>165 スマートフォンを持ってればああいう質問になることはまずない
理解できないのなら黙ってようねw
>>164 java oneに御披露目の予定だったけど、現状じゃ無理っぽいってことでしょ。
新規ライブラリはjava 6.5とかにして先にリリースして、java 7のラムダとかの言語改定などコアなところは1-1.5年延びるんじゃないか。(と言うのが一番現実的だと思う。)
>>166 スマートフォンをどう活用していますか?
あなたがウェッブ・トレンドについてそこまで自負をお持ちならいくつか有用なシーンを挙げてもらえませんか?
>>168 叩くためのエサ求めてるアホはとっとと死ねよ
170 :
デフォルトの名無しさん:2010/08/16(月) 16:12:29
グーグルの戯言に頭おかしくされちゃったグーグル狂信者には何を言っても無駄
>>166,169
googleのweb servicesって、他のサイトと比べて試してみても、飛び抜けていいものなんですか?
>>167 新規ライブラリだけ分離してリリースは是非ともやって欲しいね。
アンチグーグルの自演がひどいですね
ID入れろよw
グーグルはサンに対して大規模な特許権侵害をやっていたのか・・・
グーグルの戯言に頭おかしくされちゃったグーグル狂信者には何を言っても無駄
>>174 なんでサンは訴訟しなかったんだろうね?
あれだけ訴訟好きだったのにw
>>171 逆にgoogleがやってるサービスで、googleよりとびぬけて優れていて
代わりになるサイトを教えてくれよ
とっとと移るからさ
>>157 > いやいや、アンドロイドは普通に特許権侵害でしょ。
具体的にはどういう特許なの?
>>181 http://www.infoq.com/news/2010/08/oracle_sues_google 、によると
> 6,125,447, "Protection domains to provide security in a computer system"
> 5,966,702, "Controlling access to a resource"
> 5,966,702, "Method and apparatus for pre-processing and packaging class files"
> 7,426,720, "System and method for dynamic preloading of classes through memory space cloning of a master runtime system process"
> RE38,104, "Method and apparatus for resolving data references in generated code"
> 6,910,205, "Interpreting functions utilizing a hybrid of virtual and native machine instructions"
> 6,061,520, "Method and system for performing static initialization"
らしい。
>>182 > > 6,125,447, "Protection domains to provide security in a computer system"
これなんか、JVMはどの実装も全てアウトだし、C#のCLRもアウト。
まあ特許相互利用契約で決着だろうけど。
MSはC#をJISで提出公開してるけど、MSが持つLINQの特許で実質的にC#の実装はMSのコントロール下になっているでしょ。
商売で使ってるならパテント払えば済む問題なのに、なんでそこまでしてワレズが欲しいのか理解できない。
United States Patent RE38,104
Gosling April 29, 2003
Method and apparatus for resolving data references in generated code
Abstract
A hybrid compiler-interpreter comprising a compiler for
"compiling" source program code, and an interpreter for interpreting
the "compiled" code, is provided to a computer system.
http://japan.zdnet.com/news/os/story/0,2000056192,20418448,00.htm オラクル、「OpenSolaris」プロジェクトに終止符か
「エンタープライズ版Solaris OSのフルリリースの後に、CDDLで承認されたものを始めとするオープンソースライセンスのもとにあるコードの更新版を配布する。
こうすることで、新しい技術革新はどこよりも先にわれわれのリリースに登場する。今後は開発と同時にリアルタイムで、
Solaris OS全体のソースコードをナイトリーベースで配布するつもりはない」と、Mike Shapiro氏、Bill Nesheim氏、Chris Armes氏の
連名によるメモには記されており、さらに、「Solarisバイナリのナイトリービルドや隔週ビルドといったバイナリ配布を提供したり、
あるいは『OpenSolaris 2010.05』以降のリリースを提供したりといった予定はない」と述べられている。
187 :
デフォルトの名無しさん:2010/08/18(水) 00:10:34
>>155,156,173,181
「飢えて死にます」――「黒執事」作者、ファンからの「海外動画サイトで見た」メールに苦言
http://www.itmedia.co.jp/news/articles/1008/17/news048.html こうした行為に対し、枢さんは「万引きや無銭飲食と一緒」「ワタシたちクリエーターや声優さんたちはご飯が食べられず、冗談じゃなく飢えて死にます」と憤る。
それをメールに記して原作者に送るという無邪気さにも「背筋がぞっとします」とコメント。「『黒執事がすごく好きです!でも、中の人達は無収入にして飢え死にさせたいです★』
ってメールを送ってきてるのと一緒」「猟奇的にも程がありますぞ…」と落胆している。
「面白かった、続きが見たい、と思って下さったら、DVD、レンタル、公式グッズ、CD、なんでもかまいません。たった1個だけでもいいのです。
SUN Microsystemsという会社は長年革新的なソフトウェアと次々と作っていたけど、もうこの世から消滅しちゃたよね・・・どうしてだろう・・・?
次々と… って何があったっけ?
>>189 あたり前に使ってる技術が、実はSunが開発or普及させたものであることが意外と多かったように思う。NFSとかRPCとか。
SUNといえば、Java MEなんかもそうだよね
Androidに食われちゃて今はどうなってるか知らないけど・・・
>>191 NFSが普及したのは確かだが革新的というならそれより数年先行していたApollo Aegis(後のDomain)の方だろ
SPARCが普及したのは確かだが革新的というならそれより数年先行していたヘネパタ(後のMIPS)の方だろ
(特許持ってたのはIBMだったけどな)
>>194 Apolloはオープンじゃなかったから死滅した。
クローズドな分散システムではもっとも成功したものの一つだったけど。
SunOSの時代はやはり画期だったと思う。
>>196 オープンシステムとか言いだす前の時代だったからな
TCP/IPが固まってなかったってどんだけ〜
時期尚早すぎた。革新的というのはそういうものだ
NFSが画期的だったのは技術面よりパブリックドメインで提供されたことだろう
>>182 これらの特許が期限を迎えるのはいつごろなのでしょうか
特許があっても特許の有効期限が切れればいつかはフリーで利用できるのでは?
UltraSPARC Tシリーズが普及しなかったのは確かだが革新的というならそれより数年先行していたPower4やPentium4の方だろ
Javaが普及したのは確かだが革新的というならそれより数十年先行していたSmalltalkの方だろ
>>197 TCP/IPはその頃、既に仕様は今の通りだよ。
メーカー各社は無視していたと言うだけで。
アメリカ主要大学、研究室では広まっていた。
>>201 TCP/IPの仕様化完了は82年、AEGISのリリースは81年
>>202 良くそういうことが書いてあるけど間違い。
TCPとIPのRFCは「確定」したのが1981/9で、(UDPは1980/8)
確定以前から数年に渡って利用されている。
1982にはメーカー主導ではないUNIX実装を作り始めている。
>>203 だとしても81年リリースのAEGISには間に合ってないだろ
開発期間も考えろよ
時期が早かったからTCP/IPを採用しなかったと言うわけではなく、
技術系列が違うメーカー機器から派生したOSだからと考えるべき。
(Prime社のCAD機)
なんだよ考えるべきって(笑)主観的すぎだろ
そんな無粋な突っ込みはやめるべき
スレ違いだからもうやめるべき
それよりSunが次々と作っていた革新的なソフトを列挙すべき
じゃあJiniで。
おまえらは大昔の枯れた話題だと盛り上がるんだなww
>>198 あなたの生活の全て管理している「偉大なるグーグル大先生」様にお伺いをたててみてはいかがですか?
Jiniって革新的だっけ?
例えばAgletsとかObjectSpaceのVoyagerとかに比べてどんだけ革新的だった?
もちろんぐぐる気はない
つまらん
>>211 特許の申請日を調べてみた
有効期限はこの日から20年でいいってこと?
6,125,447 Protection domains to provide security in a computer system
Filing Date 1997/10/11
5,966,702 Controlling access to a resource
Filing Date 1997/12/11
5,966,702 Method and apparatus for pre-processing and packaging class files
Filing Date 1977/10/31
7,426,720 System and method for dynamic preloading of classes through memory space cloning of a master runtime system proces
Filing Date 2003/12/22
RE38,104 Method and apparatus for resolving data references in generated code
Filing Date 1999/03/03
6,910,205 Interpreting functions utilizing a hybrid of virtual and native machine instructions
Filing Date 2002/07/12
6,061,520 Method and system for performing static initialization
Filing Date 1998/04/07
Sunが次々と作っていた革新的なソフトウェアの列挙はどうしたんだ?
そんなにあるなら次々と列挙されるもんじゃないのか?
サンは2009年に経営破綻して倒産した
Sunは経営破綻してないし倒産してない
Oracleに約74億ドルで買収されただけ
Sunは革新的なソフトウェアを一つも作っていなかった・・・
一つも・・・
〜としては革新的というものなら。NFSでもJavaでもZFSでもいいけど。
やっぱりないんじゃん
黙れ小僧!おまえにサンが救えるか!
革新的なソフトウェアを一つも作っていなかったSunを救えるものなどいない・・・
たとえOracleであっても・・・
オラクル「さんさんさんさん 朝日さん あなたのお熱を頂戴な」
9 :名刺は切らしておりまして:2010/08/13(金) 10:42:24 ID:YCkfkFZc
>>3 SUNの場合は単純な原理主義・理想主義(と少々の反MS)がJava普及の
足を引っ張った事があったけど最終的にはユーザや開発者の側について落ち着く
ところに落ち着くだろうという楽観があったけど、オラクルに買収されたと聞いた
ときにはいやな予感がしていた・・・だからやっぱりなという感想。
金のためなら技術もろとも墓場に送りそうな会社だから先行き不安だね。
実際はSUNのJava開発者の優秀どころはGoogleに移っているからオラクルのやる
ことはLinuxでのSCO的立ち位置だよ、邪魔張りだけ。
26 :名刺は切らしておりまして:2010/08/13(金) 17:56:03 ID:rSPjMnY/
MySQL や OpenSolaris など、Oracle に買われたテクノロジーは飼い殺しにされる。
OpenOffice, VirtualBox, NetBeans もヤバい。
31 :名刺は切らしておりまして:2010/08/13(金) 22:52:31 ID:zYeeI8JF
>>26 その危険性って、声高に叫ばれてないよな?何でだ?
オープンソースのソフトウェアがクローズドになったら
みんなお金出してプロプライエタリなソフトウェアを買うのだろうか?
Linuxカーネルのメンテナンスが止まったら、産業界にとっては損ではないのか?
それともそうなったらそうなったで、OSを作っている会社にライセンス料を払って
拡張機能やパッチ提供を頼まざる得なくなるので、結果としてIT業界全体としての
パイは大きくなるのだろうか?
個人的には図書館で本を無料で借りて読めるように、長いスパン(100年)とかで見れば
オープンソースのソフトウェアがある程度はあった方がいいと思う。
公開する人にとってみれば、自分が生きている間に金銭的な損が発生したことになるんだけど。
「50年間OSを提供してきましたが、経営悪化のため現バージョンで提供を終了します。
なお、権利の問題が複雑なのでOSのソースコードを公開することはできません」
とかが起きたら、その上で動いていたアプリとかも根こそぎ捨てなくちゃいけなくなる。
「ニュートン(ライプニッツかな?)が微分法に使用料を課していたら
科学の発展は遅れたのではないか」
っていう例え話に似ている。
考えすぎかな?
32 :名刺は切らしておりまして:2010/08/13(金) 23:51:54 ID:pfQAO9Lt
>>31 ちゃんとしたオープンソースなら、勝手にフォーク(枝分かれ)できる。
LinuxはGPLだから、クローズドにできない。
33 :名刺は切らしておりまして:2010/08/14(土) 01:49:33 ID:b+MmG3WN
Linuxに関して言えば例えばLinus一人が突然死んだとしても一時的な混乱はあると思うけど
大きな影響はないな。開発者会議がテロにあったくらいでも何とかなる。
87 :名刺は切らしておりまして:2010/08/15(日) 11:20:40 ID:f+fvgPV2
最新時価総額
テクノロジー企業時価総額世界第一位のAppleと弱小メーカーその他大勢
(2010年8月15日時点 1ドル86円換算)
Apple →19.6兆円
・
Microsoft →18.2兆円
・
IBM →13.9兆円
Google →13.3兆円
・
・
オラクル →9.8兆円
・
HP →8.1兆円
・
NTTドコモ →6.1兆円
・
・
Nokia →2.8兆円
パナソニック →2.7兆円
ソフトバンク →2.7兆円
ソニー →2.6兆円
Dell →2.0兆円
KDDI →1.9兆円
東芝 →1.8兆円
三菱電機 →1.5兆円
モトローラ →1.5兆円
富士通 →1.2兆円
シャープ →1.0兆円
NEC →0.6兆円
htmlにもなってないw
SunがOracleに買収されてJavaはどうなんの?
今後も言語仕様は進化していくのか
それとも使いにくくなるのか
Javaの言語仕様って国際規格になったんだっけ?
オラクルがすべてを掌握してる
どんな形であれ勝手な実装は許されない
Java
Programming Language has achieved such widespread usage, that for the health of the industry, it's time to
JUST FREE IT
Hold Oracle to their Pledge!
c#使うのにmsのあれを買ったことはあるが、javaを使うのに何かに金払った覚えはないが・・・・
235 :
デフォルトの名無しさん:2010/08/31(火) 09:22:18
iPadでJava動いてホシイ
ipad持ってないけど、appleのブラウザはapplet動かないの?
ブラウザどころか、iOSシステム全体で、
言語実行環境を作るのはAppleが禁止。
アプリとしてiTSで配布できない。
そうすると、mac os x はそのうちopenjdkになるのかな
それも買ってきた初期状態では入ってなくて、ユーザーがインスコするような感じで
そのうちオラクルに訴えられるけどね
openjdkはオラクルがリリースしてgplのライセンスで提供してるから訴えられることはないよ。
ていうかオラクルやサンはjavaやopenコミュニティの利益を守っていて、googleは開発者とコミュニティーの利益を侵害してるんだけど。
googleの戯言にイチイチのせられるような知能じゃ分かるはずもないか。
より良いwebのためですから
>>233 Let Larry know you care Friday August 27, 2010
I whipped up a couple of t-shirt designs on the topic of Oracle's commitment to releasing Java. If you're attending JavaOne or OpenWorld, I'd appreciate it if you'd wear one, just to let Larry know that you care.
Or if you just happen to be wandering the neighborhood (I know that there are lots of Java hackers who work within just a few blocks of Moscone). Or if you will be spending quality time with an Oracle salesperson.
Or in any other situation where the spirit moves you. It's a gentle but clear way to express your feelings (well.... the last design on the page isn't all that gentle - but it's more fun).
Enjoy!!
>>239 OpenJDK is a Free and open source implementation of the Java programming language. It is the result of an effort Sun Microsystems began in 2006.
The implementation is licensed under the GNU General Public License (GPL) with a linking exception, which exempts components of the Java class library
from the GPL licensing terms.
グーグル台先生様様ですから
>>240 オラクルはOpenSolarisの処置をみると、
OpenJDKにいい主であるかどうかはかなりグレー。
地球上の全ての情報はグーグル様様ですよ?
次は
jdk 2.7.0
でいい。
OpenJDKを許さないとしたら、Javaは衰退するな。
技術者が完全に逃げる。
どうせ、Javaの技術者は、もうOracleから逃げてGoogleとかに吸収されてるし
文化が違う会社で今までと同じ技術者が囲い込めるとは思えない。
OpenJDKはGPLなんだから、いざとなったらforkするでしょ。
未だにgoogleのことを「IT企業」だと思ってるんだろうね
googleの戯言にいつもだまされちゃう人って・・・
>>249 OpenSolarisだってforkできるけど、
オラクルの管理する本家が独自に進んでいくとねえ。
分断されちゃうでしょ。
ソラリスにある魅力的なモジュールは、既にbsdの方に移植されてるからos自体は結構どうでもいいって感じ。
もともとOSとしては、オラクルDBに最適化したいからオープンにしておく意味もないし。
Solarisそのものの話はすれ違い。
OpenSolarisは理事会が解散になった。
opensolarisは、クロームosがちょうどよいライバルになる感じで、クライアント向けデスクトップosとして続けてほしいなって思う。
月100円とかosでもうけようとしたり有料サポートとかじゃ価値はないけど。
6u23が出るみたいね
256 :
デフォルトの名無しさん:2010/09/05(日) 17:12:03
ホームページへの大量アクセス事件 岡崎市立中央図書館の弁明に異論相次ぐ
J-CASTニュース 9月2日(木)21時12分配信
報道によると、男性は3〜4月、自作プログラムを使って、新着図書のリストに自動的にアクセスして、それをコピペすることを14日間3万3000回繰り返していた。これがサイバー攻撃とみなされたわけで、名古屋地検岡崎支部が6月、男性を起訴猶予処分にしていた。
ところが、男性がアクセスしたのは、1秒間に1回程度だったため、ソフトに詳しいネットユーザーらを中心に、男性逮捕への疑問が相次いだ。
中央図書館の総務班では、「ソフトの不具合については、認識していません」
「通常の利用ではないから、ああいう事態が起こったということです。うちとしては、通常の利用しか想定していません」
「メーカーに聞かないと分かりませんが、うちのソフトに不具合があったとは聞いていません。メーカーは、ちゃんと対応したと思っています」
「うちは図書館でありシステム会社ではないので、専門的なことはわかりません。大量アクセスについては、メーカーで対応してもらっています。図書館の対応には、問題はないと思っています」と話した。
朝日の記事によると、ソフトを提供した三菱電機インフォメーションシステムズ(MDIS)
>>229 build108も
No change
一体ナニが起きている?!
JavaOne前で忙しいとか?
Oracleの方針に不満なエンジニアが続々退社して開発体制が混乱しているとか?
買収後のマネジメントに失敗するとよくあるパターン
Googleに引き抜かれまくりなんじゃ・・・
退社云々はOracle買収前からじゃね?
Oracle買収後だとゴスたん以外誰が退社したっけか? 有名どころだと。
そう考えたら既に奴隷の日本人てすごいな
経営者に文句一つ言わずに互いに足を引っ張り合ってるだけ
>>262 なんで、ここで日本人が出てくる?
Oracleの奴隷になった日本人って、有名なのか?
264 :
デフォルトの名無しさん:2010/09/07(火) 00:59:57
Andoroidの件で、OracleとGoogleはどういう解決するんかなぁ
PlanBで。
2012まで動きがないのはありえない。
いいかげんlambdaなんか諦めればいいのに
どうせ永遠にサポートされないんだろ
lambdaは捨てて、jigsawに特化して欲しい・・・・
というか、言語再設計をしてもいいよ・・・
java 7はjava7で予定されている新機能を随時追加する方針であると告知しておいて、
java 7 sp1は既に完成している新規パッケージで構成してjavaone前後 2010秋にリリース
java 7 sp2はlambda,コインのような言語改定と言語改定で大きく影響を受けるパッケージ(コンカレントなど)をここで追加して2011年内にリリース
java 7 sp3はjavafxのようなデスクトップ,uiや見た目関係の整備を重視して 2012年
java 7 sp4はlambdaの追加構文,クロージャやモジュール 2013年
と1年おきに出荷。とくにウブンツのように重大なバグフィックスや重大なアップデートを目的とした半年おきのリリース計画と同じで、java7は1年おきに予定している全部の機能を随時追加すればいい。
jdk1.0からjdk1.1のころと同じで、sp2まで1-1.6年なら開発者の方でもそんなに混乱は起きないし、5、7年後でまだjava7が稼働していてもどうせjava7sp1を使うことはなく全てsp2に移行しているかsp2移行を奨励しているだろう。
sp3のデスクトップ整備のあたりでモジュールのさらなる抽象化として、クロージャの概念も必要になるだろうから2012-2013年ごろにクロージャ導入のスケジュールを組むといい。
言語改定をしてもあまりソース修正が必要ないようなnio2,gcや新プロトコルなど既に完成されている新機能をそろそろリリースしないで1,2年のばすとなると、他のプラットフォーム(とくにobjcやchrome)に本格的に移行する人が多くなるからまずい。
javafxが押していても、2013年にjava7をやっと出すようじゃデスクトップやアプリケーション系の開発者はもう他のプラットで十分だから戻ってこないと思うよ。
java 7リリースをさらに遅らす計画なら、デスクトップ向けのライブラリが弱くなるからjava 6の方でもともと追加を予定していたsiwngapplicationframeworkや
swingxのライブラリ(timingとか)やコンポーネント(datepickerとか)などを追加して、javafxよりもまずjava6でswing packagesを完成させてほしい。
>>270 それはJavaEEやAP鯖やフレームワークがしんどくなりすぐる
Automatic Resource Management って C# の using のまるパクリじゃん
もうプライドもくそもないのか
それ言い出したらautoboxingの時点で既にないような。
Control Invocation Syntaxの方が好きだったがなぁ……
>>274 プライド要らんから、より洗練、かつ安全で、高速な最適化ができる言語にして欲しい
()内にステートメント並べるのは気持ち悪いなあ
どうせパクるならちゃんとパクって
try (A a = new A())
try (B b = new B()) {
}
としたほうがまだ綺麗
もう面倒だから.NETでいい
>>277 usingの中でリソース並べられないのは欠陥だと
.NETの開発者が言ってたので、
それを改良したとか聞いたような。
個人的には
>>277の方が綺麗だと思うが。
いや、引数の形で書ける方がいいな。
セパレータはセミコロンじゃなくてカンマで。
んな中途半端なことするんだったら思い切ってブロック引数導入するべき
>>280 セパレータをカンマにすんのはどうかなと。
try(Closeable foo = hoge, bar = hage) { /**/ }
コンパイラは区別つくかもしれんが、人間は混乱すっかもなぁ……
usingの欠陥は、コンストラクタで発生した例外をキャッチできないことだろ
usingを必要とするようなクラスはその性質上コンストラクタで例外をスローする場合が多いので
しばしばusing全体をtryで囲むという間抜けなことになる
その点が改善されてるのは重要
これからはobjcの時代ですよ!?
>>283 C++と違ってコンストラクタで例外投げても
インスタンスが作られることがないからいいのでは
IDisposableについて煽りに来らすでに書かれてたwww
散々馬鹿にしといてこれだもんな〜
所詮は若き日のビルゲイツとマイクロソフトですから
>>282 try(InputStream foo = hoge, OutputStream bar = hage) { /**/ }
って想像したんだけど??
>>287 煽りにしても意味が判りません><
それだと
for (int i=0, j=0, double x=1, y=1; i<10; ++i)
とか出来ないんですよね・・
やっぱりJava MEですよ?
292 :
デフォルトの名無しさん:2010/09/14(火) 01:28:28
JavaのImport文が嫌い。
どうして、こんなに数多く定義する必要があるんと思ってしまう。
シンプルさで行ったらC#なんだけどなぁ
D言語がjvmに乗る計画はありますか?
>>285 C++ でも、コンストラクタで例外が発生したらインスタンスは作られませんよ。
作ろうとしていたオブジェクトのインスタンスは作成されないけど
例外を投げる以前にコンストラクタ内で別のオブジェクトを作成していたら
それらは作成されっぱなしでしかもデストラクタも呼ばれないから
解放不能になるんじゃなかったっけ?
それメモリ以外のシステムリソース掴んでる場合、解放不能にならん?
JavaのARMでもC#のusingでも。
>>292 依存性を明確にするためとなどというよくわからない文化
そして結局面倒すぎて折りたたみっぱなしで管理はIDE任せという本末転倒な状況
>>296 Closableのcloseメソッド内でちゃんと処理しないとダメでしょう。
システムリソースを掴んでるんだったら例外投げる前に解放してから投げるべき
それは完全に実装側の責任だからクラスの利用者が気にする問題じゃない
finally{
if (null!=out) out.close();
とか
catch(){
if (null!=out) out.close();
これってcloseの前にタイムアウトなどio例外1が起きたら
out.closeの時にそもそも「streamが異常事態」っていうio例外2がさらに発生して以前のio例外1が報告されないんじゃない。
前々から気になっていたけど。
>>300 一つ目のExceptionを握りつぶしたらそうなるけど
お前がそういうコーディングしてるからって報告されないってのは・・・・
>>290のコードはまさに握り潰しサンプルだよね。
>>300 void closeQuietly (Closeable c) { if (c != null) try { c.close(); } catch (IOException e) { } }
みたいの使って例外2を握りつぶせば?
read() write() が正常完了 close() でエラー発生した場合の例外も欲しい場合は、
try の方にも close() 書いておけばいいような。
Scala等で言うところの、loanパターンをJavaでも書けるようになったの?
>>298 コンストラクタで例外食らった場合って、
そのオブジェクトの dispose() とか close() って呼ばれるんだっけか?
>>305 何の話してる???ここはJavaの話だぞ・・・
>>305 Javaの ARM はコンストラクタで例外出たオブジェクトは close() 呼ばれないような。
仕様はどうなってたかな
C#のはどうだか知らんけど。
おまえにジャバは無理
男なら素直にVB.NETにすろ
>>308 なんで?
ARMの対象になっているリソース毎にtry-finallyが付いていると思えば
初期化終了してたらcloseされるんじゃ?
コンストラクタで例外出た場合の話をしているのに
初期化終了してたらって条件つけられてもなぁ
そういうあたりはc++,javaの言語仕様書にしか書いてない。
>>311 すまんすまん、2つのリソースがある場合の話がでてたからそっちの話と混同してた。
>>276 >
>>274 > プライド要らんから、より洗練、かつ安全で、高速な最適化ができる言語にして欲しい
同意。
今時、言語のオリジナリティーとかはどうでも良いよね。
最近の Java ユーザの信者度もだいぶ落ちたな
せっかくあおってものれんに腕押しだ
グーグル信者の方はグーグルへの忠誠度は相変わらずなのか?
Bing のパクリばかりじゃないかとあおりたいところだが
今のタイミングだと Instant Search で反論されちゃうから
Plan B になるなんてあほすぎじゃね
>>316 エンジニアが勝手に未成年の個人情報漁ってコンタクト&ストーキングできるぐらいのザルだけどな。
信者にとっては、Googleだからあの程度ですんだ、他社ならもっとひどかった、でおわりでしょ。Googleは素晴らしいってのがすべての結論だから、それに反することは
自動的に否定される。
b111デタ
>>325 JavaFX 2.0でAPIのJava bindingが作られて、
> The JavaFX APIs will be a variation on typical JavaBeans properties
> and listeners, and will be designed to work well with the lambda
> expressions coming in future releases of Java.
だってさ。ラムダ式!
たぶんjwebpaneとかjavax.media,java3dとか最近までクライアント向けライブラリで音沙汰なかったものはもjavafxプラットに結合されるんじゃないか。
>>326 lambdaも考慮して設計するよ、とかそーゆーレベルの話じゃない?
もっともProject lambdaのグダグダっぷりを見ると、
JavaFXがAPI固定した後にlambdaの仕様変更とかやりかねんよーな気もする。
そこ、時間あるときじっくり読もうと思ってたけど書いてあったのね。
javafxscriptは残念だったけど、オラクル内部では使われてjava9ぐらいでgui記述宣言的動的マクロ(guiドメイン特化型)あたりで復活するんじゃないかな。
というかドメイン言語というよりも概念的にはjavafxscriptのコンセプトがjava8,9あたりで次世代クロージャ仕様になるんじゃないかと思う。
ならん。
JavaFX Scriptは死亡。
ただbinding関連がJavaFX 2.0 APIsに含まれるから、
より宣言的な形で定義を書くことができる。
個人的にはscriptがぽしゃったのはありがたい。
専用言語を用意してたらユーザが増えない。
Javaは言語ではなくプラットフォームであるという最近の思想とギャップがありすぎた。
ライブラリやフレームワークを使うだけの一般利用者(日本型派遣開発者)ならそうだろうけど、ui frameworkやライブラリを作る方からすればcssと同様にideがなくてもエディタのみでごりごり作れるように設計してあるしかなり楽だった。
> 日本型派遣開発者
ってのが視野狭窄すぎて笑えるw
>>333 > ui frameworkやライブラリを作る方
JDKべったり依存で作ってるんだw
今更モバイルねえ…
グーグル脅して載せてもらいでもしないと無理でしょ
>>328 を読んでみたんですけど、2010-2011と言うことはjavafx 2は現行java6でも適時追加導入されるってことですか?javaのどのバージョンから入るのか書いてないですよね。
それとjava6でjavafx 1.3のライブラリを使うにはどうすればいいんでしょうか。
VMにInvokeDynamic入るってのは分かったが、
TCOやContinuationはいつになったら入るのじゃ??
JavaFX Scriptに既に投資してて、廃止で死にたくなったって人は居ないの?
invokedynamicのためだけにVM弄るのかなあ
VMに手を入れるんだったらもっと他に改善するべきところはいくらでもあるだろ
他に改善するべきところ、っつーと?
>>339 Project Coinの最後に漏れた提案の中にもない。
>>341 JDK 7に含まれるProject Coinの内容は知ってていっている?
invoke dynamicってJSR292でしょ?
Project coinに入ってたっけか?
java7はjavafxのパッケージが丸ごと入るからかなり大きい改定になると思うよ。
英語を見た感じだと、mozilla projects, adobeflashruntimeが丸ごと入って、java plattの一部としてhtml5 plat/browserすらもjavaモジュール化しているっていうのに近い。
それが2011年中に完成するって言う計画だけど、javafx2のリリースが2011年に向けて計画してるってだけでjava6,7どちらには入るか書いてないけど。
どうでもいいけどjeditorpaneとswing.htmlでcss2,html4サポートを完成させてもらった方がjcomponentだけでwebbrowserになるからどんな改定よりも有意義なんだけどね。
java8はラムダやcollection literalsとか言語改定だからラムダ+クロージャの議論の帰結として上にもあるけどjavafxscriptのノーションやノウハウがそのままは入ってもおかしくないんじゃないか。で、2012年後半ってのはまず無理でしょう。
先のことなんかどうでもいいけど、サン(オラクル)は開発中である程度固まってもいないのに一般開発者に情報を出すから混乱する。
オラクルはラムダ仕様ですら混沌としてくるようなら、msがwinwosfilesystemのwinfxの大々的な宣伝と度重なるwinosの延期と結合失敗でmsの技術力は大恥じかいたって流れに似てくる。
ジグソーは追いかけてないけど、結局ジグソーはオスギにしなかったの?どういうのになったの?
>>345 それはinvoke dynamicの言語サポートの方でしょ、
invoke dynamicのVM側の変更は別。
>>337 Androidを訴えるとか真逆を突っ走ってます
ゴズリングも嘆いてたな。
ただAndroidは偽Javaだからコミュニティ的に裏切り者とみなされても仕方ない。
それよりJavaのモジュール化を完成させてMEを廃止、SE Liteを端末用にして欲しい。
ゴズリンについては発言を聞いていても何をしたいのかイマイチ分からん
自分の特許を侵害されたとしてオラクルと一緒になって訴えてる側なのにグーグルを擁護してみたり、そんなに好きならいっそグーグルに再就職すればいいじゃんって言う程度の人
偽善の仮面を被っていてもそういうのってジャバ・開発者・ネイティブ・コミュニティーから見透かされているんだよね・・
言語設計者としてストイックなところは影響を受けたしやっぱり偉人ではあるけど、カーニハンとかパイクとかと同じでもう過去の人かな
>>350 ジグソーは追いかけてないけど、結局ジグソーはオスギにしなかったの?どういうのになったの?
最近の有名人はみんなEE寄りの人ばっかだったしなぁ
Oracleが予想外にJavaFXに力を入れてるし、クライアント側で有名人が増える事を願うばかり
将来はHTML5とJavaFXが柔軟に結びつくんだな。
かつて全ての業務アプリはIEコンポーネントで作られることになると妄想してたが、
それに近い形になってくれるんだろうか。楽しみだ。
ちゃんとしたHTML吐いてネイティブGUIと見た目を合わせるのはさすがに難しいと思うけどどうなんだろ
UI全部一つのcanvasで描くのかな
モバイル向けはWebKitベースってあるけど、デスクトップはどうなるんだろうかねぇ。
コントロールパネルで規定のブラウザを指定してスイッチするようになるのかな?
開発リソース的にブラウザそのものを作るとは考えにくい。分からないけど。
WebPaneって描画はJava側でやるんじゃなくてネイティブ側に任せるんかな?
数年前はJava側でやるって話がでてたような。
>>340 blu-ray,kindleのappli ui menuを作ってる中の人ならありえる。
>>322,325,328
JavaFX チームは,同時ストリーミング配信された160 種類のビデオ映像が 3D シーンで互いにオーバーレイしながら,再生中に 3D スペースを動き回るデモンストレーションを行った。
中にはビデオ画像のひとつが破裂して 1,300 の破片になり (それでも再生は続いている) ,おもちゃのブロックのように床に落ちるシーンもあった。
JavaFX のパフォーマンス面の強調に加えて,チームは Oracle の目標として,"Java プログラミングモデルから最良の HTML5 とネイティブアプリケーションのエクスペリエンスを提供すること” についても説明した。
将来的に JavaFX は,ネイティブな Java 2d/Open GL/ホットスポットVMスタックと Javascript/HTML5/Web ブラウザスタックのどちらにも同じ API コールでレンダリングできる能力を備えた,
汎用的なビジュアル抽象化レイヤを目指している。Oracle は 2011 年内に2つの新たな JavaFX をリリースすることに加え,プラットフォームのオープンソース化もコミットしている。
続いて Kurian 氏は,Oracle がモバイルと組み込み領域を "新たな Java のフロンティア" と考えていることを説明した上で,Java の稼働するデバイスとして
Sony Ericsson のスマートフォン,Amazon Kindle,Livescribe スマートペン,Cisco VoIP 電話,Java カードなどを挙げた。
Web Features
WebView Scene Graph Node
The WebView is a new scene graph node that displays HTML 5 content. It renders within its rectangular bounds the web content fed to it via a WebEngine and WebSource.
The source may be a URL, a File, a String of HTML content, or an HTML DOM tree. The WebView's DOM can be manipulated programmatically from Java.
HTML DOM events can be listened to by Java code.
WebEngine and WebSource
The WebEngine is an implementation of core HTML technologies for parsing HTML content and producing an HTML DOM. The engine can be used to respond to various HTML events
which occur in the process of parsing a page. The input to the WebEngine is a WebSource, which can be a URL, a File, or a String of HTML.
A single WebEngine can be used with multiple WebViews.
HTML DOM
An implementation of HTML DOM will be added to JavaFX to facilitate the Java / HTML 5 integration both with the WebView and with a web browser when embedded as an applet.
今更ジェネリックの話だけど、
仮にJavaのジェネリクスに型情報を持たせてたら今頃はどうなってたんだろう。
363 :
デフォルトの名無しさん:2010/10/04(月) 14:32:17
今のJavaではジェネリクスのタイプセーフの保証をする責任を負うのは
ジェネリクスを使ったクラスを提供する人。
その責任がVMに移るので実装が格段に楽になるしミスも減る。
利用側は変な罠がなくなって直感的でわかりやすくなる。
>>362 > Javaのジェネリクスに型情報を持たせてたら
具体的にどういう事?
Dynamic typingにするってこと?
特殊化を許す議論は良く聞くけども。
利用側がライブラリの引数にClassを付属させなくてもいいよねって話。
Class clazz = Foo<Bar,Baz>.class;
assert Bar.class.equals( clazz.getGenericTypeAt(0) );
VM最適化の足を引っ張りそうな気がしないでもないが。
実装者に分岐コード書かせるのは設計悪すぎるから、
Dynamic type traits + 特殊化 by JIT
辺りに収斂されるでしょう。
値型がないから実際には特殊化されたコードをVMが生成する必要はないよ
ユーザーコードからは特殊化されてるように見えるようにVMが頑張ればいいだけ
.NETはそういう実装(値型については本当に特殊化される)
>>367 Javascriptみたいに動的にtype traits確認する言語だと、
lookupする汎用コードにするか、特殊化することになる。
v8は後者のアプローチ。JVMもそういうJITやってもいい。
370 :
デフォルトの名無しさん:2010/10/05(火) 14:38:55
<T> hoge(T t) {
t.ダックタイピング的なメソッド呼び出し();
}
こういうことを言ってんの? ジェネリクス関係ないだろこれ
確か.NETのdynamicも特殊化された呼び出しサイトを生成する実装が採用されてる
Classクラスの機能が使えないことがJavaのジェネリクスの気持ち悪さ。
Pythonのクラス構造と似たものを感じる。
総称型は導入されて5年はたつと思うけど、未だにC++「テンプレート」と区別できてないんだな。
ちゃんと区別した上でカスとされてるから
>>373
日本語でおか
>>372 JVMの実装上は区別しにくいのが今の流れ。
JITが最適化のために勝手に特殊化してる。
jvm辺りまでならjava周辺知識として議論の対象に入るけど、jitなんかベンダー実装依存のことなど知らんわ
そんな発想のままでは、おまえは「ネイティブC実装の方がJITより高速」とかいうスピード狂とほとんど変わらないじゃないか?
John Roseのblog、論文読むと、
invokedynamicとの関係も分かって面白いよ。
378 :
デフォルトの名無しさん:2010/10/05(火) 15:40:09
静的言語なら予めバイトコード上は辻褄合ってるわけだし
どうせ総称型で扱われるものは型情報が違うだけで全て単なるハンドルなんだから
別にVMでほんとにコードを特殊化する必要は無いんだよね。
値型が無い限りは特殊化したって速くもならない。
メソッドの入り口と出口でVMが型チェックしてやれば十分。
インライン化最適化がジェネリックなコードも対象にし始めている。
invoke*のコストが高いから。
"Speeding up method calls is the big win."
380 :
デフォルトの名無しさん:2010/10/05(火) 15:51:58
コストって?
静的言語なら呼び出すメソッドは静的に決まってるんだから
呼び出し自体のコストはジェネリクスだろうと変わらないはず
>>370のようなケースのことを言ってるんだったら、それはジェネリクスとはまた別の問題だ
Primitives in Genericsは、Javaの鬼門だなぁ
私はC++やJavaのように純粋とはいえないOO言語ばかり触ってきたから
こんなことしてくれなくても気にしないんだけど。
jvmに値型(C#)構造体型(C99)を入れてくれればいい。
普通はdouble 複素数(8バイト)や行列2x2(32バイト)とかで使う。
stacklocalで固定配列でイミュータブル。
演算はar[k], ar[k]=v のみでオペコードは生成破棄用と、get/set/lenアクセス用の可変引数オペ2つ程度追加。
JITやクロージャ内のフィールドであれこれ試行錯誤するなら、jvm/javaコンパイラは一握りの人しか作れなくなり、組み込み用コンパイラを作れる技術を持つベンダーはオラクル(の参照実装)のみになる。
複素数(16バイト)
java1.2以降の技術ならThreadLocalで代用があり十分まにあうけど、これは値型(stacklocal)ではなくnew []でしかないので少し違う。
さらにマルチコアとも相性が悪い。
イミュータブルでセットが出来るのは、java,pythonでは不変タプル型として用意して、他の言語ではローカッルスタック(double ar[2*2]={0})となって言語設計上表れる両方対応可能のため。
固定長ベクトル・多倍長実装(10進34桁固定)やjava3dやjavafxなどの射影変換を、new obj, mem gcに独立してローカル変数領域だけで実装・計算出来るから有用だとは思う。
jvmについては、値型用(値渡し可能型)のjvmオペコードを専用に追加するなら簡単だと思うよ。
ゴズリングがストイックに設計しちゃってそういうのもないから難しことを考える羽目になる。
ゴズリングのせいじゃなくて、1995年では組み込みは想定していてもマルチコアやコア間の同期(協調)なんか想定してなかったからそういうオペコードを設計用意してないってだけ。
値型用のオペコードっつーと、具体的にどんな?
>>386 シーコンパイラの言語仕様とその実装は所詮はスタックマシンを想定してるってことをちゃんと理解してれば難しくない。
ラムダ・クロージャ, lang.reflectの議論はまったく関係ないし、インナークラスはメモリ領域の議論(buf用)として少しかする程度。
とはいってもJITも含め、こういうのはもう中の人が議論してるから一般人には実際どうでもいいし、仕様実装者にとってはJVMや言語コンパイラの作成を実装しやすいのにしてくれればいい。
コアな人のクレイジーなブログを追いかけすぎて、君も同調して同じくクレイジーにならないようにしてね。
とキチガイが申しております。
けっきょく値型専用のオペコードって具体的にどんなの想定してんだろう?
ところでJavaME.Nextってどんなの?
AWTとSwingを捨てて、UIはJavaFXに任せた
JavaSE mobile profileみたいなのにすればうれしいんだが。
Androidってぶっちゃけこんな感じだし。
>>389 バイトコードは40%ぐらい未だに未定義ですよね?
どうしてですか?
>>377 Still, from my viewpoint as a JVM tinkerer, something else is missing. It seems to me that the most natural way to express the creation of an immutable object
is what I see when I read the machine code for creating an Integer or String: First you allocate a blank object, then you fill it in, then you publish it.
Just before you publish it, you take whatever steps needed to make sure everybody will agree on its contents. (This is sometimes called a fence,
which is a subject of multiple posts.) After you publish the object, nobody changes it ever. (Well, in some cases, maybe there’s an end to the epoch. But that is another story.)
The only changes ever made to that block of memory are performed by the garbage collector, until (and unless) the block gets reused for another object.
In other words, using the larval/adult metaphor for this pattern,
In the small scale (which is more typical), when a Java API designer creates a tuple-like class for something like complex numbers,
there are always conflicting impulses between making the structure immutable, so that it can be safely used across threads,
or else making the structure mutable (and often with public fields), so that the objects can be used directly as scratch variables in a computation.
If the choice is made for mutability, every object must be defensively copied before it handed to untrusted code.
If the choice is made for immutability, a fresh object must be made for every intermediate value of a computation.
Years ago, the tilt was towards mutability, probably under the assumption that objects were expensive to allocate.
This tilt might be visible in the choice to make Java arrays only mutable, and in the mutability of the Date class.
(In the worst case there are mostly-immutable data structures, such as java.lang.reflect.Method, which has one mutable bit.)
オペコードを追加しない前提で議論してただただ難しく考えてるだけのよう見えるが・・・
それ mutable(larval)なオブジェクトから immutableなオブジェクトに変更できるように
言語とVMにサポート入れようって話じゃね? 値型の話じゃなくて。
>>393 そこのブログを読んで、それをjvm-vmでサポートするかjavalangでサポートするかは大違いってことに気がついてる?
コアな人のクレイジーなブログを追いかけすぎて同じくクレイジーになっちゃったんだろどうせw
だなww
C++でもなかそういうインチキ演算子があったよね
reinterpret_cast<float*> obj とかで使うんだったか
読みかえしてみて気がついたけどインチキ演算子はconst_castの方だった
そのなんとかって人はjava1.1から関わってる割にはjava(jvm)の設計目的を分かってないみたいだしもともとがラテン系クレージーなんだろ
>>389 バイトコードは40%ぐらい未だに未定義ですよね?
どうしてですか?
Amazon観てたら、右にJavariって出たから、またなんかでたんか?と思ってクリックしたら、靴屋だったでござる。
>>390 JavaME.Nextはcoming soonじゃなかったk?
どこかにあれこれ書いてあったの?
>>389 君ってさ、いつも逃げてばかりだよね。
そんなんじゃ人づきあい、そのうち行き詰まるよ。
>>389 バイトコードは40%ぐらい未だに未定義ですよね?
どうしてですか?
バイトコードって仮にマルチバイト拡張みたいな汚い事やらない、と仮定して
空いてるの50/256ぐらいじゃなかったか?
>>377 バイトコードは50個ぐらい未定義で使ってませんが無駄ですよね。
設計から15年たっても未だに未定義で使わないままなのはどうしてですか?
こんなスレで粘着するくらいならJCPの常連さんにでも質問してみろ
新しく入れるバイトコードが提案されてないからじゃね?
>>405 対応してない実装が沢山あるからだな・・・
メジャーバージョン引き上げのタイミングくらいしか追加できないんじゃ・・・?
するとIBMが手を引いたHarmonyは死亡か?
411 :
デフォルトの名無しさん:2010/10/12(火) 22:12:26
OracleになってからJavaの進化が止まってるよね。
Oracleになる前からでしょ
Java6から何年経ってるんだよ
>>411 7の計画が確定したのはOracle後だけど?
別にOracleが進めたわけでもないけど。
>>410 IBMが一つに集中するような愚は犯さないでしょ。
今までもApache Harmonyに専念していたわけじゃないし。
まあOpenJDKが主たる実装ってのは悪くないよ。
JCPがまともに機能している限り。
この提携でOracleと反Oracleに分かれることは、
ほぼなくなったといっていい。
ベンダーとコミュニティに分裂する懸念は払拭されない
コミュニティが隔離できて大歓迎
>>419 こういうのがオープンソースのいいところだねえ。
昔、SunがTNT(The NeWS Toolkit)を、
Adobe Display Postscriptに変更するために、
オープンソースにしたことがあったね。
>JavaFXと競合間の重要な差別部分をなくしてしまうことにもなる
って逆な気がする
JavaはJava言語なのが重要な差別部分だと思うが
>>421 そこはJavaFX Scriptと、他の競合言語、
JRuby, Jython, Clojure, Groovy, Scalaなど、
との差をなくしてしまうってことでしょ。
分かりにくい訳だけど。
it does also remove a key differentiator between JavaFX and its competitors.
上の段落でJavaが含まれているのは、APIをサポートする言語の列挙で、
> 「Java自身」と「JRuby, Jython, Clojure, Groovy, Scala などの代替言語」
としているから。Javaは代替(competitor)言語じゃない。
423 :
デフォルトの名無しさん:2010/10/16(土) 02:18:04
末尾最適化ってされるようになるの?
ローカル変数の取り込みはやっぱり不可か
いったい何がしたいんだろう
無難な仕様だと思ったけど、なんでこんな長期間の議論になってるんだ
え?ダメなの?
外のローカル変数触れないクロージャなんてハンバーガーのハンバーグ抜きみたいなもん
あ、いや、構文しか見てなかった
そんなトラップがあるとは……
外の環境に触れるからクロージャなのに
触れなかったらただの関数ポインタじゃないか
Exception transparencyなんか初めて知ったけど酷い辻褄合わせだなあこれ
public<throws E> forEach(Block<T, throws E> block) throws E;
こんなのが平気で出てくるようになるらしい
言いたいことは分からんでもないが、すっげえ冗長だなwwww
てか二つめのthrows(Block<T, throws E>)って必要なの?
コンパイラから見れば、blockに渡したコードブロックが投げる可能性がある例外がそのまま
forEachメソッドが投げる可能性のある例外と同じだとは限らないんだから
型推論のためには必要でしょ。
でもこういうの導入するってことはコードブロックを引数にとるメソッドすべてにthrows付けろってことだよなw
さすがに酷すぎ
throwsの冗長さが問題になるほど
ユーザがコードブロックを引数にとるメソッドをいっぱい書くもんかね。
フレームワーク側やライブラリ側の記述が冗長になるのはいつもの事だし。
lambdaに関しては本当にあらゆるjavaの仕様が裏目に出てるな
>>434 別の場所にinterface Block<T,throws E>{/*省略*/}みたいな型宣言書かせるんだろうから
Block<T, E> block; で良いような気もするが。
>>435 冗長さの面で言えばexception transparenyよりも
function type削られた方が影響大きいような。
interface Block<T,throws E>{ void invoke(T t) throws E; }
みたいな型を大量に書くハメになるのは勘弁。
JavaはC++に比べたら冗長じゃない部分もあると思ってたけど(ポインタとかは)
最近の言語拡張は明らかに冗長すぎるな……
作ってる側は何も考えてないんだろう
C#は美しいぜ
オライリーの中の人や色んな人が絶賛してる
実装は汚いけどな。C#はコンパイラがものすごく頑張る言語で、
yieldとかローカル変数を取り込んだクロージャとか使うとコンパイル後のコードが恐ろしいことになる。
Javaは昔からコンパイラを複雑にしたがらない嫌いがあるな。
yieldぐらいでしょ汚いのは
javaもc#の真似すればいいのにね
c#が昔javaの真似したみたいにさ
でもC#って仕様が複雑すぎね?
・短い
・読みやすい
・仕様がシンプル
の三つがそろってはじめて綺麗って言えるような気がすんだけど
ほらラムダ式とか、いろんな書き方があるじゃない
まあクロージャのローカル変数のキャプチャは
ローカル変数はスタックに確保するという固定観念を捨てていいなら
コンパイラがちょっと頑張るだけで十分実装できるんだが
>>424では全く触れられてないな
446 :
デフォルトの名無しさん:2010/10/16(土) 22:00:46
C#のほうがスマートな感じはするけどね。
JavaはImportとかtry-catchを量産するのが醜い
c#はjavaと同じようなもんじゃない?
どっちも行ったり来たりしてるけど迷う事はそうないよ
普段からjavaee6やprismなんかのフレームワークを使って実践的なもの組んでまする
ラムダ式は本と便利
程よく便利なんでscalaやj#、haskelなんかの関数型言語をやらなくなったよ
末尾再帰やるようになったとしてもおおっぴらに宣伝するわけにいかんわな
みんなにそれ期待したコード書かれたら互換性が失われる
行われることが保証されないと意味無いでしょ
行われなかったら簡単にスタックオーバーフロー起こすとか
末尾再帰が必ずループに変換できるなら、イテレータにするべきじゃね
Javaでどう書いたら最適化されるか条件を完璧に明文化するのは難しいだろ
>>445 そりゃ実装だけなら簡単にできるが、仕様は簡単じゃないからな。
definite assignmentとかあるし。
どっちかっつーと、マルチスレッド下での変数の競合の心配してるみたいだが。
そもそも匿名クラスじゃ冗長すぎてfork join使いにくいってんでlambda復活したわけだし。
project closureでなくproject lambdaなんだから推して知るべし
スレッド云々言ってるのはJVMのローカル変数(スタック)を使って実装することを前提にした話。
C#の実装では、クロージャに使われるローカル変数については
環境クラスを生成してヒープに確保してしまうので問題にならない。
なんか中の人みたいな会話してるな
Javaの無名クラスをクロージャっぽく使うために、クロージャ内で必要な変数をまとめたクラスを作って、
finalを付けたローカル変数にそのインスタンスを入れて、無名クラスの中から参照するという方法があるが、
C#のコンパイラはまさにそれと同じことを自動でやってるわけ。
それそんなに難しくなさそうに見えるけど何が難しいの?
ヒープはオーバーヘッドが大きいし、
その仕様、実装ならVMの拡張はいらないし、
それほど議論することじゃない。
そんなのでは十分とは思われないから議論になっている。
MSは安易な仕様、実装で後々困るって事がよくある。
>>457 >>424のリンク先読む限りお馬鹿なプログラマにとって
実行結果が予測しにくいプログラムは書かせない的な
問題にしか見えんのだが。
というかスタックしか使えない場合って、
そもそもどうやってfinalでない変数キャプチャするんだ?
既存の匿名クラスだって参照型のfinal変数キャプチャする時はヒープにコピーしてるしな
「参照型の」じゃなくて「定数式でない」のような
>>462 そんなことは
>>424には書いてないよ
コードブロックを後で非同期呼び出しされたりすると既にローカル変数が消えている可能性があるから
そういうのを禁止しないと無理。ややこしいからヤダ。
と言ってるだけ。別にC#の実装が最高だとは思わないが。
466 :
465:2010/10/17(日) 10:54:44
すまん違うな。race conditionっていうのが何を指してるのかよくわからん。
もしかして並列呼び出しが行われることを想定してるの?
そんなもんドキュメントに明記するのが当たり前で、勝手に想定してない並列化なんかされたら
ローカル変数のキャプチャが無くても他のところで確実に問題が出ると思うけど…
>>465 「既にローカル変数が消えている可能性がある」なんてのは、どこにも書いてない。
race conditionは普通に考えればマルチスレッド環境下での競合状態。
lambdaの導入経緯が
>>455なら、今までのJavaのポリシーからいって
>>462の解釈の方が妥当。
競合状態よりrace conditionの方が通りがいいような気がするんだが
そんなことまで考えだしたら何もできなくね?
安全に並列実行できるようにしたいならフィールドやfinal変数の参照も禁止しないと意味ないし
それこそオブジェクトは全部イミュータブルにしなきゃいかん
inner classからのfinal変数の参照はすでに許可されてるから
制限が増えるわけではない
マルチスレッド環境で問題だからというのがローカル変数を取り込めない理由になるのはおかしいよ。
それだったら、ローカル変数だろうとフィールドだろうとラムダ式の外で定義されてるメンバ(定数以外)
へのアクセスは全て禁止するべき。使い方次第だというならローカル変数取り込むのだって同じだ。
バカよけのために俺らの使い勝手が悪いってのは納得いかないなぁ
>>471 そんな極論に走られてもな。
>>424読む限り期待される便利さと予想される問題発生率と
回避手段の有無を天秤に掛けた上で言ってるだけらしいが。
fork-joinがやりたいのはわかるけど、他にもラムダの使い道なんていくらでもある。
fork-joinのためだけに言語を大改造してしょぼいラムダを導入する必要があるのかは疑問。
せっかく導入するなら便利に使えるようにしてほしいし、今のままなら導入しない方がマシだと思う。
昔あった@Sharedってどうなったの?
>>474 fork-join以外の使い道っていうか
一般的なクロージャとかラムダ式をJavaに導入しようという試みは
project closure と一緒にボツになったような。
project lambda の成果を fork-join以外の目的に使ってもいいけど、
あくまで fork-join がメインだから、fork-joinで問題出そうな機能は
project lambda には入れませんよ、みたいなスタンスなんじゃない?
>>474 そんなこと書いてねえ。
>>476 違う。
メモリアクセスにおいて安全な操作しかJVMに入れられないのは前提。
次にマルチ言語環境を想定しないといけないのも前提。
その上で効率も追求したい。
さらにJavaからも簡単に使いたい。
だから難しくなってる。
いや現にGroovyやScalaなんかはC#と同じようにクロージャのレキシカル変数を
コンパイラレベルで実装してるじゃん。それで十分使えることは多数の前例によって証明されてるし、
仮にJVMレベルでサポートしたところで統一するのは難しいでしょう。
JVMの後方互換性が問題になるだけで、
より効率が良くなる機構があれば先行言語も採用するでしょう。
OSXでJavaVM搭載するの禁止になったぞ
OSXじゃもうJavaは使えない
やばいぞJava
公式サポートがなくなるだけだろ。
AppStoreからは締め出されるかもしれないけどそんなのは完全に予想されてたことだし
デスクトップのjavaなんてどうせ死んでる。
windowsと同じORACLE経由になるのか。
入れないと使えないなら、公式開発言語としては外されそうだね。
osx server に入れて使う用途にゃ関係無いか。
AppleのせいでOS XのJavaアップデートが滞りまくるのにはうんざりしてたから
むしろありがたい
最近のappleのPC市場シェアってどれほどなの?
486 :
デフォルトの名無しさん:2010/10/21(木) 22:54:00
5%ぐらいじゃねーのかな
20年経ってもまだそんなところか
linuxすらも追い越せないんだな
デスクトップ市場のシェアでは一度もOS Xに買ったことすらないだろ>Linux
freebsdがあるからosと抱き合わせ販売してるmacなんか実際どうでもいい
Linuxはシェア0.04%しかないよ
どこの調査結果だか知らないけどそんな情報を信じてるのか
パソコンを1台しかもってないとそうかもしれないが・・
将来最も大きなソフトウェアワールドになるのは、ARMだ。
>>482 「公式」って何の公式?
既にbindingもろくにない状態だし…
>>484 旧Sunは自分達でJVM for Mac OS X作らせてくれって言っていたんだよね。
Appleが自分でやるって言っていただけで。
たぶん、iPod, iPhoneでObjective-Cが受け入れられているから、
他の言語は必要ないというか、排除したいんだろうね。
あげあしとりの皮肉に決まってんじゃん
Java7に合わせてHead first Java 第3版出版するらしいよ
Doug Lea御大がJCPにダメ出し……
Java3Dは、進化予定あるの?
3Dメガネで立体視可能になるとか。
jsf,facelets,JavaFXあたりの技術を使えないか、と、
部長からお達しが来たのですが、皆さんのご意見的にはどうですか?
JavaFXは死滅、jsf,faceletsはJSP/Servlet/Strutsの後継ってことで、
普及しそうな感じがするんですが。
スレ違い。
>>501 JSPとServletはEEの基礎部分だからこの先も必要になる(例えばファイルアップロード)が、
Facelets+CDIがあれば既存のフレームワークは大抵消える。EJBも相当簡単になったしね。
JavaFXは実はOracleが結構な注力をしてる。JavaFX Mobileが上手くいけば普及は一瞬。
JavaFXは名前変えればいいのに
敗北して消滅したスクリプトのイメージが強すぎる
JavaFX Scriptは名前が悪かったな
JavaっぽいけどJavaじゃない何か、のScript言語ですよなんて、ゲテモノ感しかなかった
例えばそうだな・・・スクリプト言語の軽快さをJavaに持ってきましたってことで―――
JavaScriptって名前はどうだろう?
不覚
>>503 JavaFX Mobileがうまくいく見込みなんてゼロだよゼロ
ジャバはもうだめぽ
もうおれたちはドットネットの号令に従うしかない
どとねっともダメだろ
安泰なのはPHPとJS。こいつらはガチ
やる気しねーけどな
510 :
デフォルトの名無しさん:2010/10/29(金) 23:49:21
なんかOracle主導でJavaおかしくなってきてないか
何をいまさら
Java7から
OpenJDK以外有料化されるからな
仕様書も有料で買わないといけないし
へ?
JDKインストールするにはOracleの人呼ばないとダメになるんだろ?
Javaも今後はAppleと同じで無料で開発もできるけど
Developerラインセス買わないとまともに開発情報
手に入らなくなる予定だけどね
そして、System V JAVA と BSD JAVA に分裂し、ゴタゴタの中を颯爽と成長する .NET
Open Java FoundationとJava Internationalの仁義なき戦いが始まるのか
java7まではsunがほとんど開発してたんだから、まったく違う仕組みするならjava7を出した後にやってくれ。
昔のgifっぽくいきなり金とるとかだと、オラクルはやっぱりただの詐欺軍団だったというレッテルしか張られない。
Java1.1に遡って課金でしょ?
JSFっていつになったら流行るの?
EE6からは普通に使われてるだろ。
Facelets+CDIは恐ろしく簡単だ。
JavaEE6自体が使われてない現実
Java自体も使われなくなる現実
EUが行政レベルのシステムでJava禁止になるかも
しれないしな
どうするんだろうなw
なんで禁止になるかもなの?
ドットネットだってマイクロソフトの独占商標でしょ
Oracleの独占商標になるの嫌ってる連中が
多いんだろうな
ジャバ直接で儲けようとすると、去っていく人が多いしもうジャバプラットに戻ってこないんじゃないか。
例えばnetbeans pro versionとか有料になってしまって開発ドキュメントやら環境やらで投資回収をするなら、アドビとかマイクロソフトとかソフトウェア業者とやってることは同じになる。
ネットスケープやボーランドはマイクロソフトにボコボコにされて消滅し、サンすらも半壊してデスクトップ進出が出来なくなったでしょ。
ジャバは売り物なのかどうかオラクルはこれをどう考えているかに係わるけど、どっちにしてもジャバで儲けようと考えるなら敵対プレーヤーが多くなるから利益よりも損害の方が大きいだろう。
528 :
デフォルトの名無しさん:2010/10/31(日) 00:39:51
個人的にはIBMの動向かなと思う。
IBMの直接のライバルがOracleなら直接つぶしにかかるようなきもする。
ibmとintelはlinuxで思惑が一致しているのと同じでibmがsofutwear envoboroiment partonarとしてoracleとopenjdkを選んだと考えれば何の心配もない
8年後にグーグルがどこに買収されるのかってのが気になるが・・・
>>527 結局Sunは買収されたんだからJavaで十分に儲けることができなかったってことだろ
> Javaでは、きらったのである
> もちろん、だから、何らかの注意がまだ、必要である
> なので、直ちに、特許関係の事態は、ずっとよくなる
なんか残念な感じの日本語だな
所詮は法律素人の憶測だろ
捨ておけ
何言ってんだよ
ジャヴァはもう終わってるだろ
米グーグルに喧嘩売ったりしてウェッブ・アイテー・コメニティーからもポカーンされてる
米アップルに嫌われちゃったからモバイルもジャヴァも即死
さーさー
!!ドトネット万歳!!
さーさー
確かにGoogle訴える事でのメリットよりデメリットの方が大きい気がするな。
仮にOracleが勝訴しても喜ぶのはAppleとMSであってOracleにとっては利益にならない。
オラクルはサーバーとDBが売れればいいだけ
Androidなんか関係ない
このままじゃサーバでもJava離れが進むことになる
同時にRDB離れも進む
GOOGLEのANDROIDは著しい著作権・特許権の侵害をしながらサンとジャバのモバイル分野進出の機会を奪った
GOOGLEの商売は全世界で著書の無断コピーをしてなおかつ商用利用し、パスワードやメールなどの個人情報を独断で収集して追跡広告の利用を考えていた
GOOGLEの技術はベータのまま1年で消えてしまいホスティングの運用も停止休止が多いから実用サービスとしてまったく信用できない
GOOGLEは中国・韓国・ドイツのWEB市場から追放され、アメリカでもアップル・オラクルに嫌われてインフォーメーション・テクノーロジーの世界から消えようとしている
いくら虚像を描いてみてもこれが現実
540 :
デフォルトの名無しさん:2010/10/31(日) 16:57:57
オラクルの社長ってMS大嫌いらしいけど
今のオラクルとグーグルの争いで一番喜んでるのはMSだよな
予定ではそろそろくろーむおーえすがリリースされるころだけど、これでどでんがえしでもしようと画策してんじゃないの?
というか、おーえすとして宣伝してるけどじっさいはグーイをウェブブラウザにしてこれにX11サーバくみこみにしただけなんだけどね
AndroidがJava的プラットフォームの筆頭だから、
OracleがGoogleの影響力を警戒するのも分かるけれど。
Oracleは単に金取りたいだけに見えるが。
goslingみたいな残ってた著名開発者逃がしちゃうし影響力気にしてるようには見えんな。
Androidがいかに流行ろうがオラクルの利益になるわけじゃない
Android潰さずに上手く流行に乗れれば本家Javaが流行る可能性あるだろうし、
本家Javaが流行ればそっから利益を得る手段もあるんじゃね?
Javaのオールマイティ感が薄れればサーバ側の需要も減るよ。
サーバ製品は枯れた技術求めるから遅延はあるだろうが長期的には死期を早めるだけ。
オラクルは.Netは公共機関もライセンス払ってるんだら
Javaにも払えよってスタンスだし
ISOに承認されていない言語で影響力の大きい言語は
政治力で潰されてきたからな
>>546 It's a right way, but not the Oracle way.
オラクルDBやIBM DBはISO認証なんですか?
SUNはオープンソースの文化を深く理解して、企業活動とうまく両立させてたけど
Oracleみたいな企業には文化活動との両立は絶対にムリ。
両立に無理があったから生き残れなかった、ってことじゃないの?
>>548 Microsoft WindowsはいつISOに承認されるんですか?
Java使ってる連中ってマジコン厨と一緒だろ?
posixとsqlはisoの規格がある
2002年ってWindows XPとかの時代だっけ?
というか米企業はそもそも日本語や韓国語を話すようなデベロッパーの戯言なんか興味ないし
>>559 そこはせめて「英語を話せない」じゃないか?
日付関連はどうなったんですか?
java にも var が欲しい C# みたいな
563 :
デフォルトの名無しさん:2010/11/07(日) 13:16:03
ランタイムをアップデートしたらセキュリティ設定が全部あぼーんするのどうにかしてほしいな
来年から年99ドルぐらい
開発ライセンス必須なんだよね?
ソニーはそういうこと平気でやって嫌われてるよね
そんなもんNHKの受信料と同じ扱いでOK
何言ってんだよ
ジャヴァはもう終わってるだろ
米グーグルに喧嘩売ったりしてウェッブ・アイテー・コメニティーからもポカーンされてる
米アップルに嫌われちゃったからモバイルもジャヴァも即死
568 :
デフォルトの名無しさん:2010/11/07(日) 16:04:29
>>512 日本語版のJavadocがダウンロードできなくなったのもその伏線なのかな。
なんか気持ち悪いな。
英語以外の言語サポート切り始めると
有料化も近いなぁ
過去いろんなソフトで同じ目にあったし
>>570 大きい更新以外でも追従してたの?
昔は日本語版ダウンロードしていたこともあったけど、
遅れるんでやめてしまったよ。
6u10で再度日本語翻訳が作られたみたいでclass Comparableとか英語のままだった。
javase,netneansは6からコミュニティーが手伝って翻訳してるって聞いたけどちがうの?
いずれは手伝ってやるよ。英検3級がとれたらな。
技術文書のしかもリファレンスにそんな難しい文章は出てこないよ。
英語でもいいんだけど、ロジック考えてAPIとにらめっこしてるときにapidocが母国語じゃないと思考の妨げになってかえってはかどらないでしょ。
むしろ日本語の解説の方が思考の妨げになりやすい
それはない
訳した日本語がわけわからんので結局英語読む羽目になることはあるな。
元の英文推測しながら読んでたりするな
JVM有償化きたーーーー
Oracleのジャージ着たオバさんがウチのインターホン連打してる。
そらみろ.ストールマンは正しかった
Sun JVMって近々公開停止の可能性もあるよね?
分裂して自然消滅の流れが決定的になったな
言語仕様だけが残ってプラットフォームとしては終了
言語仕様だって特許訴訟で潰す姿勢を明確にしてるじゃん。
それにしても他に競争相手がいないならともかく.NET Frameworkに根こそぎ
持って行かれることが分かり切ってるのにどうしてこんな馬鹿な真似ができるんだか
J#始まったな。
>>588 言語仕様には特許はあり得ません。
実行環境ならあり得ますが。
forkされたらJavaと見做されなくなるから特許訴訟で潰せるんだっけ
592 :
デフォルトの名無しさん:2010/11/11(木) 00:08:31
Javaの場合、サーバでしばらく生きるんじゃないのかな。
もう欧州だとLinux+javaは終わりだって
ことでRubyかPythonにほぼ乗り換えたね
一部金があるところはMSになってるみたい
欧州でruby?え?
もともと住み分け出来てる分野だろ
MySQLと同じになるだけだろ
ただ、JCPではW3Cみたいな透明性は出せないし、Sunの時より主導権争いに奔走してるように見えるので、
せめて5.0でも6.0でもいいから国際規格化ぐらいはやってほしい。
あとは、HotSpotVMとJRockitVMを有償化するなら、OpenJDKの強化は続けてほしい
おまえらはこういう業界ネタのときだけ騒がしくなるんだな
Oracleがここまでとんでもない会社だったとはなあ・・・
ピープルソフトの件とか知らないのかよ…
これまでも競合他社や製品を潰したり顧客を奪う目的の買収は普通にやってきてるしなぁ。
ゲイツが社長だった2002年ごろまでのMSはもっとひどかった・・・
SunJava が終わって時代は OpenJava ですね。
もしかしてmono?
SunにしたってNetscap (iPlanet)、Forte、NetDynamics等々と買収しては潰してきたからな
因果応報
買収したけどうまく活用できなくてというケースもあるけどね。
肩を持つわけじゃないがMSはそのケースが多い。
商用LinuxとオープンソースLinuxの棲み分けと同じだろ。
サポートなしのJVMが今のJRE6より性能が落ちるようなことはまず無かろうて。
その点IBMはさすがだな
普通には死んだも同然のLotusやRationalがブランドとして存続し、製品も残ってるどころか進化してる
Sequentのように名前も製品ラインも消えたけどその技術がIBM本流の製品に広く使われてるケースもある
JavaだけでもIBMに買われてたらな。。。
Lotusは一般向けじゃないし、ワープなんかウィンドウズキュウジュウゴが出て即死だったのにいつまでも引っ張っていたでしょ
ジャバ的にはSWTとかどこいちゃったんだろう・・・・これもIBM製?
ジャバ的にはSWTなんかプラットフォーム依存しまくりの癌だろう
Javaが掲げる理想のダメさを証明しているというか
Eclipseは今もSWTなの?
今もSWTだよ
EclipseはもともとはJAVAだったけど今じゃもうJAVA言語の世界とは関係ないでしょう・・・・
GOOGLEがJAVAのLICENCES料をちゃんと支払っていれば、Java MEも安泰だったしSUNもSHORTしたりORACLEにJAVAごと売り飛ばされるようなことはなかった。
まあ、そうだね。
Googleが支払わなきゃ行けない義務は無かったろうけど、
SunはAndroidを出された時点でJCPの常連とともに係争すべきだった。
・・・ただ、それだけの体力がSunに残されてなかったかも知れんw
グーグルがオラクルと争えば争う程、アンドロイド携帯を出荷しているキャリアとベンダーに出荷差止めと損害賠償請求の付けが回ってくる。
さらに怒ったオラクル(サン)は、JVMを有料にして日曜開発者から20人ぐらいの小規模開発会社に対しても1年JAVAライセンスで10万ぐらいの小銭を徴収するような商売を始めるようになる。
え?有料JVMってJava SE for Businessの延長だろ?
オプソJVMにライセンス料が発生するなんて記事あるの?
mysql
>>608 openofficeのようにopenjdkだって商売にならないところは放置されて最悪に落ちこぼれるってこともありえる。
オープンの宿命というかフリーダムの宿命というか、openoffice,opensolarisの次はopenjdkがforkしていくだろうね。
624 :
デフォルトの名無しさん:2010/11/11(木) 21:05:06
java有料になっちゃうんか。
次はRedHat買収だからな
許可さえ降りれば来年にも買収予定だし
>>625 JCPの規約はSUNに限って破っても問題ないって
免責事項あるから、買収したOracleに対しても有効
ASFがJCPから締め出されて、最悪訴訟が間近
628 :
デフォルトの名無しさん:2010/11/11(木) 22:37:57
Redhatもなのか
Javaもfork5秒前ぐらいか。
Javaという名前は使えないと思うけど。
名前は何になるんだ
Avaj
Kiwi
Jivi
Vaaj
OpenJDKからforkしたらGPLオンリーになるんだよなあ
気に入らないからって独自に実装したら訴訟
終了だな
>>632 言語仕様のforkだからGPL関係ないけど?
言語仕様はJCPの枠組みを越えて
利用した場合、訴訟の対象となる。
訴訟権限を持ってるのは特許を保持している
会社だけ
>>633 言語がISOに未登録だから、言語仕様
自体に知的財産権あるんだよ
言語仕様の利用が許されたとしても、言語仕様だけが同じJavaモドキなんて存在価値無いだろ
互換のライブラリ実装した時点で訴訟対象だし
言語仕様は著作物にならない。これは勘違いしないでね。
実装に対しては特許問題は有りえる。
実装がJava(TM)を名乗ることはOracleが許さないだろう。
さて。
Apacheが抜けるとみんな逃げる気もするけど…。
Java互換言語に意味がないかApacheその他がみんな抜けたJavaに意味があるか。
アパッチなんかもういらんだろ。
もしアパッチライブラリとウェブサーバがなくなったとしても、インターネット的に実際はあまり影響ない。(1、2年は影響があるが)
もしアパッチが解散になったとしても実際はBSDライセンスだからforkされて開発者側にも何ら影響がない。
>>638 オラクルと裁判中ですからアパッチのことはグーグルが後ろで応援してるんですよ。
これからはグーグルがハーモニーをメンテすることになるんですがそういうことをグーグル自身はやらないで「オープン」と称してグーグル教狂信開発者にメンテを任せるのでその布石でしょう。
突っ込みどころ満載だなwww
まず誰も著作権の話してないのに、言語仕様は著作物にならないとかドヤ顔で言ってる時点で謎
二行目では特許の話に摩り替わってるしww
その二行目も意味不明。
仕様を特許化すれば実装も守れるだけで、実装そのものを特許にできるわけねえだろwww
〇〇な特徴を持った炊飯器(仕様)に特許を付けるのは可能だが
タイガー炊飯器(実装)に特許申請できてたまるかwwww
ま、JVMを実装するために特別な技術を使っててそれに特許が付いてるというのはあると思うけど
3行目はこれまた商標(TMってTradeMarkの略だぞ)の話に摩り替わってるw
無断で本物名乗ったら駄目というのは商標権の話だ
>>641 どうでもいいことを何行も書いたりして、もしそういうところをちゃんと議論したいならちゃんと下調べしたり勉強た方がいいよ。
君の方がかなり間違っている。というか社会の一般常識程度の知識のIT記者の推測程度のIT系の記事に洗脳されちゃて思い込みで君は何かを書き込んでるようだ。
ゆとりーの相手はするな
ibmから開発者とソースの提供があるのでまだ大丈夫。
ibmはライセンス的にApache Harmonyへのコミットを望んでたけど、Oracleから少しでもオープンソースの開発ベース残すのにOpenJDKにコミットしたようだ。
JavaもCOBOLの道を歩むのか
うちのJava老害がうざいんよーって言われるのも時間の問題
次世代Java、その名はJavaScript
>>641 ほど頭の悪いのは他にいないと思うが説明しておこう。
> まず誰も著作権の話してないのに、言語仕様は著作物にならないとかドヤ顔で言ってる時点で謎
Javaの仕様書を読んでJVMなどをfrom scratchで作ろうとされたからと言って
仕様書を勝手に使うなとは言えないということ。
また仕様を変更したとしてもこれを著作権侵害で訴えることも無理。
>>634 >>635 >>636 あたりに対してコメント。
> その二行目も意味不明。
> 仕様を特許化すれば実装も守れるだけで、実装そのものを特許にできるわけねえだろwww
DalvikVMが特許侵害だとOracle vs Googleで今やってますが。
> 3行目はこれまた商標(TMってTradeMarkの略だぞ)の話に摩り替わってるw
最低限テストキット通らないとJavaにならないということで
今まさに問題になってるでしょう。
そもそも何が問題になっているのか理解してないのかな。
ゆとりーの相手はするな
JCPの文章ってプロプラの著作物なんだな
著作権とか、そんなに気になるならちゃんと勉強しといた方がいいよ。たぶんほとんどの人がちゃんと理解してないと思う。
ruby みたいな例外時のretryを構文でサポートしやがれ
JSRがいろいろ出てるな
lambda, multicatch, try w/resourceあたりきたね。
どうせまたうだうだ議論して白紙に戻るんでしょ
ダグ御大はどうなっちゃうの?
dag、お前邪魔だろって言われてたし
ちょうどいいんだけどね
>>623 >
>>608 > openofficeのようにopenjdkだって商売にならないところは放置されて最悪に落ちこぼれるってこともありえる。
> オープンの宿命というかフリーダムの宿命というか、openoffice,opensolarisの次はopenjdkがforkしていくだろうね。
OpenOfficeは、forkして開発していったのが、最終的には一つに取り込まれている。
OpenOfficeは Ver3.2 になってから、安定性も使いやすさも良くなってメインで使い始めたところなのに、、。
今後、Oracleが邪魔しそうで怖い。
OpenOfficeは特許事項がいくつかあって
forkしたソースでそれを利用することを禁じているよ
速ければ来年ぐらいには、fork版は開発停止だろうな
特許とかそんなに気になるならちゃんと勉強して正確な知識を身につけておいた方がいいよ。だいたいお気楽IT記事の戯言をそのまんま鵜呑みにしてるだけなんだろ?
>>664 具体的にどのような「特許事項」でしょう?
また「特許事項」とは何を意味する言葉ですか?
具体的にどの特許か明らかにしないで脅しをかけるのは特許ゴロの常套手段だろ
突っ込みどころ満載だなwww
まず誰も著作権の話してないのに、言語仕様は著作物にならないとかドヤ顔で言ってる時点で謎
二行目では特許の話に摩り替わってるしww
その二行目も意味不明。
仕様を特許化すれば実装も守れるだけで、実装そのものを特許にできるわけねえだろwww
〇〇な特徴を持った炊飯器(仕様)に特許を付けるのは可能だが
タイガー炊飯器(実装)に特許申請できてたまるかwwww
ま、JVMを実装するために特別な技術を使っててそれに特許が付いてるというのはあると思うけど
3行目はこれまた商標(TMってTradeMarkの略だぞ)の話に摩り替わってるw
無断で本物名乗ったら駄目というのは商標権の話だ
>>670 ASFのJCP脱退確定しただろ
脱退した途端、apacheの実装も訴訟されるだろうけど
ドヤ顔乙
Apache Harmonyは、OpenJDKが出来て既に役目は終えているとも言える。
IBMとしてもリソースは、OpenJDKに向けた訳だし
AppleもOpenJDKを軸に振った(放り投げたとも言えるかもしれないが)。
Harmonyはもうそっとしとこうよ・・・
>>673 Androidがあるだろ
JavaにはもうAndroid以外に上昇気流のものなんて無いのに
677 :
デフォルトの名無しさん:2010/12/04(土) 15:44:18
Javaはもうこれ以上進化する必要がないだろ
新しいことがどうしても必要なら新しい言語でやるべき
いまのJavaがJavaとして一番いいからあとは保守してくれりゃいいよ
型推論をC#なみにして欲しい
型なんてEclipseに補完させとけばいい
あ、でも今のOracleの勢いだとIBMさえ訴えかねないな
>>679 つ ダイヤモンド演算子……
うん、まぁ、あきらめろ。
ダイヤモンド演算子なんていらんだろ。先に
new ArrayList<String>();
って(補完しながら)書いてCtrl+2,Lすればいいだけ
今でも2度手間なんて事はない
読みにくい
それだけ
createしてる時点で何の型かわかるっちゅーねん
684 :
デフォルトの名無しさん:2010/12/04(土) 18:19:34
javaのimport面倒くさい
Listで宣言されてても具体的に何型でcreateしていいかはわからないだろ
>>682 それが既に手間だし。
一度ScalaなりC#なり、型推論のある言語やればよくわかる。
いまどきimportなんてIDEが勝手に管理してくれるからなぁ。
688 :
デフォルトの名無しさん:2010/12/04(土) 20:26:46
Javaはもうちょいシンプルであってほしいけど、言語使用の路線変更は難しいのかもね
>>686 なにと比べてんだよ
そんなのと比べたらダイヤモンド演算子だって目糞鼻糞だろ
ScalaやC#触ったあとにJava触ると、リスト処理が弱いなーってのは強く感じる。
関数型言語的な意味でのリスト処理が。
java.util.Collectionsのメソッドも大したこと出来ないし、みんなどうしてるの?
jakartaのなんか使ってるの? それとも言語の拡張待ち?
Google Collections Libraryが一応Javaの中ではマシかなあ。
それでもScalaやC#とは比べようもなく。
クロージャがないのがマズすぎる。
Java7でなんとかなるなら拡張を待っても、という感じだったけど、
待ってたら永遠に来ないような話になってきちゃってるし。
C#は動作環境が異なるから別ですが、
Scalaを持ち出してJavaに型推論が欲しいと主張するのは
C++を持ち出してCにオブジェクト指向が欲しいというくらい変です。
型推論を利用したければScalaを使えば済むのではないでしょうか。
そうか?俺もScalaでもなんでも欲しい機能を持った言語を使えばいいだけだと思うが。
なんでわざわざ、それを持ってない言語に追加することを期待するんだ?
>>693 Scalaを使えでは済まない理由を詳しくお願いします。
>>691 おまえはJava7などはもう捨ててgoogle+C#を一生やってればよろしい
>>695 別人だが、俺、こんど放り込まれるプロジェクト、Java5なんだ。あとはわかるな。
>>697 だからScalaが使えないから、Java5に型推論やクロージャが欲しい、と?
ここ見てる限りScala脳ってバカばっかじゃね?
700 :
デフォルトの名無しさん:2010/12/05(日) 22:32:09
javaは死んだ
何故だ!
Scalaを使ったら怒られるかもしれないけど、javax.scriptは標準ライブラリだから怒られないんじゃね?
だからドットネット(かモノ)にしろっていっただろうに・・・
アンドロイドだってオラクルじゃなくてマイクロソフトのランタイムを入れれば問題ないだろ
いやこの際アップルのランタイムの方が相乗効果があっていいかもな
ASFはJavaの資産ほぼ全て
Oracleに売却するんだな
Java終了したな。年明けから有料のみになるな
来年は同じくグーグルもJCPから追い出されるだろうね。
そういえばグーグルってさ、MSやAPPLEに嫌われて、SUNに喧嘩を売った挙げ句に終いにはORACLE,IBM勢からも嫌われてるよね。
グーグルは従業員が逃げ出さないように必至みたいだけどいつ頃買収されるんだろう・・・というか業界からも嫌われてるしブラウザしか資産はないから買収までして欲しいようなめぼしい資産はないか。
ITバブル真っ盛りの2001年頃、その活気が未来永劫続くと思われていたサンがまさか7年で破産して顧客のオラクルごときに買収されちゃうなんて誰も思ってなかった。
OracleはJVMを利用した言語からも
ラインセンス料を請求する気なんだな
JVMはリスク多すぎだよ
ここまでOracleが嫌われると、Javaのオープンソース系プロジェクトは
OpenJDK除いて来年には全滅してそうな気がする
>>710 OpenJDKはライセンス上、有料のみに移行できない。
>>714 2001年はもうやばかっただろ。
Sunの時代は90年代だ。
しかもOSF出来るまで。
あれでSunも失速するなと思われ始めた。
>>717 放置して有料版だけ機能追加したり拡張したりするのは勝手だぜ
Oracleからリリースする限りライセンスは自由なんだから
このごたごたは、Java以外のJVM利用言語にも影響有る?
もちろん
こういう話でJavaと言うときは言語じゃなくてプラットフォームを指す
>>719 Oracleの出すのはOpenJDKじゃないから、
Oracleの勝手にやればいいじゃん。
Oracle版のJavaに追加した機能を、同じようにOpenJDKにも提供する義務は全く無いからな
だからってOpenJDKがforkしたらGPLオンリーになってしまう
>721
今回通ったとか言うJDK7の変更点で、JVM系言語に影響のある点有るの?
JRubyとかでもJDK使うでしょ
まあ一番の影響はそういうことじゃなくて、Javaが使われなくなれば周辺のプロジェクトも消えていくことだな
>>727 >OpenJDKで動作するJVM系言語の作成許可は必要ありません。
変更されただろ
>>727 困らないならGoogleが無理にOpenJDKを避けて訴えられることも無かったな
Java Technology Compatibility Kitのことと勘違いしてるんだろうな。
>>729 Dalvikは、Googleが買い取る以前にAndroid Inc.が、
JVM互換を目指してクリーンルーム開発したVMだよ。
「無理に避けた」とかバカとしか思えん。
JVMベースに移行する方が時間的に無理がある。
731 :
デフォルトの名無しさん:2010/12/11(土) 22:23:29
GoogleとOracleはどういう決着するんだろうか
DalvikVMはApache Harmonyのソース8割
使いまわしているからクリーンじゃないよ
>>725=
>>728 ですよね?
OpenJDKのライセンスに変更はありません。
Googleが独自JVMを公開して提訴されたことも
Apacheが用途に制限があるTCKライセンスを拒否したことも
OpenJDKで動作するJava以外の言語には全然関係ありません。
OpenJDKで動作するアプリケーションに過ぎない
JVM系言語に作成許可が必要になったと主張するなら
ソースを出してください。
JVMのほかの言語とかそんな風が吹けば飛ぶようなもんどうでもいいわ
どうせJavaの人気が無くなれば終わり
さようならClojure・・・。
実は好きでした。
早く言ってくれれば、太鼓腹の.NETオヤジに嫁がなくても済んだのに…
2001-2006は携帯電話の波に乗ってサンのソフトウェア部門はJavaMEライセンスで儲けていた。その代わりPC関連のプロジェクト(office,ide,desktop)はほとんど無料にできた。
それを2006年頃からFavaFXでさらに押し進めようとしていたのにグーグルが裏切って○○と称して独自に実装し、今じゃJavaMEじゃなくてANDROID一色になってしまった。
つまりサンは顧客を失い、ANDORIDOに対してのJavaME,SEじゃキャリア・ベンダー各社は今後Javaライセンスを買う見込みはないからサンのソフトウェア営業は成立せず、手持ち資金はあったのにサン本体を破産にした。
グーグルのこのような行為はある業界では「ダンピング」という。
AndroidはApacheの実装パクっただけだぞ
>>733 2chはゆとりとかニートとか所詮CHINNKASUみたいな奴が多いんだから、そんなにカッカカッカしなさんなw
>>737 typo何とかしてくれ。
職場でも言われてるだろ。
CHINNKASU相手にカッカカッカしてるわりに、そんなところよく気がついたなw
ファバw
アンドリドw
JDK 6u22の日本語のドキュメンテーションが落とせねーじゃん!!
と思ってたんだが、いつのまにか6u23の日本語版が落とせるようになってるのね…
Javaは何度もバージョンアップしてるのに、何で、Stringクラスに
他の言語が備えてるような便利メソッドをたくさん追加しようって
方向に向かわなかったのだろう?
Javaは大クラス主義じゃないってことじゃね?
使いやすさに対するセンスがないっていうのはよく言われてるよね
Javaには原理主義的なトコがあるよな
だからこそ、裏のチューニングとかがしやすい所もあったんだろうけど
Javaのライブラリが最小限+α程度のメソッドしか用意してないってのが
特にチューニングの役にたってるようには見えないけどな。
どちらかというと移植容易性に貢献するはずだと思うんだが、そっちはgdgdだし。
Windows でJava 1.6u23を使用していますが、以下のコードがエラーになります。
ServerSocketChannel.open().socket().bind(new InetSocketAddress("[::]", 2000), 5);
1.6にもなってやる気がないのでしょうか?
new ServerSocket().bind(new InetSocketAddress("[::]", 2000), 5); だと通ります。
IPv6はAPI仕様が1.4で対応になって、Windows版もJava 1.5からServerSocketや
URLConnectionが使えたはず。
今頃OSが未実装だからChanel使えませんとか、マイクロソフトに対する嫌がらせか?
The Hacker's Guide To The Oracle の表紙には DON'T COMMIT と書いてあるとか
Rubyなんてオタク言語じゃなくて、C#やphpと比べるとJavaが衰退してるのがよく分かるね
755 :
デフォルトの名無しさん:2010/12/30(木) 12:53:55
COBOLがなくならないように、Javaが今すぐなくなることはないだろう。
今後もJavaは安定して残っていくと思うが
2000年代初頭のような爆発的な広がりはないだろうな。
>>753 Windows PCしか知らない人にはC#が優勢に見えるのでは?
>>756 なんで
>>753はプログラマーってついてるのに取ったの?
コーヒー屋の求人でも拾ってるんじゃないの?
C#はMono 3.0が出てから本気出す
>>758 グラフの下のJava jobsをクリックしてください。
ProgrammerよりDeveloperやSoftware Engineerの方がずっと多いです。
海外の業界用語を知らないのは構いませんが、
「コーヒー屋の求人」は無理がありすぎです。
いや、最初にprogrammerで検索したの俺じゃないし
日本では、プログラマー・ハウスとその個人派遣という職種自体が崩壊しているからサラリーマン・プログラマー(つまりSEかDBオペレーターの類)という職種ならある。
>>753 Java界隈から新しい技術やプロダクトが次々とは出てこなくなったから
COBOL同様今後も主流ではあり続けるが、すでに活力は失われた
Javaは来年から有料ライセンスのみに
なるからな終わった言語なんだぞ
flashとかms何とかも元から有料だよね
MSは開発ライセンスもSDKも無料でしょ
IDE売ってるだけ
MSの無料SDKで商用ソフトを作っても問題ないんですか?
はい
SDKはもちろん、VSの無料版のVSExpressで作っても商用利用は自由です
じゃなんでMSは衰退してるんですか?
モバイルとかはAPPLEやANDROIDばっかりでMSは参入しても即死でしたよね。
無料ですら衰退するなら有料化したらなおさら衰退するしかないな
そもそもFlashやMSを引き合いに出してきたのはお前だろ
アホか
JAVAはもう終わりだから2011年はECLIPSE AND GOOGLEマンセーってことでおk?
Javaの無いEclipse(笑)
>>766,768
2010年の勝ち組は、ECLIPSE AND GOOGLE AND APACHE AND C#ですよね?
2010年じゃなくて
ECLIPSEの無料でGOOGLEとアンドロイドのライブラリーをAPACHE系ライセンスでC#言語を使って開発するのが来年の勝ち組ですよね?
2011年はJavaを推進したApacheが訴訟費用が捻出できなくなって消える
その後、googleも訴訟で敗訴し財政難に陥る
Javaの規格がISOに登録されてないのに、使い続けた奴らが悪い
ISOに登録されてても特許でガードされてりゃ自由には使えないんだけどね……
ISO,JISとかを信望しちゃってるのがいるみたいだけど、MP3,MPEG2と汎用(国際)規格の狭間にある問題でも調べたら?
778 :
デフォルトの名無しさん:2010/12/30(木) 19:54:33
GoogleにはJavaの自由がない以上、
MSと協力するか、他の言語を作る必要があるんだろうな。
もしアパッチ団体が消えたとしても、それらのコードはアパッチライセンスとして他の人が引き継ぐのでグーグルとかアパッチとか実際どうでもいいです。
>>775 ECLISPEってのは、汎用IDEとしてISOに規格登録されてるから今後も安心ですよね?
引き継がれたとしても特許やライセンスの問題はどうにもならんです
ワーレーズの世界じゃないんだし、ちゃんとライセンスを得てちゃんと金払えば問題ない。
ISOに登録されているものは安心に決まっている
未登録の野蛮な言語なんて使うのがそもそも異常だったんだよ
>>778 > GoogleにはJavaの自由がない以上、
ライセンス料払えばいいだけの話。
>>773 さすがにC#は…
クライアント開発の主戦場がモバイル端末に移ろうとしているのにMSときたら…
MSはSONYと同じでモービルは諦めてコンソールの方で勝負するそうですよ。
NITENDOも加えてみてもお互いの商売方法は似てますし、今のところ市場は住み分け状態になっていてるので自分のマーケットにライバルはいませんし。
マジかよ糞箱売ってくる
>>786 Oracle Javaよりはマシだろw
JavaFX 2.0とか流行るわけない
>>790 C#のライバルはJavaFX 2.0かよw
少なくともJavaFX含めクライアントJavaは時間の無駄
Androidがありまっせー
Androidは来年は発売できない
キャリアも込みで訴訟されるからな
グーグルに代わってオラクルがモーバル用LINUXOS + JAVAME + JAVAFXを提供してキャリアと個人(実際は携帯料金プラン)からJAVAライセンスを徴収するから、来年以降モーバル市場でグーグル(とWINDOWSPHONE)が死滅しても問題は発生しない。
そんなのよりwebOSのがいい
Google も Go で囲い込み
今更 Go が流行るかどうかは甚だ疑問だが
Open source だから特許やライセンスの問題は無いんじゃないの?
結局AIRしかないか
唸れ SL
JavaのISO化は組み込みメーカで一時推進したけどSunが土壇場ちゃぶ台返して無くなった。
MSは、CLIに特許無償利用権付与してISO化してる。
スマホの場合、SunがライセンスでME縛りにしてる。
メーカーで、SE使うとライセンス違反になるので、いやいやME使ってた。
Androidは、JVMの変わりにDalvikVM使ってうまくすり抜けて、SEに近いAPI提供してうまくいった。
という話を聞いたことがある。
ならMSに服従してCLIを使えば問題ない
805 :
デフォルトの名無しさん:2011/01/01(土) 09:11:36
そうだよな。いまならOracleよりMSのほうがまだ良心的だ
ISO化に拘る理由がわからない。
H.264の問題見れば、ISO化されたとしても今回のような問題は起こりうる。
大体、ISOの標準化なんて、利害調整が難航して標準化が遅れに遅れたり、
いろんな機能盛り込んだ結果仕様が膨れ上がってフル実装が誰も出来なかったり、
折り合いつかないところを実装依存にして互換性問題が生じたり、
あまり良いイメージがない。
807 :
デフォルトの名無しさん:2011/01/01(土) 20:54:57
ISO規格があっても実装をMSが作らないmonoは結局遅く使いづらい。
リーディングカンパニーであるのにわざとそうして、Windowsを使うように仕向ける戦略。
Javaは実装を他のPlathomeに作っている。
どちらが志が高いかよくわかる。
アップルやアイビーエムと同じくグーグルもサン・オラクルからジャバライセンスをちゃんと得てちゃんと金を払えば問題は起きなかった
MSがマルチPlathome(笑)を本気でやる気がないのは当たり前でしょ。
採用する場合は当然それを承知で使うんだから何も問題ない。
オープンなイメージを持たせておいて急に金をせびり始めたりする会社の方がよっぽどタチが悪い。
グーグルってさ、本の著者の許諾もなくしかも無断で本の全ページを自炊してスキャナで取り込んでOCRにかけてグーグルで全文検索できるように商用利用してたよね。
許諾がないのと無断なのは区別するほどのものなのか?
オープンだからといってそれが無料だとは限らないんだが・・・GPLとかそういうもの真髄をちゃんと理解してないんでしょ?(わr
>>811 グーグルの行為は「悪質」ってことにつながってくる
GPLといえば「フリービールのフリー」のフリービールというのに縁がないんだが
フリービールはどこにあるんだ
著者、出版社、著作権所有者の方は、和解管理サイトをご覧ください。
Google ブック検索のこれから
著者および出版社との画期的な契約
Authors Guild、米国出版社協会 (Association of American Publishers)、および一部の著者と出版社は、3 年前に Google ブック検索に対する集団訴訟を起こしました。
和解契約が裁判所で最終的に承認され成立するまで、しばらく時間がかかる見込みです。さしあたり、和解によって間もなく米国でご提供できる新しいブック検索の一部を参
考までにご紹介します。(この和解契約は米国における訴訟の解決となるもので、和解契約によって可能になる新しい機能が利用できるのは、米国内でブック検索にアクセス
するユーザーのみです。日本で提供されるブック検索の機能はこれまでと全く同じでなんら変更はありません。)
Googleの主張を眺めてるといつも思うんだが、ナイキとかコカコーラとかのマーケティングと同じ論法を使い、「未来を一つにつなげていくことが我々の使命なのです!」のようにサイエ○・カルト宗教みたいな戯言で締めくくられているから胡散臭い
>>816 一般の人は常に支配され管理されることを
強く望んでいるんだから至極真っ当だろ?
>>799 > Open source だから特許やライセンスの問題は無いんじゃないの
それはSunのOpenJDK戦略を基本的に理解してない。
Sunはソースは公開しても特許で儲けられる。
Apacheとモメる原因のひとつも理解できてない。
Apacheのライセンスは特許保持者にやさしくない。
>>807 monoをサードパーティに作らせたりとか、
NETBIOSをECMAに登録したり、
この辺は全て独禁法絡みのアリバイで、
プラットフォームを入れ替えても問題ないほどのものを提供する気はない。
>>808 GoogleのAndroidにはSunはライセンスを出さなかったはず。
>>803の書いているようにME縛りをかなり厳しくやっていた。
>>818 素朴な疑問だけど Go って特許問題があるの?
言語仕様に特許はない。
問題になるのは実装技術。
典型的なのがJVMのセキュリティ・マネージ。
>>821 ソフトウェア特許がある限りそういういちゃもん付けられる可能性はいつでも
あるんじゃないか?言語に関わらず
ボランティアで開発してる限りにおいてMonoやMoonlightはまったく脅威にならないから
MSも何も言ってこないけどGoogleが買い取ったりしたらどうなるかな。
まあどうなるかはGoogleもわかってるだろうからそんなことはしないと思うけど
asp.netやWinFromとかは、isoに含まれないから特許無償付与条項にふくまれないけど、コアは含まれているからgoogleでも大丈夫
こういった場合 Android って呼んでるの Dalvik とかの事なのかな?
Android 自体は Linux ベースで GPL だよね
何を指してるかはっきりしないとちょっと混乱が起きそう
アップルやアイビーエムと同じくグーグルもサン・オラクルからジャバライセンスをちゃんと得てちゃんと金を払えば問題は起きなかった
むしろこういう問題が起きた方がいろいろ良かったかもよ
ソフトウェア特許とかの問題点とかもまた出てくるし
定期コピペにマジレスカコイイ
なにげにマイクロソフトもサンからライセンス受けてたよね。jdk 1.1.6までだっけ。
>>822 ソフトウェアは仕様じゃないぞ?
実装技術のインスタンスだ。
>>831 特許取られるとインスタンスは引っかかるよ
>>831はソフトウェアで特許はありうると言っているんじゃないの?
言語仕様は特許にはならないけども。
それならそれこそ言語に関わらず特許に引っかかるんでは
誰もソフトウェア特許が有ることは否定していないような
>>823 Monoってnovellが支援しとらんかったっけ?
novellってこの前買収されたとかなんとか聞いたような。
支援ていうかMonoはNovellの製品だよ
Novellに金払えばオープンソースなライセンスの外での運用も可
クロージャは結局どうなった?
ベータ版動かしてみた人いる?
いや、
>>838 からjar落としてきたら動いたけど、中にいっしょに入ってた
javac(拡張子なし)とjavac.batを使わないとコンパイルできなかった
普通にantで動かしたいから今2つのファイルとにらめっこちゅう
batをantに書き換えてみたけど動かなくてくたびれちゃった
taskdef自分で作ったほうが早いかも
(javac.bat)
"%JAVAC%" -J-Xbootclasspath/p:"%CLOSURES%\lib\closures.jar" -source 7 -d . %*
(ant)
<javac destdir="${build.dir}">
....<compilerarg value="-Xbootclasspath/p:${lib.dir}/closures.jar"/>
....(ry
</javac>
>>842 えーそんなー(;ω;)
こりゃガックシだ
おじゃばー
> に関する最新情報
最近Googleによく出てくてうっとうしいコピペアフィspamサイトかと思った
invokedynamicは面白くなったなあ。
関数型と思えばいいよね?
G1GCってパフォーマンスがどうなのかとか
そういう話があんまし聞こえてこないんだけどどうなのあれ
JDK8は5年くらい先だろか
JDK6で打ち止めじゃないの?
JDK6って2006年末だっけ? 4年半かかったのか。
いまから半年でJDK7リリース、
そっからJDK8リリースまで4年半必要だとすると
JDK8は今から5年後ってのもあながち……
Javaは安定期
プロパティっていつ導入されるんですか?
少なくとも7では導入されない。
858 :
デフォルトの名無しさん:2011/02/14(月) 22:36:04
総まとめ:Javaの将来的な後継者としての Scala
http://www.infoq.com/jp/news/2009/07/scala-replace-java >Java の創作者である James Gosling 氏や
>JRuby の主要開発者である Charles Nutter氏に続いて,
>Groovy の創作者である James Strachan氏もScalaへの賛意を表明している。
>氏はScalaに非常な感銘を受けているようで,もしScalaが先にあったなら,
>そもそもGroovyを作ることはなかっただろう,とまで言っている。
scalaはグーグルの中の人が必死になって押してるよね
必死というかやっぱりいいわな、Scalaは。
JVM系では突出してるでしょ。
ただGroovyみたいな通訳系も大切だと思うけどねえ。
中の人乙
>>858 ScalaはJavaプラットフォーム(Java仮想マシン)上で動作し、既存のJavaのプログラムと容易に連携させることができる。
メインはJavaプラットフォームであるが、他にも下記のプラットフォームもサポートしていたが、現在は開発中断になっている。
* .NET Framework
* Java Platform, Micro Edition CLDC (2.7.0で中断)
* Android (2.7.0で中断)
>>861 中の人ってGoogleの人かよ!すげえな!
学問板では板住人として院生後期や食えない大学講師なんかあたりまえで大学の准教授・機関研究員なんかもよく常駐しているから、肩書だけはいっちょまえの人がいても別に珍しくもない
板違いです。
Eclipse Indigo入れたけど、try (MyAC ac = new MyAC()) {
がエラーになる。何なのこの糞リプス
868 :
デフォルトの名無しさん:2011/02/18(金) 23:45:48
Javaはviでゴリゴリに限る。
scala普及しなすぎだろ
記号ばっかりのscalaなんかやるならc#やった方が有益
871 :
デフォルトの名無しさん:2011/02/19(土) 02:42:17
そして、a few yearsが抜けてる日本語訳だっけ?
まあ関数型は所詮関数型だからな
普及もクソも所詮は俺言語のうちの一つに過ぎない
それがこれだけ注目されてたことだけでも奇跡
C#とJVMの狭間で
Scalaは型システムとか並列フレームワークとか見るべきところがある言語。
型推論は真面目にコンパイラで頑張って欲しいと思うこの頃です。
Scalaは型推論に失敗して落ちるとか
致命的なエラーが大量に含まれているから
見るべき言語じゃない
推論中に循環参照になってスタックオーバーフローみたいな?
scalaよりClojureわりと好きなんだったんだがの。
S式にアレルギーある人多すぎでイマイチな評価だけど。
>>881 メールの引用部に友好的なIcedTea7の対話含まないなんて、
煽る気まんまんの最低記事だね。
昔からの問題って書いてるから、別にいいんじやね?
MSでもSunでもあった問題なんだし。
バグの情報をオープンにするってセキュリティ的にまずいんじゃないの
どうして?
セキュリティホールを突いた攻撃が行われる恐れがある
>>883 MS関係ねえ…
>>886 普通、秘密裏に通知して、アップデートの猶予を与える。
しばしば対応が遅すぎて、発見者が切れて、先に発表しちまうが。
develope previewって、nio2が入ってんだよね?
ちょっと期待してんだけど
nio2って5,6年前から聞くな。どんだけ放置プレイなんだか。
Java 7だって5年ほど前から聞く。
それよりWindowsでIPv6使いたかったのに1.4で実装されず、7のSocketChannel
で初めてまともに非同期ソケット使えるようになった放置がひどすぎる。
8年ぐらい待った。ようやく使えると思ったらWindowsなのに[::]で0.0.0.0まで
勝手にバインドされる糞仕様
機能の追加はもういらん。
速度性能を上げることにすべての心血を集中させてほしい
どうぞどうぞ。
今のJavaにこれ以上速度性能を求める奴ってなんなの?
javaのどこの速度が遅いわけ?
あえて言えばクラスロード。ヴェりファイアが走るので。
クラスロードはそんなに遅くは無いと思うが、アプリ起動時
の壮大な処理になると気になるな。でもJava 7(x64) + SSDの
環境にしたら一瞬で起動するようになったので気にならなくなった
Javaの場合はクライアントの方は諦めてるところがあるから
あんまり起動時間は重視されないと思う
ランタイムそのものをモジュール化するって話はどうなったの?
JSRじゃなくOracle JVMの話なんだろうけど。
1.5でクラスライブラリはシェアになったから起動は少し早くなった聞いたんですけど
>>898 > でもJava 7(x64) + SSDの
> 環境にしたら一瞬で起動するようになったので気にならなくなった
頭悪!
???
904 :
デフォルトの名無しさん:2011/05/03(火) 13:25:05.97
???
java6でシステムトレイがサポートされたけど、MenuItem, JMenuItemが多くなってもPopupやJMenuはスクロールしないよね。
メニューアイテムのスクロールのカスタム実装は出来なくもないけどかなり大変だからjava7でひっそりとサポートしておいてほしい。
GUI系だとタブレット向けのマルチタッチサポートが一番重要な気がする。
昔Java1.3でホイールマウスが使えなかったのは結構痛かった。
907 :
デフォルトの名無しさん:2011/05/11(水) 20:02:33.00
インナークラスってさぁ、オーバーライドできるようにならねぇの?
もともと共変の戻り値が不可能だったのと、ソースコード上では外クラスの
thisを渡さなくて済む構文糖だからってのがあるんだろうけど、微妙に不便だ。
TypeA.InnerA inner;
inner = new TypeA().new InnerA();
inner = new TypeB().new InnerA();//オーバーライド済み。
継承? オーバーライド?
>>908 オーバーライド。
new InnerA();をnewInnerA();メソッドとして読み替えてみればいいかもしれん。
class A { class InnerA{} }
class B extends A { class InnerB extends InnerA {} }
なら、
A.innerA inner;
inner = new A().new InnerA();
inner = new B().new InnerA();
inner = new B().new InnerB();
って全部通ったような。
それは通るだろうねぇ。AのInnerAをBのInnerAで上書きしてる訳じゃないからね。
BとAのInnerAはAのInnerAだし。
InnerBもInnerAを継承してるだけのただのInnerBだし。
最初の説明が言葉足らずなようなんで補足。
メソッドの定義で書くとこんな感じ。
A.InnerA newInnerA();
B.InnerA newInnerA();
B.InnerAは、A.InnerAを継承している。
何言ってるかわからん。
せめてコンパイル通る、もしくはコンパイラにかけると問題の箇所でコンパイルエラーになる形で示してくれ。
多態的にインスタンス作りたいってことか?
コンストラクタの引数とかどうするんだよ。無駄に複雑になるだけ。
InnerAのインスタンスを作って返すメソッドを定義しておいてオーバーライドすれば済むこと。
そもそもクラスのオーバーライドってできないんだけど。
インナークラス関係なくね?
>>914 それがメンドいって話。
コンストラクターと全く同じ引数とって、newしたオブジェクトいちいちかくのバカバカしいじゃん。
InnerB newInnerA(arg1,arg2,arg3,arg4)
{
return new InnerB(arg1,arg2,arg3,arg4);
}
これ見てクドく思わないか?
コンストラクタの引数は、A,InnerAとB.InnerAで引数の一致するコンストラクタだけオーバーライドすればいいだけ。
InnerAのコンストラクタをAのメソッドとみなせば済む。
まぁ、InnerAのコンストラクタは書かずnewInnerAの中でInnerAを初期化するようにしても、
ある程度解決できるけどねInnerAが外部クラスで初期化されてるのが気持ち悪い、
全く思わないな
コンストラクタ引数がスーパークラスと全く同じで、生成時に単に直接newして返すだけの
ファクトリーメソッドなんてそんなに出てこないと思うけど
>>915 それができるようになったらいいねって事。
あとクラスというかコンストラクターね。
>>917 DBのgetConnection();なんてpool.new Connection()でいいじゃんとは思こともないか?
純粋に見た目の問題としては気持ちはわからなくもないが
そもそもネストクラスのインスタンスをクラスの外から作るのがダサい
>>918 コンストラクタ上書きは従来の型システムが崩壊するから無理じゃね?
継承禁止クラスがサブクラスをインスタンス化できないように
わざわざコンストラクタが全部privateにしてても
コンストラクタ上書きできるならサブクラスで上書きされちゃうわけで。
糖衣構文としては簡単に実装できるだろ
コンパイラが
>>916のようなコードを生成すればいいだけ
わざわざ文法に大きく手を入れるほどの見返りがあるかというと全く割に合わないと思うけど
見た目気にしないならIDEにコード生成させりゃいいだけだし。
「何でも明示的に」なJavaにその手の糖衣構文を望むのは酷かと
そんな構文糖入れるならダイヤモンド要らないからval入れてくれ。
無名クラスと同じで構文糖としてなら可能なはず。
共変の戻り値が可能になったし、内部クラスのコンストラクタを
クラスファイル上は、外部クラスのメソッドに書き換えてやればいいだけ。
実際に現時点でも外部クラスのオブジェクトを受け渡すために若干近い構造になってる。
あとprivateのメソッドはもともとオーバーライドできないのでコンストラクタもそれに従えばいいだけの話。
>>916見ると、ぶっちゃけオーバーライドも内部クラスも関係なくて、
コンストラクタでsuperに同じ引数渡す場合の省略記法があればいいだけのような。
>>926 糖衣構文だと既存のバイナリで定義されたネストクラスはオーバーライドできないはずだから
virtual class InnerA { }みたいに特別な宣言が必要になるよ
まあ既存クラスが全く想定してない内部クラスの差し替えが起こるわけだから誤動作しまくるに決まってるので
糖衣構文でなくても特別な宣言をさせるようにするしかないだろうけど
共変の戻り値もあんまし関係ないな。
他にも新機能追加してんだから僕の考えた最強の糖衣構文も追加するべき、
みたいな引き合いに出されただけか。
>>928 互換性を気にしなきゃならんのはもっともなんだけど、
既存のクラスに親と子で同じな前の内部クラスを定義しているやつがいるか?
理論上問題は発生し得るけど、現実誰一人こまるやついないだろ。
>>929 共変の戻り値がクラスファイル上で許可されてなかったらクラスファイルの構造直さない限り不可能だよ。
っつか、やりたいのって結局継承時の記述省略よね。
>>930 外側のクラスに内部クラスのインスタンス生成用の隠しメソッドを生成するならリコンパイルが必要だろ
それに、今までは内部クラスが継承されて勝手に差し換わったりしないことを前提に
内部クラスでなければfinalを付けるべきところをfinal付けてないコードはあるだろうから
そういうコードのカプセル化が壊れる
>>932 あと、内部クラスのオブジェクト生成表記の統一と、内部クラス名の統一(親と子で同じ)ね。
>>933 >外側のクラスに内部クラスのインスタンス生成用の隠しメソッドを生成するならリコンパイルが必要
これはおっしゃるとおりかも。
そっから下は
>既存のクラスに親と子で同じ名前の内部クラスを定義しているやつがいるか?
って書いた内容と同じだと思うけどいまいち意味が解らん。
939 :
933:2011/05/11(水) 23:34:14.66
>>936 すまん内部クラスはあんまり関係ないな
内部クラスに限らず、newによる多態的なインスタンス生成なんかサポートすると
既存のコードが正しく動かなくなるってこと
既存のコードはnew Hoge()でHogeのサブクラスのインスタンスができるなんて全く想定してないからね
既存の外側のクラスの中で自身の内部クラスのインスタンスを作ってる場合はそういう状況になりうるでしょ
>>931 クラスファイルの仕様はかわってなかったような。
一つのクラスに同名同引数のメソッドは一つだけって暗黙の条件が崩れただけで。
もっとも、それもjavacで生成されたクラスファイルって限定付きだったような気が。
リフレクションの際のMethod検索するユーティリティメソッド書き直したな。
>>937 無名クラスで名前を省略できるのと同程度かな。
親がConnection用意してて子でPostgresConnectionで別名つけにゃならんとか微妙じゃん。
使うときはnew Postgres().new PostgresConnection()になるわけで。
>>940 許可されただけで構造は変わってないよ。
なんか
>他にも新機能追加してんだから僕の考えた最強の糖衣構文も追加するべき、
な感じになってるからそろそろ切り上げるわ。みんなありがとさん。
そのうちダメ元でここの意見参考にJava関連ツールの宣伝してた
Oracleの営業に話してみるわ、鼻で笑われるだろうけどね。
ジャバはもう終わっってんだろ
IT専門学校で教えてないけど、これからは(これからも)C#/VBが本命
本命なんて無いよ。
>>943 またC#厨かw
あんなプロプラな言語が本命の訳ないだろw
天下のECMAですよ?
おばかだなぁ
両方使えるのがいいにきまってるでしょ
中途半端が一番イクないともいう
おい聞いたかC#がプロプラだってよおい
よりによってOracle製品には言われたくないな
Oracleの犬になるか、GPLか、だもんな
もしMicrosoftがSUNを買っていたらと思うとOracleのほうが遥かにマシ。
いちいち携帯でアプリ起動するのにM$のロゴが出てきたら気分が悪いからな。
Oracleならまだイヤな気分にならない。
JavaはIBMが買ってればマシだったと思う。
あとC#はECMAがあっても閉鎖的には違いない。
何かと戦われている方ですね
オラクルは世界第2位ですよ?
>>955 OpenOffice はどうなってしまいましたか?
サンが持っていたアレコレを買い占める前からオラクルは世界第2位の規模ですよ?
>>957,
>>952 オラクルの買収した OOo は今や風前の灯。オラクルも所詮 MS と同じ穴の狢では?
そして Java もいずれそうなる。
もうだめぽ
Oracle主流製品にあわせて性能チューニングしてくれるので、
Oracle主流製品で固めればいいと思う。
機能を追加するために言語拡張すんのと、ライブラリ拡張すんのどっちがいいんだろうな。
lisp見ると、言語拡張が必要な言語はバカバカしく見えてくる。
HTML5が近いというのにジャバだとpngはサポートしてるけどで未だにpngのアニメーションは無理なんだね。
なんとなく分かるけど例あげてくれ
たしかmngとかapngとかいう変なのがあったはずだが
Oracleはgoogleと仲良くしてgoogleをJavaに協力させるべきだとおもうなぁ。
エンタープライズを見るのもいいけど、PC未満も忘れないで欲しいもんだ。
もうクライアントなんてやる気ないんだろ
PC未満どころかクライアントPCすら終わってるじゃん
逆にMSの独壇場になったPCが一番難しいんじゃないか?
スマホで動く.NETとか存在しないし、.NETでアプリが動く携帯電話も
見たこと無い。もしあっても俺の主観では欲しくない。
Androidが個人向けのPC未満市場でMSを圧倒的にリードしている
様子を見れば、PC以外なら誰にでも勝機があると思えてくる。
androidもそのうちJavaは捨てるでしょ
javascriptとネイティブで十分
>>968 逆に.NETが動かないスマホの方が少ないんだが
あとauも.NETを独自実装してたはず
971 :
デフォルトの名無しさん:2011/05/14(土) 02:16:57.80
なんだかんだでc++がいちばんいいな
oracleによって完全に望みは絶たれたけど、最大の開発者シェアの言語握りながら
クライアントでは全くダメとかどう考えてもsunが無能すぎただろ
いつまでもjavaの精神とか夢物語にこだわってるからからこうなる
>>958 >
>>957,
>>952 > オラクルの買収した OOo は今や風前の灯。オラクルも所詮 MS と同じ穴の狢では?
OpenOfficeは、オラクルの方針に賛成できない開発者が離れて、LibreOfficeに移ったよ。
で、LibreOfficeは、開発スピードが確実に上がっている。
なんでも、従来は、ちょっとした変更もSunによる承認が必要で、全然開発が進まなかったらしい。
で、Oracleになってからさらに悪くなったところで、開発者が離脱。
今、LibreOfficeは、開発者がいきいきしている。
開発の速度が上がったよね。
最近は、SUN時代には許可されなかった、コードのリファクタリングをやっているとか。
開発者からみて、ここはどうしても変えたいってコードが、ようやく開発者の意志で変えれるようになった。
Javaも、LibreOfficeみたいに自由をつかめば、まだまだ良くなりそうだが、、。
>>974 風前どころかとうに消えてしまったんですねえ
Javaの言語仕様は石橋を叩いて壊すくらいでちょうどいいよ。
クソ仕様が入るよりは現状維持の方がマシ。
5.0で不満なところはほとんど解消してるし。
シンプルな仕様がいいのでJDK1.1で十分
OpenJDKからforkしたものだけになっちゃったらそれこそモバイルとか組み込みとか完全終了じゃん
.NET見たいに配列も拡張forループでまわせるようにならんとかな?
たとえば、次の文があったとき、
String[] ary = 処理();
for ( String str : ary ) {
}
これをコンパイラがこう読み替えればいいだけだろ?
String[] ary = 処理();
for ( String str : Arrays.asList(ary) ) {
}
配列は今でもまわせるよ
983 :
デフォルトの名無しさん:2011/05/14(土) 21:57:26.83
for(String s : args) {
}
↓
String[] args1 = args;
int i = args1.length;
for(int j = 0; j < i; j++) {
String s = args1[i];
}
こんな感じだった