JAVAってこんなことも出来ないの? (695) TOP カテ一覧 スレ一覧 2ch元 削除依頼
MVVMについて語ろう (678)
Excel VBA 質問スレ Part32 (377)
ふらっとVisual C#,C♯,C#(初心者用) Part107 (667)
【初心者歓迎】C/C++室 Ver.87【環境依存OK】 (371)
音声合成プログラムを作りる (326)
C言語なら俺に聞け(入門編)Part 121 (201)

JAVAってこんなことも出来ないの?


1 :2007/05/19 〜 最終レス :2013/10/26
mainメソッドから値を返す。

2 :
>>1
System.exit(0);じゃだめかね

3 :
>>1ってプログラム言語もまともに使えないの?

4 :
ごはんを焚く

5 :
馬鹿キタコレ

6 :
まずお湯を沸かします

7 :
「苗を植える」からじゃないのか?

8 :
  __________   __   ______   _____     ___ ___    ___
 /              /  /  /   |        /   /__  __/ [][] _| |_| |__ _| |_
/_______   /__/  /_  | ____/      / /     |    _  | |_  レ'~ ̄|
          / / /__   _/ / /____      |  |___      ̄|  | / / /   /| |
         / /     /   |   /   __  /      \__|     |  |  ̄ /_  /  | |_
/ \    / /      /    |  /   |  /  /                 |_|     |__|   \/
.\  \/ /     / / /|_| / /|  | /  /
  \   /      \// /   / / \ V /            We are The Real Programmers
    \  \        / /   / /  /   \               http://pc11.2ch.net/prog/
     \/        /_/   /_/ ∠_/\_\

9 :
   ∩___∩
   | ノ      ヽ/⌒) あばばばばばば
  /⌒) (゚)   (゚) | .|
 / /   ( _●_)  ミ/    ∩―−、
.(  ヽ  |∪|  /    / (゚) 、_ `ヽ
 \    ヽノ /      /  ( ●  (゚) |つ
  /      /      | /(入__ノ   ミ   あばばっあびゃばびゃばば
 |       /       、 (_/    ノ
 |  /\ \       \___ ノ゙ ─ー
 | /    )  )       \       _
 ∪    (  \        \     \
       \_)

10 :
確かにできないね。
何となく必要性はわかるよ。
他のクラスから、既存のロジックを実行するクラスをコールする。
みたいなことでしょ?
で、その「他のクラス」は「既存のロジック」を実行した結果を知りたいんでしょ?
だとしたら、
「既存のロジック」を持っている既存のクラスで、
値の代わりにカスタムExceptionをthrowさせればいいんじゃない?
「他のクラス」はthrowされたExceptionで結果を判別できるでしょ。
ちょっとデザイン的には不細工に思えるけどね。
もしくは、
「他のクラス」からコールする前提のPublic methodを実装すればいいんじゃない?
結果的にはこちらが自然なんだけど。

11 :
>>1低脳乙。もうちっと調べて物を言え。
>>2でも言われているが...
java.lang.System.exit(int status);
現在実行している Java 仮想マシンを終了します。
引数はステータスコードとして作用します。
通例、ゼロ以外のステータスコードは異常終了を示します。
-----終了-----

12 :
釣りだろ?

13 :
> 4
最近はReal-timeもかなり良くなってるから、Javaで制御する炊飯器って問題なく作れると思う。

14 :
javaってGPUの機能使えるの?

15 :
>>11
return 1;
とか出来ないじゃん。

16 :
そこに何の問題が?

17 :
>>15
static void main(....
なんのためのvoid指定なんだよ

18 :
Javaって
  W r i t e O n c e , R u n A n y w h e r e
も、出来ないよね。

19 :
>>18
これができない時点で実は Java の存在意義ってほとんどなくなるんだけどなw

20 :
えっと、いまのところWrite Once, Run Anywhereが一番できることに変わりないのだけど。
少なくとも、Javaの存在意義が発揮できる程度にWrite Once, Run Anywareが実現できてるわけだけど。

21 :
perlの方が

22 :
例えば Perl はポータブルな GUI 作れないやん

23 :
て言うか、PC アプリに限れば Windows をターゲットにすればどんな言語でも
ほぼ Run Anywhere だからなぁ。

24 :
ププ

25 :
>>21
ファイルパスの扱いは?
あとは、スレッドの扱い。
印刷はどうする?
> 23
Macのユーザーは着実に増えてるわけで。
その程度の動作確率でRun Anywhereといっていいなら、Javaは充分Run Anywareだ。

26 :
Java以外で出来ないとでも思っているのか?

27 :
>>25
> その程度の動作確率でRun Anywhereといっていいなら、
> Javaは充分Run Anywareだ。
その程度の動作確率で充分な世界があるわけで、その世界だと
Java もその他の言語も充分 Run Anywhere
つまり、その世界では Run Anywhere なんて何の自慢にもなら
ないって言ってるんだけど、難しかった?

28 :
>>27>>18 はとんだ大間違いだと言いたい訳か

29 :
>>20
うん、まぁ、ある程度はそれができていることは認めるよ。
でも、厳密に Write Once, Run Anywhere ができていない以上は、
この点に関しては他の言語と程度問題の差でしかなく、一線を画す類のもんじゃない。
それでいて実現できてない理想の為にVM上で動かさざるを得ずパフォーマンスは悪い。
現状、それでも使い物にならないってほどじゃないから、妥協した上での選択肢として
Javaがそれなりに利用されてるってだけだってことをお忘れなくw

30 :
それなりねー・・・・

31 :
http://pc11.2ch.net/test/read.cgi/tech/1178945996/10n
>C: ケンシロウ
>C++: ラオウ
>D: トキ
>Java: ジャギ
これ、言いえて妙だと思ったw

32 :
>>29
Run Anywareで問題になってるところって、たとえば何があるの?

33 :
北斗の拳を知らないのか、プログラミング言語を知らないのか、どっちなんだろう…

34 :
>>32
それは Java 厨のほうがよく知ってることだと思うんだが。

35 :
つまり、想像でRun Anywhereができないと言ってるわけかな?
パフォーマンスが悪いってのも、どういうアプリケーションで問題になるの?
あと、程度問題でも、実用上の差があれば一線を画すわけだが。これはRun Anywhereの問題に限らずね。

36 :
>>35
ハイハイ、じゃヴぁはすごいねぇ。ほんとすごいよ。
これでJavaしかできない劣等プログラマでも一安心だねw

37 :
むしろ、Run Anywareが特に効果を発揮した場所を知りたい。結局プラットフォームごとにデバッグするわけで。

38 :
スペルミスorz
Anyware → Anywhere

39 :
いやぁ、3年前くらいだったら、こういうときに反論できなくなってたのはJava使いの方だったんだけど。
ほんと、Javaもすごくなったもんだ。
CPUが速くなってメモリが安くなったおかげってのもあるんだけど。
Javaしかできなくて心配だった時期もあったんだけど、>36のレスみて一安心した。
ありがとう。

40 :
単なる興味の話なんだけど、JavaでLANカードのMACって作れるの?
組み込みLinux上で動くJavaVMとかあれば何とかなるんだろうか。
レジスタアクセスとか、物理メモリを直接触る操作とか辛そう。

41 :
>>37
え?
Windowsで開発して、実環境はLinuxというのが大規模アプリのレベルで行われてるわけで。
大規模じゃない場合、WindowsだったりMacだったりLinuxだったり、好きな開発マシンを使えるし。
プラットフォームごとにテストする場合も、同じテストが使えるしな。
あとは、MacとWindowsで共通のアプリを作る場合にもJavaが採用されるな。
Javaのおかげで、開発マシンのOSが自由に選べるのは、結構ありがたい。

42 :
>>40
そういうのはJNI使うだろうな〜。
言い訳としては、そういうアプリではRun Anywhereが求められない、って感じで。
需要が大きければ主要OS用のライブラリを誰か作ってくれて、しばらくするとJDKに取り込まれる。

43 :
>>41
俺はそれと同じことをC++で実際にやってますが、なにか?

44 :
> 43
それは、とても尊敬する。
そういうときって、Windows邪魔だよね。
あ、Cygwin使うのかな?

45 :
C++はウンコだからなー・・・

46 :
>>44
将来的にはGUIアプリなんかでも同様のことをやろうと思ってるけど、
現時点ではそこまでは及んでない。んで、別にGUIアプリじゃなきゃ
実はそんなに難しいことじゃなかったりする。
Cygwin は Windows 上から Linux 系向けのコードを簡単にテスト
する為の環境として重宝している。

47 :
>>42
JNIは初めて知った。
やっぱJava全然知らんなぁ、俺。
とりあえず外部DLLに頼らざるを得ない部分は出てくるわけか。
>Run Anywhereが求められない
めっちゃ欲しいっす。
MACみたいなハード寄りの組み込みプログラムなんかだと、
ハードウェアとソフトウェア、同時に開発進むこと多いんだ。(うちの会社の場合)
で、ソフトはエミュレータみたいなの使って動作確認やるんだけど、
ハードとの結合でボロボロ不具合出てくる。
でも出来ても結局リソース食うから、コスト的には使われなさそう・・・。>組み込みJavaVM
下手するとCPUすら削って、製造コスト下げようとするからネ!!

48 :
C++というか、周辺ライブラリだよね。
GUI使うと、WORAは結構悲惨。
というか、GUI使ってWORAだと、Javaが最善だと思う。
システムLAFもよくなったし、タスクトレイにアイコン追加できるようになったし。
GIMP見てると、GTKはWindows上で一般向けっていのはかなり難しいし。

49 :
>>47
なんか面白そうだな。
たまにはそんなジャンルの仕事もしてみたい。
いつもそんな仕事じゃいやだけどw

50 :
>>47
MACだけとか単純なものだったら、各環境でJNIやってもそこまで手間にならないと思うから、アプリ部分をJavaにしてWORAになるのはデカイと思う。
EclipseでもNetBeansでもC++の環境があってJNIやりやすくなってるし。
まあ、組み込みだとちょっとつらいかね。
ハードとソフトが同時進行の場合は、いかにハードのモックを作れるかが勝負だね。

51 :
>>49
Web+DBアプリってのは、プログラム的には一番面白くないと思う。
Ajaxなんて、流行りモノじゃなければ、無駄な作業以外の何者でもない。

52 :
>>48
JavaのGUIはSwingでしか作ったこと無いけど、確かに良いね。
多少見た目変わるけど、ほぼ確実に動く。(気がする
>GIMP見てると、GTKはWindows上で一般向けっていのはかなり難しいし。
いまひとつ意味が分からない
(閑話休題)
C/C++のマルチプラットフォームなプログラムは#if、#ifdef、#pragmaの
オンパレードだったりするしなぁ・・・。
こっちの問題は、そもそもC/C++はコンパイラの種類が多すぎる。
そのくせ標準のC/C++の関数だけだと大したこと出来ないし。
WinでもLinuxでも存在するgccは、その辺は強いかも知れない。

53 :
あ、業務アプリ系やってるのかなぁと勝手に推測してみた。

54 :
>>52
GIMPをWindows上で使ってファイル保存ダイアログが表示されるタイムラグとか使用感とか見てると、Windows上でのGTKって普通の人に使わせるにはちょっとつらいかなと。
C++で使えるクロスプラットフォームなGUIって、GTKくらいだよね?実用的なの。

55 :
>>53
>>51 は、なに言ってんのか、意味不明だったけどそういうことかw
おれ自身はいままで幅広くいろんなことをやってきたんでたいていの分野の特色は
ある程度はわかる。ただ、逆に汎用的なプログラマになっちまったせいで、これなら
誰にも負けないぞ的な部分に欠けるのがちと痛い。
汎用的だと潰しはいくらでも利くけど、極端に高い給料がなかなか望めんのよね。

56 :
>>54
知ってる限りではGTKぐらいだなぁ。
>一般的でないって話
なるほど。
んー・・・俺の場合はEtherealがサンプルになるけど、確かに遅いは遅い。
が、2年前ぐらいにJBuilderで作ったJavaのGUIアプリと比べては
そんなにストレスに差は無かった気がするけどなぁ。
2年前とは既に別物なくらい早いとかJBuilderがクソとかなら
ちょっと経験上は比べらんないな。

57 :
>>54
コアの機能だけ移植性が高ければ、プログラミング言語側の都合を抜きにしても
GUIまわりはOS別に構築したほうが俺はいいと思ってるけどなぁ、昔から。
だって、そもそもGUIってプラットフォーム毎に文化が全然違うんだから、
それを無理に共通化するのなんてナンセンスだと思う。
例えば、iTunes を俺は最初に Mac 版で使ってんだけど、Windows 版を
初めて見たときなんかあまりのナンセンスぶりに思わずひとりで大爆笑しち
まったもんだよ。あんなのギャグ以外のなにものでもない。

58 :
>> 56
JDKのバージョンが問題だな。
JDK1.4.0でのSwingと、JDK6のSwingは、速さの点では別物。
JDK1.3だったりすると、話にならないレベル。
今は速さの点でSwingに不満が出ることはないと思うよ。

59 :
>>57
Swing使ってみ。
Mac用のVMをAppleが作ってるってのは、そういう点でかなりいいと思うよ。
Windows上の動作も、バージョン重ねるたびに改善されていってるし。

60 :
>>57
どうだろう。
一理あるけど、レイアウトは独立的でも、
各コンポーネントは共通の方が作りやすいかも。
>>58
JDK5だったかな。
系統的にはどっちになるか分からない。<1.4系?6系?

61 :
JDK5.0だったらかなり速くなってるはずだなぁ。5.0系。

62 :
>>60
確かに(例えば)リストコントロール周りの似たような処理を
OSごとに書くのは馬鹿馬鹿しい気もする
どこまでを共通のフレームワークとするのかはまた別の話だけど

63 :
>>61
んー、そんな個人的にはGTKもSwingも、実用的な速さだと思う。
同じぐらいの速さだった気がするなぁ、って程度の話。
スペック低いPCだと顕著な差が出たりすんのかねぇ。
ではそろそろ寝る。

64 :
> 63
速さ的には、GTKの方が速いと思うんだよね。
ダイアログ表示が待たされるだけで。この遅さが結構つらいと思ったんだけど、それよりなんか使用感に違和感がありすぎて。
ファイル保存ダイアログの表示が遅いからGTK共通かと思ってるんだけど、もしかしてGIMPの保存ダイアログが特別遅いのかな。

65 :
あ、お休み〜ノシ

66 :
まちがえた、65=64

67 :
>>40
MACを作るってのがわからんけど、
MACアドレスなら 1.6 から java.net.NetworkInterface#getHardwareAddress() で取れるぞ。

68 :
>>67
MACソフトは、ハードウェアとドライバの間にあって、
ドライバからの送信要求をハードウェアに
ハードウェアからの受信通知をドライバに
それぞれ橋渡しするソフトウェア。
MACアドレスが取れるとかよりも、ROMやRAMのメモリにどれだけ自由にアクセス出来るか、かな。
具体的に例を挙げると、Ethernetの送信とかだと
ドライバからあるデータを送信しろという命令を受ける

データにEthernetのヘッダをつける

ある物理メモリの0x00210104にヘッダ付きデータの先頭を表すポインタを設定

0x00210100の第3ビットを1にする

ハードウェアがそのパケットを送信する
とかそういうインターフェースをラッピングする。
概念的なMACはまた違うけど、実装にあんま関係ないかな。

69 :
あー、ファームウェアみたいなもんか?

70 :
ていうか、ファームウェアの一種かな。

71 :
そのあたりの処理は NIC によってはドライバでやってる奴もあるし
ファームでやる奴もある。
残念ながら、まだ Java でどうのこうのできるレイヤーじゃなくて、
ASM / C / C++ あたりで書かれる。

72 :
もしそのファームがJavaで書かれてたとしてもPC上のJavaからは使えんから意味ないね。

73 :
実現したら携帯のアプリをJavaで作るのと同じようなノリになるのか?

74 :
実践的にJavaでプログラム書いてると
想像以上のぬるぽExceptionの出現の頻度に驚く
まじでCで書いてた時よりも多いよ
Javaってつくづく間抜けだなと思う

75 :
>>74

76 :
ぬるぽに遭遇するのは低級プログラマ

77 :
自分で組んだプログラムでのぬるぽは、言語の話ではなく単なるコーディング能力。

78 :
Cのスタイルで先頭にまとめて変数宣言するとぬるぽ多発しそうな悪寒。
変数は必要なときに、初期化つきで宣言するが吉。

79 :
TextBox hogehoge = new TextBox();
String fugafuga = hogehoge.getText();
みたいなときに
TextBoxの入力が空だった場合
fugafuga は "" になる? null になる?

80 :
""

81 :
>>78
クラスのインスタンス変数は先頭にまとめてしまいがちで
コンストラクタで初期化する傾向にありますが
何か良い方法はご存知ないでしょうか?

82 :
>>81
それはCスタイルとは意味が違うと思われ。
まあ、普通に初期化文法が使えるなら使えってのは一緒じゃないの?

83 :
>>74がbug量産プログラマということが証明されたのか、ふんふん

84 :
>>81
1.Eclipseで編集
2.DI(Springなんか)を使ってxml記述にて初期化

85 :
>>74はCでメモリ開放しないでコードかいてたんだよ。きっと。
そしてJavaにきてガーベッジコレクションでメモリ管理されるようになって
ぬるぽが続出しているんだ。
そして74はこれを回避するために一時変数とかをすべてstaticなフィールドにして
最初に初期化するという方法を思いつくんだ!
ぬるぽが出なくなって74は喜ぶが、代わりにロジックの誤りに悩まされてデスマに突入
ガッ

86 :
ぬるぽとがべこれは無関係だろ

87 :
84が負け組ということはわかった。

88 :
>>85
Cだと概念的にはnullのところがエラーとならずに値が読めてしまう場合あるだろ?
Javaだとそういうところ厳密なわけよ。
それはメモリ管理がガーベッジコレクションによって行われるようになって
プログラマの責務が減ったからからなんだよ。
新言語に搭載される機能が生まれてきた背景は知っても損はないぜ。

89 :
仮想マシンが null チェックやってるってだけのことだろ。
GC と何の関係もないよ。

90 :
>>54
> C++で使えるクロスプラットフォームなGUIって、GTKくらいだよね?実用的なの。
wxWidgets是非試してみて。
>>57
> GUIまわりはOS別に構築したほうが俺はいいと思ってるけどなぁ、昔から。
wxWidgets使えばGUIもWriteOnce, CompileAnywhere!

91 :
>>77
> 自分で組んだプログラムでのぬるぽは、言語の話ではなく単なるコーディング能力。
「ミスが出易い仕様」という言語の話。

92 :
ミスするのは人

93 :
確かにミスを洗い出しやすい仕様だな

94 :
>>89
まったく分からん奴だな。
CGがメモリ管理するようになって、alloc、freeみたいに
自力でメモリ確保と開放しなくてよくなったんだよ。
これは背景事情な。
で、自力でメモリ管理やるCの場合は、初期化していないアドレスに
アクセスすることがあったし、開放したメモリにアクセスすることもあった。
Javaの場合は前に使った値がメモリに残っている、とかそういうのはなくて
オブジェクトが生成されてなければ常にnullなんだよ。
だから、Cでメモリ管理ミスってるコードみたいな書き方をした場合は
みんなぬるぽになんの。
たまたま値が残っててそのまま動く、とかそういうことは起こらんの。
そういう見つけにくい、かつ深刻な問題が起こるバグの代わりに
はっきりと初期化されてないよって警告が出るようになったの。
だから、「ミスが露呈しやすい言語仕様」になっただけ。
むしろ発見が早まって生産性いいんだよ

95 :
Cでヌルポインタと言ったらNULLのことで、
初期化されていないポインタや解放済みの領域を指すポインタはまた別だろ。

96 :
>>95
誰に言ってんの?

97 :
http://pc11.2ch.net/test/read.cgi/tech/1168157769/14-15

98 :
画面作るのが糞めんどくせええ!!!!
SWTイレねーと糞なのにデフォで付いてねえ!!
環境整えるの糞めんどくせーー!!
jsp+servretでやっとMVCの概念覚えたと思ったら
strutsがデフォだからjsp+servret使ったらわかりにくいだってwww
strus糞めんどくせえええ
HTMLタグやっと覚えたと思ったらstrutsタグつかえだと?
jspファイルでhtmlタグとjspタグが混ざってたら見づらいんだってwwww俺は見づらくねえwww
web.xmlとかserver.xmlやっと覚えたと思ったらstruts.xml使えって?
あほかwwwwww今までの、無駄wwwwwww今までのは嘘でしたwwwwwって言われた気分wwwwww
eclipseバージョンあげたらプラグイン動作しねえええ!!!
web系でフォルダ覚えるの糞めんどくせええ!!!
全体的に覚えることが大杉
と思いながらも、独学でjavaやってたが
仕事で使ってるvb.netの使い勝手があまりに良いので
javaの情熱冷めた('A`)


99 :
struts がアレだったのは別にして、>>98はプログラマに向いて無いと思う。

100 :
うん

101 :
98ってそんなことも出来ないの?

102 :
strutsだろうがstruts2だろうがググれば出てくるよ。使用法

103 :
まあjava、というかEJBはめんどくさいよ。

104 :
そうか?EJB3ってそんなにめんどくさいとは思わないけど。

105 :
C: ザク
C++: ドム
C# : リック・ドム
D: アッガイ
Java: ジム
VB: ボール
こうですか?わかりません!

106 :
誤爆したスマソ

107 :
しかも番号がずれた。氏のう

108 :
>>105-107
ワロス

109 :
コンストラクタに引数をつけたいんですが、どうすればよろしいですか?

110 :
EJB3はどうかしらんが、EJB2.0のころは、ソースコードかくより
xmlファイル編集することで頭が混乱してきた。JBOSSの何とか言う分厚い
3800円の本かったけど、押入れの奥で眠ってる。
Javaの仕事はJSP/サーブレットないし、バックグランド処理だけやった。EJBはパスした。
PHPやらVB.NETの方がはるかにわかりやすい。

111 :
>>109
どうもこうもないべ。コンストラクタの宣言時に引数付コンストラクタを
定義すればいいんじゃない?
んで使うほうは、コンストラクタに引数つけりゃいいじゃん。
Buttonクラスだとすると、単にボタン作るコンストラクタとボタンに表示する
文字列を指定できるコンストラクタがあるんだけど、それでも他にコンストラクタがほしければ
Buttonクラス継承してクラス自作して、コンストラクタを新たに定義すればいいよ。

112 :

 カレントディレクトリを変更できない

113 :
__FILE__
__LINE__

114 :
EJBは3になって少しましになった程度
あれでDIのつもりだからため息が出る
まともなDIコンテナ使うと劇的に見通しが良くなる
これに慣れるとRailsや.NETみたいななんでもやります系の、そのかわり選択の余地は与えませんなやり方にうんざりする

115 :
>>113
System.out.println(new Exception().getStackTrace()[0].getFileName());
System.out.println(new Exception().getStackTrace()[0].getLineNumber());

116 :
>>115
なげ〜〜よ

117 :
将来的にはPCよりも携帯端末のほうが主流になるだろうから
MIDP/DOJAをやっておいても悪くない
ただしJ2MEでWORAなんて夢のまた夢だからプリプロセッサ必須だけど

118 :
>>116
間違っています。
以上。
はい、次。

119 :
TextSS

120 :
EJBなんて、めちゃくちゃ簡単じゃん。と、CORBAから移ってきた時は思いました。
今は面倒くさくてやってられない。

121 :
リストとハッシュで済むような処理のためにクラスを書くような言語は間違っている。

122 :
JavaってHTMLを生成するための言語でしょ?

123 :
>>120
そこはEJB3でどうでしょ
でもCORBAもJavaだと楽じゃね?

124 :
>>121
javaで書いたインタプリタで巻いちゃえばいいんだよ

125 :
文字列はコピー渡しの方が良いのではないか?

126 :
そう思うならコピーして渡せばいいのでは?

127 :
>>126

128 :
コピー渡しだと何がいいんだろ?

129 :
オリジナルに影響ないじゃん。
バカじゃない?

130 :
Javaではオリジナルを変更することはできないのだが。
バカじゃない?

131 :
>>128
コピー渡しというか値渡しだな。

132 :
>>130
> バカじゃない?
自己紹介乙。

133 :
値渡しは変更してもオリジナルに影響ないから文字列は値渡しってんなら、もともとJavaの文字列は不変オブジェクトなんだから、単なる無知の意見だね。

134 :
a( new String(str));
a(str);
どっちがいいかってこと?

135 :
>>129==>>133の予感がしてきた。

136 :
>>130 == >>133
です。

137 :
>>136
必死で否定するところが怪しいな。

138 :
>>137
見りゃ分かるだろ。
この バ カ

139 :
>>31
どういうところが?

140 :
すごく久々にレスが着いてると思ったら
どうでもよかった

141 :
バカを
バ カ
と呼んだまでのこと。
気にスンナ。
バ カ

142 :
夏厨様
糞スレはsageでお願いします

143 :
Javaが遅いのと、メモリ管理が自動なのは関係あるの?

144 :
今では無関係と言って差し支えないと思う。
メモリ管理は下手に手動でやるよりはGCに任せたほうがかえって性能が良くなるって話すらある。

145 :
>>1
   
  ∧∧
 (・ω・ )
 _| ⊃/(__
/ ヽ-(___/
 ̄ ̄ ̄ ̄ ̄ ̄

146 :
>>98にすげー共感する。
Struts覚えようとしたらDIも使うべき、とかおいおい環境作りにどんだけ手間かけさすんだよいつになったら画面作るとこに手つけさせてくれるんだよとウンザリしてRailsに逃げたw

147 :
オマイら、楽しそうだな。

148 :
>>145
   タノシイヨ
  ∧ ∧
  (´・ω)
 _|⊃/(___
/ ヽ_(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄

149 :
> 98は、NetBeans使ってればよかっただけって話か。
Eclipseが悪いな。

150 :
つーか、EclipseってJava使うのに向いてないだろ。クソつかえねぇ。
そもそもJavaの特徴ってのは使いやすい使いにくいじゃねぇんだから
ごちゃごちゃ文句言うんじゃねぇよ!俺みたいに学生時代に勉強しとくのがベスト。

151 :
>>150
Javaの特徴は重いことだ。

152 :
>>150
ベストの勉強しても全角厨しか生まれないんだな。
さすが、Java (w

153 :
Cではprintf();ですむ作業をわざわざSystem.out.println();って書かなきゃいけないのに驚いた
scanf関数に相当するものがないのにはさらに驚いた

154 :
import static System.out;
することで、out.printlnに減らすことはできるけど、長いね。
scanfの代わりはjava.util.Scannerということだけど、使い方全然違うしね。
正規表現でこんなことはできるけど、面倒だね。びっくりだね。
Matcher m = Pattern.compile("(\\d+)を入力して(.+)に").matcher("500を入力してほげほげに");
m.matches();
System.out.println(m.group(1));
System.out.println(m.group(2));

155 :
Cのscanfは使っちゃだめ系の関数だし、なくてもいいんじゃね

156 :
>>154
ありがとうございます
なんか面倒ですね…
>>155
scanfって使わない方がいいんですか?
学校のプログラミングの授業ではバリバリ使われています;´・ω・`)

157 :
ヒント: セキュリティーホール

オプソなんかではscanf調査ツールがあったり、
つかっちゃいけない関数は、
DONOTUSE_なんたらかんたら、という文字列に#defineされてたような。

158 :
>>156
まあ、System.out.printlnはEclipseならsysoutでctrl+space、NetBeansならsoutでtabとすれば入力できるから、入力がめんどうというのはあんまりあてはまらないね。

159 :
>>156
学生さんならいいと思うよ。
でも、商用プログムだと入力は最も気を使うところ。
>>157 の言うようにセキュリティホールの危険もあるし、
変な入力された時に適切なエラーメッセージを出すことも
容易でないから基本的に使わない。

160 :
最近のJavaはかなりCと同じ関数が増えてるよ

161 :
import java.io.*;
public static void main(String[] args)throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("数字を入力してください");
String str = br.readLine();
int num = Integer.parseInt(str);
面倒臭い

162 :
やろうと思えばJavaでできるけど、
そういうのはLLにまかせとけばいいと思うんだ

163 :
いっそ、こっちの方が楽だったりな。クロージャーが導入されてくれれば、もっとスッキリするのに。
あとはsetDefaultCloseOperationがどうにかならないんかな。
ウィンドウ出すマルチプラットフォームアプリ作るときはJavaが楽。
public static void main(String[] a){
JFrame f = new JFrame("数値入力");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLayout(new GridLayout(2, 1));
f.add(new JLabel("数字を入力してください"));
final JTextField t = new JTextField();
t.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int i = Integer.parseInt(t.getText());
System.out.println(i);
t.setText("");
}
});
f.add(t);
f.pack();
f.setVisible(true);
}

164 :
今はJavaにもprintf()があるんだが・・・・
ポインタがない分どれだけラクだと思ってんだ

165 :
Cみたいな特種用途向けの言語相手に何威張ってるんだ

166 :
printfがないとかいう話にはなってないでしょ。

167 :
既出かもしれんが、自分でクラスライブラリ作っていて、
abstract static a();
みたいな抽象スタティックメソッドが作れなくて困った。
これはJavaの仕様でたまたまそうなのか、抽象スタティックメソッド
というオレ考えが論理的におかしいのかわからん。

168 :
おまえがおかしいに決まってんだろ。javerはバカだね

169 :
そもそも >>167 が何をしたいのからわからん。

170 :
ファクトリメソッドパターン?

171 :
関数ポインタが欲しかったんじゃね?

172 :
>>167
利用法が思いつかない…

173 :
みんな許してやれ

174 :
>>167
マジレスすると、ここはJavaの質問スレではないから
真面目な答えはここじゃ返ってこないぞ。

175 :
おれもクラスライブラリつくっちゃおうかな

176 :
>>174
> 真面目な答えはここじゃ返ってこないぞ。
>>168 は充分真面目な答えだと思うが。

177 :
>>174
167は質問してないね

178 :
えー、別に質問したかったわけじゃなくて。
”こんなこともできねーの”という主旨にそって書き込ませてもらいました。
それで、用途はですね。
たとえば、たとえばDB上の様々なテーブルを表す、クラスA,B,C・・・とたくさんあって、DB上での取り扱いを処々定めた抽象クラスを実装しているわけです。
で、クラスA,B,C・・・のテーブルの生成、削除等はstaticメソッドにしたかったのですが、それは抽象クラスからは、abstractな抽象メソッドがないためだめだったというわけです。
もちろん、テーブルの生成、削除をstaticメソッドにしなければいいだけのことなのですが、なんとなくあるクラスというかBeanのテーブルの生成、削除等はstaticメソッドにする方がすっきりしているように思えたわけです。

179 :
まだ理解できないのか。javerはバカだね

180 :
>>178
C++でも出来ないけどねこれ。
寧ろそういうやり方出来る言語ってなんだろう

181 :
デザインパターンを勉強した方がいいよね

182 :
>>178
> で、クラスA,B,C・・・のテーブルの生成、削除等はstaticメソッドにしたかったのですが
ここがそもそもの発端なわけですね

183 :
static にしてもすっきりしないと思う。
どういうのが”すっきり”かも人それぞれだけどなw

184 :
abstractクラス.staticメソッドとやれば
それぞれを実装しているサブクラスのstaticメソッドが実行されるって
ことができれば便利だとおもうんだけどなあ・・・

185 :
>>184
それ明示的にクラス名書いて呼ぶの?動的じゃなくて?

186 :
簡単に数値に変換できるかどうか判定したいんですが・・・

187 :
>>186
javaの質問スレって認識したうえでのろうぜきかや
IntegerとかLongとかDoubleとかBigDecimalとかつかってparseできるか試すのがいいんでね?

188 :
abstractクラス.staticメソッド
こんなんでどうやってどのサブクラスのstaticメソッド呼ぶか確定できるんだよ。javerってこんなことも理解できないの?

189 :
>>187
いや、質問ではなくて そういう機能くらいデフォルトであればいいかな?的な 発言
Parseで失敗したらとかやってるとExceptionとかでしか判断できないからスマートではないのかな?
とか思ったりしたんで。
紛らわしくてごめん

190 :
>>185
すみません書き方が悪かったす。
オレがイメージしていたのは、
abstractクラスのAで、
abstract static void createTable();
となっていて
Aを実装するクラスBのインスタンスbで
b.createTable()とやれば
クラスBで実装したstaticメソッドcreateTable()が呼ばれるといいなと。
しかしまあ、Bのインスタンスをつかわなければならん時点で、
abstract static voidが可能だとしてもあまりスマートな結果は得られませんね。
皆様失礼しました。


191 :
たぶんこんな使い方をしたいんだろうと予想
abstract class Foo {
public static abstract void method();
}
class Bar extends Foo {
public static void method(){ ... }
}
Class<? extends Foo> absclass = Bar.class;
absclass.method();

192 :
普通に使えそうじゃん

193 :
Javaは
public void delete(List<クラスA> _list) throws ModelException;

public void delete(List<クラスB> _list) throws ModelException;
が同じシグニチャだと思ってるようだな。
困るなあ。
しょせんジェネリックなんて付け焼き刃ってことか。

194 :
ええはい
言語上の型安全性の保障だけでマシン的には何も変わっていませんので・・・

195 :
while (1)が使えないとかうぜー
しかもwhile ((boolean)1)もダメとか
俺は1が使いたいんだよおおおおおお

196 :
>>195
全角でどうかな?
boolean 1 = true

197 :
>>195
Cとかjavaとかが1/2が0になるのウゼ
どう考えても0.5だろwwwwバカじゃないの?
みたいな

198 :
>>195
for(;;)

199 :
>>195
trueかfalseを書けって仕様なんだから仕方がない。

200 :
JAVAって多少間違ってても動いちゃうよな。

201 :
多少間違いがあるとコンパイル通らないがな。
もしかしてDIを意識して動いちゃうとか言ってる?

202 :
どんな言語だって仕様どおりに組んでなくたって動くことは動く

203 :
途中で return false; って中断したいのが出来ない。
デバッグ中によくやらないか?

204 :
それって警告レベル帰るとなんとかならない?

205 :
VB.NETで言うDirectCastを実装して欲しかった(^_^;)

206 :
if(true) return false;

207 :
>>195
while((1))とかやるとどうなるの

208 :
コンパイルエラー:互換性のない型

209 :
>>205

210 :
#define

211 :
#define とかは C とかの必要悪でしかないと思ってるぜ。
VM上で #define が必要になるとか設計がうまく出来てないか要件をうまくまとめれてないかじゃねぇ?

212 :
1.4とそれ以降のコードを混在させて書こうとしたときとか、
プリプロセッサ使わないでどうやって書いてるの?

213 :
#define たたけば偉くなったと思う勘違い君なんだから、
スルーしてくれないかな。

214 :
>>211
cppにjavaソースぶち込める環境なら#defineとかcpp言語つかえるぞ

215 :
>>212
混在させない。

216 :
>>215
ふーむ、やっぱダメなのか
ターゲットプラットフォームによって使えるコード、使えないコードがあるから
プリプロセッサで条件コンパイルみたいなことできないかと思ってるんだけど
javaだとプラットフォームごとにソースを用意して管理してるのかな?
eclipseでそういうplug-inとかないんかなぁ

217 :
APIラップしていわゆるAdapterパターンって奴にするんじゃね?
うちは某フレームワークを利用するとき、直接利用しないで
一枚かぶせて使っていたぜ。どんだけ意味あるかわからんけどな!

218 :
>>216
拡張forやオートボクシングなら、わざわざ切り替えるまでもないし、Genericsもコメントで書いておけばいい。
ライブラリに関しては後方互換があるから、古い書き方を使うほうがいい。

219 :
デバイスドライバを書く。

220 :
>>216
駄目って言うか解決に向かう思考法が全然違う。
どちらかというとプラットフォームに依存しないインタフェイスを作成し、
それぞれに対してそれぞれのプラットフォーム向けに実装する。
Interface
├ImplForA
└ImplForB
そんで、起動時に自分が実行されているプラットフォームを
判断して利用する実装を差し替えるのがJava流だと思う。
プラットフォームごとにバイナリ分けてビルドするのは手間だしね。

221 :
>>220
プラットフォーム依存部分を別JARにまとめた方が良いような。

222 :
>>221
そこは別jarにまとめるってのは確かにそのとおりだと思う。
1つのプロジェクト内で複数のプラットフォームの実装を作ってもテスト同時に流せないしね。
どちらにせよ↓みたいな構成になるんじゃないかなぁ。
Interface.jar
├ImplForWin.jar
├ImplForMac.jar
└ImplForLinux.jar

223 :
octave,r,rubyから来た俺の驚きは、
標準ライブラリの貧弱さ。
ていうか初心者だから未だ俺が分かってないだけかもしれないけど、
配列のboxcarとか、それどころか相加平均さえ無いって嘘だよね?

224 :
その手のことに関しては、ライブラリもないが言語構文も悲惨なのがJavaだ。
そんなことに驚いているようではJavaなんて使っていられない。

225 :
>>223
自分がどれだけ標準から離れているのか判っていない。
それで標準ライブラリを笑うのだから片腹痛いわ。

226 :
>>223
Rubyで標準ライブラリでウィンドウ表示してみろ。
マルチスレッド系もJavaは強い。
というか、Javaの「標準」ライブラリはすごいぞ。「標準」でMP3も3Dも扱える。
行列演算はJava3Dに含まれてるしな。
統計処理がやりたければ「Java Data Mining」という仕様もある。サポートベクターマシンにも対応してる。
あと、Rubyはわかるが、数学用環境であるRやOctaveと比べるのは間違ってる。

227 :
javaの標準ライブラリってjava.*とjavax.*全部だっけ?

228 :
皆ありがとう。やっぱないのか。
笑った訳ではなく、驚いただけなのよ。
言語によって向き不向きがあるってだけのことなんだろうけど。
>>226 Java Data Mining
調べてみます。

229 :
何をそんな当たり前のことで驚いているのか
こっちが驚くわ

230 :
>>228
Java Data Miningは実装が有料のものしかないので、困り者

231 :
むしろそういう特定用途にしか使わないような標準は多量に含めてほしくないな。
そういうのは最小にして、仕様の標準化と参照実装を用意してくれるだけでいい。
しかし String や Date や List の仕様の貧弱さについてはもう少し何とかして欲しい。

232 :
仕様の貧弱さってなんだろう
機能が足りないってのなら拡張すれば良いわけだから、
言語仕様的になんか欠陥があるってこと?

233 :
>>232
StringやDateやListは拡張できんだろ。

234 :
例えばどんな機能が足りてないんだ?
C++ の string みたいに無駄に関数が増えるのは気持ち悪くてやだ。
Date には期待しない。Joda Time 使う。

235 :
>>148
オヤスミ…
  <⌒/ヽ-、___
/<_/____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄

236 :
>>233
なんで拡張できないのん?教えて偉い人

237 :
>>236
finalだから

238 :
>>236
Javaではクラスやオブジェクトにあとからメソッドやフィールドを追加できないから。

239 :
>>238
そんな機能必要ないだろ。何されるか分からん。
拡張できない理由は >>237

240 :
なぜ、できない理由として書いてあるのに、「そんな機能必要ない」という反応になるのか。

241 :
>>101
     幽体離脱
    ∧∧ ∩
    (`・ω・)/
   ⊂  ノ
    (つノ
     (ノ
  <⌒/ヽ-、___
/<_/____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄

242 :
USB API を早く実用レベルにしろ。

243 :
USB API(for Windows)初めて知った
そしてドキュメントにJNIコード大量でわらた
これってwindowsのカーネルモードとお話できたり,スキャンデータを改変したりできるのかな
無理だろうな

244 :
>>231,233,236
憶測で言うとString型はオブジェクトだけど
プリミティブ的な側面があったりimmutableだったりするので、
たぶんその辺をいじってほしくなかったんじゃないかと思う。
まあ継承継承言うよりCompositeぐらいつかおうや。

245 :
>>243
HD みたいなカーネル絡みはどうでも良いんだけど、特定業界用のデバイスや計測機器、
あと携帯や GPS なんかで気軽に遊べるとうれしいんだよね。以前 Garmin 用に JNI
組んだけど、かったるい上にプラットフォーム固定というのがひどく無駄な作業に思えた。

246 :
そうかなあ

247 :
>>241
   ?
  ∧∧
  (´・ω)
 _|⊃/(___
/ ヽ_(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄

248 :
>>244
Rubyのmix-inのイメージなのかなと、思ったりも
特定クラスのイテレータの実装って、そう変わらん気がする・・・
>>231
はたぶんjava6の仕様見たことがなんだろうね
#collection の仕様 見た?

249 :
>>247
  !
  ∧∧
 (・ω・ )
 _| ⊃/(__
/ ヽ-(___/
 ̄ ̄ ̄ ̄ ̄ ̄

250 :
sun買収されてどーなる?

251 :
OracleDB&サポート付きのjavaが世に出てJavaは二極化

252 :
javaやそのまわりのツールの類ってタダのままってわけにはいかねぇかな?

253 :
OpenJDKはGPLだから、ただのままなんじゃない?


254 :
>>249-253
     オハヨー!!
    ∧∧ ∩
    (`・ω・)/
   ⊂  ノ
    (つノ
     (ノ
 ___/(___
/  (___/
 ̄ ̄ ̄ ̄ ̄ ̄

255 :
>>253
どうでもいいけど、 GPLは別に無料でご奉仕しか許さん!!って訳じゃないぞ。
GPLのコードを使った製品を公開(販売も含む)する時は、
それらのコード全部を無料または送料分程度で手に入れられるようにしろ!!
と言う怨念の類であって。
(まぁGPLは感染力が半端ないから、今更完全有料型に移行できるかどうか?は別問題だろうけど)

256 :
>>1


257 :
Javaはデリゲートをサポートしてない駄作

258 :
J2SEで
NetworkInterface.getNetworkInterfaces();
の実行を禁止することってできませんか?
ここで表示される情報の組み合わせで、実行端末を特定できてしまいますよね
セキュリティ的に問題なのでこれを禁止したいのですが、設定がありません

259 :
>>258
とある実装ではセキュリティは全く考慮されてません
たぶん要件外なのでムリゲ
ちなみにネットワークインタフェースを列挙することの具体的なセキュリティ的な問題はどういうの?

260 :
String unko = null;
if (unko.isEmpty())
hogehohe...;
ってやったら、ぬるぽ出たお。
isEmpty() で null が判定できないなんて、クソだお!

261 :
nullオブジェクトを作れ

262 :
こいつは初歩を理解して無い
nullに対して参照してる時点でアフォ
たぶん平気でゼロ割とかしてバグを出すタイプ

263 :
じゃぁ初歩を理解してれば、isEmpty()でnullを判別できるのかよ。
「こんなこともできないの?」という事例を投げかけてるだけだ。
ちゃんとスレタイ読め

264 :
>>260
>isEmpty() で null が判定できないなんて、クソだお!
逆にこれでぬるぽが出ないほうが困ると思うんだが・・・

265 :
>>260
nullが入ってるんだからメッソドが動くはずがないのに

266 :
言語仕様的にはLLの場合ならnullオブジェクトがあって
デフォルトで初期値がnullオブジェクトになってるケースが多いな
合理的だと思う

267 :
関数型言語によくあるMaybeやOption型が一番合理的だと思う

268 :
じゃぁみんな、nullチェックは、いったいどうしてるの?
if (unko == null || unko.isEmpty()) { ... }
if (unko != null && ! unko.isEmpty()) { ... }
みたいに?
アホくさ

269 :
nullチェックとisEmpty()は全くの別物だと思うんだが。

270 :
>>268 はPHPer

271 :
空文字列とnullと0が区別できないPHPは使いにくくてしょうがない。

272 :

JAVAer が PHPer を差別してますね。
こーゆーのを、「メクソ、ハナクソ」って言うんですね。

273 :
そうか
レスがもらえてうれしかったのはわかるぞ

274 :
まぁまぁ、ケンカすんなって。
インタプリタ言語同士、仲良くしろよ。

275 :
スクリプト言語は型指定できない奴が多くて困るよ
そのうち改善されてくんだろうけど、それまで待てない(>_<)エーン

276 :
>そのうち改善されてくんだろうけど
それはない

277 :
スクリプト言語は型の扱いがいい加減な言語が使いやすいと思っちゃってる人のための言語。
Javaはスクリプト言語よりはずっと使いやすい。けどC#には負ける。

278 :
釣りであることは明白だが初心者が混乱するとかわいそうなのでフォロー
スクリプト言語に型がないとかいい加減だとか誤解している人がたまにいるが大間違い
コンパイル時に型が決定しないだけで型そのものは存在する

279 :
JavaにはGENERICSがあるだろ

280 :
しっー!
Javaは1.4で止まってる人が多いんだから刺激しちゃダメ
ジェネリックとか言ったら頭がパンクしちゃうよ?

281 :
>>278
型がないってのは間違いだが、いい加減なのは間違いじゃない。
文字列型から数値型へ暗黙の型変換がなされたりするし、
引数の型チェックができるケースなんてある方が珍しい。
void*使い回しと大して変わらん。

282 :
JavaScriptあたりはそうだが、Pythonなどは違うよ
>>> 1 + "1"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
動的型言語の変数が似てるのはvoid*じゃなくてタグ付unionだろ
データを見りゃ型が分かるようになってる(自己記述的)なんだから
プログラマのくせにロクに知りもせずに何でも糞みそ一緒にするなと
引数の型チェックっつうけどJavaも何でもnull突っ込めるよな
参照型の場合は

283 :
変数の型の強さは多分こんな感じ
静的型関数型言語 (Haskell, OCaml等) >>> 静的型手続き型言語 (Java, C# > C, C++) >
動的型言語 (Python, Ruby > Perl, JavaScript, PHP)
動的型の関数型言語は知らん

284 :
Map の putメソッドの戻り値が、1こ古い値なのはクソだな。
putの戻り値って何か使い道あるの?
実際にアプリで使用したことあるひといる?
やぱりjavaはウンコだな。

285 :
音楽CDの再生

286 :
>>284
激しく同意!
thisを返してくれたほうがまだマシだね
Map chnco = new HashMap().put("便器","うんこ").put("たんつぼ","ゲロ").put("ポリバケツ","生ゴミ");
みたいに初期化が楽になる

287 :
>>284
Javaを触り始めて10年以上ですが
使い方ね、使い方、と

初めて知った\(^o^)/

288 :
>>280
ドキ

289 :
mainの戻り値がSystem.exitでしか指定できないってことは、
異なるプログラムでJVMを使い回して高速化、なんてことは一生できないね。
.NET Frameworkはそのためにアプリケーションドメインがある

290 :
まぁまぁ、javaが無かったら.NETも生まれなかったわけだし。

291 :
アプリケーションドメイン使っても、コンソール、標準入出力、カレントディレクトリ
みたいにOSがプロセス単位に割り付ける資源は当然のように共有されてしまうので
1プロセス/VM上で異なるプログラムを実行するつっても
どのみち限界あると思ってたんだけど俺の勘違いか?
Javaの場合、System.exit()だけが問題ならSecurity Managerで無効化するんだと思う
ま、JVMでも.NETでもなくて、Unix環境なら
単にfork()でも使うところだろうな

292 :
ああ、やっと意味がわかった。
Cなら int main(.....) なのに
javaは void main(...) なんだよな。
これに限らず、やたらとvoid関数が多い。
voidなんて廃止してもらいたいくらいだ。

293 :
>>291
アプリケーションドメインはもともとWebサーバーのためのものだろうね。
でもMSが本気だしたら標準出力なんてお得意の高速プロセス間通信でなんとかできるだろ。
起動したプロセスは標準入出力を唯一の共通プロセスにパイプで渡して処理を委譲。
カレントディレクトリはクラスライブラリでごまかせそうだし。

294 :
デフォルトコンストラクタでインスタンス生成しまくるJavaには
voidがお似合い。
意味的にパラメータが必要とか値を戻すべきとか考えない。

295 :
なんでjavaって連続の割り算掛け算できないの?
hoge = aaa/3600000/24;
これで普通いけるよね
こう書き直さないと駄目だった
hoge = aaa/3600000;
hoge2 = hoge/24;

296 :
>>295
普通にいけるだろ

297 :
>>296
書いたのはandroidアプリでだからandroidが悪いのか?
とにかくエミュレーター動かして出した結果、正しくでなかった

298 :
>>295
hoge = aaa/3600000.0/24;

299 :
rar書庫を解凍せずに画像読み出し

300 :
どんな環境だろうと解凍しなきゃ圧縮アーカイブ内のデータは読み出せないだろ
オンメモリで、という意味ならJUnRar使えば出来んじゃね?

301 :
ZIPならZipentryでできるじゃん
Junrar?あれそんなんできたっけ?

302 :
パス付きのrarとか実質WinRAR使わないと無理なんじゃなの

303 :
そもそもJunRar自体がもう存在してない件w

304 :
JunRarはストリーム使えないだろ

305 :
WinXP、Java1.6です。
javaでkbhit+getchみたいなのは無理でしょうか。
以下のようなやり方だと、入力した内容が表示され、
改行入力も必要になってしまいます。
Scanner.nextInt()
System.in.read()
FileInputStream.read() (FileDescriptor.in)

306 :
>>295
JAVAって割り算すら計算間違いする言語なんだな・・・・・・・・・・・・・

307 :
 

308 :
>>295
結果がどのように間違っているのかが書いていないので
なんとも言えない

309 :
strictfp使わずに誤差が出たとか騒いでるんじゃね

310 :
クラスごとにファイル分けないといけないとかうんこすぎる
おまえはFF14かと

311 :
はぁ?w
クラスごとにファイル分けって
そんな設計してるからゴミ化するんだろ
バカか、お前

クラスごとにファイル分けとかwwwwwwww
バカかwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
それは整理されたソースコードじゃなくて、たとえばマンションがあったとして、
ひとつの部屋に、10人住んでいる所もあれば、ひとつの部屋にねこ1匹しか住んでいないとか、
そんなレベルの話
クラスにもそれぞれの大きさがある・・・
ほんとにJAVAERはレベルひっくいなぁ・・・ クラス(笑)毎日毎日かいてんだからそのくらい覚えろよ
クラスを基本かかない奴にすら劣る知識って  冗談はやめてくれ

312 :
>>310
jarでファイルまとめろよ

313 :
1クラスが1ファイルになるのは別にいい。jarにすれば良いだけ。
問題なのはJava使いにC#をやらせると名前空間ごとにDLLを作り初めて
膨大な数のDLLができあがること。

314 :
それでJava使いはC#が駄目だとか言うのか。なるほど。

315 :
Javaは標準ライブラリでまともにXMLが扱えない。

316 :
>>313
それは初耳だな。。。
c#使いでも少数派だと思われ

317 :
最近javaの勉強をしている。
噂には聞いていたけど、やっぱおっせ〜わ。
ノートPC(ぺんM1.4)で使うなよハゲっていう、強い意思表示を感じたぜ。

318 :
Pentium Mはいいけど、ノートPCのハードディスクはネックだな。
SSDかRAMディスクにしてみろ

319 :
Ceylonに期待

320 :
Javaは4GB以上のbyte配列が確保できない

321 :
実は2GB以上なんですけどね……

322 :
ぷ。

323 :
256 byte バイトストリームから
符号無し 4 byte 整数の要素数 64 の配列への
お手軽一発変換

324 :
boolean とか・・・
bool って書かせろよ

325 :
だよね、それはある。
整数が integer でなく int なら
boolean は bool であるべき。
統一性がないな

326 :
それよりもintがbooleanにキャスト出来ないのがムカつく。

327 :
>>326
その発想は無かった

328 :
bool b = (bool)0;ができるC/C++の方が異常。

329 :
>>328
自分もそう思うし、必要ならメソッド書けば良いし
//自然数はture. 0と負の整数はfalse
if(n>0) return true
else return false

330 :
if(x==0) を if(x=0) なんていう書き間違いを防ぐためと、
その書き間違いを防ぐためにif(0==x)なんていう
直感的に分かりにくいコードを書くバカが現れることを防ぐために、
キャストできない方がいい。
>>329 え?

331 :
>>330
あによ?
ifもforも命令一個なら{}省略出来るだろうがよ
自分もキャストは出来ない方が良いと思うぞ?
必要なら関数なりメソッドなりですれば良い

332 :
C だと非 0 が真

333 :
intだとif(x)とかif(!x)が出来ないのが面倒。ついでにオブジェクトにも出来ないのもダメ。いちいちx==nullとかx!=nullとか面倒。

334 :
あえて記述が面倒なのを受け入れて間違いを防ぐのがJavaのいいところだと思うのだが

335 :
一からjavaで書く分にはそれでいいかもしれないけどc++からの移植とかする場合いちいち手直ししてあげないといけないのは超面倒

336 :
>>335
え、それは・・・
普通、リファクタリングしない?

337 :
間違いを防ぐんではなく、真偽の論理値が必要な場所に
数値が現れるのが意味的におかしいんだよ

338 :
符号つきなのにbyte型なんて名前なのが腹立つ。

339 :
符号付の方が都合がいいだろ。
2バイト文字判定がフラグだけ見て判断できるんだから。

340 :
符号無し整数型の充実を求む

341 :
>>340
C#使え

342 :
>>341
まわりのね、えらいひとたちがね、
じゃばをつかえって、いじわるするの

343 :
>>342
引きこもって飢え死にしろ

344 :
結論 JAVA はゴミ

345 :
>>340
確かにそれは思う時はある。
だけど、そういうちょっとした便利さとかを求めて言語仕様変えようとすると
Java7,8みたいにグダグダになってしまうんだと思うんだ。

346 :
ヒアドキュメント

347 :
>>345
単に不便っていうよりは、言語設計上のミス (或いは、
必要性を認識出来なかった) だと思ってる
配列の型変換にしても、ポインタを使える様にしろとは言わないけど、
代わりにビュー的な仕掛け (byte 型配列を int 型配列として参照する等) とかなら
処理系の実装次第でどうとでもなりそうだし

348 :
int sjisCode = (b1 & 0xFF) << 8 | (b2 & 0xFF);
符号付きは不便だな。

349 :
油断して (b >> 4) とかやると、とんでもない数になったり
(b >> 4) & 0x0f の & 0x0f がまんどくせ
>>329
return n>0;

350 :
byte b = (byte)((bOrg & 0xFF) >> 4);
糞としか言いようがない

351 :
これまでの人生で、符号付き8ビット整数を使うような場面に一度も遭遇したことがないけど
実際、具体的にどのような事に使用されてるのでしょうか
たとえ話じゃなくて、具体的なアプリケーション名とか、規格とか、そんなので何かありますか?
たとえば音楽のMIDI規格では、左右のチャンネルの振り分けデータは
  左〜中央〜右
  0 〜 64 〜 127
のように真ん中が64になるようゲタを履かして、負の数を扱わずに済むようにしてあります。
8ビット符号付整数って、ものすご〜〜〜〜〜く扱いづらいんですよ。

352 :
そうだな。例えばGIF画像を処理するプログラムで使ったな。
数あるバイナリーフォーマットの中でMIDIだけは符号付き整数を基本とする
異例のフォーマット。
そんなマイナーな例を持ち出してJavaを擁護するのは恣意的だぞ

353 :
??

354 :
俺も符号付き嫌
慣れないうちはバグの温床になりやすくて嫌いだわ
javaはバイナリを扱うのには向いてないって思う

355 :
Java にしても .NET 系にしてもバイナリファイルの扱いを事実上放棄してるよなぁ

356 :
>>355
え、.netはちゃんと符号なしは有るぞ?

357 :
>>356
確かに符号無し整数型はあるけど、次の様なことを C#、VB 等で行おうとすると、結構メンドくありませんか?
1) C の構造体の様な任意のサイズ・構造のブロック単位での入出力
--> バイナリファイルを扱う時に必要
2) バイト配列の任意の位置・サイズを別の型の配列として切り出す
--> メモリマップしたファイル、バイナリデータを用いるプロトコルスタック等で必要
無い物ねだりしても仕方ないんですけど…

358 :
C#ではそういうやり方でやるなって事だろ
ゆっくりもたもたしたコードで処理を行う
コードの短縮を行う為のポインタ演算は、レベル4くらいの能力者じゃないと読めないし
レベル5の技術者じゃないとかけない
C#は土方用言語ゆえ、難しいことはやらない

359 :
>>358
rubyも土方用だからバイナリ扱うのには向いてないよね

360 :
どっちかっていうとC#よりCの方が土方用って感じがする。
ユーザ寄りじゃない部分を書くわけだし。

361 :
>>360
えー。。。。?
自分はC#でアプリしか作れない人よりも、Cでデバイスドライバ書ける人の方が尊敬するけどなぁ。。。


362 :
C#の初心者とCの中級者を比べてもしゃーない

363 :
c#はちょっとしたアプリ作ったり、ツール用がほとんどじゃね?

364 :
>>363
とか言う奴に限って、C#使わせてもJavaみたいなコードしか書けないというw

365 :
>>361
デバイスドライバとかなにが楽しいの?
そういうのは他人に任せてればいい汚れ作業
まさに土方

366 :
Javaって、Javaスレで話題の中心になることもできないの?

367 :
>>365
デバイスドライバがなきゃ、その上のソフトが動かないわけだが
ドライバの出来が悪けりゃその上のソフトがいくら頑張ってもよくならないし
土方のとらえかただな
俺なんか土方の仕事っていったら与えられた言語で与えられた仕様書通りにソースを書く仕事って捉えてるが

368 :
>>365
楽しいから書くとか、仕事舐めてんの?

369 :
ビットローテートも一発でできないなんて

370 :
>>365
ハード叩くって面白いよ

371 :
>>369
java.lang.Integer#rotateLeft(int, int)

372 :
まだハード寄りの方が偉いって勘違いしてる奴がいるのか

373 :
できない事への憧れって奴なんじゃね?
実際には>>367の土方仕事だったりするけどな。

374 :
デバイスドライバー開発はまちがいなくドカタ。
SEから見れば>>367もドカタ。

375 :
>>374
それを言ったら、プログラマは全員土方だな
世界では違うらしいけど、日本じゃあながち間違ってないってのも悲しいが

376 :
わざわざこんなスレ立てるとか、javaにコンプレックスでもあるのか?

377 :
4年前の事に文句を言われても…

378 :
コンプレックスじゃなくて、出来の悪い言語に頭きてるだけだろ。
でもプロセスがOSに対してステータスを返すのは通常のメソッド呼び出しとは
異なる特別なことなんだから、mainの戻り値がプロセスの戻り値になるCの方が異常

379 :
mainが自動的に呼ばれるのも異常ってことだな

380 :
なんでそうなるよ。エントリーポイントはメソッドしか実現不可能じゃん。
プロセスが終了ステータス返すってことは、全スレッドを止めてJava VMの
シャットダウンが必要なんだから、System.exit()の方が自然。
mainが0を返したあとで他スレッドが生きててエラーになったのに
プロセスとしては0が返るとかキモ杉だろ

381 :
main 終了後の cleanup で terminate する様に実装するとかじゃダメ?
で、スレッド複数上げてる場合、プログラマが責任持って join または purge することを義務付けるとか…

382 :
まともなデストラクタ書かせろよ

383 :
JavaはCと違って、メインが終了してもサブスレッドがすべて終了するまでプロセスが終わらない。
Thread.setDaemon()である程度制御はできるし、Cと同じにしたければ
mainの最後でSystem.exit()すりゃいいだけ。
そういう言語設計思想なんだからメイン終了時にjoinしろという指摘は不適切。
ちなみにこの仕様はJavaだけでなく.NET Frameworkにも受け継がれている

384 :
>>383
いやいや、前段で書いてる通り、main 終了後に
問答無用で terminate することを前提に、
それが嫌なら join しろと言ってるだけ
全ては仮定の話です

385 :
>>380
なんでそんな糞プログラム書いてるの?

386 :
process terminate signal みたいなのを拾えたらいいのにね

387 :
仮想マシンとアプリの間の OS 相当部分をもっと厚くしないと、こういったことって難しいんだろうな

388 :
JavaはIPv6で非同期TCP通信できない

389 :
java.nio って IPv6 未対応なの?

390 :
Java 7なら・・・

391 :
JAVAじゃデバイスドライバなんてかけないから、こんなスレで話題振らないほうがwwwwwwwwwwwwwwwwwwwwww

392 :
割り込み禁止もできないなんて

393 :

お前らってどうみてもゴミだよな?
ゴミグラマって気持ち悪いんだな

394 :
いえいえ、お天使様にはかないませんよ

395 :
参照渡し
それとまともなジェネリック
(値型のジェネリックを使うとボックス化&非ボックス化が
暗黙のうちに発生して速度が遅い件)
参照渡しもできない癖に「ぬるぽ」が発生する矛盾
(そもそもポインタがないことを自慢してたのは、どの言語だ?)

396 :
>>395
ガッ

397 :
>>396
俺、>>395だが、
このこと(参照渡しもでそもそもポインタがないことを自慢してた)
には触れてはいけなかったかな?
それとも、2chのお決まりに従って「ガッ 」してくれたのかな?
でも、俺と同じように疑問に思う人はいないのかな?

398 :
>>397
普通に考えりゃ脊椎反射だw

399 :
>>397
名前欄嫁

400 :
>>398
>>399
>>397です。不注意でしら。すみません。
でも、俺、普段から思ってるんだけど、JAVAってポインタに類するものは
危険だからって、参照渡しまで禁止しておいて、NullPointerExceptionが
発生するような言語のどこが、主義に一貫性があって、言語に整合性が
取れてて美しい言語なのか・・・・理解できない。
それに、値型でも参照型でもいいけど、引数の参照渡しが危険で、
参照型の値渡しが安全っていうのも理解できない。
(引数渡しの中で一番危険なのが、参照型の値渡しだと思うが・・・。)
誰か、JAVAのどこに一貫性があって、整合性が取れてて、美しい言語なのか
説明してください。
結論は、JAVAでできないこと=JAVA(言語)の設計思想の一貫性について
納得のいくような説明をすること。
長文ですみません。

401 :
JAVAでできないこと。
ボタンなどのイベントハンドラを柔軟に簡潔に記述すること。
(匿名インナークラスでべた書きなどは論外)

402 :
>>400
「(C++の)ポインタを使った配列アクセス」が危険だから廃止
 →これは実際に効果あったんじゃない。パフォーマンスの若干の低下と引き換えにバッファオーバランはなくなった
「参照渡しと値渡しと値のポインタ渡し」が低能にはわかりにくいから一つに統一
 →参照渡しはなくてもよかったが値渡しとポインタ渡しは選べるようにしてほしかった
 →実際プリミティブ型とそれ以外では動作が違うわけだから、この点に関しては一貫性はないな
刃物みたいなC++を安全カミソリにしようとしたのがJavaであって、それは成功したといえると思う

403 :
そしてjavaで「これ、削り過ぎで不便」って所を入れてC#になる訳ね

404 :
>>402
あなたが言わんとしていることはなんとなくわかるが、でもJAVAの設計思想
はやっぱりおかしいと思う。
たとえば、あえてVB.NETを例に出すけど、参照渡し、値渡しはサポートし、
ポインタを使った配列アクセスは禁止してる。
で、(あくまでこの部分だけを取り上げると)JAVAとVB.NETを比べたとき、
どちらが(プログラム的に)安全で将来性があるかと考えると、
安全性ではほぼイコールで、将来性では、VB.NETに軍配があがると思う。
(たとえば、JAVAのGENERICとVB.NETのGENERICの実装を比較するとよくわかる
と思う。)
こんな不利があるのを承知の上でセールストークのためだけに引数の参照渡し
を禁止しておいて、NullPointerExceptionなんてエラーが発生する矛盾を作っ
てる言語の設計思想が理解できないわけで・・・。
ちなみに、VB.NETよりもやっぱりC丼のほうが言語仕様的には優れてると思う。
(参照渡しの場合、呼び出す側にも呼び出される側にも参照渡しを示すキーワード
が必要だというのは、いいと思う。)
まあ、ヘジとゴスの器の差というところだと思うけど。
後、自分の恥をさらすけど、
参照渡しと値のポインタ渡しの違いが理解できないんで、教えてもらえると
ありがたい。
個人的には、引数の種類と渡し方の違いで、
・値の値渡し
・値の参照渡し
・参照の値渡し
・参照の参照渡し
の4種類があると思ってるんだけど。
で、一番危険なのは、参照の値渡しだと思ってる。(動きが中途半端だから)
このなかでJAVAのように(安全な言語仕様にするために)2つ禁止するなら、
1.参照の値渡し
2.値の参照渡し
の順だと思うけど。

405 :
>>404です。
いまさらながら、長文すみません。

406 :
どちらかというと、危険なのは>>404だな。

407 :
>>404
>1.参照の値渡し
これを禁止されたらかなり痛いな。機能的には参照の参照渡しだけで問題ないが

408 :
痛いのは>>404だな。

409 :
>>406
すみません。以後、長文気をつけます。
>>407
俺、>>404だけど、禁止するべきとは思ってないです。
どうしても2つ禁止するならってことで・・・。
でも、参照の値渡しって、呼び出し先での参照の属性の変更は
呼び出し元に反映されて、参照そのものに対する変更は
呼び出し元に反映されないってのは中途半端な気はしませんか?

410 :
なんでメソッド一般に手持ちの変数を書き換える権利を与える必要があるんだよ
性悪説のPGが発狂しちゃうぞ

411 :
>>404
VB.NETやC#とJavaを比べたらだめでしょ。JavaはC++の時代に設計されたんだから
>参照渡しと値のポインタ渡しの違い
ポインタ渡しというはポインタの「値」渡しなので言語仕様的には値渡しになる
>・参照の参照渡し
値渡しと参照渡しは呼び出し時の引数をコピーするかしないかを意味しているのであって
変数が値型か参照型かというのはとは関係ない
参照型を参照渡ししたら呼び出し元のインスタンス
を変更できることになるが、
通常はインスタンスの中身を変更してもらいたいだけだろう

412 :
>>411
設計した時期が確かに5年ぐらいJavaが先だからC#とかはまねできる分有利
だね。でも、それが参照渡しを廃止してしまった言い訳には・・・。
>ポインタ渡しというはポインタの「値」渡しなので言語仕様的には値渡しになる
勉強になりました。ありがとう。

413 :
>それが参照渡しを廃止してしまった言い訳には・・・。
いや、値渡しと参照渡しが混在していたC++からきっぱりと値渡しだけにしたのは
安全カミソリ化として正当だと思う
でも使っているうちに「やっぱりout引数欲しいよね」ってことでC#では復活した
わけで、Javaは今となっては使えない言語だというのは同意するが、Javaの設計に
無理があったとは思わない

414 :
>>413
>Javaの設計に無理があったとは思わない
なるほど。そういう考え方もできるんだね。
俺は、1996年にJavaの本を読んでその仕様を知ったときから、セールス
トークのためだけの(間違った)言語設計だと思ってたので、
そういう考え方はできなかった。頭が固いのかもしれん。

415 :
参照の値渡しを禁止されたら、
実引数にnewが書けないね

416 :
>>415
なんで?
できると思うけど

417 :
>>415
>>416です。ごめん。よく考えたらできないね。

418 :
Javaにできないこと。
Windowsで動作する、大半の人が違和感を感じない
普通のWindowsアプリケーションを開発すること

419 :
見た目の問題ならSWT使えばいいんじゃね?

420 :
>>413
.NET上で動くVB後継製品出してC#と連携させようとすると必然的に参照渡し必要にならん?

421 :
>>419
見た目の問題ならC#使えば良い。敢えて劣ったJAVAを使う必要は無い。
クラスプラットフォームの要件があるところだけJAVAががんばれば良い。

422 :
Winというプラットフォームの存在を考えれば圧倒的にC#の方が優位そうにみえるが
実際に書かれたアプリの数はどんぐりの背比べ程度という

423 :
>>418
それC#.NETでもできないよね

424 :
C# .NETはもうサポート切れてるだろ

425 :
え?C#のマイクロソフト独自拡張をC#.NETっていうんじゃないの?

426 :
Microsoft Visual C# .NET
Microsoft Visual C# .NET 2003
Microsoft Visual C# 2005
Microsoft Visual C# 2008
Microsoft Visual C# 2010

427 :
.NET(Mono含む)以外で動くC#ってあったっけか?

428 :
>>426
え?それIDEの話でしょ?

429 :
>>428
>>426に言ってどうする。>>423に言え。

430 :
>>1
返せます。
int main() { return 1; }

431 :
さむっ

432 :
35歳、童貞です。
JAVAで若い女の子とセックスできますか?
右手だけは自信あります

433 :
>>432
すっかりjavaしか出来ない人は低脳と言う空気が出来上がってるし、母体もOracleになってjavaの勢い無くなってるので、無理

434 :
>>432
Javaで彼女を作れ。

435 :
>>433
先月もOracleが7をだしたとおもうのですが、
やっぱりJAVAは将来が危ういのかな・・・

436 :
>>435
しょっぱなループまわりにエラーがあるって話は聞いてる
ただでさえ、機能でC#に追い越されてるのに、基本的な所も安定して無いってどうよ
過去の資産のために古いバージョンで運用しつつ、新規は別の言語に移るだろうな
じゃあ、何処に移るっていう決定打も無いんだが。。。。
今はjavaは様子見した方が良い

437 :
Javaはサーバから出てこないでほしい。
携帯電話とかクライアントPCで使いたくない。

438 :
>>436
基本が安定していないのはOracleならでは。
普通にテーブル作って読み書きするだけのDB基本が11gになってもバグだらけ。

439 :
ダブクリで「確実に起動できる」一本ファイルのインストーラを作れない。

440 :
Javaは、他のプログラム言語に比べていろいろできる筈。
VB,VCは、Windows限定だがJavaは、できる。
Javaは、唯一全てのハードで使用できるプログラム言語の筈

441 :
いつからJavaはC言語になったんだ?

442 :
>>441
Javaは、いろいろできるぞ
Linuxでも動くし携帯ゲームも作成できるし
電子レンジみたいな家電も作られたって聞いている
C言語を元にOAKを作られているから大丈夫
(OAK+インターネット技術=JAVA)

443 :
>>440
普通に考えたら「いろいろできる」のはVCだろ。
Javaはプラットフォーム非依存のメリットと引き替えに
機能性・ユーザーエクスペリエンスを捨てた

444 :
>>443
突っ込むのがめんどくさいから、
馬鹿じゃね?とだけ言っておく

445 :
>>443
ばーか
>>444
ばーか、ばーか

446 :
(´・ω・`)

447 :
VCってどんな言語?

448 :
ビタミンCの事だよ

449 :
バーチャルコンソール

450 :
バーチャルコール

451 :
塩化ビニルのことだと

452 :
ヴァカ

453 :
ヴァギナこーまんのry

454 :
 

455 :
オートボクシングうぜぇ〜〜
for (Integer i = 1000; i < 2000; i++)
{
array[i] = "うんこ"+ i;
}
こんなクソなコードを平気で書くやつがいる。
なぜダメなのか、説明するのに一苦労する。

456 :
Integer i = Integer.parseInt(string);
if (i != null)
{
hoge(i);
}
とか

457 :
型変数と型変数クラスの違いが分かってないから、オートボクシングによる型キャストのコストがあるってこと?
Integer i=0;
i++; ←ここがいかんのけ?

458 :
Integer i = 1;
synchronized (i)
{
++i;
}
とか

459 :
あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛
あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛
あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛
あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛
あ゛あ゛あ゛あ゛あ゛
あ゛あ゛あ゛あ゛あ゛あ゛あ゛
あ゛あ゛あ゛あ゛
あ゛〜〜〜〜もうイライラする!
なんで byte が符号つきなんだよ!
いちいち & 255 せにゃいかん。
プログラムが & 255 だらけだょ〜〜〜
うっとおしぃ〜〜〜〜〜

460 :
まさか手動インライン展開してる奴がいるとは思わなくて・・

461 :
jar hell

462 :
結局一長一短だろ

463 :
VC#から越してきたが、デリゲートとイベント機能が欲しい
イチイチIf実装するの面倒

464 :
ついでにインデクサがほしい。

465 :
SunはOracleに食われたのでもはやJavaに未来はありません
OracleよりはMSのほうがなんぼかマシですし、monoプロジェクトのおかげで
.NETはいまや立派なクロスプラットフォームです
JavaからC#への移行はもはや必然でしょう

466 :


467 :
linux で.NET 使えたりするの?
そしたらもうjava いらないかも


468 :
>>467
.NET互換のMonoが使えるよ
AndroidをC#で作ったら超速かったってニュースがこの前あった。
XobotOS: Javaの代わりにC#で構築されたAndroid
http://www.infoq.com/jp/news/2012/05/XobotOS

469 :
>>274
インタプリタといってもとっくの昔にJIT実装しているんですけど

470 :
>>277
そのかたの扱いがいい加減な言語にはC#も若干入らないでもない
ほんのちょっとだけいい加減な扱いができるからな

471 :
>>283
Smalltalkは?

472 :
>>471
どこまでを処理系とみるかにもよるけれど、個人的な印象としてはかなりの弱型。
通常のコール。(以下、Squeak Smalltalk の場合)
1 isInteger "Integer>>#isInteger がコールされて、=> true "
1.0 isInteger "Object>>#isInteger がコールされて、=> false "
同じメソッドを静的にコールしてももちろんそれぞれの返値は同じ。
Integer >> #isInteger valueWithReceiver: 1 arguments: #() "=> true "
Object >> #isInteger valueWithReceiver: 1.0 arguments: #() "=> false "
ところが、整数以外で Integer>>#isInteger を呼ぶと…というか普通に呼べちゃうので弱型
Integer >> #isInteger valueWithReceiver: 1.0 arguments: #() " => true "
Integer >> #isInteger valueWithReceiver: 'str' arguments: #() "=> true "
Integer >> #isInteger valueWithReceiver: #(1 2 3) arguments: #() "=> true "
Integer >> #isInteger valueWithReceiver: Object new arguments: #() "=> true "

473 :
こんな糞スレがいまだに存在することがしんじられないのだが 

474 :
総称型配列が作れません!
総称型配列が作れません!
総称型配列が作れません!
総称型配列が作れません!
総称型配列が作れません!
総称型配列が作れません!

475 :
既存の配列の仕様が変わるから、そりゃ下手に作るわけに行かないだろう
ってか作ってしまうと、とんでもないことをする奴がいるし
Javaの配列なんて特定の用途以外では使うべきじゃない代物なんだよ
基本はListを使うべき

476 :
だけど裏技はあるんだよな

477 :
Perlで無理やり擬似的なオブジェクト指向するような技は使いたくない
バグの原因になりやすいものは共同作業では控えるべき

478 :
しっかしこんなアンチスレがまだ残ってたとはね

479 :
Javaを延命してしまったのはGoogleの大罪

480 :
なにいってんだ

481 :
>>475
>基本はListを使うべき
その通りだな
C/C++プログラマはすぐに配列にしてオブジェクト指向なんて考えない設計にしちゃう

482 :
たしかにListは便利だな
ポインタが使えないjavaでは配列は使いづらいし、
添字を使ってるとbasicやってるみたいでバカに見えるし

483 :
使えないわけじゃないけどな

484 :
C#やC++プログラマから見たJavaに対する不満といえば
Java Generics関連か
とくにC++プログラマにとってはGenericsがTemplateのようにやすやすと扱えるものじゃないことに苛立ちを覚えるか
すぐにエラーがでるし例外がでるしコンパイルできないことに苛立つか

485 :
ポインタが使えない ※参照はポインタではない
構造体が無い ※クラスは構造体にはならない
メモリの初期化がド面倒 ※構造体、配列 newは場所を選ぶ
変数のアドレス渡しが出来ない
インクルードファイルが使えない
Myライブラリが使えない ※libにしてリンクで結合させる事が出来ない
ソースが丸見え
Cの基本的な部分が無いから初めはイラつく
ec.のエディタだけが良い点、それ以外にjavaを使う利点はない

486 :
発想がただのネチネチしたネガティブ厨じゃねえか
まるで駄々っ子みたいだ

487 :
>>485
ほかはさておき
>ソースが丸見え
はホント厄介だよね。顧客にJava納品したらJarファイル、
デコンパイルされて別会社と組んでソースコード解析してやがった
あるときから運用費にしろ機能追加依頼にしろ、なんか強気だなと思ってたら
いうこと聞かないなら開発会社変えるよとか言い出した
「やれるもんならやってみろ!」と一瞬、言いたい衝動に駆られたが、
うちも経営厳しいもんで、泣く泣く折れたことがある

488 :
サーバサイド用途にするか難読化ツール使えばいいだろ

489 :
>487
バレバレな嘘つくなよw

490 :
>>488
高額なモノを使わないとダメなんだよね〜
難読化(笑)
C++なら気にしなくてもよい事でかなり余計な手間がかかるんだよな〜ジャバは
30年も前のbasicじゃぁあるまいし、ソース位見えないようにしろよ って以前に
ちゃんとコンパイルしろよ ばいとこ〜どじゃなくてね

491 :
なんで難読化に手間が掛かるの?
ツール一つかますだけじゃん。

492 :
>>491
その程度の認識では 不具合が出る ってのも知らないんだな

493 :
>>492
不具合が出るとはまた新しいこと言い出したなw
不具合が出る難読化ツールを
探しだしてみろよw

494 :
>>493
バカにはムリ

495 :
>>494
バカじゃないが

496 :
>>495
現状で気がついていない(不具合が出ていない)のなら別にいいじゃん
どっちにしてもプロテクトなどキモの部分を抜くのは難読化しても気休め程度
個別のファイルにしてファイル検索ソフトを使うだけで簡単ではないが抜ける

497 :
Winnyのバイナリを解析して
ほぼ完全なC++のソースコードを
復元した人もいるぐらいだしな。
復元したソースコードをコンパイルすると、
Winnyのバイナリが出来上がる。

498 :
>>497
そんな人もいるんだ...
コピーガード外しは、作者との腕試しだからね 自分も昔から大好き
今は、暇があるとandroidの色んなapkの中身覗いてる

499 :
javaでファイアウォールは作れない。

500 :
>>490
難読化ツールなんてタダで入手できるんだが
知らないのか
サーバサイド用途だって月3000程度のレンタル鯖でServlet使えるぞ

501 :
>>500
>>難読化ツールなんてタダで入手できるんだが
ふーん、そのフリーソフトで難読化したコードを復元して見た事あるのかぃ? 
安いのは10万程度で買えるけど、そもそもそんなツールで商売出来る言語そのものがおかしいと思わないかぃ?

502 :
>>501
言語に何の問題があるんだ?
実行ファイル=ソースコードの言語だってあるのに。

503 :
>>502
商用開発の経験を積め

504 :
>>503
つんだぞ。
それで?

505 :
>>504
馬鹿に理解は無理

506 :
じゃばあwww

507 :
じゃわ

508 :
>>501
といってもそれで食っている連中もいるし
こんなの売れんのか?っていう商品が売れることなんてよくある話だ

509 :
>>508
ん?
>>安いのは10万程度で買えるけど
難読化ツールの事だけど?
ネイティブコードを吐き出す言語(処理系)では難読化ツールなんか不要

510 :
それでも欲しがる人や企業はいるわけですよ

511 :
ある程度経験を積んだSEやプログラマからみるとこんなのイラネって商品はいくらでもあるのに
買っちゃう企業は買っちゃうのさ

512 :
なんかかみあってないなぁ
商用javaを出荷する場合は難読化処理が必須であり、
それを行う為に業務用難読化ツールの購入が必須であり、
そこそこのものだとけっこうな高額になる
って事なんだが?

513 :
噛み合わない話題をわざわざ振るアスペ

514 :
そういうお前はアスペの定義すらわかっとらんぞ
プログラマーでリアルでアスペルガー症候群の人で英語堪能でウィキペディアンっていう有名なYassieっていう
人がいるけどTVに写っていたときの印象はわりと普通だぞ
普通に仕事していたし普通にJavaプログラミングしていた
VBAが得意らしいけど
ウィキペディア日本語版では影響力ある存在

515 :
あーこいつ本物だw

516 :
リアル社会で敵しかないオレもアスペ?

517 :
20年前から処理系は何回も変わっているがコードはほぼそのままで使い続けてる外部装置へのアクセス関数群があるのだが、
javaに載せ変えようと思ったらポインタがらみでえらい難儀させられてる
javaって電動車椅子に乗ってるようなものだな
便利で楽チンだけど、基本部分でなんともならん事がありすぎる

518 :
>517
>20年前から処理系は何回も変わっているがコードはほぼそのままで使い続けてる
>外部装置へのアクセス関数群があるのだが、Javaに載せ変えようと思ったら
この時点で頭おかしいやね
ナイフで木は切り倒せないし、斧で鉛筆は削れない。エラい人には分からんのですな
>ポインタがらみでえらい難儀させられてる
ご愁傷様です。もし JNI ではまっているんなら、JNA を試してはどうでしょう?
Java-Native のインターフェース関数を作らなくても、既存の so (dynlib / dll)
を呼び出せるようになります。少しはマシになるかも
(内部的には JNI で libffi を呼び出して、libffi が目的の関数を lookup
して実行している)

519 :
実績あるものを利用するのは当然。

520 :
>>516
Yassieはウィキペディアで敵が多いぞ
LTA(長期荒らし)[[のLTA:MIKI]]に逆恨みされている

521 :
符号なし8ビット整数(0〜255)ないとかやだー
画像処理とかどうすんの?

522 :
>>521
byte
うんこじゃばにはsignedは無い

523 :
unsignedだろ
ってかいらんし
たかが半分になるかならないかだけのものをわざわざ用意しても無駄が多いし
煩雑になるし
そっちのほうがかえってウンコードを作りやすくなってしまうわい

524 :
>>523
確かにcharはいらないな でも8bitの組み込み系の場合は?
intはcpuのワードが2バイトの場合unsignedがあることにより有効値が増える

525 :
糞Java

526 :
>>523
扱える数値の範囲じゃなくて、符号が付くかどうかが問題なんだろ

527 :
>>526
自分で管理できない馬鹿は使わなければいいだけの事 unsigned

528 :
>>527
例えば byte 型の変数を符号なしで int 型にする場合に、いちいち & 0xff って付けるのが「自分で管理する」ってこと?
だとしたらアホらしいけど
そもそも、Java で unsigned がサポートされてない理由って何だろう

529 :
要らないからサポートされてないんですよ

530 :
>>528
邪馬を馬鹿に使わせる為
職業訓練生に利口はいないだろ

531 :
ドカタには不要

532 :
>>530
> 例えば byte 型の変数を符号なしで int 型にする場合に、いちいち & 0xff って付ける
これを職業訓練生に強いるのが利口なやり方とは思わない
むしろスパゲッティとバグを量産してくれるのではないだろうか

533 :
>>526
大して問題にならんな
そんなことでコード量が増えるだぁ?
クラスとメソッドで代用しろよ
IDEのコードテンプレート使えよ

534 :
>>528
こうやってint型で管理すれば
そんなこと気にする必要なし
http://masao6739.blog89.fc2.com/blog-entry-21.html

535 :
邪馬台国(やまたいこく)

536 :
>>533
>>クラスとメソッドで代用しろよ
>>534
C・C++ならそんな面倒な事は不要

537 :
javaを知れば知るほど かなりムダな事が多いな って事がわかってくる今日この頃
ばかみたいに多くのムダな関数があるし...
C/C++はシンプルだったんだなぁ...と今さならがら気づく
ポインタってなんと便利だったんだなぁ...と今さならがら気づく

538 :
Javaww

539 :
>>537
ObjectInputStreamとかでファイルからデータ読み込む時にC言語みたいに単純に構造体用意して読み込むとかできない
1オブジェクト読み込む度にヒープ食ってくからGCが動いてほしくないタイミングで動いたりとか、なやましい

540 :
>>539
もっとすごい事があるんだよね〜
難読化ツール使うとビルドによってオブジェクトが読めなくなるよ
困ったちゃん言語 ジャバ
ジャバって税金を使ってる職業訓練にもあるけど、官僚の天下りの給料を払う為に蔓延させてるのかな
って思ってる
だって、クソ言語でしょ? C++使いから見たら

541 :
そもそもJavaは「やるのに注意が必要で、基本やらなくても済むようなことは簡単にやらせない」ように作られてるワケで
ビット演算すらもそういう扱いになってるんじゃないかね

542 :
>>541
エクの開発環境はかなり楽だが、コードの記述はC++の方が楽だと思う
例えば配列名、長い名前をつけると延々とその名前をタイプ(コピペ)し続けなくちゃいけない
ポインタがあるなら、
int abcdefghijklmnopqrstuvwxyz[1024];
int *p=abcdefghijklmnopqrstuvwxyz;
で1(2)文字になる
なんにしても、何故、ここまでjavaが蔓延してるのかが不思議

543 :
プログラミングに向いてない人が大量にプログラマになってるから
人はそれをドカタという

544 :
>>543
ご教示ありがとう
だから土方(誰でも出来る仕事をする人)って呼ぶのか

545 :
>>536
C/C++なら面倒って
大したことないじゃん

546 :
>>537
それはマジで言っているのか?

JavaのAPIはC/C++のWin32APIと比べると明らかに無駄が少ないと思うけどなあ

547 :
>>539
Apache Commons I/Oでも使ってみたら?

548 :
>>546
ポインタがあると簡単簡潔に記述出来る
javaは山ほどわけわからん関数が多すぎ
正規の日本語マニュアルが出せないわけだ

549 :
>>542
そこはJava的にはVector使ってねってことじゃね

550 :
>>549
ほぅ、そんなものがあるのか 知らんわwww
じゃわ...そんな事をやってるから関数がバカみたいに増える
ポインタ出せよ
gotoはバイトコードで使いまくりなのになwww

551 :
>>542
セキュリティに強い言語だからだね
まあそうやって縛りを入れることで変なソースコードが蔓延しないようにしたということ
まさに「パッケージ化」の成功例
パッケージ化はビジネスでも重要なアイデアだ
全国展開したければ同じサービスをすべてのチェーン店で提供する
Javaも同じ事をしただけ
C++だと全国展開しても店によって提供するサービスに違いが出る。
それどころか店によってはサービスの質が悪かったりする。
Javaでは言語に縛りをいれることで均質なサービスを提供できる。
C++では、それができない、あるいはやりにくい問題があった。
ある床屋では紙を切ったあとにドライヤーをかけてくれるのに
同じチェーン店の別の床屋では一切提供しない
それどころか、同じ床屋でも今日はちゃんとドライヤーをかけてくれたのに
別の日に同じ床屋にいくと今度はそのサービスがなかった
こんな床屋にはがっかりして二度と行かなくなる人も現れるだろう
C++がそういう状態なんだよ

552 :
>>548
わけがわからない関数ってたとえば何?
最新版日本語マニュアルの出が遅いのはOracleとの合併の影響じゃないかと言われている。
Win32 APIなんかやたらと高水準APIばかり提供して
オブジェクト指向プログラミングを無視したライブラリを乱立させているだけじゃないのか
Javaの標準APIはそこんところをよく考えて作っていると思うけどね

553 :
>>549
今ならVectorよりList、ArrayListだろう
しかし>>550がVectorも知らなかったとは
Javaを批判する以前の問題じゃないのか?

554 :
>>533
代用って事は、必要なのは認めるんだな?
で、それは言語レベルで unsigned が用意されてれば解決する話なんじゃないのか?
クラスとか持ち出して何かメリットあるの?

555 :
javaは
膨大なメモリ
超高速なCPU
が安価に手に入って
はじめてまともな動作速度がでるメタボ言語
現代にあってる言語 男も女もデブばかり

556 :
>>551
>>セキュリティに強い言語だからだね
ソース丸見え言語がセキュリティを語るなよ

557 :
>>553
>>int abcdefghijklmnopqrstuvwxyz[1024];
>>int *p=abcdefghijklmnopqrstuvwxyz;
これより簡潔に処理できるのかい?

558 :
>>557
簡潔というか似たようなもんというか…まあC配列ほど軽くはないけどね。流石にアドレスを直に扱うのと比べちゃダメよ?

559 :
Cは
膨大な人手
優秀な玄人
が安価で手に入って
はじめてまともな動作速度がでる搾取言語
現代にあわない言語 男も女も奴隷ばかり

560 :
>>559
昔から同じでC/C++が理解できる人が増えてないって事だろ
だから、バカでもある程度組める言語javaやC#で組ませてやってるって事だな
でもC/C++位理解できないと、アルゴリズムもぐちゃぐちゃだろうな

561 :
>>560
グチャグチャというか、効率的でなくなるのは間違いない
俺が正にJava->各種スクリプト言語->Cって順番にやったけど
Cやってから気づく非効率さってのは結構多い

562 :
>>561
ステップアップ出来ておめでとう

563 :
>>562
ありがとう

564 :
>>554
というかJavaでunsignedなくて困ったことないしなあ
ほとんど些細なことだし
たとえば演算子のオーバーロードがないからデシマル型はJavaよりCOBOLの方が
使いやすいといっても些細な話でふーんとしか言い様がない

565 :
>>556
オーバーフローやポインタ演算の誤った扱いで誤作動を起こすC/C++よりセキュリティ強いけど
まあサーバサイドやAndroidで使っていればソースを見ることすらできないけどね
クライアントサイド用のアプリケーションでは難読化ツールの出番か

566 :
>>555
その話、20世紀に聞いた話だなあ
あの頃ならその意見に殆どの人が賛同していたろうけど
今じゃムーアの法則の影響に限らずJava自体も高速化しているし
いまさらそういうこと言っても時代錯誤な人と思われるだけじゃないかと

567 :
>>557
具体的にどんなコードを書きたいのかしらないけど
ただの宣言程度で、さらに簡潔に表現して一体何に成るんだろう
いったいどんなコードを書くときに困っているのかよくわからないけど
時と場合によてはクラスを作って型を定義して解決する場合もあれば
その場しのぎで解決する場合もあるし

568 :
>>559
C/C++の達人で優秀な玄人なんて、C/C++プログラマ全体から見ればほんの少数しかいないぞ
そんな大当たりな人材を探すのも一苦労かと
どのみちまだまだC/C++は必要な言語だけどね
Javaでカバーできる分野ではC/C++の出番はほとんどなくなったことは間違いないけど
まだまだJavaでカバーできない分野が残っている

569 :
>>560
そんなあなたがバカじゃないC/C++に精通したエンジニアとは思えないんですなあ
JavaなしでC/C++だけでどんなソフトウェアもJavaで作った場合と同じコスト、予算、労力、時間で
作れるかといったら、ほとんどノーでしょ。
Javaよりも低コスト、低予算、低労働力でC/C++作れるものなんてほとんど小規模なソフトウェアを造る時くらいでしょ。

570 :
>>561
俺と逆だな
CからやってJavaを始めた
クラスのことを知ると、なんじゃこりゃ?と思ったこともあったが
徐々に極めているうちにJavaがいかにCよりも優れているかを知ることとなった

571 :
Cとスクリプト言語を組み合わせて使ってると
Javaって中途半端でウンコだなって感じる

572 :
ここはジャワをけなす所じゃないのか〜ぃ
何故援護者が多い? バカばかり?
長い配列名が延々と出現してくるだけでもイライラする
それだけでソースのテキスト量が2〜3倍増えるし
見かけの出来高を稼ぐ為のジャワか?

573 :
>>570
>>クラスのことを知ると、なんじゃこりゃ?と思ったこともあったが
C++じゃないんだw

574 :
>>567
コードのテキスト量が少ないコード ※コメントは除く
冗長なコード醜い
>>時と場合によてはクラスを作って型を定義して解決する場合もあれば
ド無駄な事だと思わない? ex. type def で一発

575 :
有るものは、使わなければ済む
無いものは、使えない
ジャワは基本部分で無いものだらけ
基本部分で無いものが多いので、山ほどムダな関数が存在している

576 :
>>565
>>サーバサイドやAndroid
●この2つしか使い道がないだろ?
>>Androidで使っていればソースを見ることすらできないけどね
●知らないって事はある意味幸せだな お気楽なお方だ事

577 :
C使いは長くて冗長な名前を極端に嫌う
だがちょっと待ってほしい
彼らはなぜ短くわかりにくい名前を好むのか?
答えは同じプロジェクトで同じコードに長く接することにより
一度覚えてしまえば楽だから
短いスパンでプロジェクトを切り上げて
次々に担当を変わっていれば短くても覚えにくい名前が悪であることに気づく
すなわち開発効率の悪さの弊害がこういう形で現れている

578 :
簡潔にいうと、馬鹿ほど長い変数名を好む
そして馬鹿はCを使えない
以上

579 :
>>573
当時はC++はクラスよりもnamespaceとか
まったく違うところにフォーカスを充てた本が多くてね
当時のC++本でまともにオブジェクト指向プログラミングの実践方法に
ついて解説しているものは少数だった。
クラスについての解説にしても曖昧なところが多すぎて焦点がはっきりしなかったものだし
冒頭からいきなり使い方を誤ると九龍城のように面倒なことになるって脅しが書いてあるんじゃ、
この言語は欠陥があると誰もが思うんじゃないかな。

580 :
>>572
長い配列名とはたとえばなんだ
***が[][][]になった程度で長い配列名に見えるのか?
java.util.Listでもつかっていればいい
というか、それだとList<List<List<T>>>みたいなリストも使えないんじゃないのか

581 :
>>574
それ10年前に聞いて飽きたよ
10年前から同じ事を言ってもJavaが改善すべき欠点には一切ならない
テンプレートエンジンやIDEで解決できることは無駄だとは思わないし
多人数で開発することを想定しているのでなおさら無駄だとは思わないね
他人が書いたtypedefだとかをやたらと連発するコードは読みにくくてしょうがない
共同開発の場でそのような濫用は迷惑行為だ

582 :
>>576
JavaDBとか使い道がないわけでもないな
っていうかSwingをなめてはいけない

583 :
>>578
現実にはバカほど自分が賢いと勘違いしてハンガリアン記法を好むといったところだが
わかりにくい変数名を付けるエンジニアは共同開発には向いていない
まあクラスやパッケージ名をうまいこと考えれば変数名の命名規則ももっと完結にできることは確かだが
本人や一部の人間にしか意味がわからないような変な変数名をつけるような輩はそっこくリファクタリング対象

584 :
>>583
クソ言語の理由その(1)
ジャワは長い変数名をそのまま使いづづけなくてはいけない 
だが、単価稼ぎに使えるな
クソ言語の理由その(2)
コンパイル(ホントはコンパイルとは呼べない)後もシンボルはそのままなので、実行速度が遅くなる
インタープリタの時点で超十分遅いがさらに遅くなる
クソ言語の理由その(3)
女子高生のスカートの中を覗くより簡単にソースが覗ける
クソ言語の理由その(4)
GC ガベージ糞を制御出来ないので 表示がカクカクカクカク...コマ落ち漫画になる
クソ言語の理由その(5.........) 山ほど続く
androidがジャワじゃなかったら、糞ジャワを知らずに生きていけた...
GCはゴーグル糞の略か?

585 :
>>583
どっからハンガリアン記法が出てきた
脈絡なさすぎんだろ

586 :
>>583
長い変数名をつけても、関数内でポインタを使えばその関数内は短い名前で使える
って事も理解出来ないのか?
キミ、ポインタを理解できないだろ
int *p;
int **p;
int ***p;
int ****p;
違いがわかるか?

587 :
ま、ここでどれだけ書いてもポインタがジャワに搭載されることは物理的にも無理だからな
GC信者も存在してるし(笑笑笑笑笑笑) シネ

588 :
>>587
オブジェクトはすべて参照やで。

589 :
ジャワ原人 ポインタとアドレス渡し(しかも固定)を混同してる人って多いな

590 :
>>588
参照はジャワ原人のStringと同じで固定なのよ
原人には理解は無理かwww

591 :
>>564
ネットに流れるバイナリデータをパースするときに面倒だったりする。
もともと組み込み機器向けにデザインされた言語なのに、unsignedをサポートしていないのは今も疑問。

592 :
>>586
文字数縮める程度でわざわざそんな小手先のテクニックでCの優位性を語られても

593 :
>>584
反論(1)
あとで別の変数に代入すれば解決できる程度のことでそのまま使い続けなくてはいけないとか
何を言ってんだかな
反論(2)
Javaがいまだにインタープリタとかいってるのって
時代錯誤だわな
反論(3)
ソースコードの閲覧は基本的にはサーバ用途と難読化ツールで解決
反論(4)
嫌なら手動で制御するクラスを使え
カクカクコマ落ちはお前のPCスペックの問題
何年前の話なんだと

594 :
>>587
すでに搭載されているんだが

595 :
>>589
それよりポインタとポインタ演算とを混同しているC言語厨がいるけどな

596 :
>>590
> 長い変数名をつけても、関数内でポインタを使えばその関数内は短い名前で使える
に対しての話なんだからそれで充分でそ

597 :
長文ご容赦
>>596
>>反論(3)
>>ソースコードの閲覧は基本的にはサーバ用途と難読化ツールで解決
あーあ マヌケちゃん gcが存在してるからクラス情報は生のままなんだよねぇ
プロテクト抜き放題
>>595
参照とポインタを混同してるジャワ原人はどーなるの
ジャワの配列・構造体(クラス)の参照渡しはCの配列・構造体のアドレス渡しと全然違うって事も知らないんだろうな
>>反論(4)
>>嫌なら手動で制御するクラスを使え
>>カクカクコマ落ちはお前のPCスペックの問題
>>何年前の話なんだと
だからぁ〜androidしかジャワなんか使わない しょーがなく使う ※ndkはまだ不要

598 :
>>597
>>反論(1)
>>あとで別の変数に代入すれば解決できる程度のことでそのまま使い続けなくてはいけないとか
>>何を言ってんだかな
無駄な事やってるんだねぇ バカみたい
>>反論(2)
>>Javaがいまだにインタープリタとかいってるのって
>>時代錯誤だわな
いんたーぷりたーじゃん未だに ばいとこーど(笑笑笑笑笑笑)
仮想マシンコードは仮想マシンコード(笑笑笑笑笑笑)
CPUネイティブのマシンコードじゃないんだけどねぇ〜

599 :
まぁ、なんだなぁ、
ジャワ原人でもいーけど、C/C++位使いこなせるようにしておけよ プロのプログラマなら

600 :
>>597
参照値渡しとアドレス渡しは全く違うよ、それは当たり前じゃん
ただ貴方のその主張する長い変数名に関しては参照値渡しで充分なのよ?
ちなみにJITって知ってます?

601 :
>>597
プロテクト抜き放題って
サーバにあるものは普通はクライアントからは見えないんだが

602 :
>>597
> >>595
> 参照とポインタを混同してるジャワ原人はどーなるの
> ジャワの配列・構造体(クラス)の参照渡しはCの配列・構造体のアドレス渡しと全然違うって事も知らないんだろうな
君以外誰も同じとは言っていないし違うとも言っていないし
技術として代用できるかどうかが重要であって
同一かそうでないかはどうでもいいしさして重要な話ではないんだけどな

603 :
Javaでポリゴン

604 :
>>598
JITも知らなければHot Spotも知らないとはおめでたいな

605 :
>>604
3Dどうぞ?w

606 :
>>604
Androidにはないからな

607 :
>>602
>>技術として代用できるかどうかが重要であって
>>同一かそうでないかはどうでもいいしさして重要な話ではないんだけどな
ジャワでポインタはどうやったら実現出来るのかな?
教示してみてみ 出来るものなら to ジャワ原人
と、延々と無駄なカキコが増えていくwww
ジャワにポインタの実現は不可

608 :
>>604
Androidにはないからな
ってか、PCでジャワなんかやらなきゃいけないなんて 不幸なヤツだな 可哀想 いとあはれなり

609 :
>>603,605
lwjglとかjogl使っちゃだめですか?

610 :
>>606,608
AndroidってJavaだっけ?
GoogleとOracle和解したの?

611 :
AndroidもC#に移行して欲しい

612 :
>>610
java(+北朝鮮並制約付ADK)とC++(ndk)なのだが、情報量とかかる手間からjavaが一般的
どうしても速度が必要な時はndkに頼るしかない
簡単なものを組むにはjavaでもいいのだが、規模が大きくなると乗数的にうっとしくなる
のでここで憂さ晴らし

613 :
>>612
ちょっと気になるんだが
北朝鮮並制約付ADK
ndk

これは一体なんなんだ?
ぐぐっても出てこないぞ

614 :
Javaとかいう糞言語

615 :
adk ndk でぐぐれ
北朝鮮なんちゃらは知らん

616 :
センスねえなw

617 :
Javaの脆弱性を狙ったもの CVE-2013-0422
https://www.virustotal.com/ja/file/4539290c199273778ee7f762ba7c8dd033d77e6c1e5ca2fcc842b838ad13d181/analysis/
https://www.virustotal.com/ja/file/8e53a0b1b097a17a1051c58dc577bf3e85036f53306745086926923de62da7fb/analysis/
Exploit.CVE2012-1723.13 ESET-NOD32 a variant of Java/Exploit.Agent.NIA

618 :
検出率低すぎる
そんなネタでJavaアンチしてもなw

619 :
>>607
public class Pointer {
public Object data;
public Pointer(Object data) {
this.data = data;
}
}
こうか?

620 :
>>619
まさにそれだ!
Javaでもとっくにポインタを実現できることがこんなに簡単に証明できるとは!

621 :
>>620
C/C++ならクラスなんて作る必要無いんだけど?
何でそんな面倒な記述せなあかんの?
あと、intはintなのに、boolがboolanなのはどうしても納得いかん
#defineもtypedefも無くbooleanと書かされるのはイライラする

622 :
へー

623 :
これが参照とポインタを混同してるジャワ原人か

624 :
せっかく書いたけど、
new Object[1];
これで十分だった。
>>623
cのポインタにできて、このコードでできないようなことを、例示してもらえないだろうか?

625 :
ポインタ++ってやって
次のメモリアドレスに入っている
オブジェクトを参照することが出来ないよ。

626 :
>>624
参照とポインタを混同しているのではないですか?
Javaには、ポインタはないです
ただ、これは欠陥と言うよりも設計思想。
今「こんなことも出来ないの?」といったらクロージャー
じゃないかな

627 :
ポインタとアドレスを混同してないですか?

628 :
参照はオブジェクトを参照するもの。
ポインタはメモリ上の位置を参照するもの。
アドレスはメモリ上の位置。
ポインタにできて参照にできないことは、
メモリ上の位置を参照するものにできてオブジェクトを参照するものにできないことと
言い換えることができる。
ポインタにできて>>624のコードにできないことはオブジェクト以外のメモリ上の位置を
参照することである。ということでいんじゃないか。

629 :
Pascalにもポインタがあってだな...

630 :
ポインタは無効なメモリ領域を参照できる
そのせいでバグの元になる。

631 :
>>629
マジでか!?パスカルぱねえな。

632 :
つーか、ポインタは低級言語の機能。
参照は高級言語の機能。
ポインタの欠点をなくしたのが参照でしょ?

633 :
>>621
Javaアンチの中の人は10年前から相変わらず言っていることが変わらないねぇ
それを面倒だと言っているうちはろくにオブジェクト指向プログラミングも語れない

634 :
>>626
何もわかってないな
お前は「ポインタ」と「ポインタ演算」とを混同しているぞ

635 :
ポインタ演算はハードウェア、つまり
物理的なメモリアドレスとか触る
ドライバを作るなら必要だけど、
それ以外にとっては不要な機能なんだよな。

636 :
ポインター移動演算はイタレータの時代。

637 :
アドレス渡し、ポインタ、を理解出来ないジャワ原人が多いな 笑えないくらいひどい
ジャワの参照とC++の参照もまったく違うし
アドレス渡しとポインタの違いも(アドレス渡しでも受け側でポインタとして使えるがな)
使う使わない別にしてプログラマならC++位ある程度使えるようにしておけよ

638 :
>>637
あ、そうか!
>>アドレス渡し、ポインタ、を理解出来ないジャワ原人が多いな 笑えないくらいひどい
で、ジャワなのか...

639 :
脆弱性

640 :
CやC++しか知らない>>625のような奴は、
インクリメントできないようではポインタでない……と思っているようだが、
ポインタというのはCやC++のポインタだけではない。
ポインタってのはアドレスを記憶するための変数のことをいう。
Javaの参照型変数はポインタそのもの。
Javaにポインタがないとかポインタの実現が不可とか言ってる奴は初心者。

641 :
不正なアドレスをさせるようじゃなければ
ポインタとは言わん。
数値指定で、オブジェクトや
無効な領域をさせるのがポインタ。
安全なものはポインタとは言わん。

642 :
>>641
ソースは?

643 :
>>642
>>Javaの参照型変数はポインタそのもの。
>>Javaにポインタがないとかポインタの実現が不可とか言ってる奴は初心者。
間違ってるぞ Javaの参照はクラスの参照 アドレスを指してるわけではないんだよ
初心者以前に馬鹿には永久に理解は無理だな かわいそうな人

644 :
>>643
なにゆうてんねん。クラスはデータ型。参照が指すのはインスタンスのメモリ上の位置。
インスタンスのメモリ上の位置はまさにアドレスのことでしょうが!

645 :
>>644
あまり周りの人に言わないほうがいいぞ
自分をかなりの馬鹿とアピールしてるようなものだから

646 :
え?

647 :
>>645
それはお前だ

648 :
俺もそう思う

649 :
自演乙

650 :
ポインタも理解できない馬鹿につける薬はないな
ジャワやC#やVBなんかを世の中に出すから、馬鹿でもプログラムが組めちゃうんだな
死ぬか転職しろよ

651 :
643 名前:デフォルトの名無しさん :2013/04/30(火) 05:21:14.87
>>642
>>Javaの参照型変数はポインタそのもの。
>>Javaにポインタがないとかポインタの実現が不可とか言ってる奴は初心者。
間違ってるぞ Javaの参照はクラスの参照 アドレスを指してるわけではないんだよ
初心者以前に馬鹿には永久に理解は無理だな かわいそうな人

645 名前:デフォルトの名無しさん :2013/04/30(火) 06:23:19.93
>>644
あまり周りの人に言わないほうがいいぞ
自分をかなりの馬鹿とアピールしてるようなものだから

650 名前:デフォルトの名無しさん :2013/04/30(火) 20:33:25.36
ポインタも理解できない馬鹿につける薬はないな
ジャワやC#やVBなんかを世の中に出すから、馬鹿でもプログラムが組めちゃうんだな
死ぬか転職しろよ

この人は周りの人間に対してバカを連呼することで、自分が馬鹿ではないと思い込もうとしているのだろうか。
そうだとするならなんて悲しい人なんだろう。

652 :
ポインタは不正なメモリアドレスを参照できてしまう
劣化参照といえばいいだろう。

653 :
馬鹿でも組めるジャワの方が弊害が多い
ジャワしか出来ない馬鹿はプログラムを組むな

654 :
ジャワさんNGでw

655 :
ジャワしかできないやつはカレーでも食ってろwww

656 :
脆弱性に優れてる

657 :
>>656
>>脆弱性に優れてる
やられやすいって事だなw
andoroidなんかソース丸見えだしな

658 :
>>657
そこらへんのC#やCで作られたアプリでも変わらんよ

659 :
C#の逆コンパは知らないがCorC++のは逆コンパは不可能だろ java(android)は丸見え
さらに最近ではルートとってなくてもapk抜けるようになっちゃったし

660 :
いやほとんど同じレベルで可能だけど…

661 :
PC向けのアプリがどれだけ不正コピー対策に無駄な労力割いてると思ってるんだ

662 :
>>661
C/C++は難読化なんてアホな事やらなくて済むだろw
プロテクト
PCなんかドングルつければ一般ユーザーはOKだろ
SDカードなら最悪コピー出来ても足が着くし

663 :
ソースが見えるのが困るのは同業者に盗まれるからだろ

664 :
>>663
お前は自分のパンツの中を誰に見られても平気なのか〜ぃ?

665 :
>>664
お前がパンツ一丁で街中を出歩いてるからそういうことにになるんだ

666 :
>>665
ジャワだからなwww

667 :
ジャワさんNGでw

668 :
>>667
じゃ じゃわでいくか〜

669 :
enumとかジェネリックはできたけど、
プロパティとかインデクサとかイベントとかyield returnとかはいつ実装されるの?
もうされたの?

670 :
[Mac/NUC] AGK / DarkBASIC / Basic4GL / 99BASIC 2013 Part.1
http://jbbs.livedoor.jp/bbs/read.cgi/computer/43761/1367197701/l100

671 :
アンチがジャワジャワうるさいから
ジャワカレーを食いたくなってきたじゃねえか
昔の Java House Mailing-listもハウスジャワカレーのロゴを元に
MLのロゴ画像を貼ってたんだよな

672 :
>>669
プロパティ以外いらんもんばっかじゃねえかw

673 :
なんでクラスのimplementってできないんじゃろ?
publicメソッドだけ抜き出してインターフェースと同じに扱ったってええやん
class B {
private int val;
public void hoge() {
....
}
}
class A implement B {
//must implement
public void hoge() {
}
}

674 :
とおもったけどpublicフィールドとかあるからだめか

675 :
>>673
10年も前から同じことを繰り返し連呼するお前って
何歳のオッサンだよ
多重継承ができない
クラス継承と同じ::記号を使って継承と実装ができないのが気に入らないってか
なら一生C#でもやってろ

676 :
>>673
んなもんBのpublicメソッドをinterfaceに切り出してA,B両方にimplementsすりゃあええやん

677 :
C#厨はつまらんことであれこれうるさい

678 :
>>676
使ってる側も全部修正しなきゃいけないじゃないか
型はそのままで実装だけごっそり挿げ替えて使いたい

679 :
>>678
実装だけ挿げ替えだったら必要なのは多重継承じゃなくてmix-inとかじゃねえの?
継承ありのクラスをそのまま取り込みなんてしたらJavaの根本が崩れるぞ

680 :
このスレって歴史が古いんだな

681 :
次のバージョンかいつかはしんないけど
インターフェースのデフォルト実装を定義できるようになるらしいね

682 :
最近Javaのアップデートの速度が速すぎる気がして・・・

683 :
そりゃ君がジジイになったからだ
最近セキュリティだの何だので遅れに遅れて更新ペースはガタ落ち
他の言語からも2周りぐらい周回遅れな感じ
ラムダ式すら未だにないんだぞふざくんな

684 :
セキュリティパッチは頻繁に出るようになったけど
技術の進歩がコードやAPIに取り入れられるのは遅くなってる
Javaは一度ぶっ壊すぐらいに新しい技術を入れて
根本から作りなおさないといけない気がするな

685 :
switchで文字列分岐できないの?

686 :
>>685
できまくり

687 :
switch使ったことないわ
if else でやってしまう

688 :
DelphiだかPythonだったかにある委譲記述が入るのはまだですか
class Alpha implements IBeta {
// _bに処理を委譲
Beta _b implements IBeta;
...
}
JavaのObservableの使えなさといったらない
これ入れて緩和してほしい

689 :
継承先でメソッドをオーバーライドするとき
親クラスのメソッドをコールすべきか否かを親クラス側で指定する方法ってある?
親クラスBoy:
abstract class Boyl {
abstract pubic void print(){
System.out.println("I'm a boy");
}
}
派生クラスOkama:
public class Okama extends Boy {
public void print(){
super.test();
System.out.println("at birth");
}
}
抽象クラスを他者に提供するような場合、コール忘れが多発する。

690 :
ああ、親クラスのメソッドはabstractじゃなかった///

691 :
>>689
親クラスのprintでtestを呼べばいいのでない?
abstract class Boy {
  public void print(){
    test();
    doPrint();
  }
  
  public void test() {
    System.out.println("test");
  }
  
  protected abstract void doPrint();
}
class Okama extends Boy {
  @Override
  protected void doPrint() {
    System.out.println("at birth");
  }
}

692 :
丁寧な回答くれたのにアホな俺のせいで非常に申し訳ない
test()じゃなくてprint()でした
public void print(){
super.print();
System.out.println("at birth");
}
もうRくる

693 :
JavaはScalaとGroovyを取り込んでしまえばいいんだぁ
とちょっとだけ妄想をしてみた・・・無理なの判ってるけど

694 :
匿名型ほしいマジでほしい
var map = new HashMap<{int x, int y}, Record>();
var r = map.get({ x = 3, y = 2 });

695 :2013/10/26
http://projectlombok.org/
TOP カテ一覧 スレ一覧 2ch元 削除依頼
C/C++の宿題片付けます 166代目 (138)
音声合成プログラムを作りる (326)
Perlについての質問箱 61箱目 (102)
C言語なら俺に聞け(入門編)Part 121 (201)
OpenGLスレ Part20 (122)
【初心者歓迎】C/C++室 Ver.87【環境依存OK】 (371)
--log9.info------------------
ちょw スーパー長男うざいんですけどwww (480)
「ジャイアントロボ」+「鉄人28号」総合 (314)
【コンプ】ドラゴンボールカードダス3箱目【BOX】 (454)
彼の家に行ったらミニ四駆が置いてあった… (276)
■武装神姫_BATTLE_RONDO>>PART_36 (385)
福袋(´∀`)おもちゃ交換会スレ7(´Д`)欝袋 (454)
仮面ライダークウガのおもちゃ EPISODE6 (643)
MANGA・MOVIE REALIZATIONスレッド (190)
原作知らないのにフィギュア買っちゃう人のスレ (345)
【マクファーレン】HALO 玩具シリーズ総合 part1 (493)
コンニチハ☆!!チョロQ12週目いつもの校舎裏☆マターリ行こう (977)
ゾイドオリジナルその4 (394)
ブロックスをゾイドとして扱うスレ (743)
【トミーテック】MSS_ゾイド【1/144】 6 (224)
ゴジラとゾイドの関連性 (151)
各種狂アンチ……気色悪っ×4 !!! (468)
--log55.com------------------
【錦糸卵みたい物~カステラ的】メシコレキュレータークビ中本出禁YFC村八分クンパゆで太郎131【本当に奥さんですか】
富士そば 29杯目
東京で一番おいしい立ち食いそば屋9
【はまちは】 スシロー27皿【血合いだらけ】
早川光の最高に旨い寿司 part17
☆愛知と近郊のカレー店について語るスレ★
地獄少女カレー 十六
千葉のカレー店 13軒目