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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2007/05/19(土) 22:13:03
mainメソッドから値を返す。
2007/05/21(月) 01:58:42
>>40
そういうのはJNI使うだろうな〜。

言い訳としては、そういうアプリではRun Anywhereが求められない、って感じで。
需要が大きければ主要OS用のライブラリを誰か作ってくれて、しばらくするとJDKに取り込まれる。
2007/05/21(月) 01:59:59
>>41
俺はそれと同じことをC++で実際にやってますが、なにか?
2007/05/21(月) 02:02:27
> 43
それは、とても尊敬する。
そういうときって、Windows邪魔だよね。
あ、Cygwin使うのかな?
2007/05/21(月) 02:04:13
C++はウンコだからなー・・・
2007/05/21(月) 02:10:08
>>44
将来的にはGUIアプリなんかでも同様のことをやろうと思ってるけど、
現時点ではそこまでは及んでない。んで、別にGUIアプリじゃなきゃ
実はそんなに難しいことじゃなかったりする。

Cygwin は Windows 上から Linux 系向けのコードを簡単にテスト
する為の環境として重宝している。
2007/05/21(月) 02:10:57
>>42
JNIは初めて知った。
やっぱJava全然知らんなぁ、俺。
とりあえず外部DLLに頼らざるを得ない部分は出てくるわけか。

>Run Anywhereが求められない
めっちゃ欲しいっす。
MACみたいなハード寄りの組み込みプログラムなんかだと、
ハードウェアとソフトウェア、同時に開発進むこと多いんだ。(うちの会社の場合)
で、ソフトはエミュレータみたいなの使って動作確認やるんだけど、
ハードとの結合でボロボロ不具合出てくる。

でも出来ても結局リソース食うから、コスト的には使われなさそう・・・。>組み込みJavaVM
下手するとCPUすら削って、製造コスト下げようとするからネ!!
2007/05/21(月) 02:14:08
C++というか、周辺ライブラリだよね。
GUI使うと、WORAは結構悲惨。
というか、GUI使ってWORAだと、Javaが最善だと思う。
システムLAFもよくなったし、タスクトレイにアイコン追加できるようになったし。
GIMP見てると、GTKはWindows上で一般向けっていのはかなり難しいし。
2007/05/21(月) 02:14:30
>>47
なんか面白そうだな。
たまにはそんなジャンルの仕事もしてみたい。
いつもそんな仕事じゃいやだけどw
2007/05/21(月) 02:20:22
>>47
MACだけとか単純なものだったら、各環境でJNIやってもそこまで手間にならないと思うから、アプリ部分をJavaにしてWORAになるのはデカイと思う。
EclipseでもNetBeansでもC++の環境があってJNIやりやすくなってるし。
まあ、組み込みだとちょっとつらいかね。
ハードとソフトが同時進行の場合は、いかにハードのモックを作れるかが勝負だね。
2007/05/21(月) 02:21:59
>>49
Web+DBアプリってのは、プログラム的には一番面白くないと思う。
Ajaxなんて、流行りモノじゃなければ、無駄な作業以外の何者でもない。
2007/05/21(月) 02:22:47
>>48
JavaのGUIはSwingでしか作ったこと無いけど、確かに良いね。
多少見た目変わるけど、ほぼ確実に動く。(気がする

>GIMP見てると、GTKはWindows上で一般向けっていのはかなり難しいし。
いまひとつ意味が分からない

(閑話休題)
C/C++のマルチプラットフォームなプログラムは#if、#ifdef、#pragmaの
オンパレードだったりするしなぁ・・・。
こっちの問題は、そもそもC/C++はコンパイラの種類が多すぎる。
そのくせ標準のC/C++の関数だけだと大したこと出来ないし。

WinでもLinuxでも存在するgccは、その辺は強いかも知れない。
5351
垢版 |
2007/05/21(月) 02:23:16
あ、業務アプリ系やってるのかなぁと勝手に推測してみた。
2007/05/21(月) 02:27:37
>>52
GIMPをWindows上で使ってファイル保存ダイアログが表示されるタイムラグとか使用感とか見てると、Windows上でのGTKって普通の人に使わせるにはちょっとつらいかなと。
C++で使えるクロスプラットフォームなGUIって、GTKくらいだよね?実用的なの。
5549
垢版 |
2007/05/21(月) 02:35:44
>>53
>>51 は、なに言ってんのか、意味不明だったけどそういうことかw

おれ自身はいままで幅広くいろんなことをやってきたんでたいていの分野の特色は
ある程度はわかる。ただ、逆に汎用的なプログラマになっちまったせいで、これなら
誰にも負けないぞ的な部分に欠けるのがちと痛い。
汎用的だと潰しはいくらでも利くけど、極端に高い給料がなかなか望めんのよね。
2007/05/21(月) 02:36:54
>>54
知ってる限りではGTKぐらいだなぁ。

>一般的でないって話
なるほど。
んー・・・俺の場合はEtherealがサンプルになるけど、確かに遅いは遅い。
が、2年前ぐらいにJBuilderで作ったJavaのGUIアプリと比べては
そんなにストレスに差は無かった気がするけどなぁ。

2年前とは既に別物なくらい早いとかJBuilderがクソとかなら
ちょっと経験上は比べらんないな。
2007/05/21(月) 02:42:48
>>54
コアの機能だけ移植性が高ければ、プログラミング言語側の都合を抜きにしても
GUIまわりはOS別に構築したほうが俺はいいと思ってるけどなぁ、昔から。
だって、そもそもGUIってプラットフォーム毎に文化が全然違うんだから、
それを無理に共通化するのなんてナンセンスだと思う。

例えば、iTunes を俺は最初に Mac 版で使ってんだけど、Windows 版を
初めて見たときなんかあまりのナンセンスぶりに思わずひとりで大爆笑しち
まったもんだよ。あんなのギャグ以外のなにものでもない。
2007/05/21(月) 02:46:18
>> 56
JDKのバージョンが問題だな。
JDK1.4.0でのSwingと、JDK6のSwingは、速さの点では別物。
JDK1.3だったりすると、話にならないレベル。

今は速さの点でSwingに不満が出ることはないと思うよ。
2007/05/21(月) 02:51:14
>>57
Swing使ってみ。
Mac用のVMをAppleが作ってるってのは、そういう点でかなりいいと思うよ。
Windows上の動作も、バージョン重ねるたびに改善されていってるし。
2007/05/21(月) 02:51:22
>>57
どうだろう。
一理あるけど、レイアウトは独立的でも、
各コンポーネントは共通の方が作りやすいかも。

>>58
JDK5だったかな。
系統的にはどっちになるか分からない。<1.4系?6系?
2007/05/21(月) 02:53:20
JDK5.0だったらかなり速くなってるはずだなぁ。5.0系。
2007/05/21(月) 03:00:11
>>60
確かに(例えば)リストコントロール周りの似たような処理を
OSごとに書くのは馬鹿馬鹿しい気もする
どこまでを共通のフレームワークとするのかはまた別の話だけど
2007/05/21(月) 03:02:44
>>61
んー、そんな個人的にはGTKもSwingも、実用的な速さだと思う。
同じぐらいの速さだった気がするなぁ、って程度の話。

スペック低いPCだと顕著な差が出たりすんのかねぇ。

ではそろそろ寝る。
2007/05/21(月) 03:11:24
> 63
速さ的には、GTKの方が速いと思うんだよね。
ダイアログ表示が待たされるだけで。この遅さが結構つらいと思ったんだけど、それよりなんか使用感に違和感がありすぎて。
ファイル保存ダイアログの表示が遅いからGTK共通かと思ってるんだけど、もしかしてGIMPの保存ダイアログが特別遅いのかな。
6563
垢版 |
2007/05/21(月) 03:12:07
あ、お休み〜ノシ
6665
垢版 |
2007/05/21(月) 03:13:30
まちがえた、65=64
2007/05/21(月) 17:31:57
>>40
MACを作るってのがわからんけど、

MACアドレスなら 1.6 から java.net.NetworkInterface#getHardwareAddress() で取れるぞ。
2007/05/21(月) 20:38:41
>>67
MACソフトは、ハードウェアとドライバの間にあって、
ドライバからの送信要求をハードウェアに
ハードウェアからの受信通知をドライバに
それぞれ橋渡しするソフトウェア。

MACアドレスが取れるとかよりも、ROMやRAMのメモリにどれだけ自由にアクセス出来るか、かな。

具体的に例を挙げると、Ethernetの送信とかだと

ドライバからあるデータを送信しろという命令を受ける

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

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

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

ハードウェアがそのパケットを送信する

とかそういうインターフェースをラッピングする。
概念的なMACはまた違うけど、実装にあんま関係ないかな。
2007/05/21(月) 20:50:18
あー、ファームウェアみたいなもんか?
2007/05/21(月) 21:11:03
ていうか、ファームウェアの一種かな。
2007/05/21(月) 21:35:54
そのあたりの処理は NIC によってはドライバでやってる奴もあるし
ファームでやる奴もある。

残念ながら、まだ Java でどうのこうのできるレイヤーじゃなくて、
ASM / C / C++ あたりで書かれる。
2007/05/22(火) 00:14:15
もしそのファームがJavaで書かれてたとしてもPC上のJavaからは使えんから意味ないね。
2007/05/27(日) 20:33:00
実現したら携帯のアプリをJavaで作るのと同じようなノリになるのか?
2007/07/04(水) 01:27:35
実践的にJavaでプログラム書いてると
想像以上のぬるぽExceptionの出現の頻度に驚く
まじでCで書いてた時よりも多いよ
Javaってつくづく間抜けだなと思う
75デフォルトの名無しさん
垢版 |
2007/07/04(水) 01:31:59
>>74
2007/07/04(水) 08:54:11
ぬるぽに遭遇するのは低級プログラマ
2007/07/04(水) 11:43:49
自分で組んだプログラムでのぬるぽは、言語の話ではなく単なるコーディング能力。
78デフォルトの名無しさん
垢版 |
2007/07/04(水) 11:55:15
Cのスタイルで先頭にまとめて変数宣言するとぬるぽ多発しそうな悪寒。
変数は必要なときに、初期化つきで宣言するが吉。
2007/07/04(水) 13:08:11
TextBox hogehoge = new TextBox();
String fugafuga = hogehoge.getText();

みたいなときに
TextBoxの入力が空だった場合

fugafuga は "" になる? null になる?
2007/07/04(水) 13:56:23
""
2007/07/04(水) 22:32:00
>>78
クラスのインスタンス変数は先頭にまとめてしまいがちで
コンストラクタで初期化する傾向にありますが
何か良い方法はご存知ないでしょうか?
2007/07/04(水) 22:43:00
>>81
それはCスタイルとは意味が違うと思われ。
まあ、普通に初期化文法が使えるなら使えってのは一緒じゃないの?
2007/07/05(木) 00:00:51
>>74がbug量産プログラマということが証明されたのか、ふんふん
2007/07/05(木) 00:03:44
>>81
1.Eclipseで編集
2.DI(Springなんか)を使ってxml記述にて初期化
2007/07/05(木) 00:17:12
>>74はCでメモリ開放しないでコードかいてたんだよ。きっと。
そしてJavaにきてガーベッジコレクションでメモリ管理されるようになって
ぬるぽが続出しているんだ。

そして74はこれを回避するために一時変数とかをすべてstaticなフィールドにして
最初に初期化するという方法を思いつくんだ!
ぬるぽが出なくなって74は喜ぶが、代わりにロジックの誤りに悩まされてデスマに突入

ガッ
86760
垢版 |
2007/07/05(木) 07:26:33
ぬるぽとがべこれは無関係だろ
2007/07/05(木) 12:01:46
84が負け組ということはわかった。
2007/07/05(木) 20:38:08
>>85
Cだと概念的にはnullのところがエラーとならずに値が読めてしまう場合あるだろ?
Javaだとそういうところ厳密なわけよ。
それはメモリ管理がガーベッジコレクションによって行われるようになって
プログラマの責務が減ったからからなんだよ。
新言語に搭載される機能が生まれてきた背景は知っても損はないぜ。
2007/07/06(金) 23:12:18
仮想マシンが null チェックやってるってだけのことだろ。

GC と何の関係もないよ。
2007/07/07(土) 22:07:38
>>54
> C++で使えるクロスプラットフォームなGUIって、GTKくらいだよね?実用的なの。
wxWidgets是非試してみて。
>>57
> GUIまわりはOS別に構築したほうが俺はいいと思ってるけどなぁ、昔から。
wxWidgets使えばGUIもWriteOnce, CompileAnywhere!
2007/07/07(土) 22:10:11
>>77
> 自分で組んだプログラムでのぬるぽは、言語の話ではなく単なるコーディング能力。
「ミスが出易い仕様」という言語の話。
2007/07/07(土) 22:14:39
ミスするのは人
2007/07/07(土) 22:15:47
確かにミスを洗い出しやすい仕様だな
2007/07/07(土) 23:19:05
>>89
まったく分からん奴だな。

CGがメモリ管理するようになって、alloc、freeみたいに
自力でメモリ確保と開放しなくてよくなったんだよ。
これは背景事情な。

で、自力でメモリ管理やるCの場合は、初期化していないアドレスに
アクセスすることがあったし、開放したメモリにアクセスすることもあった。

Javaの場合は前に使った値がメモリに残っている、とかそういうのはなくて
オブジェクトが生成されてなければ常にnullなんだよ。

だから、Cでメモリ管理ミスってるコードみたいな書き方をした場合は
みんなぬるぽになんの。
たまたま値が残っててそのまま動く、とかそういうことは起こらんの。
そういう見つけにくい、かつ深刻な問題が起こるバグの代わりに
はっきりと初期化されてないよって警告が出るようになったの。

だから、「ミスが露呈しやすい言語仕様」になっただけ。
むしろ発見が早まって生産性いいんだよ
2007/07/07(土) 23:22:24
Cでヌルポインタと言ったらNULLのことで、
初期化されていないポインタや解放済みの領域を指すポインタはまた別だろ。
2007/07/08(日) 00:09:55
>>95
誰に言ってんの?
2007/07/08(日) 11:47:05
http://pc11.2ch.net/test/read.cgi/tech/1168157769/14-15
98デフォルトの名無しさん
垢版 |
2007/08/27(月) 22:06:23
画面作るのが糞めんどくせええ!!!!
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`)


2007/08/27(月) 22:21:29
struts がアレだったのは別にして、>>98はプログラマに向いて無いと思う。
2007/08/27(月) 22:23:49
うん
2007/08/28(火) 01:17:28
98ってそんなことも出来ないの?
2007/08/29(水) 21:51:08
strutsだろうがstruts2だろうがググれば出てくるよ。使用法
2007/09/05(水) 23:35:23
まあjava、というかEJBはめんどくさいよ。
2007/09/06(木) 09:48:58
そうか?EJB3ってそんなにめんどくさいとは思わないけど。
2007/10/28(日) 00:45:19
C: ザク
C++: ドム
C# : リック・ドム
D: アッガイ
Java: ジム
VB: ボール
こうですか?わかりません!
106104
垢版 |
2007/10/28(日) 00:46:33
誤爆したスマソ
107105
垢版 |
2007/10/28(日) 00:47:23
しかも番号がずれた。氏のう
2007/10/28(日) 21:50:50
>>105-107
ワロス
2007/10/29(月) 15:23:04
コンストラクタに引数をつけたいんですが、どうすればよろしいですか?
110デフォルトの名無しさん
垢版 |
2007/10/29(月) 16:06:29
EJB3はどうかしらんが、EJB2.0のころは、ソースコードかくより
xmlファイル編集することで頭が混乱してきた。JBOSSの何とか言う分厚い
3800円の本かったけど、押入れの奥で眠ってる。

Javaの仕事はJSP/サーブレットないし、バックグランド処理だけやった。EJBはパスした。
PHPやらVB.NETの方がはるかにわかりやすい。
111デフォルトの名無しさん
垢版 |
2007/10/29(月) 16:09:21
>>109
どうもこうもないべ。コンストラクタの宣言時に引数付コンストラクタを
定義すればいいんじゃない?

んで使うほうは、コンストラクタに引数つけりゃいいじゃん。

Buttonクラスだとすると、単にボタン作るコンストラクタとボタンに表示する
文字列を指定できるコンストラクタがあるんだけど、それでも他にコンストラクタがほしければ
Buttonクラス継承してクラス自作して、コンストラクタを新たに定義すればいいよ。
112デフォルトの名無しさん
垢版 |
2007/10/29(月) 20:12:40

 カレントディレクトリを変更できない
113デフォルトの名無しさん
垢版 |
2007/10/29(月) 20:14:59
__FILE__

__LINE__
114デフォルトの名無しさん
垢版 |
2007/10/29(月) 20:21:11
EJBは3になって少しましになった程度
あれでDIのつもりだからため息が出る
まともなDIコンテナ使うと劇的に見通しが良くなる
これに慣れるとRailsや.NETみたいななんでもやります系の、そのかわり選択の余地は与えませんなやり方にうんざりする
2007/10/29(月) 21:36:05
>>113
System.out.println(new Exception().getStackTrace()[0].getFileName());
System.out.println(new Exception().getStackTrace()[0].getLineNumber());
116デフォルトの名無しさん
垢版 |
2007/10/29(月) 21:56:21
>>115
なげ〜〜よ
2007/10/29(月) 22:19:42
将来的にはPCよりも携帯端末のほうが主流になるだろうから
MIDP/DOJAをやっておいても悪くない
ただしJ2MEでWORAなんて夢のまた夢だからプリプロセッサ必須だけど
2008/02/04(月) 01:32:37
>>116
間違っています。
以上。
はい、次。
119デフォルトの名無しさん
垢版 |
2008/07/22(火) 20:21:48
TextSS
2008/07/22(火) 23:46:13
EJBなんて、めちゃくちゃ簡単じゃん。と、CORBAから移ってきた時は思いました。
今は面倒くさくてやってられない。
121デフォルトの名無しさん
垢版 |
2008/07/25(金) 08:11:44
リストとハッシュで済むような処理のためにクラスを書くような言語は間違っている。
122デフォルトの名無しさん
垢版 |
2008/07/25(金) 11:08:52
JavaってHTMLを生成するための言語でしょ?
2008/07/27(日) 22:24:28
>>120
そこはEJB3でどうでしょ
でもCORBAもJavaだと楽じゃね?
2008/07/28(月) 15:27:46
>>121
javaで書いたインタプリタで巻いちゃえばいいんだよ
125デフォルトの名無しさん
垢版 |
2008/08/05(火) 17:39:56
文字列はコピー渡しの方が良いのではないか?
2008/08/05(火) 17:47:57
そう思うならコピーして渡せばいいのでは?
127デフォルトの名無しさん
垢版 |
2008/08/05(火) 20:44:16
>>126
2008/08/06(水) 00:23:41
コピー渡しだと何がいいんだろ?
129デフォルトの名無しさん
垢版 |
2008/08/06(水) 00:48:08
オリジナルに影響ないじゃん。
バカじゃない?
2008/08/06(水) 02:09:19
Javaではオリジナルを変更することはできないのだが。
バカじゃない?
131デフォルトの名無しさん
垢版 |
2008/08/06(水) 19:23:03
>>128
コピー渡しというか値渡しだな。
2008/08/06(水) 21:46:21
>>130
> バカじゃない?

自己紹介乙。
2008/08/07(木) 00:36:26
値渡しは変更してもオリジナルに影響ないから文字列は値渡しってんなら、もともとJavaの文字列は不変オブジェクトなんだから、単なる無知の意見だね。
2008/08/07(木) 12:54:50
a( new String(str));
a(str);
どっちがいいかってこと?
135デフォルトの名無しさん
垢版 |
2008/08/07(木) 23:35:07
>>129==>>133の予感がしてきた。
2008/08/08(金) 05:43:01
>>130 == >>133
です。
137デフォルトの名無しさん
垢版 |
2008/08/17(日) 08:56:01
>>136
必死で否定するところが怪しいな。
138デフォルトの名無しさん
垢版 |
2008/08/24(日) 03:06:04
>>137
見りゃ分かるだろ。
この バ カ
2008/08/24(日) 03:15:04
>>31
どういうところが?
2008/08/24(日) 03:16:03
すごく久々にレスが着いてると思ったら
どうでもよかった
141デフォルトの名無しさん
垢版 |
2008/08/24(日) 03:26:27
バカを
バ カ
と呼んだまでのこと。
気にスンナ。

バ カ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況