[mustang] 次世代Javaの動向 3 [dolphin]
レス数が1000を超えています。これ以上書き込みはできません。
00011
2006/09/03(日) 05:09:50次世代Javaの動向 2
http://pc8.2ch.net/test/read.cgi/tech/1147881822/
前々スレ
【Java】次世代Java・J2SE1.6の動向【Mustang】
http://pc8.2ch.net/test/read.cgi/tech/1081698555/
2006年秋にMustang Java SE 6がリリース予定
(現在ベータ2)
00021
2006/09/03(日) 05:15:33java.text.spi
java.util.spi
追加される主なクラス
[java.awt]
Component.BaselineResizeBehavior
Desktop.Action
Desktop
Dialog.ModalExclusionType
Dialog.ModalityType
SplashScreen
SystemTray
TrayIcon.MessageType
TrayIcon
[java.awt.font]
LayoutPath
[java.io]
Console
IOError
[java.lang.instrument]
ClassLoaderConfigurationError
[java.lang.management]
LockInfo
MonitorInfo
以下続く
00031
2006/09/03(日) 05:23:35CookieManager
CookiePolicy
CookieStore
HttpCookie
IDN
InterfaceAddress
[java.security]
Policy.Parameters
PolicySpi
URIParameter
[java.text]
Normalizer.Form
Normalizer
[java.util]
AbstractMap.SimpleEntry
AbstractMap.SimpleImmutableEntry
ArrayDeque
Deque
NavigableMap
NavigableSet
ResourceBundle.Control
Service
ServiceConfigurationError
続く
00041
2006/09/03(日) 05:26:43BlockingDeque
ConcurrentNavigableMap
ConcurrentSkipListMap
ConcurrentSkipListSet
LinkedBlockingDeque
RunnableFuture
RunnableScheduledFuture
[java.util.concurrent.locks]
AbstractOwnableSynchronizer
AbstractQueuedLongSynchronizer.ConditionObject
AbstractQueuedLongSynchronizer
[javax.net.ssl]
SSLParameters
[javax.security.auth.login ]
Configuration.Parameters
ConfigurationSpi
続く
00051
2006/09/03(日) 05:29:53DefaultRowSorter.ModelWrapper
DefaultRowSorter
DropMode
JList.DropLocation
JTable.DropLocation
JTree.DropLocation
LayoutStyle.ComponentPlacement
LayoutStyle
RowFilter.ComparisonType
RowFilter.Entry
RowFilter
RowSorter.SortKey
RowSorter
SortOrder
SwingWorker.StateValue
SwingWorker
TransferHandler.DropLocation
TransferHandler.TransferInfo
00061
2006/09/03(日) 05:31:16RowSorterEvent.Type
RowSorterEvent
RowSorterListener
[javax.swing.table]
TableRowSorter
TableStringConverter
[javax.swing.text ]
JTextComponent.DropLocation
以上新しいクラスでした
0007デフォルトの名無しさん
2006/09/03(日) 06:50:52おそらくSunの連中もどっちが6だか7だか間違うんだよ
0008デフォルトの名無しさん
2006/09/03(日) 14:07:59spiってなんすか?就職試験ですか?
0009デフォルトの名無しさん
2006/09/03(日) 14:09:36クッキー機能が強化されるのか
0010デフォルトの名無しさん
2006/09/03(日) 14:10:36廃止された? ソースは?
00111
2006/09/03(日) 14:49:48String にメソッド.isEmpty()が追加。
java.io.Fileは大幅に変更。toURLはdeprecatedになった
chmod系のメソッドとディスクスペース系のメソッドが多数追加されてるね
0012デフォルトの名無しさん
2006/09/03(日) 14:54:44isEmpty()か
今まで
str.equals("")を使って他のを
かわりにそれで済ませることができるって意味?
それとも
str.equals("")
だけでなく
str.equals(" ")
や
str.equals(" ") //(一応半角文字のつもり)
も含まれる?
0013デフォルトの名無しさん
2006/09/03(日) 14:55:08dfやduコマンドが使えるって化
0014デフォルトの名無しさん
2006/09/03(日) 14:55:51mkdir()のかわりmkdirs()で
mkdir -p /usr/local/a/b/g/a/a/a/a/a/a
っていう長い複数にネストされたディレクトリも一発で
確実に作れるのかな?
0015デフォルトの名無しさん
2006/09/03(日) 15:34:11chmodのファイルシステムに依存する部分の分離とか、どうやっているのか凄く興味深いぞ
0016デフォルトの名無しさん
2006/09/03(日) 15:35:43Design and performance improvements with JDBC 4.0
http://www.javaworld.com/javaworld/jw-05-2006/jw-0501-jdbc.html
0017デフォルトの名無しさん
2006/09/03(日) 15:41:04"".equals(str);
と書くだろ。
isEmptyはstring長がゼロのときにtrue、よって最初のやつだけに使えるね。
後は" ".trim().isEmpty();
とかすればよいでしょ。
0018デフォルトの名無しさん
2006/09/03(日) 15:45:110020デフォルトの名無しさん
2006/09/03(日) 15:58:21http://journal.mycom.co.jp/news/2006/08/16/343.html
00211
2006/09/03(日) 16:09:56あとでまとめてみよ
00221
2006/09/03(日) 16:32:48javax.activation - activation framework
javax.annotation - 新しいannotation
javax.annotation.processing - apt?
javax.jws - web 用のannotation?
javax.jws.soap - soap用のannotation
javax.lang.model (subpackageは省略) よくわからん
javax.script - 文字通り
javax.tools - compilerとか
javax.xml.bind (subpackageは省略) - JAXB
javax.xml.crypto (subpackageは省略) - XML signature
javax.xml.soap - 文字通り
javax.xml.stream (subpackage 省略) stax?
javax.xml.transform.stax - 文字とおり
javax.xml.ws (subpackage 省略) - JAX-WS
0023デフォルトの名無しさん
2006/09/03(日) 17:52:56大した事はしてない。
例えば setExecutable も setReadable も、
Windows だと NTFS でも FAT でも何もしないはず。
戻り値の仕様は…… なんだこりゃ? って感じはするけど。
っつか、new File("no such file").setExecutable(true); は
IOException 吐いて死んで欲しいよーな気がするが。
0024デフォルトの名無しさん
2006/09/03(日) 18:03:56> >>12
> "".equals(str);
> と書くだろ。
それは個人の書き方の問題では?
どっちみち、isEmpty()がでるならそれすらも気にしなくて済むなら、
ええもんだよね。
0025デフォルトの名無しさん
2006/09/03(日) 18:04:44JDKという名前はまだ残ってるのか
もうすでに、Java SE 6, Java SE 7と呼ぶのかと思ったぞ
0026デフォルトの名無しさん
2006/09/03(日) 18:06:00JAFがJavaに標準で組み込まれるようになったのか?
これで、Java Mail APIを使うときに
いちいちactivation.jarを入れる手間を省けるのか
0027デフォルトの名無しさん
2006/09/03(日) 20:27:45リテラルを前に持ってきた方がイーンダヨ。
0028デフォルトの名無しさん
2006/09/03(日) 20:48:59strがnullの場合の話。
0029デフォルトの名無しさん
2006/09/03(日) 21:05:04nullである可能性がある場合の話、だな。
比較が一回で済むという。
0030デフォルトの名無しさん
2006/09/04(月) 12:23:18>>970
>ストラウとラップは演算子のオーバーロードを
>誤った使い方をするとろくなことがないぞってことを言ってるんだよ。
その誤った使い方を具体的に示してよ。C++よく知らんし。
それとも偉い人がそういったから否定しているだけ?もしそうなら議論やめるよ。
0031デフォルトの名無しさん
2006/09/04(月) 12:59:25なるほど
0032デフォルトの名無しさん
2006/09/04(月) 13:00:43どっかに書いてなかった?
偉い人が言ったからではなく、
副作用ってことで。
複数の会社で演算子の定義が異なると
ソフトウェアを統合したときに衝突が起きるって奴
0033デフォルトの名無しさん
2006/09/04(月) 13:03:24そもそも規約がしっかりしてりゃ、こんな事にはならんのだが。
0034デフォルトの名無しさん
2006/09/04(月) 13:39:53妄信してるバカには。
だから、人間ではなく言語によって統制できるのはかなりいいことだ。
0035デフォルトの名無しさん
2006/09/04(月) 16:06:15お前と俺が同じプロジェクトに入っていたとして、
俺があるクラスAhoで+=をオーバーライドするとする。
public void += Object obj{
this.何かのフィールド.何かのメソッド(obj);
}
これが書いているときは非常に便利だとすると俺はこれを多用したコードを書く。
{
Aho aho = new Aho();
aho+=(3);
aho+=(4);
int baka = 0;
baka += aho.getId();
}
こんなコードのメンテやだろ。同じ+=でも複数の意味を持っているのはやはり読みにくい。
0036デフォルトの名無しさん
2006/09/04(月) 16:17:29それがいいとは限らないと思うんだけどなあ
確かに"".equals(strl)でstrがnullのときにfalseを返すことはAPI仕様で保証されてるけど
(正確にはObject#equalsの引数がnullのときにfalseを返すこと)
strがnullであるのが想定外である場合にNullPointerExceptionを握りつぶしてしまうという
危険性がある
0037デフォルトの名無しさん
2006/09/04(月) 16:21:171つのクラスでは便利でも、他のクラスと相対的に見てみると、
両者で同じ演算子をつかっても、その意味(効果)が違うとメンテは大変だしね。
0038デフォルトの名無しさん
2006/09/04(月) 17:25:27どこか他でNPE投げるからいいんじゃない?
どこかでstr使うんでしょ?
null を確認するために使うメソッドでもないしさ。
>>36がどういう状況を想定しているのか分からないが、そんなときはisEmptyが活用できるわけだ。
読みやすいといえば、読みやすいか。
0039デフォルトの名無しさん
2006/09/04(月) 19:52:23strはその後使われるとは限らない
単にチェックのためだけに使われる場合もある
> null を確認するために使うメソッドでもないしさ。
nullチェックと文字列の比較を同時に行うためのイディオムとして"".equals(str)
を使うのは問題だという話なのだが。つまり、
if(str != null || str.equals("")){
doSomething();
}
の代わりに
if("".equals(str)){
doSomething();
}
で済ませちゃうという状況を想定している
0040デフォルトの名無しさん
2006/09/04(月) 20:36:50いい加減に見苦しいな
ただ分ければいいだけだろうが
0041デフォルトの名無しさん
2006/09/04(月) 21:05:59てか次世代スレでそんなバグだらけのコード書いてはずかしくない?
0042デフォルトの名無しさん
2006/09/04(月) 21:11:23自分を擁護するためにコードでっち上げました、って感じがする
0043デフォルトの名無しさん
2006/09/04(月) 21:57:3700441
2006/09/04(月) 22:31:17かわいそうに。でも if(str != null || str.equals("")) って意味があるか考えたほうがいい。
ぜんぜん関係ないが、top 25 のRFEで"struct" のサポートというのがあるが、
c#とかで見た事あるけど、詳しい人4行くらいで解説してほしいな。Javaとの相性を含めて。
0045デフォルトの名無しさん
2006/09/04(月) 22:33:15C#のstructはスタック領域に確保される、値型となり、
classはヒープ領域に確保される参照型になる。
簡単にはこんなもの
0046デフォルトの名無しさん
2006/09/04(月) 22:33:20if("edit".equals(action)) {
doEditAction();
}
昔サーブレットを利用したWEBアプリ開発を行っている時、
このようなコード書いたものなんだが。。。
00471
2006/09/04(月) 22:46:01このRFE, Jarに別のJarを含めてもちゃんと動くようにってヤツだけど、これはdolphinでやってもらいたいな。
たまにlog4jをバラして自分のjarに組み込んだりしてるので、
0048デフォルトの名無しさん
2006/09/04(月) 22:51:26top 25 のRFEで"struct" のサポートの内容は何を指しているのか知らないが、
以下、思ったことを適当に述べてみる。
structの利点:スタックに必ず割り付けられることが保障される。
structの欠点:継承できない。
エスケープ解析の導入で
オブジェクトをスタックに割り付けてもらえるようになったため、
structを使う利点は消えた。
従って、C++やC#で言うところのstructは不要。
0049デフォルトの名無しさん
2006/09/04(月) 22:55:33それは問題ない。
>>39は両方バグありであまりにひどすぎ。
0050デフォルトの名無しさん
2006/09/04(月) 22:58:34だから、C++のstructはC#のstructとは全く別物だってば。
C#のstructはC++では、
class Hoge {};
struct Piyo {};
Hoge hoge;
Piyo piyo;
こんな感じで、C#のclassはC++では
class Hoge {};
struct Piyo {};
Hoge* hoge = new Hoge;
Piyo* piyo = new Piyo;
こんな感じ。
00511
2006/09/04(月) 23:18:23言語仕様にするかは別として、IO速くなるならとっとと組こんでもらいたいもんだ。
0052デフォルトの名無しさん
2006/09/04(月) 23:21:58そこの Evaluation に
> @Struct interface CK_SLOT_INFO {
> @PaddedString(' ', "utf8", 64) String getSlotDescription();
> @PaddedString(' ', "utf8", 32) String getManufacturerID();
> @Unsigned(32) int getFlags();
> CK_VERSION getHardwareVersion();
> CK_VERSION getFirmwareVersion();
> }
みたいな 例示コードが載ってるよん。
内部的には java.nio.Buffer 使うとか?
スタックに割り付けられるオブジェクトが欲しいとか、
値型が欲しいとかなら別の RFE に vote しろって書いてあるね。
この RFE のスタンスが良くわからん。
struct 書いて、fread で読み込めれば便利、
(エンディアンやらエンコーディングを考慮しなければ)
ってのを実現するとかみたいなスタンスなんかな?
0053デフォルトの名無しさん
2006/09/04(月) 23:23:41確保した変数がスタックフレームと一緒に消滅してくれるとかは、
Cで滅多に使わないけどキーワード auto のことでしょ?
一緒にしてないかな。
0054デフォルトの名無しさん
2006/09/04(月) 23:27:12Sun の人は、そーゆー struct を議論するつもりはないみたいね。件の RFE では。
4820062 に vote した連中がどーゆーつもりかは知らんが。
> structは型(値型)の定義・宣言でしょ。
そーゆーのは 4213096 とかでやれって事らしい。
0055デフォルトの名無しさん
2006/09/04(月) 23:38:33またC#からパクるんですか
0056デフォルトの名無しさん
2006/09/04(月) 23:39:45完成度はJavaのほうが上になるから、安心しろw
0057デフォルトの名無しさん
2006/09/04(月) 23:42:51doSomething() の仕様を確認せずにバグありというお前の姿勢はあまりにもひどすぎ。
0059デフォルトの名無しさん
2006/09/04(月) 23:58:30もっと賢い仕組みになるわけだし。
エスケープ解析の具体的なやり方解説キボーン。
0060デフォルトの名無しさん
2006/09/05(火) 00:13:00正直、完全に忘れていた。
struct は 後方互換性のためだけにC++に残された無用のキーワードだったなorz
>>52
構造体を値渡しする時に、どのメンバがどのビットに対応しているか記述するものだな。
確かに、その機能があればネットワークプログラミングで
パケット内容をパースする時に非常に便利。
struct packet* p = (struct packet*)buf;
printf("%d, %d", p->id, p->tick);
上のコードのように、単なるビット列に構造体でキャストして
ビットに意味づけをするようなコードを簡単に記述可能にしたいのだろう。
0061デフォルトの名無しさん
2006/09/05(火) 00:16:24確かにアホだった。反省している
0064デフォルトの名無しさん
2006/09/05(火) 00:44:41structか。下手に使うと重たくなるって@ITのC#の記事に書いてあったが、
どうなんだ?
値型扱いじゃあないってことか?
0065デフォルトの名無しさん
2006/09/05(火) 00:45:12FatJarやOneJarの立場がなくなるっていうのか?
0066デフォルトの名無しさん
2006/09/05(火) 00:47:00なんだ、アノテーションでinterfaceを縛り付けるだけか。
よかったよかった。C#のstructみたいなわけわかんないのでなくて
0067デフォルトの名無しさん
2006/09/05(火) 07:15:44インタフェースだけじゃどうにもならん気がするが支援APIは?
0068デフォルトの名無しさん
2006/09/05(火) 15:46:18便利そうだねfatjarとかって。
どっちかっていうとオプソのライブラリーとかで使って欲しいんだけどね。
あれを落として、これを落としてって大した手間じゃないけど精神的にうざい
maven使えば楽なんだろうけど
0069デフォルトの名無しさん
2006/09/05(火) 19:32:43EclipseにFatJarプラグインがあるぞ。
あれは楽。
Mavenにもプラグインがあったような気がする。
俺の場合は、Mavenでプロジェクト作ってライブラリ落として
Eclipseに反映させてプログラムができあがったら
Eclipse側でサクッとFatJarプラグインでまとめちゃうけどね。
0070デフォルトの名無しさん
2006/09/05(火) 21:22:24知らん。追加情報募集中って感じかね。あるなら、だけど。
>>52 は単に Evaluation に書いてあることをひっぱってきただけだし。
Dolphin に入れるか検討中とも書いてあるから、暫く待ってれば情報が出てくるかも。
支援API に関して良いアイデアがあるんなら件の RFE にコメントするなりしてみれば?
0071デフォルトの名無しさん
2006/09/05(火) 21:48:06http://javolution.org/api/javolution/io/Struct.html を参考にするとかしないとか。
>>52 とは結構違うような気もするけど。
0072デフォルトの名無しさん
2006/09/05(火) 21:59:08インタフェースでやるのは愚の骨頂だと思うな
インタフェースで宣言したメソッドの順番には何の強制力もない
structてのはstructureなわけだから構造を強制できないと意味がない
だから必要なら新文法の導入も止むなしかと思うね
00731
2006/09/05(火) 22:00:04がJSR Reviewに登場。
@NonNullとか@NIsとかについての仕様
annotation関係多いね。個人的にはいい方向だと思うが
00741
2006/09/05(火) 22:07:49オレのよう無知な人間がいっぱいいるからな。
標準化の意味もあると思うよ。
逆にfatjar使うデメリットってあんだろうか?
Tomcatで使うぶんには問題ないが、普通のクラスローダーだったら色々問題がでそうな気がするが。。。
0075デフォルトの名無しさん
2006/09/05(火) 22:08:15確保されたメモリ領域にきちんとアライメントも合わせてセットされるので、
JNI側でそのままメモリ領域を構造体としてネイティブライブラリに
渡せる。
JNI書いてる時は重宝する。
0076デフォルトの名無しさん
2006/09/05(火) 22:14:53> インタフェースで宣言したメソッドの順番には何の強制力もない
それは class でやっても全く同じ事だと思うけど、
Javolution では、それでやってるわけだし。
0077デフォルトの名無しさん
2006/09/05(火) 22:19:29概念的にインスタンス変数の定義順ってどうなのってのはあるけどな
struct予約語を導入してラップすれば問題ないか
0078デフォルトの名無しさん
2006/09/05(火) 22:22:31違うんじゃないか
インタフェースはメソッドだけどクラスはインスタンス変数だろ
ただクラスでも定義順にそこまでの思想的強制力があるのかっていう
一種の気持ち悪さはあるな
struct予約語の導入がすっきりすると思うけど
0079デフォルトの名無しさん
2006/09/05(火) 22:22:46たぶん >>52 方面では予約語は追加されんと思うぞ。
Category が java:classes_nio になってるし。
0080デフォルトの名無しさん
2006/09/05(火) 22:31:00nioとして検討されてるのか
確かになさそうだね
0081デフォルトの名無しさん
2006/09/05(火) 22:32:50> struct予約語の導入がすっきりすると思うけど
そーゆー意見は Sun の連中に聞こえる場所で言った方が良いと思うぞ。
このスレに居る連中に言ったところで何が変わるわけでも無し。
0082デフォルトの名無しさん
2006/09/05(火) 22:43:28まあ誰か同じようなこと考えるだろ
0083デフォルトの名無しさん
2006/09/06(水) 06:46:57+=演算子が、適切にオーバーライドされているなら、その例でなんの問題もないと思うけどな。
例えば集合を表すSetというクラスがあって、
Set set1 = new Set();
Set set2 = new Set();
set1 += set2; // 和集合
と書けるのはとっても自然だと思う。
>同じ+=でも複数の意味を持っているのはやはり読みにくい。
読みにくいのは、スクリプト言語のように型がない言語の場合だけじゃないか?
C++やJavaのように型がある言語なら、演算子がオーバーライドされていても問題なく理解できる。
0084デフォルトの名無しさん
2006/09/06(水) 07:48:130085デフォルトの名無しさん
2006/09/06(水) 10:38:53いまのところFatJarのデメリットはなさそう。
と、思ったが、固めるのに時間がかかるというデメリットがあった。
Jakarta Commonsのライブラリ使いまくっていると凄いことになる。
10以上もあるファイルを全部解凍してから圧縮し直すから。
1GHz、メモリ512MBのマシンでも1分くらいかかった。
圧縮されているCommonsのJarファイルのそれぞれのサイズにもよるけど。
テストするのに手間がかかるというオチがある。
Tomcatで、Jarにしたままでちゃんと動くかテストしろと上司が五月蠅いから。
さもなきゃclassのままにして、WEB-INF/classesにServletと一緒に放り込めだからな。
バカ上司と付き合うのはやってられないと思った。もうそこの会社は辞めたが。
0086デフォルトの名無しさん
2006/09/06(水) 10:40:50漏れは予約語にするんだったら>>52のサンプルコードのように
@Structアノテーション
だけで解決して欲しい派
C/C++/C#のstructと一緒だ!と勘違いする奴がいるから。
0087デフォルトの名無しさん
2006/09/06(水) 12:35:33コンパイラは理解できるだろうよ
じゃあ、結構大きめなクラスライブラリが有った場合とかドウスンノ?って事
全て一人で出来る程度の仕事してる連中には理解できない世界ってのが有るんだよ
0088デフォルトの名無しさん
2006/09/06(水) 14:51:460089デフォルトの名無しさん
2006/09/06(水) 15:32:58まだ伝わってないようだな。
別に演算子オーバーロードすべてを否定しているわけじゃない。
現行のjavaだってStringで使ってるわけだし。
ユーザーが定義できるってのが嫌。
Collectionsの+=はあまり誤解がなさそうなので良いと思うが、
それよりはnew ArrayList<String>(String... strs)の方が欲しいな。
0090デフォルトの名無しさん
2006/09/06(水) 15:42:23なるほど。さんきゅ。
全部バラしてんだったら確かに重い処理だわな。
>>88
そうかもね。
ちょっとそれるが、何でjavaはバイナリーファイルがクラス単位なんだろうか。
inner classでも自動的に新しいバイナリーファイルが作られるじゃん。
すごい無駄だと昔から思ってんだけど。
0091デフォルトの名無しさん
2006/09/06(水) 15:48:231つのファイルに複数のpublicクラスを記述できるようにしてほしい。
クラスファイルレベルでは、互換性の問題も発生しないだろうし
0092デフォルトの名無しさん
2006/09/06(水) 16:07:550093デフォルトの名無しさん
2006/09/06(水) 16:08:51static inner classで良くない?
バイナリーは結局いっぱいできて汚いけど。
0095デフォルトの名無しさん
2006/09/06(水) 16:45:18各言語で、それぞれに目指しているところが微妙に違うのでしょう。
やっぱりC#に移行してもMS案件・Windows用で特定用途向けのツールばっかりになってしまうのでしょう。
0096デフォルトの名無しさん
2006/09/06(水) 17:34:40俺は逆に一つのファイルに複数のクラスを書くのが昔から許せなくて、
もうJava以外の言語にはあんまり戻りたくない。
「あのクラスはどのファイルの中で定義してあった?」
なんて探し回るのは不毛だ。
0098デフォルトの名無しさん
2006/09/06(水) 21:21:51そりゃあんた、Javaはクラス単位でプログラムのロードをするからでしょ。
内部クラスがあったって、もし実行時に使用されないなら、ロードしない。
そのためにファイルが別れてる。
0099デフォルトの名無しさん
2006/09/06(水) 21:23:12実行ファイル用jarとして、warみたいに複数のjarをjarファイルに
格納する標準フォーマットを決めればいいだけなんじゃないかと
思うんだが。
0100デフォルトの名無しさん
2006/09/06(水) 21:30:56バイナリに手を加えるのがライセンスで禁止されてるものとかもあるから、
クラスローダーに手を入れてあるってどこかで読んだ気がするんだが。
まぁ、勘違いかもしれんから気になる奴は自分で調べてくれ。
0101デフォルトの名無しさん
2006/09/06(水) 22:49:17別にファイル分かれてる必要ないじゃん。
ファイルの中で必要な部分だけロードできる仕組みがあればよいだけ
jarだってファイルは一つだぜ、中を見て必要なクラスをロードしてるんだろ
0102デフォルトの名無しさん
2006/09/06(水) 22:52:47そもそも議論の発端は >>47 だ
これね
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4648386
0103デフォルトの名無しさん
2006/09/06(水) 22:55:26それone-jarってやつじゃない?
0104デフォルトの名無しさん
2006/09/06(水) 23:28:130105デフォルトの名無しさん
2006/09/06(水) 23:32:21bいくつまで行くんだろ?
0106デフォルトの名無しさん
2006/09/07(木) 00:34:11おい、オーバーライドか? オーバーロードの間違いだろう。
演算子のオーバーロードだけはやめとけ。
どうしても使いたければ、外部のXML言語やJakarta Velocityなどで
サポートする形のほうが安全だぞ。
0107デフォルトの名無しさん
2006/09/07(木) 00:36:26初回起動だけとか、だったりしたらねえ。
つか、Servletの場合は、WARが主流なんだけどね。
WARを置くと勝手に回答されてそのなかにJARが
入ってはいるけれども。
Appletに直接使わせる場合は、JARのほうが速いしねえ。
そもそも、速くなるケースがある、といっても実用性を
考えるとそういうのはあてにならんよ。
0108デフォルトの名無しさん
2006/09/07(木) 00:38:00そんなちっちゃな要求、メリットを感じないな。
そういうちっちゃな夢はC#でも使ってなさいって感じなんだが。
0109デフォルトの名無しさん
2006/09/07(木) 00:39:03そうそう、
オブジェクト指向設計の原則 「分割統治せよ」
ってのがあるからね。
詳しくは『アジャイルソフトウェア開発の奥義』
にて
0110デフォルトの名無しさん
2006/09/07(木) 00:39:25classが沢山できてもJarで固めればいいさ。
0111デフォルトの名無しさん
2006/09/07(木) 00:49:29OneJarはFatJarから派生したやつではないかな?
0112デフォルトの名無しさん
2006/09/07(木) 02:35:09その本は見てないけど、別にファイルとクラスの問題じゃないだろ。
IDE使ってればそんな事はどうーでもいい。
むしろ新しい事を始めるときはstatic inner classを好んで使うよ。
ソースを書く時点でファイルを意識しなければならないのは苦痛だよ。
そんなのオブジェクト指向とは何も関係ない。
0113デフォルトの名無しさん
2006/09/07(木) 02:49:25IDEつかってもどうでもよかないよ。
そもそもIDEが壊れたときどうするんだと。
セットアップにも時間がかかるし。
0114デフォルトの名無しさん
2006/09/07(木) 02:54:180115デフォルトの名無しさん
2006/09/07(木) 02:55:58インナークラスから始めるという発想が
どうもみすぼらしい。
ファイルを意識だって? それこそIDEをつかっていれば
意識しなくて済むだろう。
Eclipseのように新しいクラスを作りたければ、
[新規]-[クラス]で自動的にファイルができてclass宣言も
記述されるので有れば苦痛でないだろう。分割もリファクタリングで済む。
にもかかわらずいちいちpartialを使う?
それこそそんなことはどうーでもいい。
お前はおそらくpackageの仕様をC#のnamespaceの
ように変えて欲しいというクチだろ。
AspectJでどにか済ませろ。
0116デフォルトの名無しさん
2006/09/07(木) 03:22:10staticのinner classは便利だ。
eclipseの糞うざいウィザードがないからね。
三つ四つさくさくクラスを作れる。
やっぱいらないかー、とか思ったらコメントアウト。
やっぱ必要だ、とか思ったらコメントをはずせば復活。
めちゃ楽。
C#は知らない。
partial? 何を指してんだ?
0117デフォルトの名無しさん
2006/09/07(木) 03:50:37複数のソースを比較しながらコードを書くのがめんどくさい
という点につきる気がする。
116 のいう
> eclipseの糞うざいウィザードがないからね。
はウィザードが立ち上がらない設定にすればいいからどうでもいいとして
emacs みたいにいくつものペインに分割して
それぞれのソースが表示できればいいんでない?
Eclipse プラグインにあったかは知らないが 。
0118デフォルトの名無しさん
2006/09/07(木) 04:08:22どんな状況だ?
>ウィザードが立ち上がらない設定にすればいい
そうしたらクラスを簡単に作成、変更できるのかい?
簡易なプロトタイプ的なモノを書きたいとき、って状況だぜ。
0119デフォルトの名無しさん
2006/09/07(木) 04:15:53プロトタイプだからInterfaceでの定義もよく変わる、一つのファイルだからメニューからリファクター、とか選ばずとも手で素早く修正できる。
仕様に耐えられそうだったら、一人前のクラスとしてリファクターすればよい。
こんなんでいちいち新しいクラスを箇々に作るのは時間のむだ。
public class Base{
static interface IntA{//省略
}
public static class TestA implements IntA{
//省略
}
public static class TestB{
//省略
}
}
0120デフォルトの名無しさん
2006/09/07(木) 04:26:40>それぞれのソースが表示できればいいんでない?
eclipse使った事ある?フリーだよ。
0121117
2006/09/07(木) 04:29:56> >複数のソースを比較しながらコードを書く
> どんな状況だ?
比較というか複数のソースを横断的に(タブ切り替えでなく同時に見ながら)
コードを書きたいことは普通にあるだろ。
そういう状況がないというのであればそっちの方が信じられない。
0122デフォルトの名無しさん
2006/09/07(木) 04:30:35お前こそ emacs 使ったことあるのか?
0123デフォルトの名無しさん
2006/09/07(木) 04:37:39SQLのスキーマとかクラスダイアグラムだったら分かる。Javadocもあるだろう。
ソースを見ながら?どんなコード書いてるんだ?
emacsは使わないが、eclipseので複数のペインで表示させるのと大きく違うのかよ?
あれJavaの人だよね?いまさらCの話でしたー、とか勘弁してよ
0124デフォルトの名無しさん
2006/09/07(木) 05:27:24もしかしてEclipseでJavaエディタの部分を上下2分割できるの知らないの?
試しにソースのタグをエディタ内でドラッグさせてごらん
0125デフォルトの名無しさん
2006/09/07(木) 06:06:15オーバーロードじゃなくて、オーバーライドであってるよね。
と思ったけど、型がある言語ならオーバーロードもできるのか。
>演算子のオーバーロードだけはやめとけ。
>どうしても使いたければ、外部のXML言語やJakarta Velocityなどで
>サポートする形のほうが安全だぞ。
このへん意味不明
>>87
>じゃあ、結構大きめなクラスライブラリが有った場合とかドウスンノ?って事
大きかろうが別に関係ないよ。演算子の定義もメソッドの定義も別にかわらないから。
add(arg)のかわりに+(arg)を、sub(arg)のかわりに-(arg)を定義して、
obj1.add(obj2)のかわりにobj1+obj2を使うだけ。
これで「混乱する」とか「わかりにくい」とかいうやつは、演算子でなくてメソッドを使っても同じだろ。
もしかして、intやcharの演算子も再定義することを考えているのかなあ。それは禁止すべきだけど。primitive typeにはメソッドが定義できないのと同じように。
>>89
>ユーザーが定義できるってのが嫌。
だから、なぜ?「混乱するから」という理由なら、上に書いたように、混乱はしないから。
0126デフォルトの名無しさん
2006/09/07(木) 07:34:39> jar にせずに WEB-INF/classes に置いた方が起動が早い場合が多々ある。
クラスローダーがclassファイル探すためのI/Oの回数がJARだと1回、バラだと
classファイルの数だけ発生するはずだが。
起動時に全部ロードするわけではないから早く感じるのかもしれんが、トータルで考えると
JARの方が早いんじゃね?
0127デフォルトの名無しさん
2006/09/07(木) 08:01:52んなわけない
バラだって1回で探せる
なんのためにパッケージ名があるか考えよう
Jarは展開ロスもあるしその分遅いだろ
0128デフォルトの名無しさん
2006/09/07(木) 08:12:18> オーバーロードじゃなくて、オーバーライドであってるよね。
普通は operator overload、演算子の多重定義だな。
演算子の上書きって言われると、primitive型の演算子が再定義できるようになりそうな……
0129デフォルトの名無しさん
2006/09/07(木) 09:03:48演算子オーバーロードが欲しいなら Bug ID: 4905919 に vote よろしく。
0130デフォルトの名無しさん
2006/09/07(木) 11:59:01> >>87
> >じゃあ、結構大きめなクラスライブラリが有った場合とかドウスンノ?って事
> 大きかろうが別に関係ないよ。演算子の定義もメソッドの定義も別にかわらないから。
> add(arg)のかわりに+(arg)を、sub(arg)のかわりに-(arg)を定義して、
> obj1.add(obj2)のかわりにobj1+obj2を使うだけ。
> これで「混乱する」とか「わかりにくい」とかいうやつは、演算子でなくてメソッドを使っても同じだろ。
いや、一見それだけなら問題なさそうに見えるが、それをBigDecimal, BigIntegerで定義すると、
> もしかして、intやcharの演算子も再定義することを考えているのかなあ。
のように欲張る奴が出てくる。さらに、Numberクラスを継承したらどんなクラスであっても
演算子を再定義できるようにすべきだと主張する輩も出てくる。
中途半端に制限するのはおかしいと言いだしてな。
そして四則演算関係だけじゃ足りないとか言いだしてくるぞ。
MathContextコンストラクタの引数に指定するprecisionも演算子で設定できるようにすべきだと
言いだす奴がでてくるかもしれない。
するととたんにC++やC#の二の舞となるわけだ。
あとはストラウストラップが指摘した問題だな。
0131デフォルトの名無しさん
2006/09/07(木) 12:00:20初回だけ展開して
2回目以降は展開しないという仕組みには
なってないのかね?
0132デフォルトの名無しさん
2006/09/07(木) 16:35:02問題なのは、+,-などの演算子は通常のメソッドに比べてより強い制約を満たすことが期待されているにも関わらず
(例えば、+なら可換であるとか)、その制約を満たさないような形で演算子をオーバーロードする奴がC++で多発したこと。
要は「メソッド名(演算子名)はそれが行うことを表す名前をつけましょう」というだけのお話。
演算子オーバーロードそれ自体が悪いわけじゃなく、演算子オーバーロードの正しい使い方についてあまり啓蒙されなかった
のが真の原因
0133デフォルトの名無しさん
2006/09/07(木) 18:32:43http://d.hatena.ne.jp/mb2sync/searchdiary?word=%2a%5bBoost%2eXpressive%5d
C++ の spirit フレームワークや、正規表現の Xpressive ライブラリなんかは極端としても
「 y = x.add( a );」
という書式があったときに、 add メソッドが、+= の役割なのか、+ の役割を示すのか
一瞬迷うことがあるから、限定された演算子オーバーロードでいいのであって欲しいとは思う。
0134デフォルトの名無しさん
2006/09/07(木) 18:42:54そんなに欲しいのかね・・・・
その熱意が伝わってないじゃないか?
0135デフォルトの名無しさん
2006/09/07(木) 19:01:21その+が+=の様に実装するデコ助と仕事する羽目になったらどうする?
013661
2006/09/07(木) 19:19:33それはいくらなんでも論外
そんなことする奴は、普通のメソッドであっても変な名前をつけて足引っ張るだけだろう
一応言っておくと、俺は演算子オーバーロードについてはあってもいいけど
別にそれほど切実に欲しいというわけじゃない派
0137デフォルトの名無しさん
2006/09/07(木) 21:21:02partialはまさに、おまいが求めている長〜いひとつのクラスを
複数のファイルに分割する機能だ。
partialキーワードを使ってどうにかするって記憶がある。
0138デフォルトの名無しさん
2006/09/07(木) 21:21:57>>124のようにEclipseを使って
一つのJavaソースファイルで複数のエディタを分割起動
できるほうがいい。
0139デフォルトの名無しさん
2006/09/07(木) 21:23:18> Collectionsの+=はあまり誤解がなさそうなので良いと思うが、
> それよりはnew ArrayList<String>(String... strs)の方が欲しいな。
とりあえず、asList()で解決だ。
つかね、そういうの作りたければArrayListを継承すればいいんじゃないか?
0140デフォルトの名無しさん
2006/09/07(木) 21:29:43> Collectionsの+=はあまり誤解がなさそうなので良いと思うが、
CollectionsクラスじゃなくてCollectionインタフェースだろ。
ってつっこみはいいとして
これはどうもね。
不変クラスであるStringの+=が好まれていない件を思い出す。
可変クラスのメソッドStringBuilder#append(String)のほうが高速だし。
そういう実装になったら本末転倒。
まさか、と現存のMutable(可変)なCollectionに加えて
Immutable(不変)なCollectionをつくるわけじゃあるまい。
そもそも、MutableなCollectionに対して
str = str.concat("追加文字列"); // str += "追加文字列"とほぼ同義だが(ry
なんてするの馬鹿馬鹿しい。
sb.append("追加文字列");
のほうがいいし、
この二つのメソッドを演算子オーバーロードした場合、どう区別つけるんだ?
0141デフォルトの名無しさん
2006/09/07(木) 21:31:26だから、OneJarはFatJarから派生した。
しかし、あれライセンスが面倒だった気がする。
だから漏れはFatJarを使ってる。
0142デフォルトの名無しさん
2006/09/07(木) 21:32:21> > eclipseの糞うざいウィザードがないからね。
> はウィザードが立ち上がらない設定にすればいいからどうでもいいとして
> emacs みたいにいくつものペインに分割して
> それぞれのソースが表示できればいいんでない?
> Eclipse プラグインにあったかは知らないが 。
今はプラグインがなくてもすでにEclipseにそれが実装されている
0143デフォルトの名無しさん
2006/09/07(木) 21:33:25> 複数のソースを比較しながらコードを書く
> どんな状況だ?
おれは思うに、彼には非常に効率の悪い
複数のいわゆるスパゲティコードを読む羽目に
なっているんだと思うよ。
設計がしっかりしていれば、
そんなまどろっこしいことしなくて済むのにねえ。
0144デフォルトの名無しさん
2006/09/07(木) 21:34:43> 以下のような感じで、めっちゃ楽。
何に対して以上のような形といってるのかわからん。
一つ上のレスは関係なさそうだし。
> プロトタイプだからInterfaceでの定義もよく変わる、一つのファイルだからメニューからリファクター、とか選ばずとも手で素早く修正できる。
> 仕様に耐えられそうだったら、一人前のクラスとしてリファクターすればよい。
> こんなんでいちいち新しいクラスを箇々に作るのは時間のむだ。
> public class Base{
> static interface IntA{//省略
> }
> public static class TestA implements IntA{
> //省略
> }
> public static class TestB{
> //省略
> }
> }
0145デフォルトの名無しさん
2006/09/07(木) 21:35:31> >>118
> > >複数のソースを比較しながらコードを書く
> > どんな状況だ?
> 比較というか複数のソースを横断的に(タブ切り替えでなく同時に見ながら)
> コードを書きたいことは普通にあるだろ。
> そういう状況がないというのであればそっちの方が信じられない。
お前が未だに30年前のコーディングスタイルに
填っているプロジェクトの考え方に依存していることが信じられないよ。
0146デフォルトの名無しさん
2006/09/07(木) 21:35:51まさにそれだ
0147デフォルトの名無しさん
2006/09/07(木) 21:36:52それをやって
どれくらいのパフォーマンスが期待されるんだ?
マシンスペックが高けりゃ雀の涙程度だったら、
意味無さ過ぎ。
0148デフォルトの名無しさん
2006/09/07(木) 21:37:13それに一旦展開したらローカルに保存されるだろ。
Tomcatにしてもworkあたりにさ
0149デフォルトの名無しさん
2006/09/07(木) 21:43:02部分的に俺の言いたいことと一致する。
しかしやっぱり危険なものだな。
たとえばある奴が行列クラスを作ったとき、
ある奴は転置を意味する演算子に'をつかう。
他のある奴が作った行列クラスでは'ではなく`を使ってたりする。
それだけでなく、こういうケースも
ある奴は、*を行列型どうしの乗算としてオーバーロードする。
だが、ほかのある奴は*を行ベクトル、列ベクトルどうしの内積としてオーバーロードする。
ほかのある奴は、ふたつの行列の個々の要素どうしを掛け合わせた行列型を返すようにオーバーロードする。
そんな演算子がごっちゃになったコードにまみれたら・・・・
大変なこった。
0150デフォルトの名無しさん
2006/09/07(木) 21:44:02だったら、ばっさり切り捨てた方がいいな。
竹島って島は大したことがない島だから
日韓の争いを避けるために爆破しちまったほうがええやって感じにな。
0151デフォルトの名無しさん
2006/09/07(木) 21:54:57スレ違いを承知で言うがな、おまえそれで領海がどれだけ減るか解って言ってるんだろうな?
0152デフォルトの名無しさん
2006/09/07(木) 21:56:22さあなw
少なくともパフォーマンスが少し改善されるってことは
頭の片隅に入れておいていいんじゃないか
0153デフォルトの名無しさん
2006/09/07(木) 21:57:050154デフォルトの名無しさん
2006/09/07(木) 22:00:390155デフォルトの名無しさん
2006/09/07(木) 22:27:49爆破したあとで海だけとればいい。
韓国のやってることは、
あんなちっこい島に無理矢理人を住まわせて
環境破壊して連絡船まで作ってるっていう赤字で
無駄で間抜けなことをやってまで
アホで必死すぎるからなw
0156デフォルトの名無しさん
2006/09/07(木) 22:29:35それはまるで、C言語厨がC++を使うときに、
クラスを作ると遅くなるとわめくのとかわらないと思う。
STL使ったらC++使う意味がないとか意味不明なこと漏らす連中とか
0157デフォルトの名無しさん
2006/09/07(木) 23:12:20まず、転置に'や`を使うのは不適切なケースだろう。だが、それは演算子オーバーロード
特有のものではない。例えば、メソッドだって、ある奴はtransposeという名前をつけるだろうが、
別の奴はtransとつけるかもしれないし、さらに面倒くさがりのやつはtrやtという名前をつけるかもしれない
また、乗算に関しても、メソッドに置き換えても全く同じことが成り立つ。以下、>>149の後半部分
に関して、*をmultiplyとして置換したもの。あと、「オーバーロード」だとメソッド定義の場合は不自然なので、
「定義」と置換した。
> ある奴は、multiplyを行列型どうしの乗算として定義する。
> だが、ほかのある奴はmultiplyを行ベクトル、列ベクトルどうしの内積として定義する。
> ほかのある奴は、ふたつの行列の個々の要素どうしを掛け合わせた行列型を返すように定義する。
と、このように全く同じことになる。もちろん、multiplyHogeHogeと修飾することで意味を明確にする
ことはできるだろうが、ここではそのようなことがプログラマに期待できない状況の話をしている
はずなので、無意味
0158デフォルトの名無しさん
2006/09/07(木) 23:19:57Jarの場合はメモリ中で展開するから。
あと、セキュリティマネージャーを使うような設定にしてると、バラの場合は
classファイルをロードするたびに・・・
0159デフォルトの名無しさん
2006/09/08(金) 00:15:03お前もしかしてCVS使ってない?
ファイル作ってコミットしたら削除するのに手間が掛かるから抵抗あるよな。
Subversion使えば楽だぞ。ディレクトリ移動や削除に何の抵抗もない。
もしSubversion使っててファイル作成にそれだけ抵抗あるなら、愚かとしか言いようがない。
0160デフォルトの名無しさん
2006/09/08(金) 05:18:12否定したいがために無理な話をでっちあげるのはよせ。
「Classに対しては再定義できる、primitiveに対してはできない」というルールだけでOK。
primitiveでの演算子再定義なんか、必要あるわけねーだろ。
>するととたんにC++やC#の二の舞となるわけだ。
>あとはストラウストラップが指摘した問題だな。
だからその問題とやらを具体的に挙げろって何度もいってんだろ。挙げられないということは、おまえだって知らないんじゃねーか。
>>132
>(例えば、+なら可換であるとか)
なんでそんな必要があるの?それは勝手な思い込みじゃね?
例えばRubyのStringクラスでの * 演算子はまったく可換じゃないけど、だれも文句を言わないし、問題になったこともない。
可換であることを期待される場合とそうでない場合があるというだけだと思う。
>演算子オーバーロードそれ自体が悪いわけじゃなく、演算子オーバーロードの正しい使い方についてあまり啓蒙されなかったのが真の原因
なるほど。できれば正しくない使い方をもっと紹介してくれるとうれしい。
0161デフォルトの名無しさん
2006/09/08(金) 05:28:55>この二つのメソッドを演算子オーバーロードした場合、どう区別つけるんだ?
何をどう区別したいのかが読み取れないけど、strとsbを区別したいなら、変数の型をみればいい。
メソッドの動作(appendのように破壊的かconcatのように非破壊的か)を区別したいなら、ドキュメントを読めばいいし、これはメソッドでも同じ問題が起こりうることであり、演算子固有の問題ではない。
メソッド名(concatとappend)を区別したいなら、
* C++やRubyのように演算子を直接定義する言語なら、メソッド名は関係なので区別する必要はない。
* Pythonのように演算子と対応するメソッドが一意に決まっている言語なら、ひとつの演算子に複数のメソッドが対応することはないので、区別する必要はない。
>>157
>それは演算子オーバーロード特有のものではない。
禿堂。メソッドでも起こる問題を、さも演算子オーバーロード特有の問題のように話すバカ大杉。
これだから、Java屋はJavaにない機能はすべて(ry
0162デフォルトの名無しさん
2006/09/08(金) 05:59:01去年の JavaOne Tokyo の話によれば演算子オーバーロードが
dolphin に入るのは かなり望み薄だし、次世代Javaの動向と関係がない
演算子オーバーロード関連は他所のスレでやって欲しいぞ。
> これだから、Java屋はJavaにない機能はすべて(ry
最終的に これが言いたいだけの奴も居るみたいだし。
0163157
2006/09/08(金) 08:19:25> 例えばRubyのStringクラスでの * 演算子はまったく可換じゃないけど、だれも文句を言わないし
* (積)は元々数学的に引数が可換な演算子じゃない。行列積とか考えてみればわかる。
+演算子について言っているのなら正しいけど、(Rubyの)Stringは最初期の頃からある
組み込みライブラリだから、変な風に定義されちゃっても大多数は普通は特に考えずに受け入れる。
あと、歴史的事情で、Stringの連結に+を使う言語が既に一般的だったというのもあるだろう。
ちなみに、「文字列連結演算子は可換でないのに+なのは変だ。*であるべきだ。」という主張は時々聞く。
少数派だけど。
> なるほど。できれば正しくない使い方をもっと紹介してくれるとうれしい。
正しく無い使い方なんて山ほどあるだろうけど(変なメソッド名の付け方がいくらでもあるのと
一緒)、例えば、+ - * /演算子で、引数を破壊的に変更するのは、おそらく正しく無い使い方だろう。
0164デフォルトの名無しさん
2006/09/08(金) 14:10:15なんだよ、返答につまったら逃げるのかよ。
それはいいからストラウストラップが指摘した問題とやらを紹介してくれよ。
反対派の根拠がそれなんだろ?ちゃんと紹介しないからしょぼい理由ばっかりなんだよ。
>>163
>正しく無い使い方なんて山ほどあるだろうけど(変なメソッド名の付け方がいくらでもあるのと
>一緒)、例えば、+ - * /演算子で、引数を破壊的に変更するのは、おそらく正しく無い使い方だろう。
はげどう。あと、+= と << を混同しているケースもある。Rubyの場合だけど。
0165デフォルトの名無しさん
2006/09/08(金) 22:12:02演算子オーバーロードで冗長な分かりやすい”演算子”をつける方法を教えてくれないか?
これだから石頭は困る
0166157
2006/09/09(土) 00:14:45何が言いたいのかよくわからん
> もちろん、multiplyHogeHogeと修飾することで意味を明確にする
> ことはできるだろうが、ここではそのようなことがプログラマに期待できない状況の話をしている
> はずなので、無意味
と書いたのは
multiplyHogeHogeなどのように冗長に書くことで、メソッド名では(通常の演算子と違って)
意味を明確にすることができるが、ここで論じているのはプログラマがそのような適切な
名前付けをしてくれることが期待できない場合の話なのだから、そのことについて論じるのは
無意味だと言いたかったのだが。
ちなみに、Haskellでは普通の関数でも、``で囲むことで、1 `add` 2のように中置演算子として
扱うことができる。同じような仕組みをJavaでも使うことで、「演算子」であっても、冗長な
名前を付けることができるだろう。
0167デフォルトの名無しさん
2006/09/09(土) 00:39:07どうでもいいが反対「派」とかいってひとまとめにひっくるめるのは止めろ。
おまえも賛成「派」なんて呼ばれたいのか。
おれはどっちかというと反対だが、別にC++がどうこうじゃなくて、なんでも
かんでも文法を拡張することに慎重でありたいだけ。
例えばコレクションもいずれは配列のようにアクセスできるようになる日が
くるかもしれんが、言語仕様を変更して採用するかどうかについては、
ぎりぎりまで十分に検討してもらいたいと思う。
言語仕様をどんどん変更されたら、言語としての安定性が疑われる。
PHPなんかひどいだろ。
Javaは言語仕様は小さく、ライブラリは豊かに、でいいと思うんだがね。
その上でもし仕様変更がなされたら、おれは文句も言わずに喜んで使うよ。
むしろ「楽になった」と喜んで喧伝するかもしれん。
それがなんか悪いか? 散々慎重なこといっといてこれだからJava厨は、と
言われてもしらね。変更に慎重になることと、慎重に検討した結果導入された
ものを使うことは別に衝突しない話だと思うがね。
そんなわけでオーバーロードが導入されようがされまいが、こんなもめるという
ことは、まだ十分に検討されてない事柄だということだけはわかった。引き続き
数年かけて検討すればいいよ。
Java 7の話に戻してくれんかね?
0168デフォルトの名無しさん
2006/09/09(土) 02:00:42よくできました!
この感想文には100点を差し上げましょう!
0169デフォルトの名無しさん
2006/09/09(土) 06:33:38なんだ、[]や+の意味がわからないのか。そういうレベルとは知らなかった。議論の前提を間違ってた。正直済まんかった。
>>167
開き直り乙。おまえのいいたいことはわかったから、ストラウストラップが指摘した問題をよろしく。
それから議論の発端をちゃんと読んでね。
>>168
開き直り乙。仲間ができてよかったね。
0170デフォルトの名無しさん
2006/09/09(土) 07:55:370171デフォルトの名無しさん
2006/09/09(土) 09:06:19もはや言語仕様小さくないだろう。Java7になればもっとひどくなるだろうし。
0172デフォルトの名無しさん
2006/09/09(土) 11:14:05> おまえも賛成「派」なんて呼ばれたいのか。
別にかまわないけど。何が問題なの?
> それがなんか悪いか? 散々慎重なこといっといてこれだからJava厨は、と
> 言われてもしらね。変更に慎重になることと、慎重に検討した結果導入された
> ものを使うことは別に衝突しない話だと思うがね。
悪いね。「変更に慎重」なことと、理由をこじつけて否定することはまったく別のこと。
今までの反対派の発言をみてみろ、まず「演算子の再定義は悪」という結論があって、そのために無理な理由をつけて反対しているだけじゃん。
これのどこが「変更に慎重」なんだよ。そう言いたいんだったらそれらしい議論しろっつーの。
おまえが「ストラウストラップがこういう問題を指摘してるんだけど、それはどうしたらいいと思う?」とでも書けば「変更に慎重」ということにもなるよ。
しかしおまえらは、はなから「Javaは正しい」「演算子オーバーロードは悪」という結論ありきで話してるじゃん。
そして、そのための理由を無理にこじつけて、それらを論破されて、それを今になって「変更に慎重」とか、もうアホかと。
> 言語仕様をどんどん変更されたら、言語としての安定性が疑われる。
> PHPなんかひどいだろ。
言語仕様の安定性と、ライブラリや実装の安定性を混同している。
PHPで安定しないのは後者。前者は安定している(PHPの仕様は4→5で大きく拡張されたが、それはJavaでも同じ)。
実装が不安定だからといって、勝手に言語仕様まで同じにするな。
>>168
この感想文には「まけおしみ」というタイトルをつけましょう。
0173デフォルトの名無しさん
2006/09/09(土) 12:09:33> 理由をこじつけて否定することはまったく別のこと。
なんか知らんけど、 「理由をこじつけて否定」されたから
腹がたってムシャクシャしてやったのであって、
次世代Java とは関係がない話って事だね。
> それらしい議論しろっつーの。
次世代Javaの動向とは関係がない話題だから ここでやるのはスレ違い
マ板のスレにでも行って愚痴れば?
0174157
2006/09/09(土) 12:20:21本題とは関係無いが、Rubyだと+=演算子はユーザが定義することはできず、x = x + yの
シンタックスシュガーのはずなので、<<とは混同しようが無いと思うんだが。
0175デフォルトの名無しさん
2006/09/09(土) 13:28:05(f+g)(x)は読みやすいか?
まで遡るのでやっても無駄と思われ
0176デフォルトの名無しさん
2006/09/09(土) 20:33:47すると、どんなにメソッド名を付けることが上手いプログラマでも、
+演算子のオーバーロードを使う場合が出てくる
これままぁいい
問題なのは、このときに自分の定義した+演算子と他人の定義した+演算子が
厳密には異なる動作をする可能性があるのが問題
これはドキュメントを読めばいい、というレベルの話ではなく、
間違いなく可読性(というか即読性?)が低下する
さらには、C++風に記述した*演算子(つまりoperator*)には名前が1つしかないのが問題
これでは行列型どうしの乗算なのか、内積なのか、外積なのか即、判断ができない
これが多分>>149が言いたかったこと
いまだと、メソッド名によって操作の内容が容易に判断できる
確かに駄目プログラマオンリーなら、演算子がオーバーロード出来ようと出来まいと関係ない
でも、世界は駄目プログラマだけじゃないので、演算子がオーバーロード出来てしまうと
上に書いたような事態に陥る
まぁ、Javaに演算子のオーバーロードが追加されるなら、
何らかのメソッドにアノテーションかなんかで実現してほしい
@AddOperator
public Hoge add(Hoge hoge) { ... }
0177176
2006/09/09(土) 20:36:16例えばRunnableインターフェイスをprotectedにすると、
runは外部から呼び出せないことになるので、
今のようにstartを呼ばなければいけないところをrun読んだりするミスがなくなるし
0178デフォルトの名無しさん
2006/09/09(土) 21:28:18劣勢になったら「スレ違い」宣言かよ
それはいいからストラウストラップのやつよろしく
0179デフォルトの名無しさん
2006/09/09(土) 21:49:26ストラウストラップのは>>149,176がいってるやつ
たしかD&Eで言ってたような・・・うろ覚えスマソ
ただ、ストラウストラップ自体はそこまで演算子の多重定義を否定してなくて、
あくまでそういう意見もいる、ってこと
まぁPuzzlersとか読む限り、俺もJavaに演算子の多重定義はいらないかな、と思う
>>176の案だったらまだ許せるけどね
あと、176よ、package privateなinterfaceは今でもあるぞ?
0180デフォルトの名無しさん
2006/09/09(土) 21:59:55粘着している元ネタはこれか
ttp://www.kh.rim.or.jp/~nagamura/misc/stroustrup-interview.html
どう読んでもネタだわこりゃw
0181デフォルトの名無しさん
2006/09/09(土) 22:01:460182デフォルトの名無しさん
2006/09/09(土) 22:23:28C++の言語仕様に辟易しているPGが多いっていう真実が隠されてるわけだね
ネタだからといって演算子オーバロードが良いとはいえないわけだ
「賛成派」の>>172には支持理由を是非とも熱く語ってほしいね
0183デフォルトの名無しさん
2006/09/09(土) 22:37:040184デフォルトの名無しさん
2006/09/09(土) 23:12:54C++のプロはそんなこと絶対思わない。
じゃぁ、C++のプロってのは実プロジェクトにそんなに必要なのか?って言えば…。
いらないよな。
0185デフォルトの名無しさん
2006/09/09(土) 23:46:21> >>149
> まず、転置に'や`を使うのは不適切なケースだろう。だが、それは演算子オーバーロード
ちょっとまったーーーーーーーーーーーーーー!!!
MATLABやOctave使ったことあるか?
MATLABやOctaveでは行列の転置に'を使うんだぜ。
A = [1 2 3; 4 5 6; 7 8 9];
って行列があったとき
B = A'ってやると
Bの中身は [1 4 7; 2 5 8; 3 6 9]になって
B = | 1 4 7 |
| 2 5 8 |
| 3 6 9 |
て表示されるんだぜ。
> 特有のものではない。例えば、メソッドだって、ある奴はtransposeという名前をつけるだろうが、
> 別の奴はtransとつけるかもしれないし、さらに面倒くさがりのやつはtrやtという名前をつけるかもしれない
それはまた違う問題だ。Javaにはpackageの概念があるんだから、
メソッドの名前が乱立しても、名前空間の衝突は起きないだろー
0186デフォルトの名無しさん
2006/09/09(土) 23:48:26無理な話じゃないさ。
面倒なことになるから、どうしても導入したければ、
もっと頭をつかえっていっときたい。
enumや可変長引数を導入したときのように。
Genericsを導入したおかげでありゃうまいことやってくれたって思ったよ。
0187デフォルトの名無しさん
2006/09/09(土) 23:51:23> http://journal.mycom.co.jp/articles/2005/11/10/javaone1/
> 去年の JavaOne Tokyo の話によれば演算子オーバーロードが
> dolphin に入るのは かなり望み薄だし、次世代Javaの動向と関係がない
> 演算子オーバーロード関連は他所のスレでやって欲しいぞ。
> > これだから、Java屋はJavaにない機能はすべて(ry
> 最終的に これが言いたいだけの奴も居るみたいだし。
みたいだな。
これみると、キッパリと否定されてるようだしw つか、C#でもつかってろってw
【レポート】JavaOne Tokyo 2005 - 見えてきたDolphin、Mustangのさらに向こう
Dolphin世代のJavaはどうなる? (MYCOMジャーナル)
"Peter氏は、今後もJava言語にはさらなる拡張が加えられると宣言する一方で、
Javaでサポートされる可能性のない機能の代表格として以下のようなものを挙げている。
* 多重継承
* 演算子オーバーロード
* AOP(Aspect Oriented Programming)
* プリプロセッサ/マクロ
* 多重ディスパッチ
* 複数返り値"
http://journal.mycom.co.jp/articles/2005/11/10/javaone1/
AOPが導入されないのはちょっと残念かもしれないけどAspectJでうまい使い方があるし
使い道も限られてるからまあいいかってとこだね
0188デフォルトの名無しさん
2006/09/09(土) 23:52:37JavaOne TokyoでJava開発者が主張していることを
あげただけで逃げになるのかw
小学生かお前はw
0189デフォルトの名無しさん
2006/09/09(土) 23:54:43オーバーロードのことで揉めるのは
C++厨やC#厨の連中がなんとかしてJavaをこき下ろしたいだけだろ。
なぜそんなことするのかわからんけど。
そんなにJavaが嫌いだったらC#かC++でも使っていればいいのに。
0190デフォルトの名無しさん
2006/09/09(土) 23:55:16お前の粘着っぷりには笑った
0191デフォルトの名無しさん
2006/09/09(土) 23:55:28ナイスツッコミw
0192デフォルトの名無しさん
2006/09/09(土) 23:59:58> 今までの反対派の発言をみてみろ、まず「演算子の再定義は悪」という結論があって、そのために無理な理由をつけて反対しているだけじゃん。
> これのどこが「変更に慎重」なんだよ。そう言いたいんだったらそれらしい議論しろっつーの。
> おまえが「ストラウストラップがこういう問題を指摘してるんだけど、それはどうしたらいいと思う?」とでも書けば「変更に慎重」ということにもなるよ。
> しかしおまえらは、はなから「Javaは正しい」「演算子オーバーロードは悪」という結論ありきで話してるじゃん。
まてまて、それはお前の被害妄想だよw
まあ、落ち着けw
> そして、そのための理由を無理にこじつけて、それらを論破されて、それを今になって「変更に慎重」とか、もうアホかと。
おいおい、泣くなよw よしよし、ぼくちゃん虐められてたんだね、よしよしw
> > 言語仕様をどんどん変更されたら、言語としての安定性が疑われる。
> > PHPなんかひどいだろ。
> 言語仕様の安定性と、ライブラリや実装の安定性を混同している。
> PHPで安定しないのは後者。前者は安定している(PHPの仕様は4→5で大きく拡張されたが、それはJavaでも同じ)。
> 実装が不安定だからといって、勝手に言語仕様まで同じにするな。
名前空間もない致命的な欠陥に加え、import宣言も実装されないあのPHPがJavaと同じっておいおいw
__autoloadって何だよあのアホ仕様w
だったらさ、キミの大好きなPHPにも演算子オーバーロードをつけてくれるように頼んで皆よw
> >>168
> この感想文には「まけおしみ」というタイトルをつけましょう。
いや、お前のほうが負け惜しみのタイトルに相応しいレスを繰り返しているよw
>>168のレスは的を得ているし、すっきりするし説得力があるしレスとしては賢明なほうだと俺は思うぞ。
0193デフォルトの名無しさん
2006/09/10(日) 00:00:23かなり萎えた。
0194デフォルトの名無しさん
2006/09/10(日) 00:00:33> >>172
> > 理由をこじつけて否定することはまったく別のこと。
> なんか知らんけど、 「理由をこじつけて否定」されたから
> 腹がたってムシャクシャしてやったのであって、
> 次世代Java とは関係がない話って事だね。
ワロタ。ムシャクシャしたC#厨がJavaスレにイチャモンつけてるのかw
0195デフォルトの名無しさん
2006/09/10(日) 00:01:18読みにくい。
よって、Javaに演算子オーバーローディングは要らない。
0196デフォルトの名無しさん
2006/09/10(日) 00:03:18もし仮に演算子オーバーロードをJavaに実装するなら、
アノテーションだけでなく、演算子に名前空間とアクセス権、演算子の優先順位、結合力もつけるべきだな。
0197デフォルトの名無しさん
2006/09/10(日) 00:22:25あるよ。
しかもC#2.0ではめちゃくちゃな仕様が増えた。
?演算子がオーバーロードされたし。
0198デフォルトの名無しさん
2006/09/10(日) 00:24:41メソッドをグローバル化することに他ならないんだと思う。
このオブジェクトに対するこの操作は全員が把握してしかるべきもの
と思われるものに対してのみオーバーロードが許されるべき。
Javaでは「全プロジェクトにおいて許されるものはStringの+ぐらいである」
というスタンスで進んでる。
C++では「いろんなプロジェクトで特有のものがあるだろ」
ってスタンスで進んでる。
俺は、Javaのスタンスで一向に差し支えないと思う。
なぜなら、演算子のオーバーロードの情報がグローバルに共有されることが稀だから。
0199157
2006/09/10(日) 00:26:27MATLABは使ったことあるよ
でも、Matlabのそれは言語組み込みの演算子だから、演算子オーバーロードとはまた違う問題じゃないの?
そりゃ、MATLABユーザなら、他の言語でその演算子を見たときに、すぐに転置を表すものだと
理解できるかもしれんが、普通は無理だろ
> Javaにはpackageの概念があるんだから、
同じ機能のメソッドが別の名前だったり、同じ名前で別の機能を持つメソッドがあったときに
ユーザが混乱するかどうかという話なので、名前空間の話は無関係
0200157
2006/09/10(日) 00:29:19メソッドをグローバル化って何?名前空間のことを言っているのなら、
全然違うと思うが。演算子と言っても、名前空間をもてないわけじゃないし。
0201デフォルトの名無しさん
2006/09/10(日) 00:30:13高々1文字・2文字でどのように処理の意味を表現するのだ?
既に他分野で暗黙的に利用されている意味以外での利用
がどれほど保守性を下げるのか理解して言っているだろうな?
0202デフォルトの名無しさん
2006/09/10(日) 00:35:45それじゃ、結局、
オーバーロードした演算子にアクセス権を設定することはできないのか・・・
0203デフォルトの名無しさん
2006/09/10(日) 00:36:46お前、本当にMATLAB使ったことあるのかw
0204デフォルトの名無しさん
2006/09/10(日) 00:47:52おいおい、あのさ
演算子に名前空間はつけられないんだろ。それとも、つけられる仕様にできるのか?
名前空間がつかなかったら、異なる定義の演算子どうしの衝突がおきるだろう。
メソッド名に演算子が使えるだけという程度ならまた異なる話だがな。
メソッドと演算子との違いもわからんのか。メソッドは
add()という加算用インスタンスメソッドがあるなら、x+yは
x.add(y)と表現するわけだろう。
それを、演算子にしたいがために x + y としたいわけだな?
そのことでお前がこういったことについて聞くが
「例えば、メソッドだって、ある奴はtransposeという名前をつけるだろうが、
別の奴はtransとつけるかもしれないし、さらに面倒くさがりのやつはtrやtという名前をつけるかもしれない
また、乗算に関しても、メソッドに置き換えても全く同じことが成り立つ。」
お前の主張した、「演算子をメソッドに置き換えても全く同じ事が成り立つ」
ためには
x.add(y)はx.+(y)と置き換えた場合に限る。
(このケースの場合、()や.の定義も再定義しなければC++でもコンパイルエラーになるがな。)
だがC#やC++の演算子のオーバーロードは x.+(y)とはならない、あくまでx+yだ。
これでお前は自分のいっていることがおかしいことに気づいたか?
0206デフォルトの名無しさん
2006/09/10(日) 00:49:11奴はC++厨じゃなくてC#忠だよ。
C#とマイクロソフトに忠誠を誓う男、C#忠だ。
経験豊かなすごうでなC++厨だったらもっとましなことを言うはず。
0207デフォルトの名無しさん
2006/09/10(日) 00:49:50お前、さっき急いで「MATLAB 転置」でググッただろw
0208デフォルトの名無しさん
2006/09/10(日) 00:50:52>問題なのは、このときに自分の定義した+演算子と他人の定義した+演算子が
>厳密には異なる動作をする可能性があるのが問題
だからそれはメソッドでも起こる問題だってんだろ。
自分が定義したメソッドfoo()と他人が定義したfoo()が異なる動作をするなんてしょっちゅう。
メソッド名がかぶっても問題ないのは、双方が異なるクラスで定義されているからであり、それは演算子でもおなじこと。
> *演算子(つまりoperator*)には名前が1つしかないのが問題
> これでは行列型どうしの乗算なのか、内積なのか、外積なのか即、判断ができない
複数の動作が考えられるなら、演算子をつかわずすべてをメソッドにするか、または代表的なひとつだけを演算子にしてのこりはメソッドのままにしとけばいい。
演算子オーバーロードができるからといって、なんでもかんでも演算子にする必要はない。
普通に考えればわかることだろ。はなから否定することしか考えてないから、そういう考えしかできないんだよ。
0209157
2006/09/10(日) 00:52:22別にC++/C#の演算子オーバーロードに限定して言ったつもりは無いんだけど
例えばRubyだと、演算子の定義とメソッドの定義は全く等価だし
後半は言っていることが全く意味不明。そりゃ、C++/C#において、メソッド呼び出し
と演算子呼び出しのシンタックスが違うことくらいわかってるがな。一体何が言いたいのやら
0210デフォルトの名無しさん
2006/09/10(日) 01:00:15まてまて、話をよくよめ。JavaとPHPの言語仕様が同じといってないだろ。言語仕様が大きく拡張されたという点で同じといってるだけ。
「言語仕様をどんどん変更されたら、言語としての安定性が疑われる。PHPなんかひどいだろ。」
→「PHPでは5になるときに大きく変更されたけど、それはJavaも同じ」
→「import宣言も実装されないあのPHPがJavaと同じっておいおいw」←いまここ
>>196
そんな複雑なのいらない。そこまではだれも望んじゃいない。
0211157
2006/09/10(日) 01:01:27別にググって無いんだけど。…今ググッてみたが、MATLABにも
演算子オーバーロードあるのか。知らんかった。それに関しては
間違ってたので、謝罪する。
ただ、どちらにしてもMATLABで'が転置を表すのは、言語仕様あるいは
処理系に組み込みで定義されてるからであって、他の(MATLABのように
'が転置を表すことが一般的に認知されていない)言語のユーザがそれを転置
演算子としてオーバーロードするのが適切かは別問題だろう
0212デフォルトの名無しさん
2006/09/10(日) 01:08:27>演算子のオーバーロードって結局、
>メソッドをグローバル化することに他ならないんだと思う。
意味不明。
>>201
記号には十分な情報量あるよ。+や-で処理の意味を十分表せてる。
やっぱり四則演算の記号すら知らないんじゃないの?
>>204
ちょー意味分からん。
定義のしかたは>>176の方法でもなんでもいいからさ、例えば x + y があったら、コンパイラが型の情報とメソッド定義とをみて、x.add(y) とかに変換してくれればそれでいいじゃん。
>x.add(y)はx.+(y)と置き換えた場合に限る。
どうやったらこんな話になるのやら。
0213デフォルトの名無しさん
2006/09/10(日) 01:10:51> >>176
> >問題なのは、このときに自分の定義した+演算子と他人の定義した+演算子が
> >厳密には異なる動作をする可能性があるのが問題
> だからそれはメソッドでも起こる問題だってんだろ。
> 自分が定義したメソッドfoo()と他人が定義したfoo()が異なる動作をするなんてしょっちゅう。
> メソッド名がかぶっても問題ないのは、双方が異なるクラスで定義されているからであり、それは演算子でもおなじこと。
>>204をもう一度読み直してから出直してこい。
0214デフォルトの名無しさん
2006/09/10(日) 01:12:14その「いまここ」という用語使いたがるところがゆとり世代のバカっぽくていいね。
0215デフォルトの名無しさん
2006/09/10(日) 01:18:21クロージャも導入されたら、とたんに手放しでマンセーするんだろうなあ。
あのさ、別に演算子オーバーロードがJavaに導入されようがされまいがどうでもいいけど、でもJavaユーザが主張している拒否の理由はどれも根拠が弱いよ。
LispもPythonもRubyも演算子の動作を再定義できるけど、それぞれ別のやりかたでうまくやってる。
そういうのを知らずに、たんに自分が知らない機能を嫌ってるだけじゃね?
COBOLerがCOBOLから離れられないように、Java-erはJavaから離れられないのね。
0216デフォルトの名無しさん
2006/09/10(日) 01:19:04演算子オーバーロードやるならinterfaceにして欲しいような気もする。
interface 四則演算<T>{ //あるいは更に縛って四則演算<T extends 四則演算<T>> とか
T add(T v); T subtract(T v); T multiply(T v); T divide(T v);
}
緩いほうで Hoge extends 四則演算<String> されると、
hoge + str の意味が、四則演算無しの時と有りの時で
文字列連結か演算子オーバーロードかで変わっちゃったり、
変わらない場合は演算子の優先順位が面倒だったりしないかな、とか思った。
後は .Comparable で <, <=, >, >= 使えるようにするとか……
でも、これは参照型の ==, != が同じ参照かを比較するのと相性悪いような。
ついでに
interface Indexer<I, E>{ void set(I index, E element); E get(I index); }
とか。 List でやったら autoboxing が発生しまくるような気もする。
0217デフォルトの名無しさん
2006/09/10(日) 01:19:01>問題なのは、このときに自分の定義した+演算子と他人の定義した+演算子が
>厳密には異なる動作をする可能性があるのが問題
だからそれはメソッドでも起こる問題だってんだろ。
自分が定義したメソッドfoo()と他人が定義したfoo()が異なる動作をするなんてしょっちゅう。
メソッド名がかぶっても問題ないのは、双方が異なるクラスで定義されているからであり、それは演算子でもおなじこと。
> *演算子(つまりoperator*)には名前が1つしかないのが問題
> これでは行列型どうしの乗算なのか、内積なのか、外積なのか即、判断ができない
複数の動作が考えられるなら、演算子をつかわずすべてをメソッドにするか、または代表的なひとつだけを演算子にしてのこりはメソッドのままにしとけばいい。
演算子オーバーロードができるからといって、なんでもかんでも演算子にする必要はない。
普通に考えればわかることだろ。はなから否定することしか考えてないから、そういう考えしかできないんだよ。
0218デフォルトの名無しさん
2006/09/10(日) 01:20:53> >>198
> >演算子のオーバーロードって結局、
> >メソッドをグローバル化することに他ならないんだと思う。
> 意味不明。
> >>201
> 記号には十分な情報量あるよ。+や-で処理の意味を十分表せてる。
> やっぱり四則演算の記号すら知らないんじゃないの?
> >>204
> ちょー意味分からん。
> 定義のしかたは>>176の方法でもなんでもいいからさ、例えば x + y があったら、
> コンパイラが型の情報とメソッド定義とをみて、x.add(y) とかに変換してくれればそれでいいじゃん。
認識が甘いな。
お前みたいな演算子オーバーロードを崇拝するバカは
フィッシング詐欺や甘い誘いに騙されやすい奴に実にそっくりだよ。
お前の例で聞くが、
x + y / z と書いたら、
x.add(y.divide(z)) と期待通りに動くように設計できるか?
x.add(y).divide(z)と間違えないだろうな。
0219デフォルトの名無しさん
2006/09/10(日) 01:24:55> >>201
> 記号には十分な情報量あるよ。+や-で処理の意味を十分表せてる。
> やっぱり四則演算の記号すら知らないんじゃないの?
おまえは>>201の意図していることを理解できていないみたいだな。
>>201の例を俺が代弁するとだな。
ある言語では定義できる演算子が100種類。
定義できるメソッド名に使用できるアルファベットはもちろん26+10種類以上。
ただしメソッド文字数は256文字まで。
あるクラスを数十定義したとする。
それぞれ異なる振る舞いをするメソッドであり、
そのメソッドの数を数えると200もあった。
そこで、それぞれのメソッドをそれぞれ異なる演算子として定義したくなった。
そこでそれぞれのメソッドに次々と演算子を定義してゆくが・・・・
演算子が足りない!!!!!!!
演算子が足りないためにこれ以上演算子のオーバーロードができない!!!!!!!!!
こんな事態に陥ったら本末転倒だろう
0220デフォルトの名無しさん
2006/09/10(日) 01:27:42> あいかわらずJavaユーザは、Javaにない機能はイラネですか。10年同じことを繰り返してるんだなあ。
> クロージャも導入されたら、とたんに手放しでマンセーするんだろうなあ。
その根拠は? まさかGenericsがC++のtemplateと同じものだと勘違いして、
「JavaユーザはC++templateをマンセーしてる!」とかアホなこと言ってるんじゃなかろうなw
> あのさ、別に演算子オーバーロードがJavaに導入されようがされまいがどうでもいいけど、でもJavaユーザが主張している拒否の理由はどれも根拠が弱いよ。
どう根拠が弱いのかね。説明できないではどうにも説得できないな。
そもそもJavaはLispやPythonやRubyと違って強く型付けされた言語だってことを忘れていないかね。
そこをよく見れば、演算子オーバーロードがどういう問題を引き起こすかわかるはずなんだが。
0221デフォルトの名無しさん
2006/09/10(日) 01:28:38それだったら、アノテーションにしてもかわらんだろ。
そもそもアノテーションというのは
java.lang.Annotationインターフェースを継承したものなんだから。
0222デフォルトの名無しさん
2006/09/10(日) 01:32:25> >>176
> 演算子オーバーロードやるならinterfaceにして欲しいような気もする。
> interface 四則演算<T>{ //あるいは更に縛って四則演算<T extends 四則演算<T>> とか
> T add(T v); T subtract(T v); T multiply(T v); T divide(T v);
> }
> 緩いほうで Hoge extends 四則演算<String> されると、
> hoge + str の意味が、四則演算無しの時と有りの時で
> 文字列連結か演算子オーバーロードかで変わっちゃったり、
> 変わらない場合は演算子の優先順位が面倒だったりしないかな、とか思った。
> 後は .Comparable で <, <=, >, >= 使えるようにするとか……
> でも、これは参照型の ==, != が同じ参照かを比較するのと相性悪いような。
> ついでに
それだと、また新たな問題が出てくるな。
Comparableインタフェースを実装したある奴が作ったクラスではcompareTo()を
不等号演算子にオーバーロードしているが、
Comparableインタフェースを実装してはいるが、他のある奴が作ったクラスでは、
演算子のオーバーロードを一切していなかったとき、それぞれのクラスから
オブジェクトを作って、それら二つのオブジェクトを不等号演算子で比較したとき、
何が起こると思う? C++どころかC#でも抱えている問題なのだが。
JavaはRubyみたいな言語と違って型に強い言語なんだぜ。下手なことをやると
C#と同じように痛い目を見るんだぜ。
0223デフォルトの名無しさん
2006/09/10(日) 01:34:15それ、かなりいいね。そして、インターフェイスを理解している証拠だ。
0224デフォルトの名無しさん
2006/09/10(日) 01:36:31言わなくても判ると思ったんだけど
アノテーションの方が自由な演算子オーバーロードが出来そうだよ。
同じinterfaceは複数回継承できないから、
例えばMatrix3D implements 四則演算<Matrix3D>, 四則演算<Vector3D>{...}とか出来ないし。
0225デフォルトの名無しさん
2006/09/10(日) 01:37:50> >>176
> >問題なのは、このときに自分の定義した+演算子と他人の定義した+演算子が
> >厳密には異なる動作をする可能性があるのが問題
> だからそれはメソッドでも起こる問題だってんだろ。
> 自分が定義したメソッドfoo()と他人が定義したfoo()が異なる動作をするなんてしょっちゅう。
まだわかっていないようだね坊や。
もう一回>>204の最後の方をよくよんでごらん。
> メソッド名がかぶっても問題ないのは、双方が異なるクラスで定義されているからであり、それは演算子でもおなじこと。
> > *演算子(つまりoperator*)には名前が1つしかないのが問題
> > これでは行列型どうしの乗算なのか、内積なのか、外積なのか即、判断ができない
> 複数の動作が考えられるなら、演算子をつかわずすべてをメソッドにするか、または代表的なひとつだけを演算子にしてのこりはメソッドのままにしとけばいい。
それじゃ本末転倒だな。中途半端で、結局混乱を招くし、演算子で定義されていないメソッドのほうを
頻繁に使うことになると、一方の演算子が宝の持ち腐れになってゴミ同様となる。
だから、Javaに無理して演算子オーバーロードなんてつける必要がないんだよ。
そもそも、+演算子を勝手にオーバーロードされたら、toString()メソッドと+がうまく機能しなくなるわな。
オブジェクトをString型オブジェクトと+で連結すると、暗黙のうちにオブジェクトがtoString()メソッドを呼び出して
文字列化するっていうJavaに昔からある機能が、突然使えなくなってはあとあとバグを生み出すもとになりかねないわけだが。
0226デフォルトの名無しさん
2006/09/10(日) 01:41:22扱われるのだが。
0227デフォルトの名無しさん
2006/09/10(日) 01:41:500228デフォルトの名無しさん
2006/09/10(日) 01:42:43あぁ悪い。>>216の中段は、既存の参照型の ==, != を再定義しない前提で書いてる。
既存の参照型の ==, != を再定義できるようにするって方向もあるのかもしれないけど、
個人的な意見としては、参照型の ==, != を再定義すると躓く奴が多そうなので勘弁して欲しいかな。
それでなくても質より量な感じで投入されてくる人多いし。
技術的理由というより、政治より(?)な理由だけど。
0229デフォルトの名無しさん
2006/09/10(日) 01:45:35他人に逃げるなといっときながら、
>222のレスについてはちゃんと読まずに誤魔化して逃げかw
0230デフォルトの名無しさん
2006/09/10(日) 01:51:40自分の事しか言わないこういうトンデモちゃんが電波の代表なんだろうな。
上手くぼろを出さないように知ったこというだけで、適当にあしらわれて終わりなのに、
本人はそれにまったく気がついていない・・ ケケケ
0231157
2006/09/10(日) 01:58:52ダウト。基本的に別の型であるというのは確かにそうなんだが
Java Genericsの実装がErasure方式なせいで、メソッドのオーバーロードやインタフェース
の実装や例外クラスなどいくつかのケースで、同じクラスとみなされてしまう
>>224は自分じゃないが、
> Matrix3D implements 四則演算<Matrix3D>, 四則演算<Vector3D>{...}とか出来ないし。
と言っているのは、もしこれがコンパイルできると、型パラメータ情報が消去されて、
Matrix3D implements 四則演算, 四則演算{...}と等価になってしまい、クラスファイルの
仕様に反してしまうから。
0232デフォルトの名無しさん
2006/09/10(日) 01:58:53Javaを知っている程度で実際は大して使えないSEなんじゃないか。
それも給料低いわりには重労働で時間拘束もひどい。
重圧に耐えられず、ここで八つ当たりしてるんじゃねぇ・・
Java関連のスレに頻繁に顔出してるしな。
そういう奴は、どこでも同じだし、そのうち過労で死ぬんじゃねぇの?ケケケ
0233デフォルトの名無しさん
2006/09/10(日) 02:03:20erasureのせいで実行時は四則演算<Matrix3D>と四則演算<Vector3D>は
同じ型に成り下がるので、>>224のはコンパイルエラーになる。
http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.1.5
> A class may not at the same time be a subtype of two interface types
> which are different invocations of the same generic interface (§9.1.2),
> or an invocation of a generic interface and a raw type naming that same generic interface.
0234デフォルトの名無しさん
2006/09/10(日) 02:07:19どうしようもなくなると語尾にケケケとつて
サクラな自作自演乙
ストラウストラップがいってたことってなんだよを連呼して
しつこく演算子オーバーロードに拘って八つ当たりしていたのは一体誰だろうねw
0235デフォルトの名無しさん
2006/09/10(日) 02:13:58俺達の合言葉にケチつける気か、お前は?
お前の気に食わないことにイチイチ脊髄反応している時点で、
お前が粘着ザコなんじゃないか? ケケケ
一回氏ね! ケケケ
0236デフォルトの名無しさん
2006/09/10(日) 02:21:42> クロージャも導入されたら、とたんに手放しでマンセーするんだろうなあ。
クロージャの出来が良ければ遠慮せずにマンセーするよ。
それで何か悪いの?
0237デフォルトの名無しさん
2006/09/10(日) 02:22:44matrixとvectorは数学では同じように扱ってもプログラム上では両者は違うでしょ?
それを型で表していると考えると納得できるかな?
0238デフォルトの名無しさん
2006/09/10(日) 02:28:58散々悪口だけ言って、生意気なんだよ。
そういうのは悪い奴の典型例で一回氏ね!
ところで、口だけでお前は一体何が出来るんだ? ケケケ
0239デフォルトの名無しさん
2006/09/10(日) 02:31:480240デフォルトの名無しさん
2006/09/10(日) 03:32:16http://web.archive.org/web/19990202050412/http://java.sun.com/people/jag/FP.html#overloading
例があがってるのは、
・二項演算子は右辺と左辺を交換可能である事もあるけど、
メソッド呼び出しはそうじゃないから、例えば左辺にプリミティブが現れた場合
1/m を m.divideReverse(1) に変換する、みたいにしないといけない。
交換可能ってだけなら @Commutativeみたいなアノテーションつければ良いような気もする。
1/m を m.divideReverse(1) ってのはそれだけじゃ無理だけど。
・今更==をequals()の呼び出しにできない。
immutableな型なら問題にならないって書いてあるけど、良いのかな?
mutableな型よりは問題少なそうだとは思うけど。
・構文解析の問題。
例えば (p)+q みたいに単項+演算子付きのqをp型にキャストするとも、
qと括弧付きのp との加算とも取れる曖昧な式が出現した時に、
今までのJavaではプリミティブ型かどうかでチェックしてたけど、
他の方法でチェックする必要が出るらしい。
良くわからんけど互換性を考えつつ別のチェック方法考えるってのが大変なんかな?
0241デフォルトの名無しさん
2006/09/10(日) 03:45:48最後のって、単純に可視な変数かどうかでチェックすれば良いような気もするけど……
それじゃダメなんか?
0242デフォルトの名無しさん
2006/09/10(日) 04:22:09ケケケ
0243デフォルトの名無しさん
2006/09/10(日) 09:15:47enumやジェネリクスだってそうだった。
けど演算子オーバーロードは違う。
「混乱するなら使わなきゃいいだけ」
って言うにはあまりにも厨房の
「俺って出来る奴」的プライドをくすぐる機能だ。
0244157
2006/09/10(日) 09:44:23俺も別に今のJavaに無理して演算子オーバーローディングを導入する必要
は無いと思ってるが
> 「混乱するなら使わなきゃいいだけ」
> って言うにはあまりにも厨房の
> 「俺って出来る奴」的プライドをくすぐる機能だ。
はあんまりだぜ。確かにC++では厨房が変な使い方をした場合も多かっただろうけど、
実際に有用な局面もそれなりにある。例えば、事務処理系のプログラムや数値計算系のプログラム
などを多く書く人にとってみれば、BigDecimalや行列などの演算をメソッド呼び出しで書くなんて
耐えがたいだろう。それがどれだけ嫌かはintやdoubleなどのプリミティブ型でも+などの演算子を使う
ことが許されず、全部をadd,subtractなどのメソッド呼び出しで書かなければいけないとなったときの
ことを想像してみるとわかりやすいだろう。
他にも、DSL(Domain Specific Language)を作るのにも演算子オーバーローディングは有用。
見たことのある例だと構文解析器を構築するためのフレームワークを言語内に構築するとか。
んなもんParser Generator使えばいいじゃないかと言うかもしれんが、Parser Generatorは
構文定義中に埋め込まれたプログラムが変でも関知しないせいで、生成されたコードを
コンパイルする段階になって初めてエラーが報告されるなど、面倒な部分がある
0245デフォルトの名無しさん
2006/09/10(日) 11:30:35これも演算子オーバーロードなのかもしれんが。
EnumSetじゃね…。
0246デフォルトの名無しさん
2006/09/10(日) 11:36:070247デフォルトの名無しさん
2006/09/10(日) 11:47:34Javaのenumでそんなことは出来ないだろ。
public enum State {
HOGE {
public void func() { ... }
},
PIYO {
public void func() { ... }
};
public abstract void func();
}
とかで、
State state = State.HOGE State.PIYO;
state.func();
はどうなるの?どっちも呼び出す?
そもそもそういう用途にはenumを無理して使うより、
public static final intでいいと思うんだが。
0248デフォルトの名無しさん
2006/09/10(日) 12:12:45それの解決は、演算子オーバロードというよりも
EnumSetのシンタックスシュガーで逃げる解決方法がいいと思うな・・・
演算子の意味はやっぱり固定にして欲しいし
>>244 で上げてる問題の解決には
演算子オーバロードにこだわる必要ないしな
プリプロセッサで何とかなる程度だから、マクロでもいいんじゃない?
+、*とかの既存の演算子を使う事はないと思う
まぁ、問題を演算子オーバロードの是非からマクロの是非にすり替えてるだけかもしれんが。
0249デフォルトの名無しさん
2006/09/10(日) 12:16:40ついに「死ね」と言いだしたか。
随分短気だな死者プチュwww
0250デフォルトの名無しさん
2006/09/10(日) 12:17:34いや、こいつはC#って死滅しちゃうの?スレで大暴れしていた
あのバカM$厨だよw
0251デフォルトの名無しさん
2006/09/10(日) 12:23:35P p = new P(??????); //?には何かが入るとする。
Q q = new q(??????); //?には何かが入るとする。
p+=((((((((((-p++)))))))))*+q*(p*(q/(p*(q/(p+q))))
こんなのが出た場合、ちゃんと解析できるかな?
0252デフォルトの名無しさん
2006/09/10(日) 12:24:13> クロージャや関数型は望んでる奴が沢山いるだろ。
> enumやジェネリクスだってそうだった。
> けど演算子オーバーロードは違う。
> 「混乱するなら使わなきゃいいだけ」
> って言うにはあまりにも厨房の
> 「俺って出来る奴」的プライドをくすぐる機能だ。
でたでた、うぬぼれC#厨お得意の機能w
0253デフォルトの名無しさん
2006/09/10(日) 12:26:00> >>243
> 俺も別に今のJavaに無理して演算子オーバーローディングを導入する必要
> は無いと思ってるが
> > 「混乱するなら使わなきゃいいだけ」
> > って言うにはあまりにも厨房の
> > 「俺って出来る奴」的プライドをくすぐる機能だ。
> はあんまりだぜ。確かにC++では厨房が変な使い方をした場合も多かっただろうけど、
> 実際に有用な局面もそれなりにある。例えば、事務処理系のプログラムや数値計算系のプログラム
> などを多く書く人にとってみれば、BigDecimalや行列などの演算をメソッド呼び出しで書くなんて
> 耐えがたいだろう。それがどれだけ嫌かはintやdoubleなどのプリミティブ型でも+などの演算子を使う
> ことが許されず、全部をadd,subtractなどのメソッド呼び出しで書かなければいけないとなったときの
> ことを想像してみるとわかりやすいだろう。
頭使えよ。Jakarta Velocityでも使っても良いし。
数値演算のとこだけ
とりあえず演算子で記述して、
Javaソースコードに貼り付けるときに、自動的に演算子をメソッドに変換してくれる
ツールを使った方が効率がいいんじゃないかね。
そういうEclipseプラグインを探してくるか、自作するのがお勧めだね。
0254デフォルトの名無しさん
2006/09/10(日) 12:28:46> >>245
> それの解決は、演算子オーバロードというよりも
> EnumSetのシンタックスシュガーで逃げる解決方法がいいと思うな・・・
> 演算子の意味はやっぱり固定にして欲しいし
> >>244 で上げてる問題の解決には
> 演算子オーバロードにこだわる必要ないしな
> プリプロセッサで何とかなる程度だから、マクロでもいいんじゃない?
それなら、Jakarta Velocityの出番
0255157
2006/09/10(日) 12:57:31なんでそこでJakarta Velocityが出てくるかなあ。無関係でしょ?
後半部分についても、俺は、ある言語内でプログラムするときに
演算子オーバーロードがあれば便利な局面の話してるのに、
別の言語使えとかツールで補えってのは答えになってないよ。
繰り返すが、俺はJavaに演算子オーバーローディングを入れる必要が
あるかと言われれば、別に無理して入れなくてもいいと思ってる。
ただ、一般論としての演算子オーバーロードの有用性までむやみに
否定するのはやめようぜ
0256デフォルトの名無しさん
2006/09/10(日) 14:28:32スレタイ読め
誰も一般論として否定してない
次世代Javaには必要無いだろうと言っている
0258デフォルトの名無しさん
2006/09/10(日) 15:24:24Bufferの読み込みは8バイト単位であるlongやdoubleが一番速いのな。
ネイティブオーダーのintより速くて驚いた。
JVM上の演算は流石にCPUに依存しまくりだったけどね。
64bitCPUでBigEndianであるマシンが最強になるよう設計されてるのかな
0259デフォルトの名無しさん
2006/09/10(日) 15:54:45テンプレートエンジンで演算子文字列をメソッドに変換せよってことかと
0260157
2006/09/10(日) 16:02:41プリミティブ型かどうかチェックしないとメソッドに変換していいかどうかわからんから、
それは難しくないか?変換用に既存の演算子とかぶらない演算子(例えば+@とか)
を新しく作るならともかく
0261デフォルトの名無しさん
2006/09/10(日) 16:17:23-演算子を$s
*演算子を$m
/演算子を$d
と定義しておけばいい。
0262デフォルトの名無しさん
2006/09/10(日) 17:11:15事務処理系や数値計算系のプログラムを書くことなど
実際やってもいないのに、勝手な想像であれこれ言うの
も説得力ないよな
0263157
2006/09/10(日) 17:21:47俺自身が事務処理系や数値計算系のプログラムを書いたことが
無いのは確かだが、別に勝手な想像だけで言っているわけじゃない
特に数値計算系の話に関しては、「java numerical computing operator overload」
とかで検索すれば、実際に数値計算系の人たちで演算子オーバーロード
を必要としている人が少なくないことがよくわかると思う
0264デフォルトの名無しさん
2006/09/10(日) 17:33:02それらをimplementsで使った時に(要するにシステム的にそのインターフェースの意味を固定させる規則)
可能になるなら別に文句言わない。
メソッド名の代わりに演算子も使えるとか言うC++みたいな実装への約束事無し系ならいれなくていいや派
0265デフォルトの名無しさん
2006/09/10(日) 17:33:050266デフォルトの名無しさん
2006/09/10(日) 17:38:40これが言いたいだけでしょ。
オーバーロードがあろうがなかろうがあんまり関係く
実際では違うところを改善して欲しいのに
実際に係わっている人たちのそんな気持ちなどまったく知らないのにね・・
0267デフォルトの名無しさん
2006/09/10(日) 17:47:290268デフォルトの名無しさん
2006/09/10(日) 17:58:09死ねばいいのに。
0269デフォルトの名無しさん
2006/09/10(日) 18:05:22PID制御とか信号処理とかろくに知らんだろ
0270デフォルトの名無しさん
2006/09/10(日) 18:07:38嫌だ。
Jakarta Commons Math使え。
いや、つか、Mathworksが作ったJAMA(A Java Matrix Package)を使え。
MathworksはまさにそのMATLABを作った会社だが、
Javaのことはろくにわかっていないらしく、オブジェクト指向言語としては
いまいちな仕様だ。
どうみても、Jakarta Commons MathのMatrixクラスのほうが使い勝手が良い。
0271デフォルトの名無しさん
2006/09/10(日) 18:09:28という文字列を書いて、
その文字列をマウスでドラッグして、
右クリックしたらその部分だけBigDecimalまたはBigIntegerなJava文法に変換する
コードに自動変換するEclipseプラグインを作れば、
「演算子オーバロードが欲しい!」と願っている香具師の夢も叶えられるだろう。
0272デフォルトの名無しさん
2006/09/10(日) 18:10:50君達、うざい、氏ね。 ケケケ
もうここに来るな。 ケケケ
0273デフォルトの名無しさん
2006/09/10(日) 18:12:27Eclipseで、
BigDecimal x = new BigDecimal("100.1");
BigDecimal y = new BigDecimal("100.2");
BigDecimal z = x + y * sqrt(x);
というコードがあったら
BigDecimal z = x + y * sqrt(x);の最後の行で
CTRL + SPACEキーを押すとコードアシスト機能により、
自動的に
BigDecimal z = x.add(y.multiply(x.sqrt()));
に変換してくれる機能だ!
0274デフォルトの名無しさん
2006/09/10(日) 18:13:04>>270は寛大な提案をしているのにウザイ死ねケケケか。
随分と失礼な発言をするものだねキミ。
0275デフォルトの名無しさん
2006/09/10(日) 18:26:01確かにそれらはよいと思うけど、行列とオブジェクト指向は関係ないのに、
270はそれに気がついてないで勧めているのがバカ丸出し。
だから死ねとなるんじゃないか?
ケケケ
0276デフォルトの名無しさん
2006/09/10(日) 21:07:500277デフォルトの名無しさん
2006/09/10(日) 21:45:32たとえば Zaiko z = Zaiko.new(0); z = z + 1; って書けるんだったら、z = 1 + z; も書きたくなるもんな。
こういうの認めようとすると primitive 型も全部オブジェクトとか、既存クラス/オブジェクトに後から
メソッド加えられるとか、かなり面倒なことになる。言語設計者側にしてみりゃ、辛い要求なんだろう。
0278デフォルトの名無しさん
2006/09/10(日) 21:54:58たかがオープンソース製品を宣伝してどうする。
どこかの企業が営利目的で作ったものじゃあるまいし。
0279デフォルトの名無しさん
2006/09/10(日) 21:55:350280デフォルトの名無しさん
2006/09/10(日) 21:58:09equals()メソッドの実装よりめんどいな。
・a + b が保証されるなら b + aも保証されなければならない。
・a = b ならば、 b = aも保証されなければならない。
・a = b かつ b = c ならば、 a = cも保証されなければならない。
・a < c かつ b < c ならば、 a < c も保証されなければならない。
:
:
:
:
etc...
0281デフォルトの名無しさん
2006/09/10(日) 23:26:22例があるから、そこまで気にする人は少ないかも。(順序関係はちゃんとしてくれないと困るが)
あ、そういや277の例はキャストをサポートすればいいのか > z = ((Zaiko) 1) + z;
せいぜいこの程度なら、俺はやっぱりオーバーロード要らないや。
0282デフォルトの名無しさん
2006/09/10(日) 23:52:31困った事態に陥る。
a++と++aとの違い、これらを組み合わせた優先順位をどうするか考えないといけないからな。
ある人がC++で書いたフーリエ変換のプログラムを見たことがあるんだが、
++と--演算子を、複素数平面のディリクレ核の「回転」に使っていてビックリしたよ。
そんなふうに勝手に演算子の定義を変えるから読みづらくて困る。
このように下手なオーバーロードはソースコードを読みにくくするからねえ。
0283デフォルトの名無しさん
2006/09/11(月) 00:53:000284デフォルトの名無しさん
2006/09/11(月) 00:59:15もう実装されている言語でやればいいんじゃないの?
どうしてそんなにJavaがいいのかな?
ケツつけたいだけじゃ
怒るよー <#`A"> プンプン !
0285デフォルトの名無しさん
2006/09/11(月) 01:07:39曖昧でなく解析は出来ると思う。
C/C++ とかと違って、組み込みの単項*が無い分 解析はしやすいよね。
むしろ p+++q みたいのがあった場合、
仕様によっては p が ++ をオーバーロードしてるかしてないかで
式の評価が p + (++q) になったり (p++) + q になったりする可能性があるとか。
そっちの方が曖昧なんじゃないかと思ったりしたけど……
Javaの場合は字句構造の方で制限かかってるから p + (++q) とは読めないのか。
0286デフォルトの名無しさん
2006/09/11(月) 01:12:36> Zaiko z = Zaiko.new(0); z = z + 1;
いや、流石に Zaiko.new(0) は拙いだろう。
0287デフォルトの名無しさん
2006/09/11(月) 01:24:21> ++と--演算子を、複素数平面のディリクレ核の「回転」に使っていてビックリしたよ。
その手のを防止したいなら、前置++や後置++を直接定義できるようにするんじゃなくて、
二項+、に加えてincrementalValueかなんかを定義できるようにするとか。
0288デフォルトの名無しさん
2006/09/11(月) 03:01:21@NIs じゃなくて @Nls じゃね?
0289デフォルトの名無しさん
2006/09/11(月) 06:20:38一件一件そーゆートンデモな使い方に対する対策を考えるのは愚の極み。
最終的にオーバーロードの廃止に行き着くから。
0290デフォルトの名無しさん
2006/09/11(月) 12:30:30> 演算子オーバーロードは、使う側からするとどちらに転んでも構わないんだが。。。
> たとえば Zaiko z = Zaiko.new(0); z = z + 1; って書けるんだったら、z = 1 + z; も書きたくなるもんな。
その書き方はJava似はない。 Zaiko x = new Zaiko(0)が正解。
0291デフォルトの名無しさん
2006/09/11(月) 12:31:43どうせ、鬱憤晴らしをしたがってる
C#厨がJava叩きのネタの材料にしたがっているだけでしょ
0292デフォルトの名無しさん
2006/09/11(月) 12:34:07増加値を定義ってのがよくわからないけど。
ややこしくなって演算子のオーバーロードは無駄っていう方向に行き着いてしまうかね
0293デフォルトの名無しさん
2006/09/11(月) 14:03:15> ややこしくなって演算子のオーバーロードは無駄っていう方向に行き着いてしまうかね
無駄ってか、++はオーバーロードさせない、使えるようにはするって感じかな。
二項+とか、二項-が破壊的な動作してる場合の評価値は知ったこっちゃないって感じで。
0294デフォルトの名無しさん
2006/09/11(月) 14:08:50文法はC#、APIはJavaのAPI、JVMで動作。
0295デフォルトの名無しさん
2006/09/11(月) 17:06:000296デフォルトの名無しさん
2006/09/11(月) 22:49:31C#に先を越されたJava厨が、悔し紛れに言っているやせがまんだろう。
何も買えない貧乏人が「シンプルライフはすばらしい」と意地を
張っているのと同じ、何せ金持ちゲイツには勝てないからね。
もっとも言語としてはシンプルでも、世の中の複雑な事象に適用した時、
かえって複雑にならなければよいが...
まっどんな道具でも、使い方を誤れば逆効果だが、使い方を誤れば
危険だという理由で、板前から良く切れる包丁を取り上げるのはどうか。
0297デフォルトの名無しさん
2006/09/11(月) 22:54:450298デフォルトの名無しさん
2006/09/11(月) 23:02:240299デフォルトの名無しさん
2006/09/11(月) 23:15:46ね
0300デフォルトの名無しさん
2006/09/11(月) 23:25:59またいってるよこいつ。enumがC#やC++のenumと同じものだと
未だに勘違いしているのかね?
愚かなことだよ。
構造体が悔しい? アホだよそれも。@Structで十分。
0301デフォルトの名無しさん
2006/09/11(月) 23:27:38Googleの時価総額がM$に追いついて、
今、Googleの破壊戦略によって追いつめられているマイクロソフトを
経営していたビルゲイツを今頃引き合いに出してももう遅い。
Googleに有能な人材を引き抜かれてばかりのマイクロソフトには
もう魅力など何一つ無い。
0302デフォルトの名無しさん
2006/09/11(月) 23:33:25「Googleの時価総額がM$に追いついて」
ほんとなの?
とってもビックリ!
一応MSとGoogleは活躍する市場が違うけどね。
SUNとの訴訟後からMSは良い方に変わった印象を受けるけどな。
0303デフォルトの名無しさん
2006/09/11(月) 23:44:18あひゃ、恥ずかしい。Rubyとこんがらがっちまった。
0304デフォルトの名無しさん
2006/09/12(火) 00:07:04よく分からんが、++a が左回転で a++ が右回転?
0305デフォルトの名無しさん
2006/09/12(火) 00:08:54C#な案件皆無&ツールの使い方しか分からない無能MVPな状況を
如何にかしたらいいんじゃね?
0306デフォルトの名無しさん
2006/09/12(火) 00:15:45おいおい、Googleがどれだけ恐ろしい企業に成長したのか知らないのか。
M$とSunとの訴訟については、
あれはあたかもSunが負けたかのように見えたが、
結局Javaの人気は依然として高く、M$が社運を賭けて開発したというドトネトは
ろくに普及していない。
その事実を隠すために、今マイクロソフトの幹部は必死になって
適当な事ばかり言っている。
0307デフォルトの名無しさん
2006/09/12(火) 00:16:47あれは、a++が左回転、a--が右回転だったな。
極座標系なので
0308デフォルトの名無しさん
2006/09/12(火) 00:17:37Web2.0に徹底的に力を入れて大成功を納めただけある
0309デフォルトの名無しさん
2006/09/12(火) 00:29:24ところで、MSの肩を持っているわけではないけど、
Java VMの仮想プラットフォーム化構想というべきか、
MSがその波におされて、今まで単一環境(Windows)に意地を張っていた
のをあきらめて、方向転換したように見えた。
MSがソフト販売とかではなくて、違うところに利益を求めるようになった。
0310デフォルトの名無しさん
2006/09/12(火) 03:15:450311デフォルトの名無しさん
2006/09/12(火) 07:54:52int() f = (){ throw RuntimeException(); } //匿名関数の型は null()
はエラーになるんじゃね? って話が出てるね。
http://weblogs.java.net/blog/forax/archive/2006/09/function_that_d_1.html
0312デフォルトの名無しさん
2006/09/12(火) 09:43:48それはホントか?とんでもねえ話だ。
大統領なんかにさせたらまずいぞ。
オープンソースを徹底的に叩きつぶそうと
企むに違いない。増税も平気でやるに違いない。
それに全米の大学などの教育機関でドトネトやC#を
むりやり押しつけられて、多くの学生は、授業料を払うこと=マイクロソフトにお金を払うこと
みたいにおかしなことになる。それに、アメリカでそんなことが起きると
日本にも影響がでる。アメリカでもやってもいいなら俺たちもやっても良いはずだと、
なって日本でドトネト製品を押しつけられる。最悪のシナリオだ。
大東呂野変わりに知事ねえ。もしゲイツがどこかの州知事になったらそこの州
には移住したくないね。高い税金払わされそうだし。
0313デフォルトの名無しさん
2006/09/12(火) 10:21:490314デフォルトの名無しさん
2006/09/12(火) 16:17:290315デフォルトの名無しさん
2006/09/12(火) 19:14:42馬鹿だろ、最近はもう金じゃなくて名誉が欲しいって言ってる
シュワ知事と一緒で金持ちが政治家をやれば汚職は無くなるって考えだと思った
0316デフォルトの名無しさん
2006/09/12(火) 19:35:270317デフォルトの名無しさん
2006/09/12(火) 21:59:50C#マスターが多数かと
0318デフォルトの名無しさん
2006/09/12(火) 22:00:570319デフォルトの名無しさん
2006/09/12(火) 22:06:220320デフォルトの名無しさん
2006/09/12(火) 22:08:06C#マスターはそれに嫉妬している。
指くわえて恨めしいだけ・・
0321デフォルトの名無しさん
2006/09/12(火) 22:12:470322デフォルトの名無しさん
2006/09/12(火) 22:20:31デブとデブのシーソーだ
0323デフォルトの名無しさん
2006/09/12(火) 22:32:21> >>312
> 馬鹿だろ、最近はもう金じゃなくて名誉が欲しいって言ってる
> シュワ知事と一緒で金持ちが政治家をやれば汚職は無くなるって考えだと思った
過去の今までの経歴と行為からして名誉を得るなんてそう簡単な
ものじゃないと思うが。汚職はなくなるといっても、ビルゲイツ本人が
やってることが汚職に近いからな。
ビルゲイツは今、今まで独占によって得た金を使って
ゴッホの日記やレオナルド・ダ・ヴィンチの手稿を買い取って
さらなる新たな独占を得ようとしているのだからな。
あのダ・ヴィンチ・コードもビルゲイツが関わっている。
ああいう資料をビルゲイツが買い取り保管することが本当に名誉になるのか疑問だ。
あちこちに寄付をしているようだが。自分の年収から差し引いた寄付の金額の割合は
他の人間と比べると大したことがない。そもそも、ビルゲイツは自分の年収の10%も寄付していないのだ。
金が有る癖に寄付金もケチる。名誉を得るつもりがあるのか疑問だ。
ジーンズを履いて反社会的な行動をとるのが好きだったビルゲイツが名誉を欲しがっているのは、
常に自分が一番でないと気が済まないという子どもの頃からの性格から来ているものだろう。
0324デフォルトの名無しさん
2006/09/12(火) 22:33:28じゃあ、Javaに関連して世の中に詳しいことを
証明する語りをしてくれ。
ビルゲイツの寄付やゴッホやダヴィンチの資料を
買い取ったことについてどう思っているのかお前から聞きたい。
0325デフォルトの名無しさん
2006/09/12(火) 22:35:32> C#で実験させて、上手そうなのをJavaの次世代で実装すること。
> C#マスターはそれに嫉妬している。
> 指くわえて恨めしいだけ・・
なるほど。しかし残酷だな。
ジェームズ・ゴスリングはC#が出たとき、頭が痛くなりショックで倒れてしまった
というが、今じゃ逆にC#をうまく利用しているものだな。
2chが出た後で、2chに不満を持っていた西和彦が2chに対抗意識を燃やして1chを作ったが、
全然流行らなかった結果を招いたように。
0326デフォルトの名無しさん
2006/09/12(火) 22:36:11お前は自分の年収の10%以上を寄付しているのか?
まずはそれから聞こうか
0327デフォルトの名無しさん
2006/09/12(火) 22:36:35昔からすでに語られて結論が出ているのに
未だにしつこく拘る奴がいるってことは、
演算子オーバーロードに潜む副作用や罠を
未だに解っていない奴が多いって事だよ。
0328デフォルトの名無しさん
2006/09/12(火) 22:36:54ああ、親に寄付している。
0329デフォルトの名無しさん
2006/09/12(火) 22:53:37ビルゲイツが寄付したりゴッホやダヴィンチの資料を
買い取ってるのは、次世代Javaを作るためだ。
ゲイツはMSを裏切ってSunに寝返るつもりで
実はJavaをのっとるつもりなんだよ。
やつはBASIC大好きだからな。
0330デフォルトの名無しさん
2006/09/12(火) 22:56:350331デフォルトの名無しさん
2006/09/12(火) 23:38:04> 教えてやるけど、あちこちでペラペラしゃべるなよ。
> ビルゲイツが寄付したりゴッホやダヴィンチの資料を
> 買い取ってるのは、次世代Javaを作るためだ。
> ゲイツはMSを裏切ってSunに寝返るつもりで
> 実はJavaをのっとるつもりなんだよ。
> やつはBASIC大好きだからな。
つまんねーセンス悪ー。お前4年前と比べ煽り能力落ちたなw
お前も歳かw
0332デフォルトの名無しさん
2006/09/12(火) 23:45:28お前、4年もここに居るのか。
ところで、少しはC#でも使えるようになったのか?
どうでもいいが、今からRubyやっとけ。
0333デフォルトの名無しさん
2006/09/13(水) 00:28:130334デフォルトの名無しさん
2006/09/13(水) 09:25:53http://gafter.blogspot.com/2006/09/closures-for-java-version-01.html
新しいのは
13. Definite assignment
14. Exception type parameters
15. Implementing a Function Type
12. の省略構文が statement になってる。expression じゃないので、
ブロックの終わりに セミコロンが要らない代わりに式としては使えない。
13. は、クロージャの中で外側の final で修飾された変数には代入できないらしい。
DA/DU statusってのが何か良くわからんけど。
15 で、関数型の下位型を作る構文が提案されてるけど、
その影響で新しい予約語が入るかもしれないってさ。
class MyBlock implements void(){
public void do(){ .... } //この例では、"do"が予約語
}
0335デフォルトの名無しさん
2006/09/13(水) 09:37:050336デフォルトの名無しさん
2006/09/13(水) 10:24:37他にも、 LocalFunctionDeclarationStatement が消えたり、
Closure の記法から FormalParameters : Expression3 の記法が消えた代わりに、
return しなくても良くなった。
(旧) int(int) plus2 = (int x){ return x+2; };
(新) int(int) plus2 = (int x){ x+2; }
4. The type of a closure を見ると、return文 で返される型を
conditional operator のルールを使って 戻り型を決めるって文章が削除されて、
クロージャが 式で終わっていれば、その式の型がクロージャの戻り型になるってなってるから、
return しなくて良くなったというよりも、むしろ return しちゃダメなのかも?
9. Referencing names from the enclosing scope の note の内容も変わってるね。
クロージャから参照されるローカル変数の寿命は宣言したブロックより長くなるって。
10. Non-local control flow から NamedReturnStatement の構文が消えてる。
0337デフォルトの名無しさん
2006/09/13(水) 10:47:46もいっこ。
>>311 が言ってるのと関係するかは判らんが、
int を返すクロージャを Integer を返すメソッドを持つ interfaceに変換したり、
逆に Integer を返すクロージャを int を返すメソッドを持つ interface に変換
って事も考慮中、みたい。
0338デフォルトの名無しさん
2006/09/13(水) 12:18:18と、いうことはクロージャってのは特定のインタフェースを表現するシンタックスシュガーって
ことだね。
アノテーション型のように
0339デフォルトの名無しさん
2006/09/13(水) 13:08:09> クロージャってのは特定のインタフェースを表現するシンタックスシュガー
それは全然違うと思うが。
annotation も interface の構文糖じゃないし。
0340デフォルトの名無しさん
2006/09/13(水) 13:47:35@interface と書いてアノテーションを宣言するが、
実際には Annitationインタフェースを継承したのがあのてーしょん型に
なるというやつ
0341デフォルトの名無しさん
2006/09/13(水) 14:05:43注釈型の定義は構文糖じゃないぞ。
手動で java.lang.annotation.Annotation を extends する interface を書いても注釈型にならん。
0342デフォルトの名無しさん
2006/09/13(水) 16:32:240343デフォルトの名無しさん
2006/09/13(水) 17:00:530344デフォルトの名無しさん
2006/09/14(木) 01:19:040345デフォルトの名無しさん
2006/09/15(金) 10:00:30http://gafter.blogspot.com/2006/09/nominal-closures-for-java-version-02.html
関数型(function type) の記述が削除された。
synchronized と言う限定子を与えると、従来の匿名クラスのように
取り囲まれたメソッドの final をつけた変数しか触れない。
常に中途完了する closure の戻り型は null の代わりに Unreachable を使うようになった。
0346デフォルトの名無しさん
2006/09/15(金) 15:52:36いつb99でんだ?
0347デフォルトの名無しさん
2006/09/15(金) 23:14:460348デフォルトの名無しさん
2006/09/15(金) 23:19:18ClosureConversionが発生しないときどーすんだろね、これ。
Class c=(int x){ x+2 }.getClass( );
とか。
0349デフォルトの名無しさん
2006/09/16(土) 01:08:11定期ビルドは終了の模様。
次にDL出来るのはリリース候補らしい。
0350デフォルトの名無しさん
2006/09/16(土) 06:02:072. The type of a closure のところに
> It is a compile-time error if a closure is not subject to a closure conversion.
とか書いてある……
0351デフォルトの名無しさん
2006/09/16(土) 07:13:30関数型無いのに Unreachable 使う必要あるのかね?
関数型があるなら
Unreachable() func = (){ throw new Exception(); };
int() func2 = func;
Object() func3 = func;
ってできるから必要があるのは分かるけど、
関数型無いと covariant return type を考慮しても
Unreachable は 全ての型の下位型と規定されているので
interface F{ Unreachable func(); }
interface F2 extends Func{ int func(); }
interface F3 extends Func{ Object func(); }
とかやっても、 F2 はプリミティブ型なので covariant return types
の対象にならないからコンパイル時にエラー
F3 は Object は Unreachableの上位型なのでコンパイル時にエラー
0352デフォルトの名無しさん
2006/09/16(土) 08:32:45interface F<R>{ R func(); }
F<Unreachable> f = (){ throw new RuntimeException(); }
F<Object> f2 = (F<Object>)(F)f;
とかしろって事なんだよ。 未検査警告出るけど。
後は、戻り値が Unreachable だと常に中途完了する事がコンパイル時にわかるとか。
今気付いたけど >>345 のリンク先、8. が二つあるね。
0353デフォルトの名無しさん
2006/09/16(土) 11:05:22http://blogs.sun.com/mr/entry/java_se_6_schedule_update
とか読むと、10月の終わりに release candidate が出て、
11月の最終週が感謝祭の休みなので、
正式版が 12月の第一週とは書いてあるけど、
weekly build が終わりとは書いてないような。
とか言ってる間に b99 出てる……
0354デフォルトの名無しさん
2006/09/18(月) 13:37:060355デフォルトの名無しさん
2006/09/18(月) 14:34:39enumみたいにjava.lang.Enumクラスのシンタックスシュガー
みたいな感じになるのかな?
実際には匿名クラスを実装したオブジェクトになってるだけとか。
0356デフォルトの名無しさん
2006/09/18(月) 15:48:32まだ検討中の段階だろうから、最終的に どうなるかは誰にも判らんと思うぞ。
一番最近の案っぽい >>345 のリンク先のクロージャは、
匿名クラスのシンタックスシュガーになりつつあるようにも見えるけど。
0357デフォルトの名無しさん
2006/09/18(月) 15:49:53これはシンタックスシュガーって言えるのかね?
言語規定で class MyEnum extends Enum<MyEnum>{} はできないって決められてる。
>>338 みたいにアノテーションが interface のシンタックスシュガーだって言うよりはマシだと思うけど。
> 匿名クラスを実装したオブジェクト
日本語かJavaかどっちかの勉強が必要だね。
0358デフォルトの名無しさん
2006/09/18(月) 16:30:070359デフォルトの名無しさん
2006/09/18(月) 18:17:120360デフォルトの名無しさん
2006/09/18(月) 19:30:200361デフォルトの名無しさん
2006/09/18(月) 19:34:50ジャヴァー乙
.NETが日本で最も普及しているプログラム言語
http://pc8.2ch.net/test/read.cgi/tech/1156986942/
0362デフォルトの名無しさん
2006/09/18(月) 23:32:56リンク先のおっちゃん、ブッシュとクリントン足したような顔
0363デフォルトの名無しさん
2006/09/21(木) 03:39:36お前必死すぎ。そのスレも見事に論破されてるし
0364デフォルトの名無しさん
2006/09/21(木) 20:19:16特にStAXはシナリオ駆動型のプログラムが作りやすそうで楽しみ。
Java6の拡張は地味だなぁ・・・
0365デフォルトの名無しさん
2006/09/21(木) 20:47:050366デフォルトの名無しさん
2006/09/21(木) 21:05:040367デフォルトの名無しさん
2006/09/21(木) 21:22:280368デフォルトの名無しさん
2006/09/21(木) 22:07:52VMレベルの変更が多いから確かに地味なのかもなぁ
0369デフォルトの名無しさん
2006/09/21(木) 22:55:201.4>1.5の時に比べて多いか?
むしろapiの強化がメインな気がするが。。。
0370デフォルトの名無しさん
2006/09/21(木) 23:10:04並列処理つかグリッドコンピューティング分野でも
さらなる強化が施されるのかな?
0371デフォルトの名無しさん
2006/09/22(金) 01:33:47かなり大掛かりな改良はあったよ
おかげで業務で使えるようになったのは1.3からでしょ
0372デフォルトの名無しさん
2006/09/22(金) 12:40:550373デフォルトの名無しさん
2006/09/22(金) 12:56:550374デフォルトの名無しさん
2006/09/22(金) 13:33:000375デフォルトの名無しさん
2006/09/22(金) 13:33:130376デフォルトの名無しさん
2006/09/22(金) 13:38:30個人的順位
1・hotspotVM 搭載
2・JavaSound 搭載
3・シリアライズの大幅な改良
4・Swingの改良
5・JNDI 搭載
6・AWTの改良
7・ネットワークの改良
8・マルチモニタ対応
Swingが実用的になったのは1.3からで、わりと業務アプリに使われるようになった。
ずっとSwing触ってきた身としては1.4.1時より個人的にはインパクトが大きい。
個人的には1.3がいわゆるJavaのひとつの完成形とみている。
この後は速度や機能が現実的な実装中心になっていく。
言い方は悪いが1.2まではRC品質というか。
0377デフォルトの名無しさん
2006/09/22(金) 14:07:240378デフォルトの名無しさん
2006/09/22(金) 14:42:031.2がJava(やご指摘のAWT)が大きく変わったんじゃないか?
それを示すのに、jdk1.2 でなくて j2seとか名乗ってたと思うけど。
0379デフォルトの名無しさん
2006/09/22(金) 15:03:25終わってるよ。あの発想。
0380デフォルトの名無しさん
2006/09/22(金) 15:10:471.4よりインパクトあるんじゃね?
機能的には1.2が一番インパクトはあると思うが、速度低下メモリ使用量拡大といいことがなかった
>>379
Sunのメジャーバージョンアップは昔から0.1単位
だが、1.2だと大幅なバージョンアップに見えないので「2」をつけた
1.3からJ2SE,J2EE,J2MEの3種に明確にわけたというのは大きいかも
0381デフォルトの名無しさん
2006/09/22(金) 15:48:420382デフォルトの名無しさん
2006/09/22(金) 17:38:510383デフォルトの名無しさん
2006/09/22(金) 20:16:020384デフォルトの名無しさん
2006/09/22(金) 21:15:51Swingアプリの動きがマイナーバージョンで違ってたりして
あんまりいい印象ないぞ
たとえばウィンドウの表示位置に一時マイナス値を指定可能な時があった
Xウィンドウユーザならお馴染みの方法だね
だがあっさり次のマイナーアップでこの仕様は取り消されてしまった
おまけに1.3にしたら警告を吐くようになり
1.4ではついに画面すら出なくなったのだ
Swingの互換性なんてこんなもんだ
0385デフォルトの名無しさん
2006/09/22(金) 21:18:390386デフォルトの名無しさん
2006/09/22(金) 21:20:030387デフォルトの名無しさん
2006/09/22(金) 22:12:25とはいえ、b99以降でてこんし、Dolphinもビルドないしなぁ
0388デフォルトの名無しさん
2006/09/23(土) 00:12:47その時こそ、真のJavaの時代が来ると言える。
複プロセス実行可能ってJava7で採用されたんだったっけ?没だっけ?
0389デフォルトの名無しさん
2006/09/23(土) 00:58:00JSR-277と291がらみの話?
0390デフォルトの名無しさん
2006/09/23(土) 03:24:02ヒープ共有のことだろ?
0391デフォルトの名無しさん
2006/09/23(土) 03:26:16複数のプロセスでVMを共有できるってやつか
0392デフォルトの名無しさん
2006/09/23(土) 04:01:54JDBCが標準で追加されたことも重要だったりする。
Servletが流行りだしたのは1.3が出る頃だったからね
0393デフォルトの名無しさん
2006/09/23(土) 04:05:071,4よりはインパクトあるね確かにに。
1,4はassertが追加されたとか、メソッドの
オーバーライドで戻り値の型が異なってもかまわないとか。
大した変化はなくAPIが追加されたくらいだね。
XMLとか
0394デフォルトの名無しさん
2006/09/23(土) 04:06:05昔からJavaをやっていた人間ならそれくらい知っているって。
Javaという言語の理想に惹かれて、早くからJavaに
触れた人間ならとくに。
0395デフォルトの名無しさん
2006/09/23(土) 04:07:26新しいものが出ると、過去のどうでもいいものは
忘れていくんだよね。
脳みそがそう処理させてくれる。
余計なことは忘れろって、脳みそが指示している。
忘れるべきでないと思っている人は、本を書いている人とかだね
0396デフォルトの名無しさん
2006/09/23(土) 04:07:54そのことを、Wikipediaの「Java言語」に書き加えておくと、なおよいと思うよ
0397デフォルトの名無しさん
2006/09/23(土) 04:09:27それも1.5から改善されたろ。
しかし1.2からプログラミングしている香具師は、
import宣言に*をつける癖をつけているとろくなことが
無いんだな。
Java Pressの何月号かにそれ系の注意事項が載っていたな。
1.5から一気に5.0にアップグレードすると動かないプログラムでの
対策とか。
0398デフォルトの名無しさん
2006/09/23(土) 04:10:15それはJava6で実装されるのでは?
0399デフォルトの名無しさん
2006/09/23(土) 04:13:02まだやってこないのかのう・・・
0400デフォルトの名無しさん
2006/09/23(土) 07:35:23おまえ、さっきからいいことばっかり言ってるな。
おれには、どれが誰の発言か分かるぞ!
0401デフォルトの名無しさん
2006/09/23(土) 14:16:13されないだろ
0402デフォルトの名無しさん
2006/09/23(土) 15:23:28これのこと?
ttp://www.itmedia.co.jp/news/articles/0404/07/news018.html
0403デフォルトの名無しさん
2006/09/23(土) 17:35:13これか?
0404デフォルトの名無しさん
2006/09/23(土) 21:11:101.5から5.0?
>>393
1.4は現実的な実装がポイント
大幅なVMの高速化、積極的なアクセラレーションを意識したAPI群
クライアントサイドアプリの改善、JAXP標準装備、印刷サービス追加、NewIO追加
速度を意識したのがたくさんでてるよね
5.0では並列APIと言語仕様以外は新しい機能はあまりない
>>402
「J2SE 1.5では、Javaプログラミングの簡易化に焦点を当てている」
新構文とかでバグ減るし開発効率アップでいいことだらけなんだが
APIマニュアル読めない難民が続出してなかなか移行が進んでないというのが面白い
0405デフォルトの名無しさん
2006/09/23(土) 21:42:32ところで、APIマニュアルって何のこと?
>>404
0406デフォルトの名無しさん
2006/09/23(土) 21:48:020407デフォルトの名無しさん
2006/09/23(土) 21:48:441.2から5.0の間違いだった
0408デフォルトの名無しさん
2006/09/23(土) 23:10:45>>404じゃないが、Generics使ったライブラリのAPIドキュメントのことじゃないかな
それだったら、読めない人が出てもおかしくはない、かも
0409デフォルトの名無しさん
2006/09/23(土) 23:20:26確かに5.0を解説した本はそれほど多くないからな。
0410デフォルトの名無しさん
2006/09/23(土) 23:23:15確かにGenericsと並行ライブラリだけって印象だね。
Java6はJVM弄るらしいし、Java7は確か命令も増やすんだよね。
0411デフォルトの名無しさん
2006/09/23(土) 23:35:13新構文2年以上雑誌やネット等でやってきたのに少ないとは
0412デフォルトの名無しさん
2006/09/24(日) 00:29:11ネットだと知ったか振りの解説じゃないか?
しかし、無料のネットならそれでもまあ調べてみようとするのも分かるが、
有料のくせして質が悪い記事しかない雑誌じゃ・・
それも「雑誌」かよ・・
0413デフォルトの名無しさん
2006/09/24(日) 00:34:39その程度の情報を詰め込んでも、単行本一冊(ブックオフで500円のとき)
より高いんじゃあんまり買ってまで見る価値ないと思う。
0414デフォルトの名無しさん
2006/09/24(日) 00:36:09> Java7は確か命令も増やすんだよね。
invokedynamicのことか。あれって、Pnutsの戸松さんがブログで反対表明
してたけど、どうなんだろうね。なんでも、invokedynamicだけあっても、
あまり性能は改善しないだろうとか。
ttp://d.hatena.ne.jp/tomatsu/20060329
0415デフォルトの名無しさん
2006/09/24(日) 00:36:16ttp://www.javaworld.jp/technology_and_programming/-/18161.html
0416デフォルトの名無しさん
2006/09/24(日) 00:46:29そういうことではないと思うよ。
雑誌一般の話じゃないか?
0417デフォルトの名無しさん
2006/09/24(日) 00:50:120418デフォルトの名無しさん
2006/09/24(日) 04:33:006はぶっちゃけ中身なさすぎ
0419デフォルトの名無しさん
2006/09/24(日) 08:46:15奇数バージョンにするって言ってたじゃん
18ヶ月毎に新しいバージョンを出していく計画だから
36ヶ月毎に言語仕様が変わるくらいならみんなついて
行けるだろうと考えたってわけだよ
0420デフォルトの名無しさん
2006/09/24(日) 11:47:370421デフォルトの名無しさん
2006/09/24(日) 11:59:40比較のStringの生成、どっちが計算コストが高いと思っているんだ??
0422デフォルトの名無しさん
2006/09/24(日) 14:05:38後者ではないの?
0423デフォルトの名無しさん
2006/09/24(日) 14:42:11だね。
アノテーションんとGenericsのテクニックを把握するために
Effective JavaのJava5版が欲しい。
あれでEnumの説明も省かれるだろうし。
Genericsのテクニックがいくらかでるはず。ゴスリングは
新規にクラスを作るときはGenerics対応にせよって逝っているし。
0424デフォルトの名無しさん
2006/09/24(日) 14:42:52それは日本だけの場合だよね。
英語なら、さがせば良い情報が
何十倍にも膨らむと思う
0425デフォルトの名無しさん
2006/09/24(日) 14:43:49それだとアノテーション型の使い道/自作、Genericsクラス作成のテクニックやノウハウが載っていないんだよな
0426デフォルトの名無しさん
2006/09/24(日) 14:45:045への進化は今までの進化とくらべたら凄まじいものがあると思うぞ
0427デフォルトの名無しさん
2006/09/24(日) 14:48:54JapansesEmperorCalendarがあるだろw
0428デフォルトの名無しさん
2006/09/24(日) 14:59:25> Effective JavaのJava5版
出るらしいよ。来年中ってことなので、まだ結構待たなきゃならんみたいだけど
ttp://journal.mycom.co.jp/articles/2006/05/18/javaone2/
0429デフォルトの名無しさん
2006/09/24(日) 14:59:57マジで皇紀入ったの?
0430デフォルトの名無しさん
2006/09/24(日) 15:37:49既にスナップショットにも入ってんじゃないの?
誰か使ってみて
java.netのjdk-6のページって全然更新されないね
0431デフォルトの名無しさん
2006/09/24(日) 15:38:27皇紀じゃないみたいよ
明治、大正、昭和、平成だけ扱えるカレンダーw
0432デフォルトの名無しさん
2006/09/24(日) 15:40:44Formatterに実装されてないんじゃなかった?
ならいみねぇよ
0433デフォルトの名無しさん
2006/09/24(日) 15:46:15sunの本ではannotationを自作で局所的に使用するのは進めてないよ
どっちかてとライブラリーとかでサポートされるイメージでしょ
genericsは確かにデザイン的な教科書が欲しいところ
0434デフォルトの名無しさん
2006/09/24(日) 16:08:22どうせなら全部やって欲しいよな
0435デフォルトの名無しさん
2006/09/24(日) 18:47:01だからそれがJava5版の元ネタソースだろ。
しかし、日本語版がでるのを考慮するとさらに時間がかかるのか。
英語でも良いのでネットでこういうテクニック情報手に入らないかな?
0436デフォルトの名無しさん
2006/09/24(日) 18:50:38そんなに使うこと有るのか?
どうせ過去の年号なんて一年二年ずれてたり、
鎌倉幕府ができたとしが1192年かと思ったら全然違う年に
できたことがわかって教科書もかわったし「いい国作ろう鎌倉幕府」
なんて暗記もまったく役に立たなくなった。
しかもCalendarクラスで扱えるのは1960年くらいからだしな。
long型の範囲内でしか使えないんだし、情報に正確さが
求められていない時代の何千年前の過去のデータなんていらんいらん。
今あるJavaプログラムが1000年後にあるかどうかっていうとそりゃ疑問だが
0437デフォルトの名無しさん
2006/09/24(日) 18:59:030438デフォルトの名無しさん
2006/09/24(日) 19:16:53それって32bit機のC言語の実装に依存する問題じゃなかったか。
0439デフォルトの名無しさん
2006/09/24(日) 19:37:12Javaはどうだったろう
0440デフォルトの名無しさん
2006/09/24(日) 19:37:22じゃあ、大丈夫か
0441デフォルトの名無しさん
2006/09/24(日) 19:42:30おまえ、早く消えた方がいいよ。
0442デフォルトの名無しさん
2006/09/24(日) 19:44:37それってJavaが動作するUnix系OSの実装に結局依存するんじゃ?
とはいっても昨今のは大丈夫だろうけど
2038年には隠居してるからいいか
0443デフォルトの名無しさん
2006/09/24(日) 19:46:31でもそれならOSが対応してれば自動的にJavaも対応済みって話だ。
迂回コードを書いてレスポンス落とすよりはそっちを待とう。
0444デフォルトの名無しさん
2006/09/24(日) 20:12:420445デフォルトの名無しさん
2006/09/24(日) 20:18:53構造体の定義はlongになってるからこれならほぼ永久に問題ない
struct timeval {
long tv_sec; /* seconds since Jan. 1, 1970 */
long tv_usec; /* and microseconds */
};
しかし実際のヘッダーはこう
これだとアウトだな
struct timeval {
int32_t tv_sec; /* seconds */
int32_t tv_usec; /* and microseconds */
};
0446デフォルトの名無しさん
2006/09/24(日) 20:22:532038年特需に関われる香具師は楽しみだな
また正月からホテルに缶詰か
0447デフォルトの名無しさん
2006/09/24(日) 20:53:58なんで切れてんの?
0448デフォルトの名無しさん
2006/09/24(日) 20:59:56しかしさ、和暦って使い物にならない点がひとつある。
今の平成天皇が死んだらまた変わるんだろ。
面倒くさくてやってられない。官公庁向けだろうから使わないけどさw
0449デフォルトの名無しさん
2006/09/24(日) 21:09:100450デフォルトの名無しさん
2006/09/24(日) 21:15:43たしかにな
今上天皇が崩御されたらシステム対応大変そうだ
Java VMはたぶん上げないまま放置されてるシステムだろうから
その時Sunが新年号を旧VMのために対応してくれるかどうか
0451デフォルトの名無しさん
2006/09/24(日) 21:18:19採り入れるのは危険だな。
0452デフォルトの名無しさん
2006/09/24(日) 21:18:57VMだけアップデートすれば自動的に年号がかわるシステムになってるとかだったりしてな
0453デフォルトの名無しさん
2006/09/24(日) 22:19:200454デフォルトの名無しさん
2006/09/24(日) 22:32:02IPAの未踏とかに出すより余程低予算で有意義なプロジェクトだろ。
0455デフォルトの名無しさん
2006/09/24(日) 23:09:220456デフォルトの名無しさん
2006/09/24(日) 23:50:08お隠れになったって書かないと朝鮮人認定されるぞ
0457デフォルトの名無しさん
2006/09/24(日) 23:53:44ゆとり教育で教えなくなったから、日本人と区別がつきにくくなった。
0458デフォルトの名無しさん
2006/09/24(日) 23:55:090459デフォルトの名無しさん
2006/09/24(日) 23:55:31マジで? 知らなかった
0460デフォルトの名無しさん
2006/09/25(月) 00:02:13教えてたのっていつの時代の話?
俺、そういう表現があること自体、初めて知ったよ。。。
0461デフォルトの名無しさん
2006/09/25(月) 00:38:48俺も習った覚えはないが知ってるけどな
0462デフォルトの名無しさん
2006/09/25(月) 00:47:050463デフォルトの名無しさん
2006/09/25(月) 00:56:43次世代javaのお隠れスレ
0464デフォルトの名無しさん
2006/09/25(月) 00:59:37それを言ったらおまえ、今上天皇が「平成天皇」になるのは御隠れになった
あとなんだが....
0465デフォルトの名無しさん
2006/09/25(月) 01:16:57皇族に男子ご誕生万歳!!
そこで「マンセーじゃねーか?」などぬかす奴、ちょっと裏まで来てもらおうか
0466デフォルトの名無しさん
2006/09/25(月) 01:19:040467デフォルトの名無しさん
2006/09/25(月) 01:23:460468デフォルトの名無しさん
2006/09/25(月) 01:52:100469デフォルトの名無しさん
2006/09/25(月) 03:32:450470デフォルトの名無しさん
2006/09/25(月) 05:49:49天皇家って1000年も前から朝鮮人の血がつながってるんだろ。
1000年前に半島から渡ってきた女の血を引き継いでいるのが今の天皇家なんだし。
0471デフォルトの名無しさん
2006/09/25(月) 09:50:450472デフォルトの名無しさん
2006/09/25(月) 10:04:530473デフォルトの名無しさん
2006/09/25(月) 19:11:300474デフォルトの名無しさん
2006/09/25(月) 19:33:54[mustang] 次世代天皇の動向 3 [dolphin]
0475デフォルトの名無しさん
2006/09/25(月) 19:34:070476デフォルトの名無しさん
2006/09/25(月) 20:44:39いいことだ。
個人的なことで恐縮だが、シナとかチョンはなんか臭いからな。
0477デフォルトの名無しさん
2006/09/25(月) 20:50:240478デフォルトの名無しさん
2006/09/25(月) 21:08:590479デフォルトの名無しさん
2006/09/25(月) 21:21:260480デフォルトの名無しさん
2006/09/25(月) 21:22:130481デフォルトの名無しさん
2006/09/25(月) 23:49:530482デフォルトの名無しさん
2006/09/25(月) 23:54:04お前!タだろ、そこ
台無しだよ、もうorz
0483デフォルトの名無しさん
2006/09/26(火) 00:20:380484デフォルトの名無しさん
2006/09/26(火) 02:37:16ああ、中国人や朝鮮半島人三国人はウザイ。
だから今後も俺は阿部・小泉を支持し自民党に投票し続ける。
もう中国人や朝鮮人・韓国人にはなにもあげないし
なにも奢ってやろうとも思わない。
日本に来ては日本人子供や恩人を殺す犯罪者が多いし
泥棒はするしスキミングはするし。電車では人の座席は奪うし。
ウザイから彼らにはもう何も与えてやらない。
0485デフォルトの名無しさん
2006/09/26(火) 02:38:05マジレスするとGUI強化
0486デフォルトの名無しさん
2006/09/26(火) 09:01:37三国人と書くなら、台湾人も書かなきゃ。
0487デフォルトの名無しさん
2006/09/26(火) 10:12:50自民党に投票すると、お前が何ももらえくなるぞ。
税金の仕組みとか知らないだろ?
お前から吸い取り、奪い取って、
大企業や銀行・政府よりの関連企業に還元されているじゃないか?
0488デフォルトの名無しさん
2006/09/26(火) 11:04:43そんなにかわるか?
0489デフォルトの名無しさん
2006/09/26(火) 15:10:58俺のブックマークではこれかな
ttp://research.sun.com/projects/barcelona/
ITmediaの話は、クラス共有までにとどまっているんじゃないかと。
System.exit問題を何とかしないと駄目だかんね。
0490デフォルトの名無しさん
2006/09/26(火) 23:30:58って何?
0491デフォルトの名無しさん
2006/09/27(水) 00:00:42VM共有してると全部一蓮托生。
ってことかいね。
サーブレットコンテナも同じような問題抱えてるけど。
0492デフォルトの名無しさん
2006/09/27(水) 00:07:00VM1つで1プロセスだと共有も限界があるが同一プロセスならなんとでもなるだろう
じゃないとシングルトンとかstatic使ってるところすべておかしくなる
なにも問題はない
0493デフォルトの名無しさん
2006/09/27(水) 00:09:13tomcatは大丈夫だけど?
classloaderいじってあれば大丈夫なんじゃないの?
0494デフォルトの名無しさん
2006/09/27(水) 00:16:21それクラスローダいじってる場合だろ?
VMレベルってことはブートストラップからなんだからまた違う話
VMひとつで複数アプリは問題あり
そもそもWEBアプリ部分はmainからスタートしねー
0495デフォルトの名無しさん
2006/09/27(水) 00:20:02だからおれも経営者になるのさ。
まずは個人事業主から始めて
次に独立を狙う
0496デフォルトの名無しさん
2006/09/27(水) 00:24:52mainから動かしたけりゃServletなんか使わなきゃいい。
0497デフォルトの名無しさん
2006/09/27(水) 00:28:06話の流れみてくださいね
0498デフォルトの名無しさん
2006/09/27(水) 00:57:32staticとかシングルトンで問題って例えばどんな問題?
0499デフォルトの名無しさん
2006/09/27(水) 02:13:33隣のアプリが初期化したシングルトンオブジェクト握ってたら
2つめのアプリが動かなかったりしてな
セマフォとかトークンみたいな使い方だからシングルトンならではってわけでもないが・・・
やっぱ基本的に、クラスローダはブート時から別、か
アプリによって違うバージョンのライブラリに依存してたりするし
0500デフォルトの名無しさん
2006/09/27(水) 03:00:55tomcatみたいなクラスローダーのシステム導入すればいいってことでしょ、結局。
exit問題は、個人的にはまぁいいんじゃね?と思ってるけど。
心配な場合はsecurity managerでどうにかなるんじゃないかなと。
0501デフォルトの名無しさん
2006/09/27(水) 07:27:52で、そのあたりJSR-291でIBMがOSGi4を取り込むことを提案してるけど、
Sunが「OSGiですでに規格化されてるんだからSEに取り込む必要あるの?
とりあえず反対票いれとく」ってのが今年の3月の状態。9/1にJSR291のEDRが
終わったからそれがどうなるかはわからん。
IBMはWebsphere/Notes/Rationalと大体OSGi4(というかEclipse)ベースに移行済みだし、
ApacheもFelix立ち上げてtomcatをOSGiベースに移行したいみたいだし
J2ME以外でもOSGiフレームワークの有用性はあると思うんだけど、
OSGiベースのクライアントを推進するEclipse参加企業連と反対
するSunって感じになって政治的にきまっちゃったりして。
0502デフォルトの名無しさん
2006/09/27(水) 11:22:58今度はお前が嫌な上司になったりシナやチョンを雇ってみたりするんじゃないのかね…
ケケケ
0503デフォルトの名無しさん
2006/09/27(水) 11:27:47台湾人は戦勝国人でしょ
0504デフォルトの名無しさん
2006/09/27(水) 11:58:230505デフォルトの名無しさん
2006/09/27(水) 12:28:01OSGiです
まで読んだ。
0506デフォルトの名無しさん
2006/09/27(水) 13:40:340507デフォルトの名無しさん
2006/09/27(水) 14:10:560508デフォルトの名無しさん
2006/09/27(水) 14:22:23第二次大戦前および大戦中、日本の統治下にあった諸国の国民のうち、日本国内に居住した人々の俗称。
敗戦後の一時期、主として台湾出身の中国人や、朝鮮人をさしていった。
[大辞林]
0509デフォルトの名無しさん
2006/09/27(水) 14:24:590510デフォルトの名無しさん
2006/09/27(水) 16:45:49その解説は間違い。
戦後、戦勝国人を名乗って暴れていた韓国人、朝鮮人を抑えるために
マッカーサーが「おまえらの国は戦勝国じゃなくて第三国じゃ」と
言ったのが起源だよ。
従軍慰安婦、南京大虐殺30万人説、三光作戦…
日中戦争や韓国併合に関する大手出版社の
解説には間違いが多い。
0511デフォルトの名無しさん
2006/09/27(水) 17:03:22ところで、まだチョンやシナが来ないけど
平和とはまさにこのことだな。
いいことだ。いいことだ。
0512デフォルトの名無しさん
2006/09/27(水) 17:26:57それは、全くのウソ。マッカーサーにそんな発言はない。
もともと俗語で、犯罪行為を行う朝鮮人や台湾人をさし、
戦後、日本の警察・マスコミ・官僚・政治家が使い始め、
広めた言葉。
0513デフォルトの名無しさん
2006/09/27(水) 17:58:27それよりお前Java質問スレ荒らすなよ
0514デフォルトの名無しさん
2006/09/27(水) 18:18:530515デフォルトの名無しさん
2006/09/27(水) 19:08:07なんでsunは反対してるの?
netbeansとeclipseの関係上?
0517デフォルトの名無しさん
2006/09/27(水) 19:35:26OGIS総研がどうしたって?
0518デフォルトの名無しさん
2006/09/27(水) 19:39:44おい、三国人、何やってんだお前。
つか、お前はその上司にすらなれないんだろ。
ん? お前は上司に嫉妬するダメ平社員か?
C#マンセーしてJavaに演算子オーバーロードを
つけることを強く勧めていた馬鹿だろお前。
それにJava質問スレをAAで荒らして今でも懲りて無いという。
0519デフォルトの名無しさん
2006/09/27(水) 19:41:25文体からもうお前が誰だかわかってるんだが。
死滅スレで大暴れしていた餓鬼だろ。
Java質問スレでは「ゆとり世代は犯罪者が多い」
と言われたら逆ギレでスレを荒らしていたよな。
あれからJava質問スレにサザエさん一家のAAを貼り付けて
「馬鹿質問者!」を連呼するようになっただろう
0520515
2006/09/27(水) 19:41:35super package com.2ch.xxxx
とか
export com.2ch.xxx
みたいな表現が出てきてますね。意味はよくわからん
0521デフォルトの名無しさん
2006/09/27(水) 19:41:46寒いよお前
0522デフォルトの名無しさん
2006/09/27(水) 19:42:280523515
2006/09/27(水) 19:43:570524デフォルトの名無しさん
2006/09/27(水) 19:45:03super package?
あくまで憶測だけど
パッケージにも継承の概念をとりいれたということでは?
二つのパッケージの間には継承の関係がある、みたいな。
『アジャイルソフトウェア開発の奥義』にそんなのが載っていたようなきがする。
にしてもexportってのが気になる。
importの逆か。
0525デフォルトの名無しさん
2006/09/27(水) 19:45:31jamって携帯電話のあのフォーマットが標準化されるってことですか
0526515
2006/09/27(水) 19:48:23らしい。
0527デフォルトの名無しさん
2006/09/28(木) 01:10:01ttp://journal.mycom.co.jp/articles/2006/05/18/javaone3/
要するに、 JavaにもPerl Module(.pm)みたいなものを作ろうという話
だと思う。
複数のパッケージをモジュールとして一つにまとめて、どのサブパッケージ、
どのクラスを外部に公開するか決められるとかそんな感じかな。
Win風に言えば、DLLでその関数を外部に公開するか定義するみたいな。
その部分が「export」とかいう部分だと思う。
0528デフォルトの名無しさん
2006/09/28(木) 02:16:48つまり、今のprivate,protected,publicとかとjarだけじゃ
使いにくいぜってことか。
あ、importがモジュール単位でできるようになったら便利かな。
0529デフォルトの名無しさん
2006/09/28(木) 02:19:45> super packageについてはMYCOMに記事が出てるよ。
> ttp://journal.mycom.co.jp/articles/2006/05/18/javaone3/
> 要するに、 JavaにもPerl Module(.pm)みたいなものを作ろうという話
> だと思う。
なんか違うような。そのまんま『アジャイルソフトウェア開発の奥義』に載ってる
ことを実践しようとしているだけだと思う。
0530デフォルトの名無しさん
2006/09/29(金) 02:16:310531デフォルトの名無しさん
2006/09/29(金) 03:25:06この宣言、import宣言を短縮できるってことかね?
super package com.sun.myModule {
// super-package exports:
export com.sun.guild.myapi.*;
export com.sun.guild.util.Helper;
// super-package members:
com.sun.guild.myapi;
com.sun.guild.util;
com.sun.guild.impl;
}
import com.sun.myModule;
と書くと
一度に
import com.sun.guild.myapi.*;
import com.sun.guild.util.Helper;
宣言しなくても一行で済むってことかね?
あと、JSR 277として仕様が提案されている「Java Module System」とこれはまた別ものみたいだね。
あれはJARファイルの扱いってことで。
0532デフォルトの名無しさん
2006/09/29(金) 03:26:15ことができるってことだね。
今までOne-JARかFatJarに頼らざるを得なかっただけに。
よって、Perl Moduleとは関係なさそうな気がする。
0533デフォルトの名無しさん
2006/09/29(金) 03:52:10バージョン違いによるコンフリクト問題も解決するそうだ。
RPM(Redhad Package Manager)の依存関係みたいなもんかね?
それか、Fedora Coreで使われているWindowsUpdateライクな
yumでrpmを管理できるような仕組みとかできんのかね。
PM(Perl Module)というより、CPANモジュールみたいなもんかね?
するとApache Mavenで使われているJakarta JJarをJavaで標準装備するってことかね?
0534デフォルトの名無しさん
2006/09/29(金) 04:05:31JNLPファイルのようにメタデータ情報を記載しておくってことか。
たとえ依存関係にあってもバージョンが異なれば、依存できないようにするとか設定できるわけか。
まさにRPMそっくり。JavaレベルでRPM同等のことができるとは、嬉しいことだね。
これで、Jakarta JJarやApache Mavenの仕様も若干かわることになるかな。
さらにJARの名前空間もサポートするとは。
バージョン管理されたマシン上で保存、探索のためのリポジトリもサポートとは。
モジュールのインストール、削除もサポートするのか。
ランチャー、クラスローダ探索のサポートか。モジュールチェック。
これだと、RPMどころか、yumやCPAN, JJarに似てくるってことか。
0535デフォルトの名無しさん
2006/09/29(金) 04:07:19Eclipseのアップデートマネージャみたいだね。あのプラグインフレームワークがJavaで
標準で使えるようになればかなり大きな進化になるぞ。
0536デフォルトの名無しさん
2006/09/29(金) 04:18:54後藤大地 2006/3/17
http://journal.mycom.co.jp/news/2006/03/17/343.html
Java Community Process, JSR 291 Expert Groupは14日(米国時間)、
「JSR 291: Dynamic Component Support for Java SE」がJSR Review Ballotの
ステージを通過したことを発表した。投票期間は2月28日から3月13日(米国時間)まで。投票結果は次のとおり(全数16)。
* 賛成 11
* 棄権 0
* 反対 4
* 投票なし 1
「JSR 291: Dynamic Component Support for Java SE」は、既存のJava SEプラットフォームに対
してダイナミックコンポーネントフレームワークのサポートを規定するもの。OSGiから提供されてい
るダイナミックコンポーネントモデル仕様をベースにして策定が行われる予定になっている。
初期レビューのフェーズはクリアしたが、Google、JBoss、Suleiman, Sun Microsystemsの4社は
反対を表明している。「JSR 291: Dynamic Component Support for Java SE」の策定に賛成しなかっ
たメンバーの主な反対理由は次の通り。
* すでにOSGiから提供されている仕様があり、それがすでに十分なものであるなら、わざわざJCPにお
ける認証プロセスを経てJSRに策定する意味があるのか
* 「JSR 277: Java Module System」においてJavaにおける次世代モジュール仕様が定義されており、
OSGiにも適応することができるように努力している。別途JSRを用意する必要はないのではないか
* OSGiと重複した規格を策定することはOSGiを軽んじることなりはしないか
* OSGiを参照するように明示するだけで十分ではないのか
JSRにおける他の規格との重複、JSR以外の規格との重複が指摘されたものであり、賛成/反対とも、
提出されている意見が興味深い。賛成を表明したメンバーも、OSGiやJSR 277にふれ、意見を述べている。
JSR 291のスペックリードはIBM, Glyn Normington氏。Expert GroupにはIBMやIntelをはじめHall, Richard S.、
Hedman, Niclas、Kriens, Peter、Nortel、ProSyst Software GmbH、Snyder, Bruceがエントリされている。
半月ほどでエントリが倍になったことになる。
0537デフォルトの名無しさん
2006/09/29(金) 04:20:01Googleが反対しているところが気になった。
それどころか、Sunも反対とは。
IBMが推しているのは、Eclipseの
プラグイン管理がOSGiフレームワークに基づいているからかね。
0538デフォルトの名無しさん
2006/09/29(金) 04:23:55http://journal.mycom.co.jp/news/2006/02/25/360.html
JSR 198は、16中10の賛成を得て可決されたが、棄権に付随したコメントは、
このJSRの今後の展開について重要な示唆を含んでいる。代表的な統合開発環境
がJSR 198に対応した場合、たとえばEclipse IDE向けに開発されたプラグインであっ
ても、そのままNetBeans IDEで使用できるようになると期待されているが、どれだけ
実現されるかは今後の展開にかかっているといえる。
これってかなり重要だな。
EclipseのプラグインがそのままNetBeansでも使えるようになることは俺が夢見ていることだ。
0539デフォルトの名無しさん
2006/09/29(金) 07:15:31J2MEにはJSR283でOSGiを導入しているから、OSGiですでにあるからとか
いうのはおかしい話だ。
0540デフォルトの名無しさん
2006/10/03(火) 13:47:30http://www.writely.com/Doc.aspx?id=k73_1ggr36h
0541デフォルトの名無しさん
2006/10/03(火) 18:00:13new Thread(new Runnable() {
public void run() {
foo();
}
}).start();
が
new Thread(Runnable(){ foo(); }).start();
に変わるってのが特徴なのかな?
しかし、run()メソッドの中で使っているってどうやってわかるんだろう。
約束事になるってこと?
それと気になるのはfor文の中でpublic が使えるようになっていることだね。
" for (public int taskId = 0; taskId < NUM_TASKS; taskId++) {
executor.execute(Runnable(){ newTask(taskId); });"
http://www.writely.com/Doc.aspx?id=k73_1ggr36h
0542デフォルトの名無しさん
2006/10/04(水) 00:35:36ちゃんと読んだ?for文でpublicが使えることが重要なんじゃなくて
publicをつけたはclosure内から参照&書き換えできるようにしようって話だよ。
0543デフォルトの名無しさん
2006/10/04(水) 05:00:04http://gafter.blogspot.com/2006/10/iterative-control-abstraction-user.html
0544デフォルトの名無しさん
2006/10/04(水) 05:20:40なんかややこしいな
Mapをループで楽に扱うなら
for(String key,String value: map)
みたいに拡張for文をさらに拡張したほうがわかりやすいと思うのだが
0545デフォルトの名無しさん
2006/10/04(水) 05:53:42問題は Map 以外に使い道があるかって感じかな。
拡張for を更に拡張してくのは、基本的に言語を肥大化させる方向性。
>>543 のは複雑になるけど、どちらかと言えばライブラリを肥大化させる方向性。
どちらかしか選べないなら後者を支持するかな。
0546デフォルトの名無しさん
2006/10/04(水) 11:18:00確かにほしい場面はあるが・・・
0547デフォルトの名無しさん
2006/10/04(水) 15:17:39そんな仕様になったら、名前空間がどうなってしまうのだろうか。
グローバル変数のような事態に陥ってしまいかねないか?
0548デフォルトの名無しさん
2006/10/04(水) 22:49:09valueがほしいときにkeySetをイテレートでまわしてからとるのと
最初からentrySetをイテレートでまわしてからとるのとでは
速度にかなり差があるよ。わかっててやってるならいいが。
0549デフォルトの名無しさん
2006/10/04(水) 23:21:12実際に速度はかってみたの?
0551デフォルトの名無しさん
2006/10/05(木) 00:38:040552デフォルトの名無しさん
2006/10/05(木) 00:40:09ここらでオブジェクト指向を感じるときもしばしば
0553デフォルトの名無しさん
2006/10/05(木) 01:00:02で、どれだけの速度差が出たの?
0554デフォルトの名無しさん
2006/10/05(木) 02:26:33内部でpivot操作できるようになっていれば
従来通りのやり方でも高速になるんだがなー
0555デフォルトの名無しさん
2006/10/05(木) 22:49:45俺は >>548 じゃないが、Map まわすときの常識だ。
entrySet を使わない奴はその存在を知らん初心者だけ。
速度差なんか要素数で変わるが、keySet で回して value
取り出すほうが遅いのはあきらか。
0556デフォルトの名無しさん
2006/10/05(木) 22:57:37アノテーションとかあるし何かいい方法がありそうなもんだが。
POJO相手にリフレクション使う最近のフレームワークを見て思う。
0557デフォルトの名無しさん
2006/10/05(木) 23:35:49拡張forつかわないのならいいのかもしれんがね
0558デフォルトの名無しさん
2006/10/06(金) 01:39:04>拡張forつかわないのならいいのかもしれんがね
for (Entry<K, V> entry : map.entry()) {
K key = entry.getKey();
&nssp; V value = entry.getValue();
…
}
ってするだけですが。
0559デフォルトの名無しさん
2006/10/06(金) 01:40:05>>557
>拡張forつかわないのならいいのかもしれんがね
for (Entry<K, V> entry : map.entrySet()) {
K key = entry.getKey();
V value = entry.getValue();
…
}
ってするだけですが。
0560デフォルトの名無しさん
2006/10/06(金) 09:25:29このスレに来る前に現行 Java のことを覚えてきてくれ。
0561デフォルトの名無しさん
2006/10/06(金) 11:04:59つけて、依存関係にあるJARファイルのチェックをしたい。
どうすればいい? そして最新のクラスだけ使用したい。
Java Module Systemが登場するまでこれはうまくいかない?
0562デフォルトの名無しさん
2006/10/06(金) 11:07:00List<String> list1 = 省略
List<Integer> list2 = 省略sizeはlist1と同じ
for(String str:list1 , Integer i: list2){
//省略
}
みたいな
0563デフォルトの名無しさん
2006/10/06(金) 11:11:35あとから、b.jarを入れた。このJARはa.jarに依存する。
しかし、このb.jarは、最新版のa.jarに依存しており、古いクラスが入ったa.jar
には依存できない。今、b.jarは最新版のa.jarを欲している。
ここで最新版のa.jarを入れてみたいが、古いa.jarが他の会社のプログラマが
入れて者で、上司に「ここは絶対に弄るな!(激怒」と厳重に、そのJarファイルの操作を束縛されている。
クラスパスから外すこともディレクトリ移動も設定ファイルの変更も許されていない。
サーバ内にある既存のシステムをただ拡張するだけにしろと支持されている。
どうする? もう納期は迫っている!!!徹夜残業に
加え休日返上する事態にまで追いやられた!切迫した事態だ!
上司のメールには【大至急】とSubjectについている。
上司の指示に逆い反旗を翻してa.jarをアップデートすべきか?
それとも上司の指示に従うために最新版a.jarを適用するのを諦め、そのために
b.jarの適用も諦めて、b.jarに相当し古いa.jarに会わせたパッケージを莫大な時間とコストをかけて自作するか?
さあどうするどうする!!!!!?
0564デフォルトの名無しさん
2006/10/06(金) 11:18:11上司に決めさせれば〜?
0565デフォルトの名無しさん
2006/10/06(金) 11:27:13最新のa.jarをコピーしてpackage nameをかえる。
IDEを使えば一瞬ですむ
b.jarはそっちを使う。以上
0566デフォルトの名無しさん
2006/10/06(金) 12:16:29その書き込みをそのまま上司にメールして決済させればいいじゃねぇか
判断するために高い地位にいるんだから。
0567デフォルトの名無しさん
2006/10/06(金) 18:36:38この場合では、
「b.jarに相当し古いa.jarに会わせたパッケージを莫大な時間とコストをかけて自作する」
0568デフォルトの名無しさん
2006/10/06(金) 21:47:500569デフォルトの名無しさん
2006/10/06(金) 21:55:04この話はすでにもう終わったことなんだが、
そのとき上司が、jarどころかJavaのことをろくにわかってなくて
Javaのクラスパスといっても理解できなかったので救いようがなくてさ。
結局おれの判断でやったよ。テストしてみてその結果で判断するってことになって。
テストもショボい問だけど本番のサーバ環境でJarをバックアップしてから上書きして
Tomcatを再起動してテストして、
テストが終わっておかしかったらまた古いJarに戻してTomcatを再起動するというとんでもないこと
やっていたよ。
しかも俺に客先のサーバのroot権限のパスワード教えちゃってさ。
0570デフォルトの名無しさん
2006/10/06(金) 21:58:26> スレ違いだろ
> 最新のa.jarをコピーしてpackage nameをかえる。
> IDEを使えば一瞬ですむ
a.jar解凍してから勝手に改変してEclipseのリファクタリングか。
うーむ。それはたまたまJakartaのブツだったからよかったが・・・。
a.jarとb,jarと自分が開発しているソースコードすべてを
Eclipseのプロジェクト上でソースコードに展開して
リファクタリングするわけだろ。
あとでb.jarに依存するJakartaのJarがあったら、
そのJarもいちいち名前変更リファクタリングしないといけないのか。
放置していると悪循環に陥りそうだ・・・
0571デフォルトの名無しさん
2006/10/06(金) 22:00:31それはありがちだな。
Jakarta 並みのでっかいものを自作で手がけるとコスト増大だな。
>>565の名前変更リファクタリングなら確かに有効かも知れない。
>>568
クラスローダか
0572デフォルトの名無しさん
2006/10/06(金) 22:05:02おまえ基本的に分かってないだろ?
解凍など不要
0573デフォルトの名無しさん
2006/10/07(土) 01:44:26if(name.startWith("mondai.no.package"))
//新しい方のa.jarを使う
これでいいんでない?
もしくわこっそりコードの中でclasspathを変える。
まずばれる心配はない。
0574デフォルトの名無しさん
2006/10/07(土) 02:19:20内部では解凍を行っているが表面上は
ユーザによる解凍操作が不要ってことを言いたいのか?
0575デフォルトの名無しさん
2006/10/07(土) 16:38:08今度のJavaって、複数のバージョンを混在できるようにっていう
フィーチャー無かったっけ?こういう時役に立つ?
0576デフォルトの名無しさん
2006/10/07(土) 16:52:38>>526 前後
0577デフォルトの名無しさん
2006/10/07(土) 17:17:580578デフォルトの名無しさん
2006/10/07(土) 22:53:06VelocityとBeanUtilsとHttpClient何かを使っていたときだったろうか、
古いオッサンが書いたコードにバージョンの古いVelocityと何かが
使われていて、その「何か」はなんだか覚えていないけど、Commonsの古いバージョンのものだった。
そしたら、その古いやつに依存する他のJarも古い奴で新しい何かとは互換性がなかったんだ。
それで仕方が無くHttpClientを3.0から2.0にダウングレードする羽目になってしまったよ
0579デフォルトの名無しさん
2006/10/09(月) 18:38:44> どうせ過去の年号なんて一年二年ずれてたり、
> 鎌倉幕府ができたとしが1192年かと思ったら全然違う年に
> できたことがわかって教科書もかわったし「いい国作ろう鎌倉幕府」
> なんて暗記もまったく役に立たなくなった。
過去レスですまないが、君、歴史に無知すぎ
「年号」と「鎌倉幕府」は、全く直行する概念
0580デフォルトの名無しさん
2006/10/09(月) 18:39:470581デフォルトの名無しさん
2006/10/09(月) 19:26:13空気嫁。
言いたいことは歴史の正確さの問題だろ。
年号と幕府創設との間には直接な関係は無いが
細かい年号を定めたところでその年号が正しい数値に
なるのか?ってことだ
0582デフォルトの名無しさん
2006/10/10(火) 00:23:16スレタイ嫁。
0583デフォルトの名無しさん
2006/10/10(火) 00:50:320584デフォルトの名無しさん
2006/10/10(火) 01:18:430585デフォルトの名無しさん
2006/10/10(火) 09:44:370586デフォルトの名無しさん
2006/10/10(火) 17:44:45延期されたよ
0587デフォルトの名無しさん
2006/10/11(水) 20:02:08その程度のスレ違いはまだよい。
過去にはもっと酷い話題でやたら盛り上がったのがこのスレ
0588デフォルトの名無しさん
2006/10/12(木) 18:54:06System.out.println(i);
}
みたいな構文もキボン
実行結果
0
1
2
3
4
0589デフォルトの名無しさん
2006/10/12(木) 19:23:59>>543 の構文が採用されれば
public interface B<throws E>{ void invoke(int i) throws E; }
public static <throws E> void for each(int num, B<E> block) throws E {
for(int i = 0 ; i < num ; i++) block.invoke(i);
}
for each(int i : 5){ System.out.println(i); }
とかできるようになるよ。
もっとも、まだ草案レベルだろうし、実際に採用されるかも知らんけど。
0590デフォルトの名無しさん
2006/10/12(木) 19:58:20Intervalって名前付けられたクラスのインスタンスが行う振る舞いな気がする。
0591デフォルトの名無しさん
2006/10/12(木) 23:46:57そんなこと
public int[] seq(int start, int end)
みたいなapiでたりるだろ
for(int i : seq(0,5)){
//
}
これじゃだめ?
0592デフォルトの名無しさん
2006/10/13(金) 00:16:59それだと、約intのサイズ * (end - start) バイト分のメモリが必要になるから、
end - startが大きい場合に、多量のメモリを消費するという問題がある
0593デフォルトの名無しさん
2006/10/13(金) 00:17:39自己レス
間違えた。>>547じゃなくて、>>591だった
0594デフォルトの名無しさん
2006/10/13(金) 00:40:03富豪的プログラミングって奴ですな。
それなら int[] じゃなくて Iterable<Integer> 返した方が良いんじゃない?
0595デフォルトの名無しさん
2006/10/13(金) 01:44:31速度重視なら591
(もちろんstatic finalにしてconst化する)
メモリー効率重視なら594
と選択肢があるのはよいと思うが。
0596デフォルトの名無しさん
2006/10/13(金) 01:54:35これは笑うところだよな?
ってか、Tiger の構文で良いなら現世代スレ行け。
http://pc8.2ch.net/test/read.cgi/tech/1150286189/
0597595
2006/10/13(金) 01:56:11多少Integerのキャッシュが寄与するくらいだね。
メモリー効率だとfor(int i =0; i<6 ;i++)か。
0599デフォルトの名無しさん
2006/10/13(金) 02:09:22たぶん・・・「もちろん」だと思う
そこまで強調しなくてもいいし
と、、その記述が持つ性能向上はJVMの最適化能力によって次第に誤差に・・・
「const化」という用語も何か違和感感じるし・・・
staticにすることでのメソッドのメモリ消費量ということでいうなら
まぁ変わらんだろうから、そこを笑ってる可能性も否定しきれない
0600595
2006/10/13(金) 02:16:30本当はinlining(だっけ?)とかいうんだろうけど、const化のほうが分かりやすいでしょ。
0601デフォルトの名無しさん
2006/10/13(金) 02:18:16Hotspotの最適化能力をなめてはいけません。
static finalのインライン化はコンパイラだけどね。
0602595
2006/10/13(金) 02:30:16とにかくそれしきのことに新しい文法はいらないでないか?と言いたかった。
蛇足かも知れないが591がインライン化されるとメモリーそんなに使わないんじゃないか?
0603デフォルトの名無しさん
2006/10/13(金) 02:40:48マイクロベンチするとある回数から突然速くなるけど
サーバとかの運用でもその段階で最適化は止まるの?
それとも常日頃からOracleでいうanalyzeみたいなことしてるの?
0604デフォルトの名無しさん
2006/10/13(金) 02:42:53http://pc8.2ch.net/test/read.cgi/tech/1150286189/
次世代な話題じゃなくなったんで
スレ移動したよ
0605デフォルトの名無しさん
2006/10/13(金) 03:15:32>>591はインライン化されてもメモリ使うだろう。seqの呼び出しで
繰り返し回数分のサイズを持ったintの配列が必ず確保されてしまうから。
0606デフォルトの名無しさん
2006/10/13(金) 05:13:33そこまでして便利さじゃなくて速さを求めるなら他の言語でやれ。
0607デフォルトの名無しさん
2006/10/13(金) 13:02:160608デフォルトの名無しさん
2006/10/13(金) 14:13:19速度を求めるために文法を改造することにこだわって
C++やC#のようにスパゲティコード生成言語に成り下がるのは
ちょっとねえ
0609デフォルトの名無しさん
2006/10/13(金) 15:38:52お前誰だよ。
0610デフォルトの名無しさん
2006/10/13(金) 16:09:47お前こそ誰だよ
0611デフォルトの名無しさん
2006/10/13(金) 16:18:160612デフォルトの名無しさん
2006/10/13(金) 16:27:100613デフォルトの名無しさん
2006/10/13(金) 16:33:15それでも「速度」とか関係ない方向を見てる奴がいるとは…
0614デフォルトの名無しさん
2006/10/13(金) 16:37:420615デフォルトの名無しさん
2006/10/13(金) 16:38:08開発現場はBREWだろうがJavaだろうが、成功していないように
見えるが・・・
0616デフォルトの名無しさん
2006/10/13(金) 17:41:51遅いより速いほうがだれだっていいからな
状況に合わせて選択するクライアントVMと鯖VMがあるのもその証拠
ただ、速度という項目が一番目にはこないだけ
C言語と同じだろ
0617デフォルトの名無しさん
2006/10/13(金) 17:46:18Javaアプリを一旦起動すると、二回目移行からは
ネイティブアプリとして起動するために無駄にコンパイルせず
高速化するというPreJITが搭載されるのは
0618デフォルトの名無しさん
2006/10/13(金) 18:53:080619デフォルトの名無しさん
2006/10/13(金) 21:00:180620デフォルトの名無しさん
2006/10/13(金) 21:02:39多少はリソースの消費量が抑えられるようになるんじゃないかな。
対PHP向けにチューニングしてくれんかね、CGI代わりに使いたい
0621デフォルトの名無しさん
2006/10/13(金) 22:16:560622デフォルトの名無しさん
2006/10/14(土) 00:38:02タスクトレイを使えるようになったことGUIが刷新されたこと
JMXが使いやすくなったことなど、
でかいことはかなりあると思うが
0623デフォルトの名無しさん
2006/10/14(土) 00:51:08単なる社内部の言語が、もはやないと困るほど広まっている
のは成功といえないか?
0624デフォルトの名無しさん
2006/10/14(土) 00:53:16C(とアセンブリ)は速度重視が主目的だが、何がC言語と同じなんだ?
0625デフォルトの名無しさん
2006/10/14(土) 01:04:06エロイ人は、なぜ高級言語を生み出したのか脳内で100回暗唱しる。
0626デフォルトの名無しさん
2006/10/14(土) 01:44:320627デフォルトの名無しさん
2006/10/14(土) 03:52:13お前、日頃から「キモイ」って言われてないか?
JavaじゃなくてCを駆使した速度チューニングの方がお前に向いてると思うぞ。
0628デフォルトの名無しさん
2006/10/14(土) 10:20:270629デフォルトの名無しさん
2006/10/14(土) 14:45:01>ネイティブアプリとして起動するために無駄にコンパイルせず
今も昔もコンパイルしてませんが。
0630デフォルトの名無しさん
2006/10/14(土) 14:51:080631デフォルトの名無しさん
2006/10/14(土) 14:51:53jdk-7で導入かね?
0632デフォルトの名無しさん
2006/10/15(日) 00:32:26どうやって?
0633デフォルトの名無しさん
2006/10/15(日) 23:51:550634デフォルトの名無しさん
2006/10/15(日) 23:53:280635デフォルトの名無しさん
2006/10/16(月) 00:41:10newが出来ないのでダメーwwwじゃねーよ orz
0636デフォルトの名無しさん
2006/10/16(月) 00:49:42そんな欠点が
ひでぇ
最近シリアライズにそれ使ってないからわからんかった
JAXBはうごくんかね
enumはまともなプログラマなら使いまくるからね
心配になってきた
0637デフォルトの名無しさん
2006/10/16(月) 02:00:28あくまでnew Integer(int)に拘る香具師みたいだな
0638デフォルトの名無しさん
2006/10/16(月) 07:07:43FindBugs じゃはじかれるけどねw
0639デフォルトの名無しさん
2006/10/16(月) 07:22:22めったに遭遇しない程度?
0640デフォルトの名無しさん
2006/10/19(木) 18:33:020641デフォルトの名無しさん
2006/10/19(木) 18:41:07enumが独自の型だと型変換で悩むし
値私などの扱いに苦しむ
0642デフォルトの名無しさん
2006/10/19(木) 19:00:500643デフォルトの名無しさん
2006/10/19(木) 19:09:22enum は現行世代だから。
0644デフォルトの名無しさん
2006/10/19(木) 21:21:440645デフォルトの名無しさん
2006/10/20(金) 00:21:43むしろクラスらしくextendできるようにしてほしい。
何か理由があるんだろうが。
0646デフォルトの名無しさん
2006/10/20(金) 00:27:110647デフォルトの名無しさん
2006/10/20(金) 00:30:57現世代Javaの動向 1
http://pc8.2ch.net/test/read.cgi/tech/1150286189/
0648デフォルトの名無しさん
2006/10/20(金) 09:24:31http://d.hatena.ne.jp/sumii/20060928/1159394568
http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/sumii/20060928/1159394568
0649デフォルトの名無しさん
2006/10/20(金) 12:30:26このスレ的には、そっちよりは
http://d.hatena.ne.jp/sumii/20060928/1159403268
の方が問題っぽいな。次世代じゃないけど。
B#compareTo(B) が override なのか overload なのかがわからん。
言語仕様みてみたけど、subsignature の説明で使われてる
the erasure of the signature って部分の厳密な意味がわからんので。
@Override つけると蹴られるので、コンパイラは overload と解釈してるっぽい。
個人的には言語仕様のミスなんじゃないかと思うんだが……
0650デフォルトの名無しさん
2006/10/20(金) 12:46:050651デフォルトの名無しさん
2006/10/20(金) 13:13:42できるはずだが、できなくなったのか?
0652デフォルトの名無しさん
2006/10/20(金) 13:21:53つまり
interface A { void m(); }
class B implements A { @Override public void m(){} }
は蹴られる、と。 6.0 では この振る舞いは変更されてるけど、
ドキュメントの方は変更無し……
0653デフォルトの名無しさん
2006/10/20(金) 13:24:49元から出来ないよ。
8.1.4 Superclasses and Subclasses
http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.1.4
> It is a compile-time error if the ClassType names the class Enum or any invocation of it.
0654デフォルトの名無しさん
2006/10/20(金) 13:43:250655デフォルトの名無しさん
2006/10/20(金) 14:42:00調べてみたけど、
8.4.8.3 Requirements in Overriding and Hiding
http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.4.8.3
> It is a compile time error if a type declaration T has a member method m1 and there exists
> a method m2 declared in T or a supertype of T such that all of the following conditions hold:
>
> ・m1 and m2 have the same name.
> ・m2 is accessible from T.
> ・The signature of m1 is not a subsignature (§8.4.2) of the signature of m2.
> ・m1 or some method m1 overrides (directly or indirectly) has the same erasure
> as m2 or some method m2 overrides (directly or indirectly).
・B#compareTo(B) と A#compareTo(Object) は同じ名前。
・A#compareTo(Object) は B からアクセス可能
・B#compareTo(B) は A#compareTo(Object) の subsignature じゃない(たぶん)
・B#compareTo(B) が実装してる Comparable<T>#compareTo(T) と
A#compareTo(Object) は same erasure。
なのでコンパイラがエラー吐かないのはバグなのかも?
0656デフォルトの名無しさん
2006/10/20(金) 15:13:030657デフォルトの名無しさん
2006/10/20(金) 15:26:24enum E{ a{ public String toString(){ return "overriden toString"; } } }
とかできるけど、extends java.lang.Enum できるかとは全く関係ないと思うぞ。
0658デフォルトの名無しさん
2006/10/20(金) 15:38:42そもそもenumは列挙定数なのでポリモーフィズムが意味ない
static intの代わりと考えればわかりやすい
そして宣言時の拡張は意味がある
インターフェースを付け加えたりすることが可能
switchでenumの初期実装がifだったんだからそろそろプリミティブ以外も
switch対応してほしいな
そっちのほうがよっぽどeod
クラスを入れた場合はtoString()で分岐くらいいれてもいいのに
0659デフォルトの名無しさん
2006/10/20(金) 15:47:43それはそれで C の enum に毒された発想のような。
ってか、「関係がある」という説明になってないし。
> switchでenumの初期実装がifだったんだから
それ、記憶違いとか見間違いじゃなくて?
0660デフォルトの名無しさん
2006/10/20(金) 16:02:21> クラスを入れた場合はtoString()で分岐くらいいれてもいいのに
そこは普通 equals() だろ。
どーゆーセンスしとんだ?
0661デフォルトの名無しさん
2006/10/21(土) 04:20:310662デフォルトの名無しさん
2006/10/21(土) 16:09:21> > switchでenumの初期実装がifだったんだから
> それ、記憶違いとか見間違いじゃなくて?
もしくは、case の数やらバイトコードのアラインの関係で
tableswitch や lookupswitch 使ってないだけだったりして。
0663デフォルトの名無しさん
2006/10/21(土) 16:16:21最初はif文であってる
0664デフォルトの名無しさん
2006/10/21(土) 16:57:220665デフォルトの名無しさん
2006/10/21(土) 18:19:45if文で結構。分かりやすい。
0666デフォルトの名無しさん
2006/10/21(土) 18:23:56>if文で結構。分かりやすい。
どっちもどっちだな
0667デフォルトの名無しさん
2006/10/21(土) 18:39:160668デフォルトの名無しさん
2006/10/21(土) 18:42:171.4から5.0への実行性能向上より大きいんだけど
これってSUNの捏造?
0669デフォルトの名無しさん
2006/10/21(土) 18:48:456で大きく変わってもおかしくはない
0670デフォルトの名無しさん
2006/10/21(土) 19:04:461.4から4ではGC周りが結構改善されてて個人的には1.4に比べてだいぶ助かってる
デスクトップ用途も結構パフォーマンス上がってたんだが
まぁ、サーバ用途に比べたら差がなかったかもな
6は・・・1.4→5よりも俺的には衝撃少ないかな
それというのも、リリース前からずっと試せてるし・・・
速度よりもデスクトップ用途の機能増の方が注目かな
0671デフォルトの名無しさん
2006/10/21(土) 19:15:26ベンチにその結果がでてくるかというと微妙だな
ただ、5.0はコンカレントAPIとか拡張構文とか便利だしもう1.4にはもどれんわ
ListとかMapとかでてくるとソースみないと中身がわからないというのが非常に困る
6はJava2DがWindows以外でやっとアクセラレーションがきくというから期待している
Windows版は変わってない気がするが
0672デフォルトの名無しさん
2006/10/21(土) 19:18:03遅くしない、止めないための仕組みだから
どうも間違って期待してる人がいるようで・・・・
0673デフォルトの名無しさん
2006/10/21(土) 19:35:466.0 から入るとかいうエスケープ解析で
最適化しやすいコードで比較した場合の図だったんじゃね?
0674デフォルトの名無しさん
2006/10/21(土) 19:36:46>>659の前半は間違ってない
0675デフォルトの名無しさん
2006/10/21(土) 20:00:35GC時間が長ければ影響する
結果GCが最適化されていれば早くなる
5.0からはインクリメンタル指定がコンカレントGCなんだが、これかなりスループットさがるんだよね
ずっと通常の世代別GC以外はチューニングがイマイチなのはなんとかならんのかねぇ
コンカレントGCにしないとスループットよりレスポンスが重要なゲーム関係がイマイチだし
そもそもGCは場所によって利き方をコントロールさせてほしい
このメソッドだとスループットが必要、このメソッドはレスポンスが必要とかあるんだから
ひとつで何とかしようとすること自体が無理
あとSystemGCは実際にSunの実装としてフルGCがはいるが、新世代だけのGCとかも
コントロールできるようにしてほしいな
このへんは実装依存になるからアノテーションでヒントを与えるとかそういう感じで
0676デフォルトの名無しさん
2006/10/21(土) 20:04:17ttp://sdc.sun.co.jp/news/2006/06/images/j1r-perf-specjbb.jpg
0677デフォルトの名無しさん
2006/10/21(土) 20:28:04確かにGCにヒント出せると助かるなぁ
0678デフォルトの名無しさん
2006/10/21(土) 20:28:55あれはintがいいとかじゃなくてstaticだというところをアピールしたかっただけ
intなのは1.4までの列挙に使われてたというのをあらわしている
しかしEnumMapのコンストラクタはどうにかならなかったのかねぇ
>>676
2005年から2006年になってチューニングが進んだというのは考えられるが
SPECjbb2000というのが気になるな
非現実なコードだったりして当時から存在意義を問われたベンチだったのだが
2005は大幅に改善されたが5.0以上が対象だったからということなんだろうけどね
0679デフォルトの名無しさん
2006/10/21(土) 20:47:120680デフォルトの名無しさん
2006/10/21(土) 20:53:52> あれはintがいいとかじゃなくてstaticだというところをアピールしたかっただけ
それなら必要なのは static の他に final だろ。int よりは。
0681デフォルトの名無しさん
2006/10/21(土) 20:54:34>>353
0682デフォルトの名無しさん
2006/10/21(土) 20:56:100683デフォルトの名無しさん
2006/10/21(土) 22:02:20JSR-277のEDR期間だったのでドラフトにざっと目を通してみた。
これ、すでにJavaME向けに通過してるJSR-232やOSGiの車輪の再発明
しちゃったって感はやっぱあるなあ。前回の投票時のBEAとIBMのコメントは
実質無視ってわけか。
0684デフォルトの名無しさん
2006/10/22(日) 01:16:09おいおい、TypeSafeの意味がねえじゃねえか。
不変クラスはfinal にしてこそ、価値がある。
0685デフォルトの名無しさん
2006/10/22(日) 01:17:41トラックバック:http://d.hatena.ne.jp/sumii/20060928/1159394568
東京大学教養課程の第一プログラミング言語がRubyに
http://d.hatena.ne.jp/sumii/20060928/1159394568
型変換に悩まなくて済む分、VB厨みたいな馬鹿を東大から
量産しそうだな
0686デフォルトの名無しさん
2006/10/22(日) 01:18:450687デフォルトの名無しさん
2006/10/22(日) 01:20:10文系東大卒は堀江被告みたいな馬鹿ばかりなのでどうでもいいや
0688デフォルトの名無しさん
2006/10/22(日) 01:22:54Ruby も良い言語だし、良いんじゃない?
ってか、言語論争やりたきゃ他所でやれ。二度と帰ってくるな。
0689デフォルトの名無しさん
2006/10/22(日) 01:23:530690デフォルトの名無しさん
2006/10/22(日) 01:59:060691デフォルトの名無しさん
2006/10/22(日) 08:56:59制御できないから、やっぱり何らかの明示的なメモリブロックの破棄を
サポートして欲しいな。
デメリットは、リファレンスのテストだけじゃそのリファレンスが有効かどうか
判断できなくなるというのがあるけど、free()使いたい香具師には問題ないよね?
どうせならリファレンスカウンタを併用してもいいし。
0692デフォルトの名無しさん
2006/10/22(日) 09:58:59Perl → Mixi、はてな、Livedoor
PHP → Yahoo!
とかわかりやすい採用事例があるのですが、
Javaは特に思いつかないので困ってます。
次世代Javaではマーケティング面での戦略は進歩しますか?
0693デフォルトの名無しさん
2006/10/22(日) 11:29:42なんで採用事例がないのか考えてみるべきだろう。
言語仕様のせいじゃないわけだが。
0694デフォルトの名無しさん
2006/10/22(日) 11:36:250695デフォルトの名無しさん
2006/10/22(日) 11:38:300696デフォルトの名無しさん
2006/10/22(日) 11:41:31mustangあたりでどこか大手がJavaに乗り換えたりしないものだろうか。
0697デフォルトの名無しさん
2006/10/22(日) 12:42:040698デフォルトの名無しさん
2006/10/22(日) 13:06:07だと微妙だよな。
0699デフォルトの名無しさん
2006/10/22(日) 13:33:100700デフォルトの名無しさん
2006/10/22(日) 13:33:430701デフォルトの名無しさん
2006/10/22(日) 13:46:58結局同じ結果なのに高くつくでしょ?
新興企業・ベンチャー企業で金持ってないところでは、安い人件費で人海戦術が最強ってこと。
0702デフォルトの名無しさん
2006/10/22(日) 13:48:52あとMMOのサーバに使ってるとこもある
デスクトップだとDBやCADなんかの
フロントエンドに使われてるな。
0703デフォルトの名無しさん
2006/10/22(日) 14:12:39新興企業・ベンチャー企業にJavaはオーバースペックってこと?
そのへん解決するためにJavaEE5からはEoDを推し進めてるんじゃないの?
0704デフォルトの名無しさん
2006/10/22(日) 14:14:530705デフォルトの名無しさん
2006/10/22(日) 14:16:500706デフォルトの名無しさん
2006/10/22(日) 14:19:45perl、phpみたいに気軽に利用されるようになるとは思えない。
0707デフォルトの名無しさん
2006/10/22(日) 14:29:01PHPとJavaとでどっちが得できるかだな。
0708デフォルトの名無しさん
2006/10/22(日) 14:31:14GCが発生してもいいタイミングと発生するとだめなタイミングがあるからね
それに発生タイミングはコントロールは出来るよ
いつおきるかわからない0.1msのGCより、空きがなくならない限りGCがおこらないように
コントロールできるけど5msかかるGCだと後者のほうがゲームとかで非常に使いやすい
スループットは大幅に下がるけどそういうもの
ページフリッピング発行直前でGCがおこると1ms未満だろうが今回の垂直同期とりこぼす可能性はあるわけで
0709デフォルトの名無しさん
2006/10/22(日) 14:34:06開発(コード書き)のし易さ、メンテナンス・保守のし易さなんかはどうなのさ?
PerlやPHPでオブジェクト指向なんて泥沼だと思うけど。
0710デフォルトの名無しさん
2006/10/22(日) 14:37:42PHPとの比較でいいのならJSPだけでいいから難易度は同じ
Javaのほうがロジックが絡むとIDEの関係でかなり楽にコードが書けるからなぁ
>>706
気軽に開発できるだけならJSPだけでいいんじゃね?
DreamWeaverでデザインできるし
動的コンテンツ程度の気構えでいいのかシステム開発として
将来的なメンテも含めてどうかという視点での選択だけでは?
0711デフォルトの名無しさん
2006/10/22(日) 14:40:02現世代のマーケティング関連(よーするに言語論争と大差ないもの)は他所でやってね。
0712デフォルトの名無しさん
2006/10/22(日) 14:51:21このへんのが上手くいけばPerlやPHPが得意な分野で対抗できるんじゃないかな?
0713デフォルトの名無しさん
2006/10/22(日) 15:08:04GCを実行しない・指定期間は止めておくクラスとかメソッドってなかったか?
ん、あったか?なければ、コミュニティーでvoteしておくといいよ。
GCが発生して欲しくないのは、よく分かる。
0714デフォルトの名無しさん
2006/10/22(日) 15:11:46例えば一年程度しか使わないプロジェクトにとっては、
それでも魅力はないし、余計なコストもかかるからいらないんだよ。
面倒な事したいんだね、君は。
0715デフォルトの名無しさん
2006/10/22(日) 15:56:49個人的には、GCにメモリ管理を任せるメモリと
自分でリソース管理ができるメモリってのが使えればいいかな?
パフォーマンスが気になる部分では、そのメモリを使って発生オブジェクトから
GCを起こさせないようにする、と。
全部が全部管理しなきゃだめだから、free()が面倒なんであって
自分で気にしてる部分だけってことにできればねぇ・・・
無駄な使い捨てオブジェクトでGCの手間を増やす事も無くなる
0716デフォルトの名無しさん
2006/10/22(日) 16:11:08ならば使用メモリ量が把握できてるならゲームだったら
たとえば秒60回新世代専用のGCが発生させる手段があればいいだけ
FullGCを実行させる手段があるんだし可能だろう
その場合スレッショルドが問題となるかもしれないがそもそも
こういった用途ではスループットが絶対ではないので世代別
である必要がなかったりする
0717デフォルトの名無しさん
2006/10/22(日) 18:43:43それは違うな。C++でメモリ管理が行き届いたライブラリーを作って、
それを組み合わせれば、結局メモリ管理云々の話は出てこないはずだ。
つまり、君は大きく考えすぎているだけじゃないか。
0718デフォルトの名無しさん
2006/10/22(日) 19:09:17用途が狭いからむりかな。
0719デフォルトの名無しさん
2006/10/22(日) 19:31:21したいなら...
つ Javolution
ttp://journal.mycom.co.jp/news/2006/09/20/343.html
ttp://javolution.org/
既存ライブラリとの併用にはちょっと工夫が必要なようだが(FAQ参照)、
オブジェクトをdirect buffer上に確保してリサイクルすることでGCを起動さ
せないようになってるみたい。
0720デフォルトの名無しさん
2006/10/22(日) 20:18:09いや、Javaは言語ではなくプラットフォームだから
それを解ってない香具師がマ板やム板に未だにいるのが不思議
0721デフォルトの名無しさん
2006/10/22(日) 20:18:37ますます東大の価値を下げる結果になりかねないかもしれぬ
0722デフォルトの名無しさん
2006/10/22(日) 20:20:55> あまりプログラムに詳しくない人に説明するとき
> Perl → Mixi、はてな、Livedoor
> PHP → Yahoo!
> とかわかりやすい採用事例があるのですが、
> Javaは特に思いつかないので困ってます。
> 次世代Javaではマーケティング面での戦略は進歩しますか?
酷い喩えだ。
Java → 基幹系業務、金融系、各種オンライントレーディングサイト(例:イートレード証券)、
オンラインバンキングサイト(例:三井住友ダイレクト)、組み込み系(携帯電話)
などなど
と説明すればいい。
0723デフォルトの名無しさん
2006/10/22(日) 20:21:10採用事例がないってことはないだろ
0724デフォルトの名無しさん
2006/10/22(日) 20:21:25それも違う
0725デフォルトの名無しさん
2006/10/22(日) 20:22:01だが楽天証券はJava。
PHPを使ってるとこは
アクセスが殺到するところや、
クリティカルでない単純な処理をしているところ
0726デフォルトの名無しさん
2006/10/22(日) 20:22:23どうせなら、火星探査機とか銀行とかいったほうがましだと思う
0727デフォルトの名無しさん
2006/10/22(日) 20:23:36Amazon APIの中にはJavaが使われているところがあったりする。
もちろんGoogle APIも。
緻密な電子商取引が関わるところではJavaが使われると考えればいい。
昔はCOBOLが使われていたところをJavaにとってかわる、みたいな。
0728デフォルトの名無しさん
2006/10/22(日) 20:24:19Javaは言語だが、何が不思議なんだ?
0729デフォルトの名無しさん
2006/10/22(日) 20:24:29それだったらPHPだね。
PHP開発なら安い人件費で済ませることができる。
Javaでやると、Tomcatのセットアップやメモリ増設など、高くつく
0730デフォルトの名無しさん
2006/10/22(日) 20:28:00お前は東大じゃないだろ。余計な心配するな。
ところで、仕事は満足してるか?
0731デフォルトの名無しさん
2006/10/22(日) 20:28:52それも誤解を招く意見だ。
Sunは大手企業にJ2EEを普及させてきたという経緯はあるが。
むしろ、単なる検索するだけのサイトや操作に失敗しても
大して支障を来さないサービスなどにはJavaを使うには
オーバースペックということ。
失敗は許されない処理を、ミッションクリティカルなところに
Javaは適している。オンラインショッピングやオークション、
証券取引など。
誤発注なんて許されないからな。
検索エンジンが間違った検索結果を返してももう一度やり直せば
済むが、オンライントレーディングサービスが間違って指し値を指定したり
手持ち金も無いのに信用取引で間違って大量に株を大量購入するような
ことがおきればとんでもないことになる。
「間違ってもやり直せばいい」なんて考えは許されない。そんなところに
Javaが使われる。
0732デフォルトの名無しさん
2006/10/22(日) 20:28:56サーバー用のメモリは高いってとこにあるのかもシレンな
0733デフォルトの名無しさん
2006/10/22(日) 20:30:35PerlはPerl6が出れば少しは良くなるだろう。
それでもJavaには及ばないとは思うが。
PHPは名前空間が使えない時点で即座にアウト。
どちらも、オンライントレーディングサイトには
使って欲しくない言語だな
0734デフォルトの名無しさん
2006/10/22(日) 20:33:56> >>705
> PHPとの比較でいいのならJSPだけでいいから難易度は同じ
JSPのはうは型に厳しいという難易度がある、が、
カスタムタグライブラリやStrutsなどと併用するとなると、さらに難易度は上がる。
> >>706
> 気軽に開発できるだけならJSPだけでいいんじゃね?
考えが甘過ぎ。JSPがどれだけメモリを喰うと思っているんだ。
レンタルサーバでJSPやServletが使えるところがPHPやPerlなどと
比べて少ない理由をよく考えてみろ。
> DreamWeaverでデザインできるし
DWやAptanaなどはStruts向けに作られていないからそれも
どうかと思うが。DWだけではある程度までしか柔軟性を期待できない。
0735デフォルトの名無しさん
2006/10/22(日) 20:35:18それはどうかね。それはJavaでJNIを通してC/C++を使えるから
C/C++に劣らない速度を期待できるという考えに騙されてることに似ている。
0736デフォルトの名無しさん
2006/10/22(日) 20:36:14> GCの改善はそれはそれでやってもらっていいのだが、GCの発生自体は
> 制御できないから、やっぱり何らかの明示的なメモリブロックの破棄を
> サポートして欲しいな。
java.lang.ref.SoftReferenceだけじゃ物足りないかな?
0737デフォルトの名無しさん
2006/10/22(日) 20:37:23まさにjava.lang.ref
0738デフォルトの名無しさん
2006/10/22(日) 20:38:13それをPHPやPerl替わりに利用することに期待しない方がいいと思うぞ。
むしろ、お遊びやAjaxとの連携に使えるか、
ちょっとしたちっちゃなコードを埋め込みたいときに使えると考えた方が
楽じゃないかな
0739デフォルトの名無しさん
2006/10/22(日) 20:39:04Sunの説明では「Java」といっても言語という意味のほかに
プラットフォームという意味も含めているみたいだが
0740デフォルトの名無しさん
2006/10/22(日) 20:40:00東大でなくても、東大卒を信用できなくなるのは
がっくりじゃないか。あいつは東大だからこれができるだろう、と
思って期待してみたら全く仕事ができなくてがっかりするだろう
0741デフォルトの名無しさん
2006/10/22(日) 20:40:53メモリが少ないだけでなく馬鹿でも手軽に扱える、
Tomcatをインストールする必要がない、
レンタルサーバで導入しても複数人に個人用サイトを
運営させるのが楽ってのがある
0742デフォルトの名無しさん
2006/10/22(日) 20:43:39PHPが使われるのは敷居が低いからだと思うよ。
たとえば、画面にちょっとカウンタを表示したいとかだったら、PHPだったら
HTMLに直接PHP埋め込んで、HTML前後にタグを付けるだけで、ほれ、
PHPスクリプトできあがり、だからな。たしかに始めるにはお手軽だ。
敷居が低いから人が集まるし、敷居が低いから値段も安い。「それ、PHPだったら
いくらですか?」とかいわれるんだよ。もちろん、ビジネスだから安いほうがいいからね。
ところがHTMLに大量のロジックが混ざったようなHTMLだかコードだかわからないもの
の保守でいろんなところが混乱しているのが現状かな。いまでこそSmartyとかの採用が
進んでるんでマシだけど、「HTMLに直接書かないんだったらRubyかPythonでいいじゃん」
とか言われつつある。
正直、いま若手新人で「とりあえずPHPの仕事があるからPHPやっとけ」と言われている
人たちがかわいそすぎる。
0743デフォルトの名無しさん
2006/10/22(日) 20:43:54型に厳しいのは難易度低下だと思うが
実行前にチェックが出来るというのは大きい
ステップ実行とかも容易だしね
そもそもPHPとの比較ならStrutsは使わないという前提
カスタムタグなんていうのもループ以外使わない
それにDWでのJSP開発は難易度高くはないぞ
Tomcatと連携できるようになったバージョンからはね
>>737
それ使えないだろ
GCはしてほしいのだよ
ただ、タイミングをコントロールしたいだけ
0744デフォルトの名無しさん
2006/10/22(日) 20:44:30JVMはプラットフォーム
なら全然納得なんだけど。
0745デフォルトの名無しさん
2006/10/22(日) 20:45:05>JSPのはうは型に厳しいという難易度がある、が、
型に厳しいと難易度高いのか?
0746デフォルトの名無しさん
2006/10/22(日) 20:59:39MovableTypeやPukiwikiやMediaWikiに匹敵するものが見つからない
なんかいいものないかねえ
とりあえずブログのほうがこんなのがあったみたいだ
人力検索はてな - JAVAで作られたフリーのブログサイト構築ソフトを教えて下さい。無ければPHP,Perlでもいいです。
http://q.hatena.ne.jp/1107748399
0747デフォルトの名無しさん
2006/10/22(日) 21:10:20ちょっとぐぐったけどこんなのがあるみたいよ
The Roller Weblogger
Blojsom
MapleBlog
Blog
JSP Blog
SnipSnap
Pebble
Blogunity
DLOG4J
JSPWiki
DevWiki
VeryQuickWiki
Chiki
Snip Snap
FitNesse
UseModj
Friki
yaWiki
Platypus Wiki
XWiki
ButorWiki
JBossWiki
Elsie Wiki
JAMWiki
0748デフォルトの名無しさん
2006/10/22(日) 21:17:52Javaだったらふつうにblojsomがあるんじゃん、と思うんだが。
ttp://wiki.blojsom.com/wiki/display/blojsom/About+blojsom
Movable Typeに匹敵するほど有名だというつもりはないけど、
それでも超有名といってもいいと思うんだが。
まあ名前から分かる通り、bloxsomの影響を強く受けてるブログ
生成プログラム。
「Roller」
ttp://rollerweblogger.org/
もJavaでは有名だし、Apache入り寸前だぞ?
0749デフォルトの名無しさん
2006/10/22(日) 21:39:40純粋なWikiやBlogとは違うっぽいけどTuigwaaとかも結構面白そうだぞ。
DBも作っていけるぽい。
0750デフォルトの名無しさん
2006/10/22(日) 21:43:580751デフォルトの名無しさん
2006/10/22(日) 21:52:30東大卒を信用するとか信用しないとか、君はちょっと頭おかしいんじゃないか?
大学まで(人によっては高校まで?)の日本国教育課程を難無くこなしてきた
だけ、なにか特別な思いでもあるのか?
東大卒よりも、司法試験合格や国家一種や税理士とか持ってるほうが
よっぽど役に立つはずだろう。
0752デフォルトの名無しさん
2006/10/22(日) 21:58:59もう一回東大受験した方がいいと思うがな。
0753デフォルトの名無しさん
2006/10/22(日) 22:19:13主プログラムの方で「ちょっともたつく」原因がGCが作動するからなんだけど。
java.lang.refでGCの起動(作動)を指定時間止める事は出来たか?
0754デフォルトの名無しさん
2006/10/22(日) 22:41:28無理
0755デフォルトの名無しさん
2006/10/22(日) 22:49:29Sunはいつおきるかわからない0.1msのGCのほうが
指定可能な5msのGCよりすばらしいと考えてるのだろうか
0756デフォルトの名無しさん
2006/10/22(日) 23:00:29次世代で実現してくれって、英語のサイトに行って、voteして来いってこと。
理由は>>755でいいでしょ?
0757デフォルトの名無しさん
2006/10/22(日) 23:17:46今、BugDatabase 止まってるみたいだけど。メンテ中だっけ?
欲しい人は report 頑張ってね。
1票余ってるから脈ありそうだったら vote ぐらいはするからさ。
あと GCを指定時間止める、ってのは大雑把で使い勝手悪いんじゃないかと思ったり。
0758デフォルトの名無しさん
2006/10/22(日) 23:28:24できないんだっけ?
0759デフォルトの名無しさん
2006/10/22(日) 23:38:32普通の用途やGCを気にしてない人はGCを指定時間止めたりしないから、
特定用途(例えばゲームとかアニメーションとか)で、それも開始し忘れたり
キチガイなこと(指定時間が適当)やるなら自己責任でやっててオチだろ。
0760デフォルトの名無しさん
2006/10/22(日) 23:40:35メモリに空き容量があるうちでもGCを発行させたいが正解だな
0761デフォルトの名無しさん
2006/10/22(日) 23:42:440762デフォルトの名無しさん
2006/10/22(日) 23:47:231フレームで1回GCはしらせればその間にGCがはいることはない
もちろんその間にメモリが足りなければ入るべきだし
普通はどんなアプリであれメモリ使用量を把握するのは普通なので
そんなあふぉなことはおきない
0763デフォルトの名無しさん
2006/10/22(日) 23:53:32それとも現世代スレで続けるのか?
0764デフォルトの名無しさん
2006/10/23(月) 00:21:28おうサンクス。かなりの種類があるもんだな。
今、Perl + PHP製のMovableTypeが日本国内で優勢で
アメリカではMovableTypeの座を首位から奪った、
PHP製のWordPressが、優勢で
どうしようか迷っていたところだったんだ。
MovableTypeはエントリ数が多く、あるプラグインを入れると
再構築に時間がかかり糞重いので、
MovableType独自のタグも必要ない、
再構築の手間を省ける軽量のWordPressが勢力を拡大しているようだ。
Eclipseのようにプラグインが豊富にあれば、即座に
Java製ブログツールに飛びつくぞ。
そして、MTGoogleMaps, アフィリエイトサポート、
MTAmazon, MTPhotoGallery, MTBlackList, MTCollate, MTCompare,
MT-ISBN, MTWidgetManagerm MTPaginate, GoogleSearch, MTMacro,
MTIncludePlus, TinyMCE for MT, StyleCatcher, Template Baclup and Refresh,
OpenID Comment, などの各種MovableTypeプラグイン
に相当するプラグインや「はてなダイアリーキーワード」に
相当する機能、カテゴリ管理、タグクラウド、アクセス解析、moblog,
WordPressにも備わっている投稿スラッグ、それからテンプレート編集機能、
トラックバックスパム管理機能、それにAjaxによって管理しやすくなっている機能、
TypeKey認証またはOpenID認証、プラグイン開発支援、
などの機能がJava製ブログツールにあれば即座に飛びつく。
0765デフォルトの名無しさん
2006/10/23(月) 00:32:070766デフォルトの名無しさん
2006/10/23(月) 00:39:21完全にスレ違いなんだけど・・・
他所でやってくれんかね?
0767デフォルトの名無しさん
2006/10/23(月) 11:44:37最近考え付いたんじゃなくて10年位前のWeb黎明期にcgiから始めた奴らが中心にいるからだな
そこで、JavaをみるとIBMを中心に大手ベンダーがたむろしてるからその線で行くと利益むしりとられるただそれだけの話
プラットフォームとしては貧弱でも生産性がたいしてひどくなかったってのが正解
まちがっても作りづれえけど抱え込みの為には仕方が無かったなんて事言うわけには行かない
Yahooがphpなのはフロントエンドは出来る限り生産性を高めたいが、辞められても他じゃ使えない言語が良いって感じ
0768デフォルトの名無しさん
2006/10/23(月) 14:51:44文一、文二はそうでもないけど…
0769デフォルトの名無しさん
2006/10/23(月) 19:15:38学歴高いんだったら人系の仕事についた方がいいよ
0770デフォルトの名無しさん
2006/10/23(月) 19:32:54> Mixi、はてな、Livedoorがperlなのは基本的なアイデアは10年位前だからだろ
そのなかでまともそうなのは「はてな」だけだな。Mixiは上場してもそこいらのブログツールと
比べると使い勝手がイマイチだし、Livedoorなんか問題外。Sledgeなんて糞役に立たんライブラリ
開発して大した技術も無い粉飾犯罪企業が作ったものなんてその程度。
最近上場した会社といえばドリコムとかいう会社もそうだなサーバーエージェントの都会コンプのミーハー社長が
株を大量購入したはいいが、BlogPeopleやテクノラティなどのサービスと比べるとあまりにも
劣る点が多すぎ。
> 最近考え付いたんじゃなくて10年位前のWeb黎明期にcgiから始めた奴らが中心にいるからだな
ネットサーフレスキューやKend Webを思い出すじゃねえか。確かにあのころはServletなんてまだ
存在しなかったからperlしかしらない堀江被告みたいな古い考え方に捕らわれた馬鹿が
暴れて日本国内でIT業界に対する印象が悪くなってしまったんだな。テレビしか見てない馬鹿は
IT企業関係者=堀江や村上みたいな変な奴だと勘違いしているし。
0771デフォルトの名無しさん
2006/10/23(月) 19:35:05成績が悪い堀江被告が宗教学科になってしまったために
がっかりして東大を中退したという件を思い出した。
いま法学部の奴が世の中を牛耳ってる感じだな。
どこの会社の社長も法学部出身が多いし。
技術系出身が少ない。アメリカ人から見るとあまりにも珍しすぎるし
不思議すぎる。ああいう酷い状態が続いているのは日本だけだろうね
0772デフォルトの名無しさん
2006/10/23(月) 20:05:49法学部じゃなければ、牛耳るのはどの学部出身がよさそうなんだ?
ところで今の君は、技術畑で野良仕事している事に気がついてないだろ。
0773デフォルトの名無しさん
2006/10/23(月) 20:13:000774デフォルトの名無しさん
2006/10/24(火) 01:12:140775デフォルトの名無しさん
2006/10/24(火) 01:27:530776デフォルトの名無しさん
2006/10/24(火) 01:38:100777デフォルトの名無しさん
2006/10/24(火) 10:45:18東大工学部だが、
(前期)教養課程は東大の1,2年は全員通る道なので、文系のみに限った話じゃない。
しかし、昨日駒場の教科書販売所にいってみたら、Javaの教科書もあって売り切れてたんだが。
どうも全部が全部Rubyになったという訳ではなさそうだ。
0778デフォルトの名無しさん
2006/10/24(火) 10:49:06というかJavaだったころもプログラミングの講義は必修だったわけじゃないし、必修の「情報基礎」って講義すら学生にはほとんど身に着いていない状況。
(1年の必修の情報基礎では一応Mac OS XのTerminalを触るんだが、シェルのコマンド3年生になったら忘れてる)
JavaからRubyになったから学生の質が下がるとかそういうものではないと思われ。どうせやる人はやるし、やらない人はやらない。
ちなみに漏れは大学のプログラミングの講義でJavaは書きやすい言語だってわかってServlet+JSPとか書き出したクチ。
ただ、JavaよりRubyのほうが学びにくそうな気がするんだが...
0779デフォルトの名無しさん
2006/10/24(火) 11:04:47東大でプログラミングの基礎みたいなことするならJavaだろうがRubyだろうがどっちでも良いんじゃね
そもそも社会のヒエラルキー的に東大でた人がやるべき事はちがうんだから
仮にも国の最高学府の東大でて底辺なドカティになるのは持っての他だよ
無駄に税金使ってるんじゃねえよって事だ
0780デフォルトの名無しさん
2006/10/24(火) 11:17:49俺も囲碁やりたかった。
0781デフォルトの名無しさん
2006/10/24(火) 11:30:04研究者か海外大学院に行かないならただの能無し。
上の方で次世代の技術を研究していればよくて、
現世に出てきてしゃしゃり出るなってーの。
>>778東大の理系はみんな優秀だから心配するな。
文3はブランドだけのバカ。家庭教師でもやってろってこと。
ところで、文・理にかかわらず、
お前のようなしゃしゃり出る奴がウザイっていうんじゃないか?
0782デフォルトの名無しさん
2006/10/24(火) 11:58:12旧帝大や東大に行っても、おこちゃまな奴多いから
>>751の言うように単なる勉強バカって思われちゃうんだよね。
堀江の話があったけど、堀江のかばん持ちで紹介されて、
起業した指がキモイぐらいに長い奴、あいつ確か工学部?だったけど、
テレビに出てる時点ですでに終わってるって感じ。堀江もそうだが、どこ
にでもああいうキモイのがいるんだと分かったよ。>>770
旧帝大・東大とか仕事は優秀なんだろうが、
それとは関係なく、キモイい奴には近づきたくないのが本音だろうよ。>>751
ところでスレ違いだから、灯台君は、荒らしをするなら違うとところでやってくれ。
いくら灯台でも、スレ違いってことぐらいはわかるよね?>>777
0783デフォルトの名無しさん
2006/10/24(火) 12:10:560784デフォルトの名無しさん
2006/10/24(火) 12:44:53そうでもないね。技術的な面やコスト的な面では言語選択は
重要な地位を占めていることにはかわりない。
0785デフォルトの名無しさん
2006/10/24(火) 12:47:06きみぃ、罵るのもいい加減にしたまえ
0786デフォルトの名無しさん
2006/10/24(火) 12:49:51> 東大をちゃんと卒業できた奴は、
> 研究者か海外大学院に行かないならただの能無し。
それじゃ、テレビに出ている東大卒はどいつもこいつも能無しってことか
村上ファンドといい堀江豚といい。
0787デフォルトの名無しさん
2006/10/24(火) 12:50:32> >>687
> 東大工学部だが、
工学部は昔から、人をこきつかうことがないから「頭が悪い」と言われてきた
来たみたいだが、そのことについてどう思う?
0788デフォルトの名無しさん
2006/10/24(火) 12:52:19> 堀江の話があったけど、堀江のかばん持ちで紹介されて、
> 起業した指がキモイぐらいに長い奴、あいつ確か工学部?だったけど、
あいつって誰だ。それだけじゃわからん。
0789デフォルトの名無しさん
2006/10/24(火) 12:54:06東大生がiMac弄ってた
0790デフォルトの名無しさん
2006/10/24(火) 13:21:25東大の面汚しというのか、こいつは勉強バカの典型例だったな。
こういう奴と一緒に仕事はしたくないものだ…
君のために「犬小屋」作ってあげるから、おしっこはそこでしてくれるかな?
0791デフォルトの名無しさん
2006/10/24(火) 13:28:53君の育ちが悪いのは良く分かったよ。
灯台出ても君じゃ不幸になることが多そうだ・・
0792デフォルトの名無しさん
2006/10/24(火) 13:36:55高学歴ならちゃんと分かるよね?
0793デフォルトの名無しさん
2006/10/24(火) 13:53:410794デフォルトの名無しさん
2006/10/24(火) 14:03:07こんな当たり前の事は、高学歴ならちゃんと分かるよね?
0795デフォルトの名無しさん
2006/10/24(火) 14:27:39ある意味かわいそうな奴だ。
0796デフォルトの名無しさん
2006/10/24(火) 14:41:000797デフォルトの名無しさん
2006/10/24(火) 14:52:20東大出ている奴=育ちが良い
というステレオタイプを持ってると堀江容疑者
みたいなのに騙されるぞ
0798デフォルトの名無しさん
2006/10/24(火) 15:10:34いいかげんにして欲しいんだけど、ところで君が騙されているんじゃないか?
0799デフォルトの名無しさん
2006/10/24(火) 15:14:47http://www.javac.info/closures-v03.html
http://gafter.blogspot.com/2006/10/closures-for-java-v03.html#links
文法が変わって、FunctionType が復活。
あと、Non-local control flow が削除されたっぽい?
0800デフォルトの名無しさん
2006/10/24(火) 15:22:40あ、Non-local control flow あるっぽいね。
あと、FunctionType も完全復活ってわけじゃないのか。
0801デフォルトの名無しさん
2006/10/24(火) 15:22:47「東大出てる奴」じゃなくて「君」の育ちが悪いと>>791は書いてないだろうか。
そして君は、東大工学部の面汚しだし、いつまでも騙されてるしね。
東大にいてもどうもつまんないなら、堀江様のように面白人生を歩むのはどうだ?
まあ所詮、育ちが悪い君ごときじゃガラクタと同じだけどな。
0802デフォルトの名無しさん
2006/10/24(火) 15:35:31だから、ほっとけよ!
0803デフォルトの名無しさん
2006/10/24(火) 15:37:55みんな過剰反応するんだから。
0804デフォルトの名無しさん
2006/10/24(火) 15:50:270805デフォルトの名無しさん
2006/10/24(火) 16:54:34メソッド呼び出しと変数アクセス + FunctionType の呼び出しが曖昧になるってのは
> A function type
> { T0 ... Tn => Tr } throws E0 | ... Em
> is an interface type with a single abstract method
> Tr invoke(T0 x0, ... Tn xn) throws E0, ... Em;
で解決するのか。{int=>int} f があったとき f(10) じゃなくて f.invoke(10) する、と。
0806デフォルトの名無しさん
2006/10/24(火) 17:40:360807デフォルトの名無しさん
2006/10/24(火) 17:40:57実は中卒のほうが高卒より偉かったりして
0808デフォルトの名無しさん
2006/10/24(火) 17:41:44キモ
0809デフォルトの名無しさん
2006/10/24(火) 17:48:530810デフォルトの名無しさん
2006/10/24(火) 18:04:00田中角栄か!
0811デフォルトの名無しさん
2006/10/24(火) 21:04:480812デフォルトの名無しさん
2006/10/25(水) 09:34:08うーん、.class記法が
{int=>int,int} throws Exception1|Exception2.classになるのはかなりキモい。
そして、
{int=>int,int}.class.getInterfaces( )はどうするんだろう?
{int=>int,int} throws Exception1.class
{int=>int,int} throws Exception2.class
{int=>int,int} throws Exception3.class
……
とsuperinterfaceが無限にあるのだが。
0813デフォルトの名無しさん
2006/10/25(水) 11:45:44> {int=>int,int}
いつの間に多重代入やら複数返値が……
とか言ってみる。
> {int=>int,int} throws Exception1|Exception2.classになるのはかなりキモい。
確かに。
> {int=>int,int}.class.getInterfaces() はどうするんだろう?
普通に長さゼロの配列が戻るんじゃないかと思うけど。
superinterafce が無限にできる理由がわからん。
0814デフォルトの名無しさん
2006/10/25(水) 12:00:36まぁ、結局、will not fixedなわけだが、まぁ、納得した
便利な局面はあることはあるが、バグの温床になりそうだからな
0815デフォルトの名無しさん
2006/10/25(水) 14:23:13東大は世界規模で見るとランキング300位くらいらしい。
残念だが。20年くらい前だったら東大っていうだけですごかったんだろうけど
規制緩和、国際化の影響で東大のブランドは下がった。
0816デフォルトの名無しさん
2006/10/25(水) 14:25:05「騙されてる」といってるから
0817デフォルトの名無しさん
2006/10/25(水) 14:34:47/_ノ ヽ、_\
o゚((●)) ((●))゚o
/::::::⌒(__人__)⌒::::: \
| |r┬-| | (⌒) >>816 ワロスwwwwwwww
| | | | | ノ ~.レ-r┐、
| | | | | ノ__ | .| | |
\ `ー'´ /〈 ̄ `-Lλ_レレ
 ̄`ー‐---‐‐´
0818デフォルトの名無しさん
2006/10/25(水) 19:53:20白々しいまでの大嘘をよくはけるよなw
0819デフォルトの名無しさん
2006/10/25(水) 20:19:520820デフォルトの名無しさん
2006/10/25(水) 21:12:04つーかさ、本気で堀江のこと尊敬してるの?
それヤバイとおもうよ
0821デフォルトの名無しさん
2006/10/25(水) 21:12:520822デフォルトの名無しさん
2006/10/25(水) 21:17:51東大がそんなに凄かったら留学生なんていない
0823デフォルトの名無しさん
2006/10/25(水) 22:50:43ヤバイのはお前だな。お前の後ろで誰かが覗いているぞ!
0824デフォルトの名無しさん
2006/10/25(水) 23:29:11複数返り値があると、バグの温床になるというのが想像つかないんだが、
例えばどんなの?
0825デフォルトの名無しさん
2006/10/26(木) 00:19:41そういうお前の後で誰かが見ているぜ。
俺は誰に見られても困ることはしていないしな
0826デフォルトの名無しさん
2006/10/26(木) 00:20:160827デフォルトの名無しさん
2006/10/26(木) 01:02:43東大よりちょっと低い学歴の香具師にとっては幸なのか不幸なのか
0828デフォルトの名無しさん
2006/10/26(木) 01:35:540829デフォルトの名無しさん
2006/10/26(木) 03:43:06負荷が軽いうちにGCを走らせるってのもちょっと違うんじゃないか?
キャッシュしていて、常に、使うようなデータはSoftRefrenceで扱うと
必要なときに無いってことがあるから、パフォーマンスを悪くする可能性がある。
0830デフォルトの名無しさん
2006/10/26(木) 03:49:340831デフォルトの名無しさん
2006/10/26(木) 03:53:030832デフォルトの名無しさん
2006/10/26(木) 11:10:32複雑性が上がると単純に使いこなせない奴や意味不明な使い方をする奴が増えてバグが増えるって事もある
発想が柔軟と言うかなんと言うか思いもよらない使い方をする奴ってのは居るんだよ
0833デフォルトの名無しさん
2006/10/26(木) 14:26:57ゆとり教育の影響で
昔より下がってるの?
0834デフォルトの名無しさん
2006/10/26(木) 16:25:32下がってるよ。
0835デフォルトの名無しさん
2006/10/26(木) 16:26:12東大といっていれば威張れる時代なんてとっくに終わってる
0836デフォルトの名無しさん
2006/10/26(木) 16:29:32学歴の話をすると過剰に反応する人ってどんな人?
0837デフォルトの名無しさん
2006/10/26(木) 16:40:03初心者質問スレに居た ぴゅあ とかゆう奴じゃね?
最近は初心者質問スレに頻繁に現れなくなったし。
0838デフォルトの名無しさん
2006/10/26(木) 17:44:09官僚社会では今だに東大ブランドは有効だよ。
0839デフォルトの名無しさん
2006/10/26(木) 17:55:41気になる。利己的というか幼稚というか。
自分がもし今の時代に産まれていたら、今より確実に質の落ちた人間になっていた
ことは確信できる。
60年代、田舎で産まれたことに感謝。
0840デフォルトの名無しさん
2006/10/26(木) 17:59:260841デフォルトの名無しさん
2006/10/26(木) 18:05:47なんで佐賀の話が
0842デフォルトの名無しさん
2006/10/27(金) 02:46:450843デフォルトの名無しさん
2006/10/27(金) 03:08:320844デフォルトの名無しさん
2006/10/27(金) 14:21:08オナニーしてるときに視線感じたら怖いだろ
#カーテン開いてるの気が付かなかったことあり
0845デフォルトの名無しさん
2006/10/27(金) 15:03:09やっぱり「ただの勉強バカ」ってところか…
0846デフォルトの名無しさん
2006/10/27(金) 15:12:250847デフォルトの名無しさん
2006/10/27(金) 15:53:08自分の好きなことは博士レベルでも、それ以外の分野は素人とかわりない。
まだ子供ならともかく、東大でもさ、一歩間違えると
「山の手線の駅名全部覚えてる」とかのオタクと同じ程度の知能だろ。
専門分野以外は大したことないザコってこと。
0848デフォルトの名無しさん
2006/10/27(金) 15:53:09その即答から、多分君も過剰反応している人だと思う
0849デフォルトの名無しさん
2006/10/27(金) 16:47:330850デフォルトの名無しさん
2006/10/27(金) 16:51:110851デフォルトの名無しさん
2006/10/27(金) 17:38:07m9(^Д^)プギャー!!
0852デフォルトの名無しさん
2006/10/27(金) 17:43:270853デフォルトの名無しさん
2006/10/27(金) 18:28:060854デフォルトの名無しさん
2006/10/27(金) 19:04:430855デフォルトの名無しさん
2006/10/27(金) 21:50:280856デフォルトの名無しさん
2006/10/27(金) 22:58:340857デフォルトの名無しさん
2006/10/27(金) 23:05:22このスレにいる学歴に過剰に反応する奴が「アホ」ってことだよな。
0858デフォルトの名無しさん
2006/10/27(金) 23:09:16お前東大生だろうけど、アホ臭くない臭いを
出さないとお前自身がアホに煮える。
0859デフォルトの名無しさん
2006/10/28(土) 00:14:43乙
0860デフォルトの名無しさん
2006/10/28(土) 01:40:200861デフォルトの名無しさん
2006/10/28(土) 02:03:120862デフォルトの名無しさん
2006/10/28(土) 03:02:43|┃ ____
|┃/⌒ ⌒\
|┃(●) (●) \
――‐.|┃:⌒(__人__)⌒:::::\ えへへっ
|┃ |r┬-| |⌒) 遊びに来たお!
|┃ `ー'ォ //
(⌒ヽ・ ・ ̄ /
|┃ノ /
|┃ つ <
|┃ (::)(::) ヽ
|┃/ > )
|┃ (__)
|┃
|┃ ____
|┃/⌒ ⌒\
|┃ (―) (―)\
――‐.|┃:⌒(__人__)⌒:::::\
|┃ |
|┃ /
|┃ヽ・ ・ ̄ /
|┃ \ ,.:∴~・:,゜・~・:,゜・ ,
|┃ヽ_)つ‘∴・゜゜・・∴~・:,゜・・∴
|┃ (::)(::) ヽ ・゜゜・∴~゜
|┃/ > ) ゜゜・∴:,゜・~ >>858 お前東大生だろうけど臭い
|┃ (__) :,゜・~:,゜・゜゜・~??.
0863デフォルトの名無しさん
2006/10/28(土) 10:58:45そんなこと言ったら、breakやcontinue、例外など既存の機能だって意味不明な使い方
をしようと思ったらできるわけで、具体的にどのように、意味不明な使い方をされ得るか
について言及しないと意味が無いよ。
で、多値があると具体的にどのような意味不明な使い方をされる可能性がある?
0864863
2006/10/28(土) 11:08:03に追加だが、そもそも多値という機能でできることなんてたかが知れてるわけで、
予想もしない使い方なんてしようが無い
唯一考えられる弊害としては、本来ならクラスにまとめるべきところを
何でもかんでも多値を使って表現しまう奴が出てくる可能性があると
いうことがあるが、そんなことする奴は、どの道まともにクラスを設計
できるはずは無いから、結局大した問題ではない
それと、一応念のため言っておくと、俺はJavaに多値を入れろと
言っているわけではないからね。あったら便利だとは思うけど、
無くてもものすごく不便という程じゃないし。ただ、多値がバグの
温床になるという意見には賛成しかねるというだけ。
0865デフォルトの名無しさん
2006/10/28(土) 15:26:36返り値をラップして渡すときに、クラスと言う入れ物が必要で
クラス作って、オブジェクト生成してってコストが心理的に気にくわないから
多値の返り値が欲しくなってるんじゃないかと思う
だから簡単に返り値のラップオブジェクトを作る方法があれば
いいんじゃないかなぁ?
今だとMapにラップするくらいだが、その場合各返り値の方については
柔軟性を失ってしまう
いい方法ないもんかね?
0866863
2006/10/28(土) 15:53:15返したい値の個数ごとに
class Pair<T1, T2> { ... }
class Triple<T1, T2, T3> { ... }
class Quadruple<T1, T2, T3, T4> { ... }
...
みたいなのをライブラリで用意してやって、それを使うという手はあり得るが、
使い勝手がいいかというと微妙な気がする
0867デフォルトの名無しさん
2006/10/28(土) 16:11:04じゃあ、どうやって多値を返すことを実現するのだ?
実現できるのなら、別にJavaじゃなくてもいいが。
0868デフォルトの名無しさん
2006/10/28(土) 16:37:00schemeみたいな多値が実現できるだろう。
0869デフォルトの名無しさん
2006/10/28(土) 16:47:10bugparade みてきたけど、
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4222792
の evaluation だけしか見てないけど、複雑性があがるとは書いてないね。
・配列もしくは Pairs みたいな genericsクラス使えば煩雑さはそれ程でもない。
・コメントを読むと、パフォーマンスが向上するという意見と、面倒くささの軽減という意見があるが、
複数戻り値を使ってパフォーマンスを向上させるには stack allocated objects が必要。
・OO原理主義から言えば、クラスインスタンスで返すのが良い。
だそうで。
0870デフォルトの名無しさん
2006/10/28(土) 18:49:020871デフォルトの名無しさん
2006/10/30(月) 00:17:40とか自慢してる奴って、やっぱりバカ丸出しじゃん。あーあ。
0872デフォルトの名無しさん
2006/10/30(月) 09:15:330873デフォルトの名無しさん
2006/10/30(月) 09:52:460874デフォルトの名無しさん
2006/10/30(月) 14:25:35堀江系の悪い東大生かな?
0875デフォルトの名無しさん
2006/10/30(月) 14:26:000876デフォルトの名無しさん
2006/10/30(月) 14:26:32オッサン世代に多いよなそういうの。
40代の馬鹿とか
0877デフォルトの名無しさん
2006/10/30(月) 16:59:3020代だとどうだ?
0878デフォルトの名無しさん
2006/10/30(月) 18:22:17http://ja.wikipedia.org/wiki/%E6%9D%B1%E5%A4%A7%E4%B8%80%E7%9B%B4%E7%B7%9A
0879デフォルトの名無しさん
2006/10/30(月) 19:47:42今まで何でないのか不思議だった。AbstractButtonにもHideActionTextプロパティが追加されてる。
0880デフォルトの名無しさん
2006/10/31(火) 01:48:44小林よしのりは20代じゃないだろw
0881デフォルトの名無しさん
2006/10/31(火) 12:47:07確かにクロージャが導入されれば、多値の戻り値は必要ないような
0882デフォルトの名無しさん
2006/10/31(火) 14:14:45マ板に学歴の話をすると過剰反応して
大学の悪口を書きまくる高卒がいたことを思い出す。
大卒や大学や大学教授に対するものすごい怨念を感じた
0883デフォルトの名無しさん
2006/10/31(火) 14:47:260884デフォルトの名無しさん
2006/10/31(火) 14:55:49大学そのものを否定している異常な厨が
たまに2chに湧いてくる
0885デフォルトの名無しさん
2006/10/31(火) 17:57:53いや、要るでしょ
全部Continuation Passing Styleで書くなら話は別だけど
0886デフォルトの名無しさん
2006/11/03(金) 13:36:071つのクラスにまとめられないときもあるし
0887デフォルトの名無しさん
2006/11/03(金) 14:19:160888デフォルトの名無しさん
2006/11/03(金) 14:42:56Collectionとか使えばいいのに
0889デフォルトの名無しさん
2006/11/03(金) 14:49:41Object[]<String, String, Integer> row = {"文字列", "文字列2", 123};
こんな感じで。
0890デフォルトの名無しさん
2006/11/03(金) 15:10:20Genericsがどうのこうのとは関係ないとおもわれ
0891デフォルトの名無しさん
2006/11/03(金) 15:57:27どんなとき?
0892デフォルトの名無しさん
2006/11/03(金) 16:05:18代替案があるのはわかるんだけどめんどいでしょ。
拡張forループだってなくてもいい
0893デフォルトの名無しさん
2006/11/03(金) 16:16:55列の数が増えたら宣言書くのが面倒になるような。
0894デフォルトの名無しさん
2006/11/03(金) 16:35:000895デフォルトの名無しさん
2006/11/03(金) 16:44:58それはいえてる。>>889の例は
設計上問題ありすぎだな
0896デフォルトの名無しさん
2006/11/03(金) 16:45:20入れ子にしないと整然としないし
0897デフォルトの名無しさん
2006/11/03(金) 17:09:130898デフォルトの名無しさん
2006/11/03(金) 19:51:32が出てきてもいいよなぁ・・・・
0899デフォルトの名無しさん
2006/11/03(金) 20:35:27SwingXとか?
0900デフォルトの名無しさん
2006/11/03(金) 20:41:04@JTableColumnId(1)
@JTableRenderer(MyNameRenderer.class)
public String getName();
@JTableColumnId(2)
@JTableRenderer(MyAgeRenderer.class)
public int getAge();
}
0901デフォルトの名無しさん
2006/11/03(金) 20:43:241レコードに複数のコンポーネントが複雑にな配置されるとか業務系だとよくあることだし
0902デフォルトの名無しさん
2006/11/03(金) 20:46:04そこは棲み分けで、今ってかなりファットな作りだから
シンプルなテーブルってことでいけるんじゃない?
0903デフォルトの名無しさん
2006/11/03(金) 20:49:23SwingXのdata bindingはどこに行ったんだろう?
0904デフォルトの名無しさん
2006/11/03(金) 22:04:05非推奨となったものをガンガン削除する姿勢なのは好感が持てるなw
0905デフォルトの名無しさん
2006/11/05(日) 03:09:31他人のコンプレックスを考えるより、まずはお前のマザコンを治したらどうだ?
そうやって他人のことをあれこれ詮索するのは良くない事だよね。
0906デフォルトの名無しさん
2006/11/05(日) 14:39:150907デフォルトの名無しさん
2006/11/05(日) 14:46:270908デフォルトの名無しさん
2006/11/05(日) 15:15:390909デフォルトの名無しさん
2006/11/05(日) 17:39:470910デフォルトの名無しさん
2006/11/06(月) 09:45:240911デフォルトの名無しさん
2006/11/06(月) 12:03:190912デフォルトの名無しさん
2006/11/06(月) 12:11:560913デフォルトの名無しさん
2006/11/06(月) 12:20:510914デフォルトの名無しさん
2006/11/06(月) 12:21:120915デフォルトの名無しさん
2006/11/06(月) 13:30:340916デフォルトの名無しさん
2006/11/06(月) 19:36:25??ウチじゃ違うな・・・Mustangが入れてくれたのかな??
0917デフォルトの名無しさん
2006/11/06(月) 19:57:30アイコンとかよりも、実行可能JAR向けに別の拡張子を用意してほしい。
lhaplusとかが解凍したがるから迷惑なんだよね。
0918デフォルトの名無しさん
2006/11/06(月) 20:47:54lhaplusって詳しくしらんけど
設定の方がおかしいでしょ
jarは解凍しない設定にしないと・・・
コンテキストメニューで、明示的に解凍を選ばないと解凍にならないという
ソフト使った方がいいんじゃない?
元々、jarは実行可能と考える方が普通
0919デフォルトの名無しさん
2006/11/06(月) 22:18:58俺自身の端末はJARは解凍しない設定にしてる。
だけどlhaplusの初期設定が解凍する設定になってるため、実行可能なJARの存在を
知らない人に送った時に、「解凍されてその後どうしたらいいかわからない」っていう
無用な問い合わせが来てめんどくさい。
しかもlhaplusユーザが微妙に多くて結構困るんだよ
0920デフォルトの名無しさん
2006/11/06(月) 22:59:180921デフォルトの名無しさん
2006/11/06(月) 23:37:24それは lhaplus が駄目なんじゃなかろーか?
0922デフォルトの名無しさん
2006/11/06(月) 23:40:400923デフォルトの名無しさん
2006/11/06(月) 23:59:55解凍できるもんをすべて解凍するという設定が悪くないのであれば、
>>917 が言うような、実行可能JAR向けの別の拡張子作っても無駄。
拡張子変えただけのJARは解凍できるので、解凍するという設定にされてしまい
今の JAR と扱いは変わらない。
0924デフォルトの名無しさん
2006/11/07(火) 01:40:000925デフォルトの名無しさん
2006/11/07(火) 02:22:25本気でそう思ってるなら BugDatabase に RFE 出してくれば?
0926デフォルトの名無しさん
2006/11/07(火) 04:25:16そうでない解凍ソフトの方が多いと思うが
0927デフォルトの名無しさん
2006/11/07(火) 18:11:01でも要望の出し方が分からん。日本語じゃ無理なんでしょ?
japとか付けられたら笑うがw
0928デフォルトの名無しさん
2006/11/07(火) 18:12:46英語勉強して頑張れ。
0929デフォルトの名無しさん
2006/11/07(火) 22:03:050930デフォルトの名無しさん
2006/11/08(水) 12:33:22アイコンの入れ方とか決めてさ。Winは無理だろうけど、LinuxとかMacで。
あぁ、別に拡張子変えなくてもできるか。
0931デフォルトの名無しさん
2006/11/08(水) 16:41:12Java用インストーラを経由してローカルに格納されてデスクトップやスタートメニューにショートカット作るかとかきめて
Jar(互換のために拡張子変えたほうがいいけど)をダブルクリックするとセットアップが始まるだけ、と
0932デフォルトの名無しさん
2006/11/08(水) 17:34:45jnlpでよくね?
0933デフォルトの名無しさん
2006/11/08(水) 18:32:130934デフォルトの名無しさん
2006/11/08(水) 18:38:57サンドボックスで、exitを制限かけれるし
0935デフォルトの名無しさん
2006/11/08(水) 20:48:48jar以外のファイルは配布したくないって拘りがあるなら別だが。
あとjwsとかに拘らなくてもURL#openStreamで最新情報引っ張ってくるだけで同じ事できるし。
0936デフォルトの名無しさん
2006/11/08(水) 21:27:50アイコンかえてコンパイルするのがな
0937デフォルトの名無しさん
2006/11/08(水) 22:30:340938デフォルトの名無しさん
2006/11/08(水) 22:38:140939デフォルトの名無しさん
2006/11/08(水) 22:39:12bccでもgccでもdmcでもすきなのぐぐって使いなさい
0940デフォルトの名無しさん
2006/11/08(水) 23:42:51俺はexewrapを使ってる。なかなか便利だよ
0941デフォルトの名無しさん
2006/11/09(木) 00:10:18そのツールのサイト見てみたがかなりよさそうに見えるな
サービスも出来るようだし、キャッチしてない例外とらえるのはいいな
htmlが一部ミスってて表示が変とか標準出力をしたくない場合どうするのかわからんが
ところでマニフェストファイルに指定したクラスパス設定って使われるのかな?
NetBeansだとlibフォルダ作って吐き出すからいいのだけれども、それ以外の場合が気になってね
あとVM埋め込み機能はないか
0942デフォルトの名無しさん
2006/11/09(木) 01:58:02俺もexewrap。他のはゴテゴテしすぎてる。
0943デフォルトの名無しさん
2006/11/09(木) 08:43:41アイコン設定するだけですらデスクトップに置いた時に探しやすくなってありがたいや。
0944デフォルトの名無しさん
2006/11/09(木) 15:30:10一行でまとめてくれるかな?
0945デフォルトの名無しさん
2006/11/09(木) 15:35:20よさそうだがいくつかわからいことがある。
0946デフォルトの名無しさん
2006/11/09(木) 15:36:48そうか、JVM埋め込みか・・・それは気づかなかった・・・
ライセンスによっては同梱してしまえば、Javaインストールも要らないか・・・
同梱できるコンパクトなWindows用JVMか・・・SableVMあたり何とかなればなぁ・・・
0947デフォルトの名無しさん
2006/11/09(木) 15:46:45publicJREの影響を受けないとか特定のリビジョンで動作確認しているとかもあってね
jreとかってフォルダ使ってそのbin/javaw.exeを起動するだけなんだけれどもね
最近のアプリは容量がでかいのが多いから圧縮時10Mとか増えても問題ない
Javaはクラスファイル自体は非常に小さいしね
1.4系と5.0系とでJREのサイズが1.5倍近いから埋め込む分には1.4のほうがいいけど
さすがにいまさら1.4のプアな開発には戻れないね
0948デフォルトの名無しさん
2006/11/09(木) 23:05:550949デフォルトの名無しさん
2006/11/09(木) 23:13:31ListとかObjectしか書いてないわけでそのドキュメントで明記されていなければ
ソースまでおうはめになったりするしな
6ではどこが変わるだろうか
0950デフォルトの名無しさん
2006/11/09(木) 23:59:12(生コレクションじゃなくてそれを使ったクラスの振る舞いの方)
0951デフォルトの名無しさん
2006/11/09(木) 23:59:540952デフォルトの名無しさん
2006/11/10(金) 00:04:47JREがもっと軽くなってEXEに埋め込めたら便利だね。
それか、rt.jarの中の確実に参照されないクラスを除外してEXEに埋め込めたら
いいと思うんだが。。。ライセンス的に不味そうだけど。
0953デフォルトの名無しさん
2006/11/10(金) 01:34:37はずせるのはフォント周りとWebStartだけ
組み込めるのはSDKから一部だね
SoundBankは一番大きいやつが音があまりよくないのは仕様だろうか・・・
小さいほうがいい音してる
0954デフォルトの名無しさん
2006/11/10(金) 09:26:08参照されてないかどうか保証するためにRefrection使わないって分けにも行かないから面倒じゃね?
0955デフォルトの名無しさん
2006/11/10(金) 12:22:04だれそれ
0956デフォルトの名無しさん
2006/11/10(金) 19:25:27Collections.emptyList()
コンパイラが型推論してくれる場合は、型指定もいらない。
中身は結局、EMPTY_LIST返すだけだと思ったが
0957デフォルトの名無しさん
2006/11/12(日) 23:32:090958デフォルトの名無しさん
2006/11/13(月) 00:00:360959デフォルトの名無しさん
2006/11/13(月) 19:30:15ttp://download.java.net/jdk7/binaries/
Mustangから開発者がシフトできたのかな?
0960デフォルトの名無しさん
2006/11/13(月) 20:29:55http://news18.2ch.net/test/read.cgi/bizplus/1163401647/
0961デフォルトの名無しさん
2006/11/13(月) 23:09:40実質Mustangなのが悲しい。。。
JavaDocもJDK6 b105だったw
0962デフォルトの名無しさん
2006/11/14(火) 12:24:32ttp://java.sun.com/javase/ja/6/download.html
0963デフォルトの名無しさん
2006/11/14(火) 20:54:28GPLになればライセンス上は問題無い?
0964デフォルトの名無しさん
2006/11/14(火) 21:04:39過去のはまずいだろうが、新しいリリースからは
ライセンスに従って可能なのでは?
0965デフォルトの名無しさん
2006/11/14(火) 21:30:00VMとかはGPLだが
0966デフォルトの名無しさん
2006/11/14(火) 22:10:50前にできるようなこと聞いたんですけどソースが見つからないんです…
0967デフォルトの名無しさん
2006/11/14(火) 22:43:11あの強烈な、商売あがったりなGPL1.0とは違って
内容としては、LGPLに近いよね
0968デフォルトの名無しさん
2006/11/15(水) 00:12:13例外規定がライブラリに指定されたから大丈夫というだけ
0969デフォルトの名無しさん
2006/11/15(水) 00:20:25「jad使えよ」って断ったらダメ?(´・ω・`)
0970デフォルトの名無しさん
2006/11/15(水) 01:12:24難読化してあったら大変だけど、そんなのあんまりしてるところないじゃんね?
0971デフォルトの名無しさん
2006/11/15(水) 01:16:54逆コンパイルしてもコンパイルできなくするとか、
jadがクラッシュするバイトコード仕込むとか、あたりまえだと思ってたが…
0972デフォルトの名無しさん
2006/11/15(水) 01:21:09全員に配るとウダウダうるさいけどjad使える位のヤツなら見てもらっても
まあいいか、くらいの気分の時は多い
ソースは人に見られる事を意識して書いたほうが
自分で後で見ても分かりやすいしな
実際見せるかどうかは別にして
jadがクラッシュするコードとか、そんなの気にする手間が馬鹿らしい
0973デフォルトの名無しさん
2006/11/15(水) 01:22:05パッケージ系なのかな。そーゆーのに苦心するのは。
うちは、Web系だから全然そっちに手を入れない。
0974デフォルトの名無しさん
2006/11/15(水) 01:28:530975デフォルトの名無しさん
2006/11/15(水) 03:38:34> 引数同じで返り値の型が違うメソッドを同じ名前で作って
ふつーも無理だろ。
シグネチャ変えない限り、戻り値の型が違う同名メソッドは規約違反。
0976デフォルトの名無しさん
2006/11/15(水) 13:49:50言語仕様とVM仕様(というかクラスファイルの仕様)の
差異を付いてるんじゃないかな、やろうと思えばできると思うよ。
そこまで手間をかける人も居るんだねぇ……
0977デフォルトの名無しさん
2006/11/15(水) 15:31:580978デフォルトの名無しさん
2006/11/15(水) 16:21:06どうせ恥かいたんで教えて君になってしまおう。
それってふつーのjavacじゃコンパイルできないよね?
なんかオプションでもあるの。
それともふつーに考えてやっぱり直接バイトコードを
いじるんですかね。だとすると手間ですねえ。すげえ。
0979デフォルトの名無しさん
2006/11/15(水) 17:29:47Crema爆弾のことか?
今あの爆弾はダウンロードできなくなってるみたいだが
0980デフォルトの名無しさん
2006/11/15(水) 18:07:21http://jasmin.sourceforge.net/
0981デフォルトの名無しさん
2006/11/15(水) 18:26:08ありがとうございやす!
0982デフォルトの名無しさん
2006/11/16(木) 01:57:08Obfuscate Java でぐぐってみると色々わかると思うよ。
0983デフォルトの名無しさん
2006/11/16(木) 05:45:360984デフォルトの名無しさん
2006/11/18(土) 12:20:44complex c = 1 + 5i;
0985デフォルトの名無しさん
2006/11/19(日) 02:27:200986デフォルトの名無しさん
2006/11/19(日) 09:35:330987デフォルトの名無しさん
2006/11/19(日) 14:24:47絶対、二値の返り値を返すための入れ物として使う奴が出てくる。
0988デフォルトの名無しさん
2006/11/19(日) 14:39:03ドカタ言語ってのはC言語やPerlやPHPやVBみたいな言語のことを言うんだよ。
まさかとは思うけど、complex値型が使えるD言語はドカタ言語じゃないっていいたいのかね。
いずれにしてもJavaでもJakarta Commons Mathを使えばComplex型やMatrix型をクラスとして
扱うことができるけどね。
0989デフォルトの名無しさん
2006/11/19(日) 14:56:07いずれにしても、そういう弊害を予防するには、
Java5から導入されたType SafeなEnum型のように、
本来のEnumとは異なるような使い方を防ぐという機能を付加するといいんじゃないかな。
あと、complex型はjava.lang.math.Complexのシンタックスシュガーみたいになるように。
ついでにベクトル型やMatrix型も作って欲しかったりする。
java.util.Vectorとごっちゃになると不味いので
java.math.Matrix
java.math.Vector
んな感じで。
java.math.Complex
それからついでに、
java.math.BigComplex
java.math.BigVector
java.math.BigMatrix
java.math.BigComplexVector
java.math.BigComplexMatrix
java.math.ComplexUtils
java.math.ComplexUtils
くそ! ワイヤレスキーボードがいかれたのでここまでにする。
何者かが近所でジャミング装置か?
0990デフォルトの名無しさん
2006/11/19(日) 14:57:54ComplexにしろQuaternionにしろ
0991デフォルトの名無しさん
2006/11/19(日) 19:10:20そんなら自力でコンパイラなりトランスレータなりプリプロセッサなり作っちゃった方が効率良いし。
0992デフォルトの名無しさん
2006/11/19(日) 19:39:45物理で波を扱うときに、速度とエネルギーを同時に格納する入れ物として複素数使うのも、ヤツらがドカタだからだね?
0993デフォルトの名無しさん
2006/11/19(日) 23:23:420994デフォルトの名無しさん
2006/11/19(日) 23:26:17馬鹿じゃねぇの?
0995デフォルトの名無しさん
2006/11/20(月) 00:16:350996デフォルトの名無しさん
2006/11/20(月) 00:23:510997デフォルトの名無しさん
2006/11/20(月) 00:42:020998デフォルトの名無しさん
2006/11/20(月) 00:44:320999デフォルトの名無しさん
2006/11/20(月) 00:47:381000デフォルトの名無しさん
2006/11/20(月) 01:06:16イキロ
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。