-
プログラム
-
JAVAってこんなことも出来ないの?
-
UPLIFTで広告なしで体験しましょう!快適な閲覧ライフをお約束します!
mainメソッドから値を返す。
- コメントを投稿する
-
>>1
System.exit(0);じゃだめかね -
>>1ってプログラム言語もまともに使えないの?
-
ごはんを焚く
-
馬鹿キタコレ
-
まずお湯を沸かします
-
「苗を植える」からじゃないのか?
-
__________ __ ______ _____ ___ ___ ___
/ / / / | / /__ __/ [][] _| |_| |__ _| |_
/_______ /__/ /_ | ____/ / / | _ | |_ レ'~ ̄|
/ / /__ _/ / /____ | |___  ̄| | / / / /| |
/ / / | / __ / \__| | |  ̄ /_ / | |_
/ \ / / / | / | / / |_| |__| \/
.\ \/ / / / /|_| / /| | / /
\ / \// / / / \ V / We are The Real Programmers
\ \ / / / / / \ http://pc11.2ch.net/prog/
\/ /_/ /_/ ∠_/\_\ -
∩___∩
| ノ ヽ/⌒) あばばばばばば
/⌒) (゚) (゚) | .|
/ / ( _●_) ミ/ ∩―−、
.( ヽ |∪| / / (゚) 、_ `ヽ
\ ヽノ / / ( ● (゚) |つ
/ / | /(入__ノ ミ あばばっあびゃばびゃばば
| / 、 (_/ ノ
| /\ \ \___ ノ゙ ─ー
| / ) ) \ _
∪ ( \ \ \
\_) -
確かにできないね。
何となく必要性はわかるよ。
他のクラスから、既存のロジックを実行するクラスをコールする。
みたいなことでしょ?
で、その「他のクラス」は「既存のロジック」を実行した結果を知りたいんでしょ?
だとしたら、
「既存のロジック」を持っている既存のクラスで、
値の代わりにカスタムExceptionをthrowさせればいいんじゃない?
「他のクラス」はthrowされたExceptionで結果を判別できるでしょ。
ちょっとデザイン的には不細工に思えるけどね。
もしくは、
「他のクラス」からコールする前提のPublic methodを実装すればいいんじゃない?
結果的にはこちらが自然なんだけど。 -
釣りだろ?
-
> 4
最近はReal-timeもかなり良くなってるから、Javaで制御する炊飯器って問題なく作れると思う。 -
javaってGPUの機能使えるの?
-
そこに何の問題が?
-
Javaって
W r i t e O n c e , R u n A n y w h e r e
も、出来ないよね。
-
>>18
これができない時点で実は Java の存在意義ってほとんどなくなるんだけどなw -
えっと、いまのところWrite Once, Run Anywhereが一番できることに変わりないのだけど。
少なくとも、Javaの存在意義が発揮できる程度にWrite Once, Run Anywareが実現できてるわけだけど。 -
perlの方が
-
例えば Perl はポータブルな GUI 作れないやん
-
て言うか、PC アプリに限れば Windows をターゲットにすればどんな言語でも
ほぼ Run Anywhere だからなぁ。 -
ププ
-
>>21
ファイルパスの扱いは?
あとは、スレッドの扱い。
印刷はどうする?
> 23
Macのユーザーは着実に増えてるわけで。
その程度の動作確率でRun Anywhereといっていいなら、Javaは充分Run Anywareだ。 -
Java以外で出来ないとでも思っているのか?
-
>>25
> その程度の動作確率でRun Anywhereといっていいなら、
> Javaは充分Run Anywareだ。
その程度の動作確率で充分な世界があるわけで、その世界だと
Java もその他の言語も充分 Run Anywhere
つまり、その世界では Run Anywhere なんて何の自慢にもなら
ないって言ってるんだけど、難しかった? -
>>20
うん、まぁ、ある程度はそれができていることは認めるよ。
でも、厳密に Write Once, Run Anywhere ができていない以上は、
この点に関しては他の言語と程度問題の差でしかなく、一線を画す類のもんじゃない。
それでいて実現できてない理想の為にVM上で動かさざるを得ずパフォーマンスは悪い。
現状、それでも使い物にならないってほどじゃないから、妥協した上での選択肢として
Javaがそれなりに利用されてるってだけだってことをお忘れなくw -
それなりねー・・・・
-
>>29
Run Anywareで問題になってるところって、たとえば何があるの? -
北斗の拳を知らないのか、プログラミング言語を知らないのか、どっちなんだろう…
-
>>32
それは Java 厨のほうがよく知ってることだと思うんだが。 -
つまり、想像でRun Anywhereができないと言ってるわけかな?
パフォーマンスが悪いってのも、どういうアプリケーションで問題になるの?
あと、程度問題でも、実用上の差があれば一線を画すわけだが。これはRun Anywhereの問題に限らずね。 -
むしろ、Run Anywareが特に効果を発揮した場所を知りたい。結局プラットフォームごとにデバッグするわけで。
-
スペルミスorz
Anyware → Anywhere -
いやぁ、3年前くらいだったら、こういうときに反論できなくなってたのはJava使いの方だったんだけど。
ほんと、Javaもすごくなったもんだ。
CPUが速くなってメモリが安くなったおかげってのもあるんだけど。
Javaしかできなくて心配だった時期もあったんだけど、>36のレスみて一安心した。
ありがとう。 -
単なる興味の話なんだけど、JavaでLANカードのMACって作れるの?
組み込みLinux上で動くJavaVMとかあれば何とかなるんだろうか。
レジスタアクセスとか、物理メモリを直接触る操作とか辛そう。 -
>>37
え?
Windowsで開発して、実環境はLinuxというのが大規模アプリのレベルで行われてるわけで。
大規模じゃない場合、WindowsだったりMacだったりLinuxだったり、好きな開発マシンを使えるし。
プラットフォームごとにテストする場合も、同じテストが使えるしな。
あとは、MacとWindowsで共通のアプリを作る場合にもJavaが採用されるな。
Javaのおかげで、開発マシンのOSが自由に選べるのは、結構ありがたい。 -
>>40
そういうのはJNI使うだろうな〜。
言い訳としては、そういうアプリではRun Anywhereが求められない、って感じで。
需要が大きければ主要OS用のライブラリを誰か作ってくれて、しばらくするとJDKに取り込まれる。 -
>>41
俺はそれと同じことをC++で実際にやってますが、なにか? -
> 43
それは、とても尊敬する。
そういうときって、Windows邪魔だよね。
あ、Cygwin使うのかな? -
C++はウンコだからなー・・・
-
>>44
将来的にはGUIアプリなんかでも同様のことをやろうと思ってるけど、
現時点ではそこまでは及んでない。んで、別にGUIアプリじゃなきゃ
実はそんなに難しいことじゃなかったりする。
Cygwin は Windows 上から Linux 系向けのコードを簡単にテスト
する為の環境として重宝している。 -
>>42
JNIは初めて知った。
やっぱJava全然知らんなぁ、俺。
とりあえず外部DLLに頼らざるを得ない部分は出てくるわけか。
>Run Anywhereが求められない
めっちゃ欲しいっす。
MACみたいなハード寄りの組み込みプログラムなんかだと、
ハードウェアとソフトウェア、同時に開発進むこと多いんだ。(うちの会社の場合)
で、ソフトはエミュレータみたいなの使って動作確認やるんだけど、
ハードとの結合でボロボロ不具合出てくる。
でも出来ても結局リソース食うから、コスト的には使われなさそう・・・。>組み込みJavaVM
下手するとCPUすら削って、製造コスト下げようとするからネ!! -
C++というか、周辺ライブラリだよね。
GUI使うと、WORAは結構悲惨。
というか、GUI使ってWORAだと、Javaが最善だと思う。
システムLAFもよくなったし、タスクトレイにアイコン追加できるようになったし。
GIMP見てると、GTKはWindows上で一般向けっていのはかなり難しいし。 -
>>47
MACだけとか単純なものだったら、各環境でJNIやってもそこまで手間にならないと思うから、アプリ部分をJavaにしてWORAになるのはデカイと思う。
EclipseでもNetBeansでもC++の環境があってJNIやりやすくなってるし。
まあ、組み込みだとちょっとつらいかね。
ハードとソフトが同時進行の場合は、いかにハードのモックを作れるかが勝負だね。 -
>>48
JavaのGUIはSwingでしか作ったこと無いけど、確かに良いね。
多少見た目変わるけど、ほぼ確実に動く。(気がする
>GIMP見てると、GTKはWindows上で一般向けっていのはかなり難しいし。
いまひとつ意味が分からない
(閑話休題)
C/C++のマルチプラットフォームなプログラムは#if、#ifdef、#pragmaの
オンパレードだったりするしなぁ・・・。
こっちの問題は、そもそもC/C++はコンパイラの種類が多すぎる。
そのくせ標準のC/C++の関数だけだと大したこと出来ないし。
WinでもLinuxでも存在するgccは、その辺は強いかも知れない。 -
あ、業務アプリ系やってるのかなぁと勝手に推測してみた。
-
>>52
GIMPをWindows上で使ってファイル保存ダイアログが表示されるタイムラグとか使用感とか見てると、Windows上でのGTKって普通の人に使わせるにはちょっとつらいかなと。
C++で使えるクロスプラットフォームなGUIって、GTKくらいだよね?実用的なの。 -
>>54
知ってる限りではGTKぐらいだなぁ。
>一般的でないって話
なるほど。
んー・・・俺の場合はEtherealがサンプルになるけど、確かに遅いは遅い。
が、2年前ぐらいにJBuilderで作ったJavaのGUIアプリと比べては
そんなにストレスに差は無かった気がするけどなぁ。
2年前とは既に別物なくらい早いとかJBuilderがクソとかなら
ちょっと経験上は比べらんないな。 -
>>54
コアの機能だけ移植性が高ければ、プログラミング言語側の都合を抜きにしても
GUIまわりはOS別に構築したほうが俺はいいと思ってるけどなぁ、昔から。
だって、そもそもGUIってプラットフォーム毎に文化が全然違うんだから、
それを無理に共通化するのなんてナンセンスだと思う。
例えば、iTunes を俺は最初に Mac 版で使ってんだけど、Windows 版を
初めて見たときなんかあまりのナンセンスぶりに思わずひとりで大爆笑しち
まったもんだよ。あんなのギャグ以外のなにものでもない。 -
>> 56
JDKのバージョンが問題だな。
JDK1.4.0でのSwingと、JDK6のSwingは、速さの点では別物。
JDK1.3だったりすると、話にならないレベル。
今は速さの点でSwingに不満が出ることはないと思うよ。 -
JDK5.0だったらかなり速くなってるはずだなぁ。5.0系。
-
>>61
んー、そんな個人的にはGTKもSwingも、実用的な速さだと思う。
同じぐらいの速さだった気がするなぁ、って程度の話。
スペック低いPCだと顕著な差が出たりすんのかねぇ。
ではそろそろ寝る。 -
> 63
速さ的には、GTKの方が速いと思うんだよね。
ダイアログ表示が待たされるだけで。この遅さが結構つらいと思ったんだけど、それよりなんか使用感に違和感がありすぎて。
ファイル保存ダイアログの表示が遅いからGTK共通かと思ってるんだけど、もしかしてGIMPの保存ダイアログが特別遅いのかな。 -
あ、お休み〜ノシ
-
まちがえた、65=64
-
>>67
MACソフトは、ハードウェアとドライバの間にあって、
ドライバからの送信要求をハードウェアに
ハードウェアからの受信通知をドライバに
それぞれ橋渡しするソフトウェア。
MACアドレスが取れるとかよりも、ROMやRAMのメモリにどれだけ自由にアクセス出来るか、かな。
具体的に例を挙げると、Ethernetの送信とかだと
ドライバからあるデータを送信しろという命令を受ける
↓
データにEthernetのヘッダをつける
↓
ある物理メモリの0x00210104にヘッダ付きデータの先頭を表すポインタを設定
↓
0x00210100の第3ビットを1にする
↓
ハードウェアがそのパケットを送信する
とかそういうインターフェースをラッピングする。
概念的なMACはまた違うけど、実装にあんま関係ないかな。 -
あー、ファームウェアみたいなもんか?
-
ていうか、ファームウェアの一種かな。
-
そのあたりの処理は NIC によってはドライバでやってる奴もあるし
ファームでやる奴もある。
残念ながら、まだ Java でどうのこうのできるレイヤーじゃなくて、
ASM / C / C++ あたりで書かれる。 -
もしそのファームがJavaで書かれてたとしてもPC上のJavaからは使えんから意味ないね。
-
実現したら携帯のアプリをJavaで作るのと同じようなノリになるのか?
-
実践的にJavaでプログラム書いてると
想像以上のぬるぽExceptionの出現の頻度に驚く
まじでCで書いてた時よりも多いよ
Javaってつくづく間抜けだなと思う
-
ぬるぽに遭遇するのは低級プログラマ
-
自分で組んだプログラムでのぬるぽは、言語の話ではなく単なるコーディング能力。
-
Cのスタイルで先頭にまとめて変数宣言するとぬるぽ多発しそうな悪寒。
変数は必要なときに、初期化つきで宣言するが吉。 -
TextBox hogehoge = new TextBox();
String fugafuga = hogehoge.getText();
みたいなときに
TextBoxの入力が空だった場合
fugafuga は "" になる? null になる?
-
""
-
>>74がbug量産プログラマということが証明されたのか、ふんふん
-
>>74はCでメモリ開放しないでコードかいてたんだよ。きっと。
そしてJavaにきてガーベッジコレクションでメモリ管理されるようになって
ぬるぽが続出しているんだ。
そして74はこれを回避するために一時変数とかをすべてstaticなフィールドにして
最初に初期化するという方法を思いつくんだ!
ぬるぽが出なくなって74は喜ぶが、代わりにロジックの誤りに悩まされてデスマに突入
ガッ -
ぬるぽとがべこれは無関係だろ
-
84が負け組ということはわかった。
-
>>85
Cだと概念的にはnullのところがエラーとならずに値が読めてしまう場合あるだろ?
Javaだとそういうところ厳密なわけよ。
それはメモリ管理がガーベッジコレクションによって行われるようになって
プログラマの責務が減ったからからなんだよ。
新言語に搭載される機能が生まれてきた背景は知っても損はないぜ。 -
仮想マシンが null チェックやってるってだけのことだろ。
GC と何の関係もないよ。 -
ミスするのは人
-
確かにミスを洗い出しやすい仕様だな
-
>>89
まったく分からん奴だな。
CGがメモリ管理するようになって、alloc、freeみたいに
自力でメモリ確保と開放しなくてよくなったんだよ。
これは背景事情な。
で、自力でメモリ管理やるCの場合は、初期化していないアドレスに
アクセスすることがあったし、開放したメモリにアクセスすることもあった。
Javaの場合は前に使った値がメモリに残っている、とかそういうのはなくて
オブジェクトが生成されてなければ常にnullなんだよ。
だから、Cでメモリ管理ミスってるコードみたいな書き方をした場合は
みんなぬるぽになんの。
たまたま値が残っててそのまま動く、とかそういうことは起こらんの。
そういう見つけにくい、かつ深刻な問題が起こるバグの代わりに
はっきりと初期化されてないよって警告が出るようになったの。
だから、「ミスが露呈しやすい言語仕様」になっただけ。
むしろ発見が早まって生産性いいんだよ -
Cでヌルポインタと言ったらNULLのことで、
初期化されていないポインタや解放済みの領域を指すポインタはまた別だろ。 -
>>95
誰に言ってんの? -
画面作るのが糞めんどくせええ!!!!
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`)
-
struts がアレだったのは別にして、>>98はプログラマに向いて無いと思う。
-
うん
↑今すぐ読める無料コミック大量配信中!↑