JAVAってこんなことも出来ないの?
■ このスレッドは過去ログ倉庫に格納されています
>>1 System.exit(0);じゃだめかね __________ __ ______ _____ ___ ___ ___ / / / / | / /__ __/ [][] _| |_| |__ _| |_ /_______ /__/ /_ | ____/ / / | _ | |_ レ'~ ̄| / / /__ _/ / /____ | |___  ̄| | / / / /| | / / / | / __ / \__| | |  ̄ /_ / | |_ / \ / / / | / | / / |_| |__| \/ .\ \/ / / / /|_| / /| | / / \ / \// / / / \ V / We are The Real Programmers \ \ / / / / / \ http://pc11.2ch.net/prog/ \/ /_/ /_/ ∠_/\_\ ∩___∩ | ノ ヽ/⌒) あばばばばばば /⌒) (゚) (゚) | .| / / ( _●_) ミ/ ∩―−、 .( ヽ |∪| / / (゚) 、_ `ヽ \ ヽノ / / ( ● (゚) |つ / / | /(入__ノ ミ あばばっあびゃばびゃばば | / 、 (_/ ノ | /\ \ \___ ノ゙ ─ー | / ) ) \ _ ∪ ( \ \ \ \_) 確かにできないね。 何となく必要性はわかるよ。 他のクラスから、既存のロジックを実行するクラスをコールする。 みたいなことでしょ? で、その「他のクラス」は「既存のロジック」を実行した結果を知りたいんでしょ? だとしたら、 「既存のロジック」を持っている既存のクラスで、 値の代わりにカスタムExceptionをthrowさせればいいんじゃない? 「他のクラス」はthrowされたExceptionで結果を判別できるでしょ。 ちょっとデザイン的には不細工に思えるけどね。 もしくは、 「他のクラス」からコールする前提のPublic methodを実装すればいいんじゃない? 結果的にはこちらが自然なんだけど。 >>1 低脳乙。もうちっと調べて物を言え。 >>2 でも言われているが... java.lang.System.exit(int status); 現在実行している Java 仮想マシンを終了します。 引数はステータスコードとして作用します。 通例、ゼロ以外のステータスコードは異常終了を示します。 -----終了----- > 4 最近はReal-timeもかなり良くなってるから、Javaで制御する炊飯器って問題なく作れると思う。 >>11 return 1; とか出来ないじゃん。 >>15 static void main(.... なんのためのvoid指定なんだよ 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 はポータブルな GUI 作れないやん て言うか、PC アプリに限れば Windows をターゲットにすればどんな言語でも ほぼ Run Anywhere だからなぁ。 >>21 ファイルパスの扱いは? あとは、スレッドの扱い。 印刷はどうする? > 23 Macのユーザーは着実に増えてるわけで。 その程度の動作確率でRun Anywhereといっていいなら、Javaは充分Run Anywareだ。 >>25 > その程度の動作確率でRun Anywhereといっていいなら、 > Javaは充分Run Anywareだ。 その程度の動作確率で充分な世界があるわけで、その世界だと Java もその他の言語も充分 Run Anywhere つまり、その世界では Run Anywhere なんて何の自慢にもなら ないって言ってるんだけど、難しかった? >>27 は >>18 はとんだ大間違いだと言いたい訳か >>20 うん、まぁ、ある程度はそれができていることは認めるよ。 でも、厳密に Write Once, Run Anywhere ができていない以上は、 この点に関しては他の言語と程度問題の差でしかなく、一線を画す類のもんじゃない。 それでいて実現できてない理想の為にVM上で動かさざるを得ずパフォーマンスは悪い。 現状、それでも使い物にならないってほどじゃないから、妥協した上での選択肢として Javaがそれなりに利用されてるってだけだってことをお忘れなくw http://pc11.2ch.net/test/read.cgi/tech/1178945996/10n >C: ケンシロウ >C++: ラオウ >D: トキ >Java: ジャギ これ、言いえて妙だと思ったw >>29 Run Anywareで問題になってるところって、たとえば何があるの? 北斗の拳を知らないのか、プログラミング言語を知らないのか、どっちなんだろう… >>32 それは Java 厨のほうがよく知ってることだと思うんだが。 つまり、想像でRun Anywhereができないと言ってるわけかな? パフォーマンスが悪いってのも、どういうアプリケーションで問題になるの? あと、程度問題でも、実用上の差があれば一線を画すわけだが。これはRun Anywhereの問題に限らずね。 >>35 ハイハイ、じゃヴぁはすごいねぇ。ほんとすごいよ。 これでJavaしかできない劣等プログラマでも一安心だねw むしろ、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使うのかな? >>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 なんか面白そうだな。 たまにはそんなジャンルの仕事もしてみたい。 いつもそんな仕事じゃいやだけどw >>47 MACだけとか単純なものだったら、各環境でJNIやってもそこまで手間にならないと思うから、アプリ部分をJavaにしてWORAになるのはデカイと思う。 EclipseでもNetBeansでもC++の環境があってJNIやりやすくなってるし。 まあ、組み込みだとちょっとつらいかね。 ハードとソフトが同時進行の場合は、いかにハードのモックを作れるかが勝負だね。 >>49 Web+DBアプリってのは、プログラム的には一番面白くないと思う。 Ajaxなんて、流行りモノじゃなければ、無駄な作業以外の何者でもない。 >>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くらいだよね?実用的なの。 >>53 >>51 は、なに言ってんのか、意味不明だったけどそういうことかw おれ自身はいままで幅広くいろんなことをやってきたんでたいていの分野の特色は ある程度はわかる。ただ、逆に汎用的なプログラマになっちまったせいで、これなら 誰にも負けないぞ的な部分に欠けるのがちと痛い。 汎用的だと潰しはいくらでも利くけど、極端に高い給料がなかなか望めんのよね。 >>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に不満が出ることはないと思うよ。 >>57 Swing使ってみ。 Mac用のVMをAppleが作ってるってのは、そういう点でかなりいいと思うよ。 Windows上の動作も、バージョン重ねるたびに改善されていってるし。 >>57 どうだろう。 一理あるけど、レイアウトは独立的でも、 各コンポーネントは共通の方が作りやすいかも。 >>58 JDK5だったかな。 系統的にはどっちになるか分からない。<1.4系?6系? JDK5.0だったらかなり速くなってるはずだなぁ。5.0系。 >>60 確かに(例えば)リストコントロール周りの似たような処理を OSごとに書くのは馬鹿馬鹿しい気もする どこまでを共通のフレームワークとするのかはまた別の話だけど >>61 んー、そんな個人的にはGTKもSwingも、実用的な速さだと思う。 同じぐらいの速さだった気がするなぁ、って程度の話。 スペック低いPCだと顕著な差が出たりすんのかねぇ。 ではそろそろ寝る。 > 63 速さ的には、GTKの方が速いと思うんだよね。 ダイアログ表示が待たされるだけで。この遅さが結構つらいと思ったんだけど、それよりなんか使用感に違和感がありすぎて。 ファイル保存ダイアログの表示が遅いからGTK共通かと思ってるんだけど、もしかしてGIMPの保存ダイアログが特別遅いのかな。 >>40 MACを作るってのがわからんけど、 MACアドレスなら 1.6 から java.net.NetworkInterface#getHardwareAddress() で取れるぞ。 >>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 になる? >>78 クラスのインスタンス変数は先頭にまとめてしまいがちで コンストラクタで初期化する傾向にありますが 何か良い方法はご存知ないでしょうか? >>81 それはCスタイルとは意味が違うと思われ。 まあ、普通に初期化文法が使えるなら使えってのは一緒じゃないの? >>74 がbug量産プログラマということが証明されたのか、ふんふん >>81 1.Eclipseで編集 2.DI(Springなんか)を使ってxml記述にて初期化 >>74 はCでメモリ開放しないでコードかいてたんだよ。きっと。 そしてJavaにきてガーベッジコレクションでメモリ管理されるようになって ぬるぽが続出しているんだ。 そして74はこれを回避するために一時変数とかをすべてstaticなフィールドにして 最初に初期化するという方法を思いつくんだ! ぬるぽが出なくなって74は喜ぶが、代わりにロジックの誤りに悩まされてデスマに突入 ガッ >>85 Cだと概念的にはnullのところがエラーとならずに値が読めてしまう場合あるだろ? Javaだとそういうところ厳密なわけよ。 それはメモリ管理がガーベッジコレクションによって行われるようになって プログラマの責務が減ったからからなんだよ。 新言語に搭載される機能が生まれてきた背景は知っても損はないぜ。 仮想マシンが null チェックやってるってだけのことだろ。 GC と何の関係もないよ。 >>54 > C++で使えるクロスプラットフォームなGUIって、GTKくらいだよね?実用的なの。 wxWidgets是非試してみて。 >>57 > GUIまわりはOS別に構築したほうが俺はいいと思ってるけどなぁ、昔から。 wxWidgets使えばGUIもWriteOnce, CompileAnywhere! >>77 > 自分で組んだプログラムでのぬるぽは、言語の話ではなく単なるコーディング能力。 「ミスが出易い仕様」という言語の話。 >>89 まったく分からん奴だな。 CGがメモリ管理するようになって、alloc、freeみたいに 自力でメモリ確保と開放しなくてよくなったんだよ。 これは背景事情な。 で、自力でメモリ管理やるCの場合は、初期化していないアドレスに アクセスすることがあったし、開放したメモリにアクセスすることもあった。 Javaの場合は前に使った値がメモリに残っている、とかそういうのはなくて オブジェクトが生成されてなければ常にnullなんだよ。 だから、Cでメモリ管理ミスってるコードみたいな書き方をした場合は みんなぬるぽになんの。 たまたま値が残っててそのまま動く、とかそういうことは起こらんの。 そういう見つけにくい、かつ深刻な問題が起こるバグの代わりに はっきりと初期化されてないよって警告が出るようになったの。 だから、「ミスが露呈しやすい言語仕様」になっただけ。 むしろ発見が早まって生産性いいんだよ Cでヌルポインタと言ったらNULLのことで、 初期化されていないポインタや解放済みの領域を指すポインタはまた別だろ。 画面作るのが糞めんどくせええ!!!! 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 はプログラマに向いて無いと思う。 strutsだろうがstruts2だろうがググれば出てくるよ。使用法 そうか?EJB3ってそんなにめんどくさいとは思わないけど。 C: ザク C++: ドム C# : リック・ドム D: アッガイ Java: ジム VB: ボール こうですか?わかりません! コンストラクタに引数をつけたいんですが、どうすればよろしいですか? EJB3はどうかしらんが、EJB2.0のころは、ソースコードかくより xmlファイル編集することで頭が混乱してきた。JBOSSの何とか言う分厚い 3800円の本かったけど、押入れの奥で眠ってる。 Javaの仕事はJSP/サーブレットないし、バックグランド処理だけやった。EJBはパスした。 PHPやらVB.NETの方がはるかにわかりやすい。 >>109 どうもこうもないべ。コンストラクタの宣言時に引数付コンストラクタを 定義すればいいんじゃない? んで使うほうは、コンストラクタに引数つけりゃいいじゃん。 Buttonクラスだとすると、単にボタン作るコンストラクタとボタンに表示する 文字列を指定できるコンストラクタがあるんだけど、それでも他にコンストラクタがほしければ Buttonクラス継承してクラス自作して、コンストラクタを新たに定義すればいいよ。 EJBは3になって少しましになった程度 あれでDIのつもりだからため息が出る まともなDIコンテナ使うと劇的に見通しが良くなる これに慣れるとRailsや.NETみたいななんでもやります系の、そのかわり選択の余地は与えませんなやり方にうんざりする >>113 System.out.println(new Exception().getStackTrace()[0].getFileName()); System.out.println(new Exception().getStackTrace()[0].getLineNumber()); 将来的にはPCよりも携帯端末のほうが主流になるだろうから MIDP/DOJAをやっておいても悪くない ただしJ2MEでWORAなんて夢のまた夢だからプリプロセッサ必須だけど EJBなんて、めちゃくちゃ簡単じゃん。と、CORBAから移ってきた時は思いました。 今は面倒くさくてやってられない。 リストとハッシュで済むような処理のためにクラスを書くような言語は間違っている。 >>120 そこはEJB3でどうでしょ でもCORBAもJavaだと楽じゃね? >>121 javaで書いたインタプリタで巻いちゃえばいいんだよ Javaではオリジナルを変更することはできないのだが。 バカじゃない? 値渡しは変更してもオリジナルに影響ないから文字列は値渡しってんなら、もともとJavaの文字列は不変オブジェクトなんだから、単なる無知の意見だね。 a( new String(str)); a(str); どっちがいいかってこと? すごく久々にレスが着いてると思ったら どうでもよかった バカを バ カ と呼んだまでのこと。 気にスンナ。 バ カ Javaが遅いのと、メモリ管理が自動なのは関係あるの? 今では無関係と言って差し支えないと思う。 メモリ管理は下手に手動でやるよりはGCに任せたほうがかえって性能が良くなるって話すらある。 >>1 ∧∧ (・ω・ ) _| ⊃/(__ / ヽ-(___/  ̄ ̄ ̄ ̄ ̄ ̄ >>98 にすげー共感する。 Struts覚えようとしたらDIも使うべき、とかおいおい環境作りにどんだけ手間かけさすんだよいつになったら画面作るとこに手つけさせてくれるんだよとウンザリしてRailsに逃げたw >>145 タノシイヨ ∧ ∧ (´・ω) _|⊃/(___ / ヽ_(____/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ > 98は、NetBeans使ってればよかっただけって話か。 Eclipseが悪いな。 つーか、EclipseってJava使うのに向いてないだろ。クソつかえねぇ。 そもそもJavaの特徴ってのは使いやすい使いにくいじゃねぇんだから ごちゃごちゃ文句言うんじゃねぇよ!俺みたいに学生時代に勉強しとくのがベスト。 >>150 ベストの勉強しても全角厨しか生まれないんだな。 さすが、Java (w Cではprintf();ですむ作業をわざわざSystem.out.println();って書かなきゃいけないのに驚いた scanf関数に相当するものがないのにはさらに驚いた 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)); Cのscanfは使っちゃだめ系の関数だし、なくてもいいんじゃね >>154 ありがとうございます なんか面倒ですね… >>155 scanfって使わない方がいいんですか? 学校のプログラミングの授業ではバリバリ使われています;´・ω・`) ヒント: セキュリティーホール オプソなんかではscanf調査ツールがあったり、 つかっちゃいけない関数は、 DONOTUSE_なんたらかんたら、という文字列に#defineされてたような。 >>156 まあ、System.out.printlnはEclipseならsysoutでctrl+space、NetBeansならsoutでtabとすれば入力できるから、入力がめんどうというのはあんまりあてはまらないね。 >>156 学生さんならいいと思うよ。 でも、商用プログムだと入力は最も気を使うところ。 >>157 の言うようにセキュリティホールの危険もあるし、 変な入力された時に適切なエラーメッセージを出すことも 容易でないから基本的に使わない。 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); 面倒臭い やろうと思えばJavaでできるけど、 そういうのはLLにまかせとけばいいと思うんだ いっそ、こっちの方が楽だったりな。クロージャーが導入されてくれれば、もっとスッキリするのに。 あとは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); } 今はJavaにもprintf()があるんだが・・・・ ポインタがない分どれだけラクだと思ってんだ Cみたいな特種用途向けの言語相手に何威張ってるんだ printfがないとかいう話にはなってないでしょ。 既出かもしれんが、自分でクラスライブラリ作っていて、 abstract static a(); みたいな抽象スタティックメソッドが作れなくて困った。 これはJavaの仕様でたまたまそうなのか、抽象スタティックメソッド というオレ考えが論理的におかしいのかわからん。 おまえがおかしいに決まってんだろ。javerはバカだね そもそも >>167 が何をしたいのからわからん。 >>167 マジレスすると、ここはJavaの質問スレではないから 真面目な答えはここじゃ返ってこないぞ。 >>174 > 真面目な答えはここじゃ返ってこないぞ。 >>168 は充分真面目な答えだと思うが。 えー、別に質問したかったわけじゃなくて。 ”こんなこともできねーの”という主旨にそって書き込ませてもらいました。 それで、用途はですね。 たとえば、たとえばDB上の様々なテーブルを表す、クラスA,B,C・・・とたくさんあって、DB上での取り扱いを処々定めた抽象クラスを実装しているわけです。 で、クラスA,B,C・・・のテーブルの生成、削除等はstaticメソッドにしたかったのですが、それは抽象クラスからは、abstractな抽象メソッドがないためだめだったというわけです。 もちろん、テーブルの生成、削除をstaticメソッドにしなければいいだけのことなのですが、なんとなくあるクラスというかBeanのテーブルの生成、削除等はstaticメソッドにする方がすっきりしているように思えたわけです。 >>178 C++でも出来ないけどねこれ。 寧ろそういうやり方出来る言語ってなんだろう >>178 > で、クラスA,B,C・・・のテーブルの生成、削除等はstaticメソッドにしたかったのですが ここがそもそもの発端なわけですね static にしてもすっきりしないと思う。 どういうのが”すっきり”かも人それぞれだけどなw abstractクラス.staticメソッドとやれば それぞれを実装しているサブクラスのstaticメソッドが実行されるって ことができれば便利だとおもうんだけどなあ・・・ >>184 それ明示的にクラス名書いて呼ぶの?動的じゃなくて? 簡単に数値に変換できるかどうか判定したいんですが・・・ >>186 javaの質問スレって認識したうえでのろうぜきかや IntegerとかLongとかDoubleとかBigDecimalとかつかってparseできるか試すのがいいんでね? abstractクラス.staticメソッド こんなんでどうやってどのサブクラスのstaticメソッド呼ぶか確定できるんだよ。javerってこんなことも理解できないの? >>187 いや、質問ではなくて そういう機能くらいデフォルトであればいいかな?的な 発言 Parseで失敗したらとかやってるとExceptionとかでしか判断できないからスマートではないのかな? とか思ったりしたんで。 紛らわしくてごめん >>185 すみません書き方が悪かったす。 オレがイメージしていたのは、 abstractクラスのAで、 abstract static void createTable(); となっていて Aを実装するクラスBのインスタンスbで b.createTable()とやれば クラスBで実装したstaticメソッドcreateTable()が呼ばれるといいなと。 しかしまあ、Bのインスタンスをつかわなければならん時点で、 abstract static voidが可能だとしてもあまりスマートな結果は得られませんね。 皆様失礼しました。 たぶんこんな使い方をしたいんだろうと予想 abstract class Foo { public static abstract void method(); } class Bar extends Foo { public static void method(){ ... } } Class<? extends Foo> absclass = Bar.class; absclass.method(); Javaは public void delete(List<クラスA> _list) throws ModelException; と public void delete(List<クラスB> _list) throws ModelException; が同じシグニチャだと思ってるようだな。 困るなあ。 しょせんジェネリックなんて付け焼き刃ってことか。 ええはい 言語上の型安全性の保障だけでマシン的には何も変わっていませんので・・・ while (1)が使えないとかうぜー しかもwhile ((boolean)1)もダメとか 俺は1が使いたいんだよおおおおおお >>195 全角でどうかな? boolean 1 = true >>195 Cとかjavaとかが1/2が0になるのウゼ どう考えても0.5だろwwwwバカじゃないの? みたいな >>195 trueかfalseを書けって仕様なんだから仕方がない。 多少間違いがあるとコンパイル通らないがな。 もしかしてDIを意識して動いちゃうとか言ってる? どんな言語だって仕様どおりに組んでなくたって動くことは動く 途中で return false; って中断したいのが出来ない。 デバッグ中によくやらないか? VB.NETで言うDirectCastを実装して欲しかった(^_^;) >>195 while((1))とかやるとどうなるの #define とかは C とかの必要悪でしかないと思ってるぜ。 VM上で #define が必要になるとか設計がうまく出来てないか要件をうまくまとめれてないかじゃねぇ? 1.4とそれ以降のコードを混在させて書こうとしたときとか、 プリプロセッサ使わないでどうやって書いてるの? #define たたけば偉くなったと思う勘違い君なんだから、 スルーしてくれないかな。 >>211 cppにjavaソースぶち込める環境なら#defineとかcpp言語つかえるぞ >>215 ふーむ、やっぱダメなのか ターゲットプラットフォームによって使えるコード、使えないコードがあるから プリプロセッサで条件コンパイルみたいなことできないかと思ってるんだけど javaだとプラットフォームごとにソースを用意して管理してるのかな? eclipseでそういうplug-inとかないんかなぁ APIラップしていわゆるAdapterパターンって奴にするんじゃね? うちは某フレームワークを利用するとき、直接利用しないで 一枚かぶせて使っていたぜ。どんだけ意味あるかわからんけどな! >>216 拡張forやオートボクシングなら、わざわざ切り替えるまでもないし、Genericsもコメントで書いておけばいい。 ライブラリに関しては後方互換があるから、古い書き方を使うほうがいい。 >>216 駄目って言うか解決に向かう思考法が全然違う。 どちらかというとプラットフォームに依存しないインタフェイスを作成し、 それぞれに対してそれぞれのプラットフォーム向けに実装する。 Interface ├ImplForA └ImplForB そんで、起動時に自分が実行されているプラットフォームを 判断して利用する実装を差し替えるのがJava流だと思う。 プラットフォームごとにバイナリ分けてビルドするのは手間だしね。 >>220 プラットフォーム依存部分を別JARにまとめた方が良いような。 >>221 そこは別jarにまとめるってのは確かにそのとおりだと思う。 1つのプロジェクト内で複数のプラットフォームの実装を作ってもテスト同時に流せないしね。 どちらにせよ↓みたいな構成になるんじゃないかなぁ。 Interface.jar ├ImplForWin.jar ├ImplForMac.jar └ImplForLinux.jar octave,r,rubyから来た俺の驚きは、 標準ライブラリの貧弱さ。 ていうか初心者だから未だ俺が分かってないだけかもしれないけど、 配列のboxcarとか、それどころか相加平均さえ無いって嘘だよね? その手のことに関しては、ライブラリもないが言語構文も悲惨なのがJavaだ。 そんなことに驚いているようではJavaなんて使っていられない。 >>223 自分がどれだけ標準から離れているのか判っていない。 それで標準ライブラリを笑うのだから片腹痛いわ。 >>223 Rubyで標準ライブラリでウィンドウ表示してみろ。 マルチスレッド系もJavaは強い。 というか、Javaの「標準」ライブラリはすごいぞ。「標準」でMP3も3Dも扱える。 行列演算はJava3Dに含まれてるしな。 統計処理がやりたければ「Java Data Mining」という仕様もある。サポートベクターマシンにも対応してる。 あと、Rubyはわかるが、数学用環境であるRやOctaveと比べるのは間違ってる。 javaの標準ライブラリってjava.*とjavax.*全部だっけ? 皆ありがとう。やっぱないのか。 笑った訳ではなく、驚いただけなのよ。 言語によって向き不向きがあるってだけのことなんだろうけど。 >>226 Java Data Mining 調べてみます。 何をそんな当たり前のことで驚いているのか こっちが驚くわ >>228 Java Data Miningは実装が有料のものしかないので、困り者 むしろそういう特定用途にしか使わないような標準は多量に含めてほしくないな。 そういうのは最小にして、仕様の標準化と参照実装を用意してくれるだけでいい。 しかし String や Date や List の仕様の貧弱さについてはもう少し何とかして欲しい。 仕様の貧弱さってなんだろう 機能が足りないってのなら拡張すれば良いわけだから、 言語仕様的になんか欠陥があるってこと? >>232 StringやDateやListは拡張できんだろ。 例えばどんな機能が足りてないんだ? C++ の string みたいに無駄に関数が増えるのは気持ち悪くてやだ。 Date には期待しない。Joda Time 使う。 >>148 オヤスミ… <⌒/ヽ-、___ /<_/____/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ >>236 Javaではクラスやオブジェクトにあとからメソッドやフィールドを追加できないから。 >>238 そんな機能必要ないだろ。何されるか分からん。 拡張できない理由は >>237 なぜ、できない理由として書いてあるのに、「そんな機能必要ない」という反応になるのか。 >>101 幽体離脱 ∧∧ ∩ (`・ω・)/ ⊂ ノ (つノ (ノ <⌒/ヽ-、___ /<_/____/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ USB API(for Windows)初めて知った そしてドキュメントにJNIコード大量でわらた これってwindowsのカーネルモードとお話できたり,スキャンデータを改変したりできるのかな 無理だろうな >>231 ,233,236 憶測で言うとString型はオブジェクトだけど プリミティブ的な側面があったりimmutableだったりするので、 たぶんその辺をいじってほしくなかったんじゃないかと思う。 まあ継承継承言うよりCompositeぐらいつかおうや。 >>243 HD みたいなカーネル絡みはどうでも良いんだけど、特定業界用のデバイスや計測機器、 あと携帯や GPS なんかで気軽に遊べるとうれしいんだよね。以前 Garmin 用に JNI 組んだけど、かったるい上にプラットフォーム固定というのがひどく無駄な作業に思えた。 >>241 ? ∧∧ (´・ω) _|⊃/(___ / ヽ_(____/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ >>244 Rubyのmix-inのイメージなのかなと、思ったりも 特定クラスのイテレータの実装って、そう変わらん気がする・・・ >>231 はたぶんjava6の仕様見たことがなんだろうね #collection の仕様 見た? >>247 ! ∧∧ (・ω・ ) _| ⊃/(__ / ヽ-(___/  ̄ ̄ ̄ ̄ ̄ ̄ OracleDB&サポート付きのjavaが世に出てJavaは二極化 javaやそのまわりのツールの類ってタダのままってわけにはいかねぇかな? OpenJDKはGPLだから、ただのままなんじゃない? >>249-253 オハヨー!! ∧∧ ∩ (`・ω・)/ ⊂ ノ (つノ (ノ ___/(___ / (___/  ̄ ̄ ̄ ̄ ̄ ̄ >>253 どうでもいいけど、 GPLは別に無料でご奉仕しか許さん!!って訳じゃないぞ。 GPLのコードを使った製品を公開(販売も含む)する時は、 それらのコード全部を無料または送料分程度で手に入れられるようにしろ!! と言う怨念の類であって。 (まぁGPLは感染力が半端ないから、今更完全有料型に移行できるかどうか?は別問題だろうけど) J2SEで NetworkInterface.getNetworkInterfaces(); の実行を禁止することってできませんか? ここで表示される情報の組み合わせで、実行端末を特定できてしまいますよね セキュリティ的に問題なのでこれを禁止したいのですが、設定がありません >>258 とある実装ではセキュリティは全く考慮されてません たぶん要件外なのでムリゲ ちなみにネットワークインタフェースを列挙することの具体的なセキュリティ的な問題はどういうの? String unko = null; if (unko.isEmpty()) hogehohe...; ってやったら、ぬるぽ出たお。 isEmpty() で null が判定できないなんて、クソだお! こいつは初歩を理解して無い nullに対して参照してる時点でアフォ たぶん平気でゼロ割とかしてバグを出すタイプ じゃぁ初歩を理解してれば、isEmpty()でnullを判別できるのかよ。 「こんなこともできないの?」という事例を投げかけてるだけだ。 ちゃんとスレタイ読め >>260 >isEmpty() で null が判定できないなんて、クソだお! 逆にこれでぬるぽが出ないほうが困ると思うんだが・・・ >>260 nullが入ってるんだからメッソドが動くはずがないのに 言語仕様的にはLLの場合ならnullオブジェクトがあって デフォルトで初期値がnullオブジェクトになってるケースが多いな 合理的だと思う 関数型言語によくあるMaybeやOption型が一番合理的だと思う じゃぁみんな、nullチェックは、いったいどうしてるの? if (unko == null || unko.isEmpty()) { ... } if (unko != null && ! unko.isEmpty()) { ... } みたいに? アホくさ nullチェックとisEmpty()は全くの別物だと思うんだが。 空文字列とnullと0が区別できないPHPは使いにくくてしょうがない。 お JAVAer が PHPer を差別してますね。 こーゆーのを、「メクソ、ハナクソ」って言うんですね。 まぁまぁ、ケンカすんなって。 インタプリタ言語同士、仲良くしろよ。 スクリプト言語は型指定できない奴が多くて困るよ そのうち改善されてくんだろうけど、それまで待てない(>_<)エーン スクリプト言語は型の扱いがいい加減な言語が使いやすいと思っちゃってる人のための言語。 Javaはスクリプト言語よりはずっと使いやすい。けどC#には負ける。 釣りであることは明白だが初心者が混乱するとかわいそうなのでフォロー スクリプト言語に型がないとかいい加減だとか誤解している人がたまにいるが大間違い コンパイル時に型が決定しないだけで型そのものは存在する しっー! Javaは1.4で止まってる人が多いんだから刺激しちゃダメ ジェネリックとか言ったら頭がパンクしちゃうよ? >>278 型がないってのは間違いだが、いい加減なのは間違いじゃない。 文字列型から数値型へ暗黙の型変換がなされたりするし、 引数の型チェックができるケースなんてある方が珍しい。 void*使い回しと大して変わらん。 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突っ込めるよな 参照型の場合は 変数の型の強さは多分こんな感じ 静的型関数型言語 (Haskell, OCaml等) >>> 静的型手続き型言語 (Java, C# > C, C++) > 動的型言語 (Python, Ruby > Perl, JavaScript, PHP) 動的型の関数型言語は知らん Map の putメソッドの戻り値が、1こ古い値なのはクソだな。 putの戻り値って何か使い道あるの? 実際にアプリで使用したことあるひといる? やぱりjavaはウンコだな。 >>284 激しく同意! thisを返してくれたほうがまだマシだね Map chnco = new HashMap().put("便器","うんこ").put("たんつぼ","ゲロ").put("ポリバケツ","生ゴミ"); みたいに初期化が楽になる >>284 Javaを触り始めて10年以上ですが 使い方ね、使い方、と 初めて知った\(^o^)/ mainの戻り値がSystem.exitでしか指定できないってことは、 異なるプログラムでJVMを使い回して高速化、なんてことは一生できないね。 .NET Frameworkはそのためにアプリケーションドメインがある まぁまぁ、javaが無かったら.NETも生まれなかったわけだし。 アプリケーションドメイン使っても、コンソール、標準入出力、カレントディレクトリ みたいにOSがプロセス単位に割り付ける資源は当然のように共有されてしまうので 1プロセス/VM上で異なるプログラムを実行するつっても どのみち限界あると思ってたんだけど俺の勘違いか? Javaの場合、System.exit()だけが問題ならSecurity Managerで無効化するんだと思う ま、JVMでも.NETでもなくて、Unix環境なら 単にfork()でも使うところだろうな ああ、やっと意味がわかった。 Cなら int main(.....) なのに javaは void main(...) なんだよな。 これに限らず、やたらとvoid関数が多い。 voidなんて廃止してもらいたいくらいだ。 >>291 アプリケーションドメインはもともとWebサーバーのためのものだろうね。 でもMSが本気だしたら標準出力なんてお得意の高速プロセス間通信でなんとかできるだろ。 起動したプロセスは標準入出力を唯一の共通プロセスにパイプで渡して処理を委譲。 カレントディレクトリはクラスライブラリでごまかせそうだし。 デフォルトコンストラクタでインスタンス生成しまくるJavaには voidがお似合い。 意味的にパラメータが必要とか値を戻すべきとか考えない。 なんでjavaって連続の割り算掛け算できないの? hoge = aaa/3600000/24; これで普通いけるよね こう書き直さないと駄目だった hoge = aaa/3600000; hoge2 = hoge/24; >>296 書いたのはandroidアプリでだからandroidが悪いのか? とにかくエミュレーター動かして出した結果、正しくでなかった >>295 hoge = aaa/3600000.0/24; どんな環境だろうと解凍しなきゃ圧縮アーカイブ内のデータは読み出せないだろ オンメモリで、という意味ならJUnRar使えば出来んじゃね? ZIPならZipentryでできるじゃん Junrar?あれそんなんできたっけ? パス付きのrarとか実質WinRAR使わないと無理なんじゃなの WinXP、Java1.6です。 javaでkbhit+getchみたいなのは無理でしょうか。 以下のようなやり方だと、入力した内容が表示され、 改行入力も必要になってしまいます。 Scanner.nextInt() System.in.read() FileInputStream.read() (FileDescriptor.in) >>295 JAVAって割り算すら計算間違いする言語なんだな・・・・・・・・・・・・・ >>295 結果がどのように間違っているのかが書いていないので なんとも言えない strictfp使わずに誤差が出たとか騒いでるんじゃね クラスごとにファイル分けないといけないとかうんこすぎる おまえはFF14かと はぁ?w クラスごとにファイル分けって そんな設計してるからゴミ化するんだろ バカか、お前 クラスごとにファイル分けとかwwwwwwww バカかwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww それは整理されたソースコードじゃなくて、たとえばマンションがあったとして、 ひとつの部屋に、10人住んでいる所もあれば、ひとつの部屋にねこ1匹しか住んでいないとか、 そんなレベルの話 クラスにもそれぞれの大きさがある・・・ ほんとにJAVAERはレベルひっくいなぁ・・・ クラス(笑)毎日毎日かいてんだからそのくらい覚えろよ クラスを基本かかない奴にすら劣る知識って 冗談はやめてくれ 1クラスが1ファイルになるのは別にいい。jarにすれば良いだけ。 問題なのはJava使いにC#をやらせると名前空間ごとにDLLを作り初めて 膨大な数のDLLができあがること。 それでJava使いはC#が駄目だとか言うのか。なるほど。 Javaは標準ライブラリでまともにXMLが扱えない。 >>313 それは初耳だな。。。 c#使いでも少数派だと思われ 最近javaの勉強をしている。 噂には聞いていたけど、やっぱおっせ〜わ。 ノートPC(ぺんM1.4)で使うなよハゲっていう、強い意思表示を感じたぜ。 Pentium Mはいいけど、ノートPCのハードディスクはネックだな。 SSDかRAMディスクにしてみろ 256 byte バイトストリームから 符号無し 4 byte 整数の要素数 64 の配列への お手軽一発変換 boolean とか・・・ bool って書かせろよ だよね、それはある。 整数が integer でなく int なら boolean は bool であるべき。 統一性がないな それよりもintがbooleanにキャスト出来ないのがムカつく。 bool b = (bool)0;ができるC/C++の方が異常。 >>328 自分もそう思うし、必要ならメソッド書けば良いし //自然数はture. 0と負の整数はfalse if(n>0) return true else return false if(x==0) を if(x=0) なんていう書き間違いを防ぐためと、 その書き間違いを防ぐためにif(0==x)なんていう 直感的に分かりにくいコードを書くバカが現れることを防ぐために、 キャストできない方がいい。 >>329 え? >>330 あによ? ifもforも命令一個なら{}省略出来るだろうがよ 自分もキャストは出来ない方が良いと思うぞ? 必要なら関数なりメソッドなりですれば良い intだとif(x)とかif(!x)が出来ないのが面倒。ついでにオブジェクトにも出来ないのもダメ。いちいちx==nullとかx!=nullとか面倒。 あえて記述が面倒なのを受け入れて間違いを防ぐのがJavaのいいところだと思うのだが 一からjavaで書く分にはそれでいいかもしれないけどc++からの移植とかする場合いちいち手直ししてあげないといけないのは超面倒 >>335 え、それは・・・ 普通、リファクタリングしない? 間違いを防ぐんではなく、真偽の論理値が必要な場所に 数値が現れるのが意味的におかしいんだよ 符号付の方が都合がいいだろ。 2バイト文字判定がフラグだけ見て判断できるんだから。 >>341 まわりのね、えらいひとたちがね、 じゃばをつかえって、いじわるするの >>340 確かにそれは思う時はある。 だけど、そういうちょっとした便利さとかを求めて言語仕様変えようとすると Java7,8みたいにグダグダになってしまうんだと思うんだ。 >>345 単に不便っていうよりは、言語設計上のミス (或いは、 必要性を認識出来なかった) だと思ってる 配列の型変換にしても、ポインタを使える様にしろとは言わないけど、 代わりにビュー的な仕掛け (byte 型配列を int 型配列として参照する等) とかなら 処理系の実装次第でどうとでもなりそうだし int sjisCode = (b1 & 0xFF) << 8 | (b2 & 0xFF); 符号付きは不便だな。 油断して (b >> 4) とかやると、とんでもない数になったり (b >> 4) & 0x0f の & 0x0f がまんどくせ >>329 return n>0; byte b = (byte)((bOrg & 0xFF) >> 4); 糞としか言いようがない これまでの人生で、符号付き8ビット整数を使うような場面に一度も遭遇したことがないけど 実際、具体的にどのような事に使用されてるのでしょうか たとえ話じゃなくて、具体的なアプリケーション名とか、規格とか、そんなので何かありますか? たとえば音楽のMIDI規格では、左右のチャンネルの振り分けデータは 左〜中央〜右 0 〜 64 〜 127 のように真ん中が64になるようゲタを履かして、負の数を扱わずに済むようにしてあります。 8ビット符号付整数って、ものすご〜〜〜〜〜く扱いづらいんですよ。 そうだな。例えばGIF画像を処理するプログラムで使ったな。 数あるバイナリーフォーマットの中でMIDIだけは符号付き整数を基本とする 異例のフォーマット。 そんなマイナーな例を持ち出してJavaを擁護するのは恣意的だぞ 俺も符号付き嫌 慣れないうちはバグの温床になりやすくて嫌いだわ javaはバイナリを扱うのには向いてないって思う Java にしても .NET 系にしてもバイナリファイルの扱いを事実上放棄してるよなぁ >>355 え、.netはちゃんと符号なしは有るぞ? >>356 確かに符号無し整数型はあるけど、次の様なことを C#、VB 等で行おうとすると、結構メンドくありませんか? 1) C の構造体の様な任意のサイズ・構造のブロック単位での入出力 --> バイナリファイルを扱う時に必要 2) バイト配列の任意の位置・サイズを別の型の配列として切り出す --> メモリマップしたファイル、バイナリデータを用いるプロトコルスタック等で必要 無い物ねだりしても仕方ないんですけど… C#ではそういうやり方でやるなって事だろ ゆっくりもたもたしたコードで処理を行う コードの短縮を行う為のポインタ演算は、レベル4くらいの能力者じゃないと読めないし レベル5の技術者じゃないとかけない C#は土方用言語ゆえ、難しいことはやらない >>358 rubyも土方用だからバイナリ扱うのには向いてないよね どっちかっていうとC#よりCの方が土方用って感じがする。 ユーザ寄りじゃない部分を書くわけだし。 >>360 えー。。。。? 自分はC#でアプリしか作れない人よりも、Cでデバイスドライバ書ける人の方が尊敬するけどなぁ。。。 c#はちょっとしたアプリ作ったり、ツール用がほとんどじゃね? >>363 とか言う奴に限って、C#使わせてもJavaみたいなコードしか書けないというw >>361 デバイスドライバとかなにが楽しいの? そういうのは他人に任せてればいい汚れ作業 まさに土方 Javaって、Javaスレで話題の中心になることもできないの? >>365 デバイスドライバがなきゃ、その上のソフトが動かないわけだが ドライバの出来が悪けりゃその上のソフトがいくら頑張ってもよくならないし 土方のとらえかただな 俺なんか土方の仕事っていったら与えられた言語で与えられた仕様書通りにソースを書く仕事って捉えてるが >>369 java.lang.Integer#rotateLeft(int, int) まだハード寄りの方が偉いって勘違いしてる奴がいるのか できない事への憧れって奴なんじゃね? 実際には>>367 の土方仕事だったりするけどな。 デバイスドライバー開発はまちがいなくドカタ。 SEから見れば>>367 もドカタ。 >>374 それを言ったら、プログラマは全員土方だな 世界では違うらしいけど、日本じゃあながち間違ってないってのも悲しいが わざわざこんなスレ立てるとか、javaにコンプレックスでもあるのか? コンプレックスじゃなくて、出来の悪い言語に頭きてるだけだろ。 でもプロセスがOSに対してステータスを返すのは通常のメソッド呼び出しとは 異なる特別なことなんだから、mainの戻り値がプロセスの戻り値になるCの方が異常 なんでそうなるよ。エントリーポイントはメソッドしか実現不可能じゃん。 プロセスが終了ステータス返すってことは、全スレッドを止めてJava VMの シャットダウンが必要なんだから、System.exit()の方が自然。 mainが0を返したあとで他スレッドが生きててエラーになったのに プロセスとしては0が返るとかキモ杉だろ main 終了後の cleanup で terminate する様に実装するとかじゃダメ? で、スレッド複数上げてる場合、プログラマが責任持って join または purge することを義務付けるとか… JavaはCと違って、メインが終了してもサブスレッドがすべて終了するまでプロセスが終わらない。 Thread.setDaemon()である程度制御はできるし、Cと同じにしたければ mainの最後でSystem.exit()すりゃいいだけ。 そういう言語設計思想なんだからメイン終了時にjoinしろという指摘は不適切。 ちなみにこの仕様はJavaだけでなく.NET Frameworkにも受け継がれている >>383 いやいや、前段で書いてる通り、main 終了後に 問答無用で terminate することを前提に、 それが嫌なら join しろと言ってるだけ 全ては仮定の話です process terminate signal みたいなのを拾えたらいいのにね 仮想マシンとアプリの間の OS 相当部分をもっと厚くしないと、こういったことって難しいんだろうな JAVAじゃデバイスドライバなんてかけないから、こんなスレで話題振らないほうがwwwwwwwwwwwwwwwwwwwwww お前らってどうみてもゴミだよな? ゴミグラマって気持ち悪いんだな 参照渡し それとまともなジェネリック (値型のジェネリックを使うとボックス化&非ボックス化が 暗黙のうちに発生して速度が遅い件) 参照渡しもできない癖に「ぬるぽ」が発生する矛盾 (そもそもポインタがないことを自慢してたのは、どの言語だ?) >>396 俺、>>395 だが、 このこと(参照渡しもでそもそもポインタがないことを自慢してた) には触れてはいけなかったかな? それとも、2chのお決まりに従って「ガッ 」してくれたのかな? でも、俺と同じように疑問に思う人はいないのかな? >>398 >>399 >>397 です。不注意でしら。すみません。 でも、俺、普段から思ってるんだけど、JAVAってポインタに類するものは 危険だからって、参照渡しまで禁止しておいて、NullPointerExceptionが 発生するような言語のどこが、主義に一貫性があって、言語に整合性が 取れてて美しい言語なのか・・・・理解できない。 それに、値型でも参照型でもいいけど、引数の参照渡しが危険で、 参照型の値渡しが安全っていうのも理解できない。 (引数渡しの中で一番危険なのが、参照型の値渡しだと思うが・・・。) 誰か、JAVAのどこに一貫性があって、整合性が取れてて、美しい言語なのか 説明してください。 結論は、JAVAでできないこと=JAVA(言語)の設計思想の一貫性について 納得のいくような説明をすること。 長文ですみません。 JAVAでできないこと。 ボタンなどのイベントハンドラを柔軟に簡潔に記述すること。 (匿名インナークラスでべた書きなどは論外) >>400 「(C++の)ポインタを使った配列アクセス」が危険だから廃止 →これは実際に効果あったんじゃない。パフォーマンスの若干の低下と引き換えにバッファオーバランはなくなった 「参照渡しと値渡しと値のポインタ渡し」が低能にはわかりにくいから一つに統一 →参照渡しはなくてもよかったが値渡しとポインタ渡しは選べるようにしてほしかった →実際プリミティブ型とそれ以外では動作が違うわけだから、この点に関しては一貫性はないな 刃物みたいなC++を安全カミソリにしようとしたのがJavaであって、それは成功したといえると思う そしてjavaで「これ、削り過ぎで不便」って所を入れてC#になる訳ね >>402 あなたが言わんとしていることはなんとなくわかるが、でもJAVAの設計思想 はやっぱりおかしいと思う。 たとえば、あえてVB.NETを例に出すけど、参照渡し、値渡しはサポートし、 ポインタを使った配列アクセスは禁止してる。 で、(あくまでこの部分だけを取り上げると)JAVAとVB.NETを比べたとき、 どちらが(プログラム的に)安全で将来性があるかと考えると、 安全性ではほぼイコールで、将来性では、VB.NETに軍配があがると思う。 (たとえば、JAVAのGENERICとVB.NETのGENERICの実装を比較するとよくわかる と思う。) こんな不利があるのを承知の上でセールストークのためだけに引数の参照渡し を禁止しておいて、NullPointerExceptionなんてエラーが発生する矛盾を作っ てる言語の設計思想が理解できないわけで・・・。 ちなみに、VB.NETよりもやっぱりC丼のほうが言語仕様的には優れてると思う。 (参照渡しの場合、呼び出す側にも呼び出される側にも参照渡しを示すキーワード が必要だというのは、いいと思う。) まあ、ヘジとゴスの器の差というところだと思うけど。 後、自分の恥をさらすけど、 参照渡しと値のポインタ渡しの違いが理解できないんで、教えてもらえると ありがたい。 個人的には、引数の種類と渡し方の違いで、 ・値の値渡し ・値の参照渡し ・参照の値渡し ・参照の参照渡し の4種類があると思ってるんだけど。 で、一番危険なのは、参照の値渡しだと思ってる。(動きが中途半端だから) このなかでJAVAのように(安全な言語仕様にするために)2つ禁止するなら、 1.参照の値渡し 2.値の参照渡し の順だと思うけど。 >>404 です。 いまさらながら、長文すみません。 >>404 >1.参照の値渡し これを禁止されたらかなり痛いな。機能的には参照の参照渡しだけで問題ないが >>406 すみません。以後、長文気をつけます。 >>407 俺、>>404 だけど、禁止するべきとは思ってないです。 どうしても2つ禁止するならってことで・・・。 でも、参照の値渡しって、呼び出し先での参照の属性の変更は 呼び出し元に反映されて、参照そのものに対する変更は 呼び出し元に反映されないってのは中途半端な気はしませんか? なんでメソッド一般に手持ちの変数を書き換える権利を与える必要があるんだよ 性悪説のPGが発狂しちゃうぞ >>404 VB.NETやC#とJavaを比べたらだめでしょ。JavaはC++の時代に設計されたんだから >参照渡しと値のポインタ渡しの違い ポインタ渡しというはポインタの「値」渡しなので言語仕様的には値渡しになる >・参照の参照渡し 値渡しと参照渡しは呼び出し時の引数をコピーするかしないかを意味しているのであって 変数が値型か参照型かというのはとは関係ない 参照型を参照渡ししたら呼び出し元のインスタンス を変更できることになるが、 通常はインスタンスの中身を変更してもらいたいだけだろう >>411 設計した時期が確かに5年ぐらいJavaが先だからC#とかはまねできる分有利 だね。でも、それが参照渡しを廃止してしまった言い訳には・・・。 >ポインタ渡しというはポインタの「値」渡しなので言語仕様的には値渡しになる 勉強になりました。ありがとう。 >それが参照渡しを廃止してしまった言い訳には・・・。 いや、値渡しと参照渡しが混在していたC++からきっぱりと値渡しだけにしたのは 安全カミソリ化として正当だと思う でも使っているうちに「やっぱりout引数欲しいよね」ってことでC#では復活した わけで、Javaは今となっては使えない言語だというのは同意するが、Javaの設計に 無理があったとは思わない >>413 >Javaの設計に無理があったとは思わない なるほど。そういう考え方もできるんだね。 俺は、1996年にJavaの本を読んでその仕様を知ったときから、セールス トークのためだけの(間違った)言語設計だと思ってたので、 そういう考え方はできなかった。頭が固いのかもしれん。 参照の値渡しを禁止されたら、 実引数にnewが書けないね >>415 >>416 です。ごめん。よく考えたらできないね。 Javaにできないこと。 Windowsで動作する、大半の人が違和感を感じない 普通のWindowsアプリケーションを開発すること >>413 .NET上で動くVB後継製品出してC#と連携させようとすると必然的に参照渡し必要にならん? >>419 見た目の問題ならC#使えば良い。敢えて劣ったJAVAを使う必要は無い。 クラスプラットフォームの要件があるところだけJAVAががんばれば良い。 Winというプラットフォームの存在を考えれば圧倒的にC#の方が優位そうにみえるが 実際に書かれたアプリの数はどんぐりの背比べ程度という え?C#のマイクロソフト独自拡張をC#.NETっていうんじゃないの? Microsoft Visual C# .NET Microsoft Visual C# .NET 2003 Microsoft Visual C# 2005 Microsoft Visual C# 2008 Microsoft Visual C# 2010 .NET(Mono含む)以外で動くC#ってあったっけか? >>1 返せます。 int main() { return 1; } 35歳、童貞です。 JAVAで若い女の子とセックスできますか? 右手だけは自信あります >>432 すっかりjavaしか出来ない人は低脳と言う空気が出来上がってるし、母体もOracleになってjavaの勢い無くなってるので、無理 >>433 先月もOracleが7をだしたとおもうのですが、 やっぱりJAVAは将来が危ういのかな・・・ >>435 しょっぱなループまわりにエラーがあるって話は聞いてる ただでさえ、機能でC#に追い越されてるのに、基本的な所も安定して無いってどうよ 過去の資産のために古いバージョンで運用しつつ、新規は別の言語に移るだろうな じゃあ、何処に移るっていう決定打も無いんだが。。。。 今はjavaは様子見した方が良い Javaはサーバから出てこないでほしい。 携帯電話とかクライアントPCで使いたくない。 >>436 基本が安定していないのはOracleならでは。 普通にテーブル作って読み書きするだけのDB基本が11gになってもバグだらけ。 ダブクリで「確実に起動できる」一本ファイルのインストーラを作れない。 Javaは、他のプログラム言語に比べていろいろできる筈。 VB,VCは、Windows限定だがJavaは、できる。 Javaは、唯一全てのハードで使用できるプログラム言語の筈 >>441 Javaは、いろいろできるぞ Linuxでも動くし携帯ゲームも作成できるし 電子レンジみたいな家電も作られたって聞いている C言語を元にOAKを作られているから大丈夫 (OAK+インターネット技術=JAVA) >>440 普通に考えたら「いろいろできる」のはVCだろ。 Javaはプラットフォーム非依存のメリットと引き替えに 機能性・ユーザーエクスペリエンスを捨てた >>443 突っ込むのがめんどくさいから、 馬鹿じゃね?とだけ言っておく オートボクシングうぜぇ〜〜 for (Integer i = 1000; i < 2000; i++) { array[i] = "うんこ"+ i; } こんなクソなコードを平気で書くやつがいる。 なぜダメなのか、説明するのに一苦労する。 Integer i = Integer.parseInt(string); if (i != null) { hoge(i); } とか 型変数と型変数クラスの違いが分かってないから、オートボクシングによる型キャストのコストがあるってこと? Integer i=0; i++; ←ここがいかんのけ? Integer i = 1; synchronized (i) { ++i; } とか あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛ あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛ あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛ あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛ あ゛あ゛あ゛あ゛あ゛ あ゛あ゛あ゛あ゛あ゛あ゛あ゛ あ゛あ゛あ゛あ゛ あ゛〜〜〜〜もうイライラする! なんで byte が符号つきなんだよ! いちいち & 255 せにゃいかん。 プログラムが & 255 だらけだょ〜〜〜 うっとおしぃ〜〜〜〜〜 まさか手動インライン展開してる奴がいるとは思わなくて・・ VC#から越してきたが、デリゲートとイベント機能が欲しい イチイチIf実装するの面倒 SunはOracleに食われたのでもはやJavaに未来はありません OracleよりはMSのほうがなんぼかマシですし、monoプロジェクトのおかげで .NETはいまや立派なクロスプラットフォームです JavaからC#への移行はもはや必然でしょう linux で.NET 使えたりするの? そしたらもうjava いらないかも >>467 .NET互換のMonoが使えるよ AndroidをC#で作ったら超速かったってニュースがこの前あった。 XobotOS: Javaの代わりにC#で構築されたAndroid http://www.infoq.com/jp/news/2012/05/XobotOS >>274 インタプリタといってもとっくの昔にJIT実装しているんですけど >>277 そのかたの扱いがいい加減な言語にはC#も若干入らないでもない ほんのちょっとだけいい加減な扱いができるからな >>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 " こんな糞スレがいまだに存在することがしんじられないのだが 総称型配列が作れません! 総称型配列が作れません! 総称型配列が作れません! 総称型配列が作れません! 総称型配列が作れません! 総称型配列が作れません! 既存の配列の仕様が変わるから、そりゃ下手に作るわけに行かないだろう ってか作ってしまうと、とんでもないことをする奴がいるし Javaの配列なんて特定の用途以外では使うべきじゃない代物なんだよ 基本はListを使うべき Perlで無理やり擬似的なオブジェクト指向するような技は使いたくない バグの原因になりやすいものは共同作業では控えるべき >>475 >基本はListを使うべき その通りだな C/C++プログラマはすぐに配列にしてオブジェクト指向なんて考えない設計にしちゃう たしかにListは便利だな ポインタが使えないjavaでは配列は使いづらいし、 添字を使ってるとbasicやってるみたいでバカに見えるし C#やC++プログラマから見たJavaに対する不満といえば Java Generics関連か とくにC++プログラマにとってはGenericsがTemplateのようにやすやすと扱えるものじゃないことに苛立ちを覚えるか すぐにエラーがでるし例外がでるしコンパイルできないことに苛立つか ポインタが使えない ※参照はポインタではない 構造体が無い ※クラスは構造体にはならない メモリの初期化がド面倒 ※構造体、配列 newは場所を選ぶ 変数のアドレス渡しが出来ない インクルードファイルが使えない Myライブラリが使えない ※libにしてリンクで結合させる事が出来ない ソースが丸見え Cの基本的な部分が無いから初めはイラつく ec.のエディタだけが良い点、それ以外にjavaを使う利点はない 発想がただのネチネチしたネガティブ厨じゃねえか まるで駄々っ子みたいだ >>485 ほかはさておき >ソースが丸見え はホント厄介だよね。顧客にJava納品したらJarファイル、 デコンパイルされて別会社と組んでソースコード解析してやがった あるときから運用費にしろ機能追加依頼にしろ、なんか強気だなと思ってたら いうこと聞かないなら開発会社変えるよとか言い出した 「やれるもんならやってみろ!」と一瞬、言いたい衝動に駆られたが、 うちも経営厳しいもんで、泣く泣く折れたことがある サーバサイド用途にするか難読化ツール使えばいいだろ >>488 高額なモノを使わないとダメなんだよね〜 難読化(笑) C++なら気にしなくてもよい事でかなり余計な手間がかかるんだよな〜ジャバは 30年も前のbasicじゃぁあるまいし、ソース位見えないようにしろよ って以前に ちゃんとコンパイルしろよ ばいとこ〜どじゃなくてね なんで難読化に手間が掛かるの? ツール一つかますだけじゃん。 >>491 その程度の認識では 不具合が出る ってのも知らないんだな >>492 不具合が出るとはまた新しいこと言い出したなw 不具合が出る難読化ツールを 探しだしてみろよw >>495 現状で気がついていない(不具合が出ていない)のなら別にいいじゃん どっちにしてもプロテクトなどキモの部分を抜くのは難読化しても気休め程度 個別のファイルにしてファイル検索ソフトを使うだけで簡単ではないが抜ける Winnyのバイナリを解析して ほぼ完全なC++のソースコードを 復元した人もいるぐらいだしな。 復元したソースコードをコンパイルすると、 Winnyのバイナリが出来上がる。 >>497 そんな人もいるんだ... コピーガード外しは、作者との腕試しだからね 自分も昔から大好き 今は、暇があるとandroidの色んなapkの中身覗いてる >>490 難読化ツールなんてタダで入手できるんだが 知らないのか サーバサイド用途だって月3000程度のレンタル鯖でServlet使えるぞ >>500 >>難読化ツールなんてタダで入手できるんだが ふーん、そのフリーソフトで難読化したコードを復元して見た事あるのかぃ? 安いのは10万程度で買えるけど、そもそもそんなツールで商売出来る言語そのものがおかしいと思わないかぃ? >>501 言語に何の問題があるんだ? 実行ファイル=ソースコードの言語だってあるのに。 >>501 といってもそれで食っている連中もいるし こんなの売れんのか?っていう商品が売れることなんてよくある話だ >>508 ん? >>安いのは10万程度で買えるけど 難読化ツールの事だけど? ネイティブコードを吐き出す言語(処理系)では難読化ツールなんか不要 ある程度経験を積んだSEやプログラマからみるとこんなのイラネって商品はいくらでもあるのに 買っちゃう企業は買っちゃうのさ なんかかみあってないなぁ 商用javaを出荷する場合は難読化処理が必須であり、 それを行う為に業務用難読化ツールの購入が必須であり、 そこそこのものだとけっこうな高額になる って事なんだが? そういうお前はアスペの定義すらわかっとらんぞ プログラマーでリアルでアスペルガー症候群の人で英語堪能でウィキペディアンっていう有名なYassieっていう 人がいるけどTVに写っていたときの印象はわりと普通だぞ 普通に仕事していたし普通にJavaプログラミングしていた VBAが得意らしいけど ウィキペディア日本語版では影響力ある存在 20年前から処理系は何回も変わっているがコードはほぼそのままで使い続けてる外部装置へのアクセス関数群があるのだが、 javaに載せ変えようと思ったらポインタがらみでえらい難儀させられてる javaって電動車椅子に乗ってるようなものだな 便利で楽チンだけど、基本部分でなんともならん事がありすぎる >517 >20年前から処理系は何回も変わっているがコードはほぼそのままで使い続けてる >外部装置へのアクセス関数群があるのだが、Javaに載せ変えようと思ったら この時点で頭おかしいやね ナイフで木は切り倒せないし、斧で鉛筆は削れない。エラい人には分からんのですな >ポインタがらみでえらい難儀させられてる ご愁傷様です。もし JNI ではまっているんなら、JNA を試してはどうでしょう? Java-Native のインターフェース関数を作らなくても、既存の so (dynlib / dll) を呼び出せるようになります。少しはマシになるかも (内部的には JNI で libffi を呼び出して、libffi が目的の関数を lookup して実行している) >>516 Yassieはウィキペディアで敵が多いぞ LTA(長期荒らし)[[のLTA:MIKI]]に逆恨みされている 符号なし8ビット整数(0〜255)ないとかやだー 画像処理とかどうすんの? >>521 byte うんこじゃばにはsignedは無い unsignedだろ ってかいらんし たかが半分になるかならないかだけのものをわざわざ用意しても無駄が多いし 煩雑になるし そっちのほうがかえってウンコードを作りやすくなってしまうわい >>523 確かにcharはいらないな でも8bitの組み込み系の場合は? intはcpuのワードが2バイトの場合unsignedがあることにより有効値が増える >>523 扱える数値の範囲じゃなくて、符号が付くかどうかが問題なんだろ >>526 自分で管理できない馬鹿は使わなければいいだけの事 unsigned >>527 例えば byte 型の変数を符号なしで int 型にする場合に、いちいち & 0xff って付けるのが「自分で管理する」ってこと? だとしたらアホらしいけど そもそも、Java で unsigned がサポートされてない理由って何だろう >>528 邪馬を馬鹿に使わせる為 職業訓練生に利口はいないだろ >>530 > 例えば byte 型の変数を符号なしで int 型にする場合に、いちいち & 0xff って付ける これを職業訓練生に強いるのが利口なやり方とは思わない むしろスパゲッティとバグを量産してくれるのではないだろうか >>526 大して問題にならんな そんなことでコード量が増えるだぁ? クラスとメソッドで代用しろよ IDEのコードテンプレート使えよ >>533 >>クラスとメソッドで代用しろよ >>534 C・C++ならそんな面倒な事は不要 javaを知れば知るほど かなりムダな事が多いな って事がわかってくる今日この頃 ばかみたいに多くのムダな関数があるし... C/C++はシンプルだったんだなぁ...と今さならがら気づく ポインタってなんと便利だったんだなぁ...と今さならがら気づく >>537 ObjectInputStreamとかでファイルからデータ読み込む時にC言語みたいに単純に構造体用意して読み込むとかできない 1オブジェクト読み込む度にヒープ食ってくからGCが動いてほしくないタイミングで動いたりとか、なやましい >>539 もっとすごい事があるんだよね〜 難読化ツール使うとビルドによってオブジェクトが読めなくなるよ 困ったちゃん言語 ジャバ ジャバって税金を使ってる職業訓練にもあるけど、官僚の天下りの給料を払う為に蔓延させてるのかな って思ってる だって、クソ言語でしょ? C++使いから見たら そもそもJavaは「やるのに注意が必要で、基本やらなくても済むようなことは簡単にやらせない」ように作られてるワケで ビット演算すらもそういう扱いになってるんじゃないかね >>541 エクの開発環境はかなり楽だが、コードの記述はC++の方が楽だと思う 例えば配列名、長い名前をつけると延々とその名前をタイプ(コピペ)し続けなくちゃいけない ポインタがあるなら、 int abcdefghijklmnopqrstuvwxyz[1024]; int *p=abcdefghijklmnopqrstuvwxyz; で1(2)文字になる なんにしても、何故、ここまでjavaが蔓延してるのかが不思議 プログラミングに向いてない人が大量にプログラマになってるから 人はそれをドカタという >>543 ご教示ありがとう だから土方(誰でも出来る仕事をする人)って呼ぶのか >>536 C/C++なら面倒って 大したことないじゃん >>537 それはマジで言っているのか? JavaのAPIはC/C++のWin32APIと比べると明らかに無駄が少ないと思うけどなあ >>539 Apache Commons I/Oでも使ってみたら? >>546 ポインタがあると簡単簡潔に記述出来る javaは山ほどわけわからん関数が多すぎ 正規の日本語マニュアルが出せないわけだ >>542 そこはJava的にはVector使ってねってことじゃね >>549 ほぅ、そんなものがあるのか 知らんわwww じゃわ...そんな事をやってるから関数がバカみたいに増える ポインタ出せよ gotoはバイトコードで使いまくりなのになwww >>542 セキュリティに強い言語だからだね まあそうやって縛りを入れることで変なソースコードが蔓延しないようにしたということ まさに「パッケージ化」の成功例 パッケージ化はビジネスでも重要なアイデアだ 全国展開したければ同じサービスをすべてのチェーン店で提供する Javaも同じ事をしただけ C++だと全国展開しても店によって提供するサービスに違いが出る。 それどころか店によってはサービスの質が悪かったりする。 Javaでは言語に縛りをいれることで均質なサービスを提供できる。 C++では、それができない、あるいはやりにくい問題があった。 ある床屋では紙を切ったあとにドライヤーをかけてくれるのに 同じチェーン店の別の床屋では一切提供しない それどころか、同じ床屋でも今日はちゃんとドライヤーをかけてくれたのに 別の日に同じ床屋にいくと今度はそのサービスがなかった こんな床屋にはがっかりして二度と行かなくなる人も現れるだろう C++がそういう状態なんだよ >>548 わけがわからない関数ってたとえば何? 最新版日本語マニュアルの出が遅いのはOracleとの合併の影響じゃないかと言われている。 Win32 APIなんかやたらと高水準APIばかり提供して オブジェクト指向プログラミングを無視したライブラリを乱立させているだけじゃないのか Javaの標準APIはそこんところをよく考えて作っていると思うけどね >>549 今ならVectorよりList、ArrayListだろう しかし>>550 がVectorも知らなかったとは Javaを批判する以前の問題じゃないのか? >>533 代用って事は、必要なのは認めるんだな? で、それは言語レベルで unsigned が用意されてれば解決する話なんじゃないのか? クラスとか持ち出して何かメリットあるの? javaは 膨大なメモリ 超高速なCPU が安価に手に入って はじめてまともな動作速度がでるメタボ言語 現代にあってる言語 男も女もデブばかり >>551 >>セキュリティに強い言語だからだね ソース丸見え言語がセキュリティを語るなよ >>553 >>int abcdefghijklmnopqrstuvwxyz[1024]; >>int *p=abcdefghijklmnopqrstuvwxyz; これより簡潔に処理できるのかい? >>557 簡潔というか似たようなもんというか…まあC配列ほど軽くはないけどね。流石にアドレスを直に扱うのと比べちゃダメよ? Cは 膨大な人手 優秀な玄人 が安価で手に入って はじめてまともな動作速度がでる搾取言語 現代にあわない言語 男も女も奴隷ばかり >>559 昔から同じでC/C++が理解できる人が増えてないって事だろ だから、バカでもある程度組める言語javaやC#で組ませてやってるって事だな でもC/C++位理解できないと、アルゴリズムもぐちゃぐちゃだろうな >>560 グチャグチャというか、効率的でなくなるのは間違いない 俺が正にJava->各種スクリプト言語->Cって順番にやったけど Cやってから気づく非効率さってのは結構多い >>554 というかJavaでunsignedなくて困ったことないしなあ ほとんど些細なことだし たとえば演算子のオーバーロードがないからデシマル型はJavaよりCOBOLの方が 使いやすいといっても些細な話でふーんとしか言い様がない >>556 オーバーフローやポインタ演算の誤った扱いで誤作動を起こすC/C++よりセキュリティ強いけど まあサーバサイドやAndroidで使っていればソースを見ることすらできないけどね クライアントサイド用のアプリケーションでは難読化ツールの出番か >>555 その話、20世紀に聞いた話だなあ あの頃ならその意見に殆どの人が賛同していたろうけど 今じゃムーアの法則の影響に限らずJava自体も高速化しているし いまさらそういうこと言っても時代錯誤な人と思われるだけじゃないかと >>557 具体的にどんなコードを書きたいのかしらないけど ただの宣言程度で、さらに簡潔に表現して一体何に成るんだろう いったいどんなコードを書くときに困っているのかよくわからないけど 時と場合によてはクラスを作って型を定義して解決する場合もあれば その場しのぎで解決する場合もあるし >>559 C/C++の達人で優秀な玄人なんて、C/C++プログラマ全体から見ればほんの少数しかいないぞ そんな大当たりな人材を探すのも一苦労かと どのみちまだまだC/C++は必要な言語だけどね Javaでカバーできる分野ではC/C++の出番はほとんどなくなったことは間違いないけど まだまだJavaでカバーできない分野が残っている >>560 そんなあなたがバカじゃないC/C++に精通したエンジニアとは思えないんですなあ JavaなしでC/C++だけでどんなソフトウェアもJavaで作った場合と同じコスト、予算、労力、時間で 作れるかといったら、ほとんどノーでしょ。 Javaよりも低コスト、低予算、低労働力でC/C++作れるものなんてほとんど小規模なソフトウェアを造る時くらいでしょ。 >>561 俺と逆だな CからやってJavaを始めた クラスのことを知ると、なんじゃこりゃ?と思ったこともあったが 徐々に極めているうちにJavaがいかにCよりも優れているかを知ることとなった Cとスクリプト言語を組み合わせて使ってると Javaって中途半端でウンコだなって感じる ここはジャワをけなす所じゃないのか〜ぃ 何故援護者が多い? バカばかり? 長い配列名が延々と出現してくるだけでもイライラする それだけでソースのテキスト量が2〜3倍増えるし 見かけの出来高を稼ぐ為のジャワか? >>570 >>クラスのことを知ると、なんじゃこりゃ?と思ったこともあったが C++じゃないんだw >>567 コードのテキスト量が少ないコード ※コメントは除く 冗長なコード醜い >>時と場合によてはクラスを作って型を定義して解決する場合もあれば ド無駄な事だと思わない? ex. type def で一発 有るものは、使わなければ済む 無いものは、使えない ジャワは基本部分で無いものだらけ 基本部分で無いものが多いので、山ほどムダな関数が存在している >>565 >>サーバサイドやAndroid ●この2つしか使い道がないだろ? >>Androidで使っていればソースを見ることすらできないけどね ●知らないって事はある意味幸せだな お気楽なお方だ事 C使いは長くて冗長な名前を極端に嫌う だがちょっと待ってほしい 彼らはなぜ短くわかりにくい名前を好むのか? 答えは同じプロジェクトで同じコードに長く接することにより 一度覚えてしまえば楽だから 短いスパンでプロジェクトを切り上げて 次々に担当を変わっていれば短くても覚えにくい名前が悪であることに気づく すなわち開発効率の悪さの弊害がこういう形で現れている 簡潔にいうと、馬鹿ほど長い変数名を好む そして馬鹿はCを使えない 以上 >>573 当時はC++はクラスよりもnamespaceとか まったく違うところにフォーカスを充てた本が多くてね 当時のC++本でまともにオブジェクト指向プログラミングの実践方法に ついて解説しているものは少数だった。 クラスについての解説にしても曖昧なところが多すぎて焦点がはっきりしなかったものだし 冒頭からいきなり使い方を誤ると九龍城のように面倒なことになるって脅しが書いてあるんじゃ、 この言語は欠陥があると誰もが思うんじゃないかな。 >>572 長い配列名とはたとえばなんだ ***が[][][]になった程度で長い配列名に見えるのか? java.util.Listでもつかっていればいい というか、それだとList<List<List<T>>>みたいなリストも使えないんじゃないのか >>574 それ10年前に聞いて飽きたよ 10年前から同じ事を言ってもJavaが改善すべき欠点には一切ならない テンプレートエンジンやIDEで解決できることは無駄だとは思わないし 多人数で開発することを想定しているのでなおさら無駄だとは思わないね 他人が書いたtypedefだとかをやたらと連発するコードは読みにくくてしょうがない 共同開発の場でそのような濫用は迷惑行為だ >>576 JavaDBとか使い道がないわけでもないな っていうかSwingをなめてはいけない >>578 現実にはバカほど自分が賢いと勘違いしてハンガリアン記法を好むといったところだが わかりにくい変数名を付けるエンジニアは共同開発には向いていない まあクラスやパッケージ名をうまいこと考えれば変数名の命名規則ももっと完結にできることは確かだが 本人や一部の人間にしか意味がわからないような変な変数名をつけるような輩はそっこくリファクタリング対象 >>583 クソ言語の理由その(1) ジャワは長い変数名をそのまま使いづづけなくてはいけない だが、単価稼ぎに使えるな クソ言語の理由その(2) コンパイル(ホントはコンパイルとは呼べない)後もシンボルはそのままなので、実行速度が遅くなる インタープリタの時点で超十分遅いがさらに遅くなる クソ言語の理由その(3) 女子高生のスカートの中を覗くより簡単にソースが覗ける クソ言語の理由その(4) GC ガベージ糞を制御出来ないので 表示がカクカクカクカク...コマ落ち漫画になる クソ言語の理由その(5.........) 山ほど続く androidがジャワじゃなかったら、糞ジャワを知らずに生きていけた... GCはゴーグル糞の略か? >>583 どっからハンガリアン記法が出てきた 脈絡なさすぎんだろ >>583 長い変数名をつけても、関数内でポインタを使えばその関数内は短い名前で使える って事も理解出来ないのか? キミ、ポインタを理解できないだろ int *p; int **p; int ***p; int ****p; 違いがわかるか? ま、ここでどれだけ書いてもポインタがジャワに搭載されることは物理的にも無理だからな GC信者も存在してるし(笑笑笑笑笑笑) シネ ジャワ原人 ポインタとアドレス渡し(しかも固定)を混同してる人って多いな >>588 参照はジャワ原人のStringと同じで固定なのよ 原人には理解は無理かwww >>564 ネットに流れるバイナリデータをパースするときに面倒だったりする。 もともと組み込み機器向けにデザインされた言語なのに、unsignedをサポートしていないのは今も疑問。 >>586 文字数縮める程度でわざわざそんな小手先のテクニックでCの優位性を語られても >>584 反論(1) あとで別の変数に代入すれば解決できる程度のことでそのまま使い続けなくてはいけないとか 何を言ってんだかな 反論(2) Javaがいまだにインタープリタとかいってるのって 時代錯誤だわな 反論(3) ソースコードの閲覧は基本的にはサーバ用途と難読化ツールで解決 反論(4) 嫌なら手動で制御するクラスを使え カクカクコマ落ちはお前のPCスペックの問題 何年前の話なんだと >>589 それよりポインタとポインタ演算とを混同しているC言語厨がいるけどな >>590 > 長い変数名をつけても、関数内でポインタを使えばその関数内は短い名前で使える に対しての話なんだからそれで充分でそ 長文ご容赦 >>596 >>反論(3) >>ソースコードの閲覧は基本的にはサーバ用途と難読化ツールで解決 あーあ マヌケちゃん gcが存在してるからクラス情報は生のままなんだよねぇ プロテクト抜き放題 >>595 参照とポインタを混同してるジャワ原人はどーなるの ジャワの配列・構造体(クラス)の参照渡しはCの配列・構造体のアドレス渡しと全然違うって事も知らないんだろうな >>反論(4) >>嫌なら手動で制御するクラスを使え >>カクカクコマ落ちはお前のPCスペックの問題 >>何年前の話なんだと だからぁ〜androidしかジャワなんか使わない しょーがなく使う ※ndkはまだ不要 >>597 >>反論(1) >>あとで別の変数に代入すれば解決できる程度のことでそのまま使い続けなくてはいけないとか >>何を言ってんだかな 無駄な事やってるんだねぇ バカみたい >>反論(2) >>Javaがいまだにインタープリタとかいってるのって >>時代錯誤だわな いんたーぷりたーじゃん未だに ばいとこーど(笑笑笑笑笑笑) 仮想マシンコードは仮想マシンコード(笑笑笑笑笑笑) CPUネイティブのマシンコードじゃないんだけどねぇ〜 まぁ、なんだなぁ、 ジャワ原人でもいーけど、C/C++位使いこなせるようにしておけよ プロのプログラマなら >>597 参照値渡しとアドレス渡しは全く違うよ、それは当たり前じゃん ただ貴方のその主張する長い変数名に関しては参照値渡しで充分なのよ? ちなみにJITって知ってます? >>597 プロテクト抜き放題って サーバにあるものは普通はクライアントからは見えないんだが >>597 > >>595 > 参照とポインタを混同してるジャワ原人はどーなるの > ジャワの配列・構造体(クラス)の参照渡しはCの配列・構造体のアドレス渡しと全然違うって事も知らないんだろうな 君以外誰も同じとは言っていないし違うとも言っていないし 技術として代用できるかどうかが重要であって 同一かそうでないかはどうでもいいしさして重要な話ではないんだけどな >>598 JITも知らなければHot Spotも知らないとはおめでたいな >>602 >>技術として代用できるかどうかが重要であって >>同一かそうでないかはどうでもいいしさして重要な話ではないんだけどな ジャワでポインタはどうやったら実現出来るのかな? 教示してみてみ 出来るものなら to ジャワ原人 と、延々と無駄なカキコが増えていくwww ジャワにポインタの実現は不可 >>604 Androidにはないからな ってか、PCでジャワなんかやらなきゃいけないなんて 不幸なヤツだな 可哀想 いとあはれなり >>603 ,605 lwjglとかjogl使っちゃだめですか? >>606 ,608 AndroidってJavaだっけ? GoogleとOracle和解したの? >>610 java(+北朝鮮並制約付ADK)とC++(ndk)なのだが、情報量とかかる手間からjavaが一般的 どうしても速度が必要な時はndkに頼るしかない 簡単なものを組むにはjavaでもいいのだが、規模が大きくなると乗数的にうっとしくなる のでここで憂さ晴らし >>612 ちょっと気になるんだが 北朝鮮並制約付ADK ndk これは一体なんなんだ? ぐぐっても出てこないぞ adk ndk でぐぐれ 北朝鮮なんちゃらは知らん 検出率低すぎる そんなネタでJavaアンチしてもなw >>607 public class Pointer { public Object data; public Pointer(Object data) { this.data = data; } } こうか? >>619 まさにそれだ! Javaでもとっくにポインタを実現できることがこんなに簡単に証明できるとは! >>620 C/C++ならクラスなんて作る必要無いんだけど? 何でそんな面倒な記述せなあかんの? あと、intはintなのに、boolがboolanなのはどうしても納得いかん #defineもtypedefも無くbooleanと書かされるのはイライラする せっかく書いたけど、 new Object[1]; これで十分だった。 >>623 cのポインタにできて、このコードでできないようなことを、例示してもらえないだろうか? ポインタ++ってやって 次のメモリアドレスに入っている オブジェクトを参照することが出来ないよ。 >>624 参照とポインタを混同しているのではないですか? Javaには、ポインタはないです ただ、これは欠陥と言うよりも設計思想。 今「こんなことも出来ないの?」といったらクロージャー じゃないかな 参照はオブジェクトを参照するもの。 ポインタはメモリ上の位置を参照するもの。 アドレスはメモリ上の位置。 ポインタにできて参照にできないことは、 メモリ上の位置を参照するものにできてオブジェクトを参照するものにできないことと 言い換えることができる。 ポインタにできて>>624 のコードにできないことはオブジェクト以外のメモリ上の位置を 参照することである。ということでいんじゃないか。 ポインタは無効なメモリ領域を参照できる そのせいでバグの元になる。 つーか、ポインタは低級言語の機能。 参照は高級言語の機能。 ポインタの欠点をなくしたのが参照でしょ? >>621 Javaアンチの中の人は10年前から相変わらず言っていることが変わらないねぇ それを面倒だと言っているうちはろくにオブジェクト指向プログラミングも語れない >>626 何もわかってないな お前は「ポインタ」と「ポインタ演算」とを混同しているぞ ポインタ演算はハードウェア、つまり 物理的なメモリアドレスとか触る ドライバを作るなら必要だけど、 それ以外にとっては不要な機能なんだよな。 アドレス渡し、ポインタ、を理解出来ないジャワ原人が多いな 笑えないくらいひどい ジャワの参照とC++の参照もまったく違うし アドレス渡しとポインタの違いも(アドレス渡しでも受け側でポインタとして使えるがな) 使う使わない別にしてプログラマならC++位ある程度使えるようにしておけよ >>637 あ、そうか! >>アドレス渡し、ポインタ、を理解出来ないジャワ原人が多いな 笑えないくらいひどい で、ジャワなのか... CやC++しか知らない>>625 のような奴は、 インクリメントできないようではポインタでない……と思っているようだが、 ポインタというのはCやC++のポインタだけではない。 ポインタってのはアドレスを記憶するための変数のことをいう。 Javaの参照型変数はポインタそのもの。 Javaにポインタがないとかポインタの実現が不可とか言ってる奴は初心者。 不正なアドレスをさせるようじゃなければ ポインタとは言わん。 数値指定で、オブジェクトや 無効な領域をさせるのがポインタ。 安全なものはポインタとは言わん。 >>642 >>Javaの参照型変数はポインタそのもの。 >>Javaにポインタがないとかポインタの実現が不可とか言ってる奴は初心者。 間違ってるぞ Javaの参照はクラスの参照 アドレスを指してるわけではないんだよ 初心者以前に馬鹿には永久に理解は無理だな かわいそうな人 >>643 なにゆうてんねん。クラスはデータ型。参照が指すのはインスタンスのメモリ上の位置。 インスタンスのメモリ上の位置はまさにアドレスのことでしょうが! >>644 あまり周りの人に言わないほうがいいぞ 自分をかなりの馬鹿とアピールしてるようなものだから ポインタも理解できない馬鹿につける薬はないな ジャワやC#やVBなんかを世の中に出すから、馬鹿でもプログラムが組めちゃうんだな 死ぬか転職しろよ 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なんかを世の中に出すから、馬鹿でもプログラムが組めちゃうんだな 死ぬか転職しろよ この人は周りの人間に対してバカを連呼することで、自分が馬鹿ではないと思い込もうとしているのだろうか。 そうだとするならなんて悲しい人なんだろう。 ポインタは不正なメモリアドレスを参照できてしまう 劣化参照といえばいいだろう。 馬鹿でも組めるジャワの方が弊害が多い ジャワしか出来ない馬鹿はプログラムを組むな >>656 >>脆弱性に優れてる やられやすいって事だなw andoroidなんかソース丸見えだしな >>657 そこらへんのC#やCで作られたアプリでも変わらんよ C#の逆コンパは知らないがCorC++のは逆コンパは不可能だろ java(android)は丸見え さらに最近ではルートとってなくてもapk抜けるようになっちゃったし PC向けのアプリがどれだけ不正コピー対策に無駄な労力割いてると思ってるんだ >>661 C/C++は難読化なんてアホな事やらなくて済むだろw プロテクト PCなんかドングルつければ一般ユーザーはOKだろ SDカードなら最悪コピー出来ても足が着くし ソースが見えるのが困るのは同業者に盗まれるからだろ >>663 お前は自分のパンツの中を誰に見られても平気なのか〜ぃ? >>664 お前がパンツ一丁で街中を出歩いてるからそういうことにになるんだ enumとかジェネリックはできたけど、 プロパティとかインデクサとかイベントとかyield returnとかはいつ実装されるの? もうされたの? アンチがジャワジャワうるさいから ジャワカレーを食いたくなってきたじゃねえか 昔の Java House Mailing-listもハウスジャワカレーのロゴを元に MLのロゴ画像を貼ってたんだよな >>669 プロパティ以外いらんもんばっかじゃねえかw なんでクラスのimplementってできないんじゃろ? publicメソッドだけ抜き出してインターフェースと同じに扱ったってええやん class B { private int val; public void hoge() { .... } } class A implement B { //must implement public void hoge() { } } とおもったけどpublicフィールドとかあるからだめか >>673 10年も前から同じことを繰り返し連呼するお前って 何歳のオッサンだよ 多重継承ができない クラス継承と同じ::記号を使って継承と実装ができないのが気に入らないってか なら一生C#でもやってろ >>673 んなもんBのpublicメソッドをinterfaceに切り出してA,B両方にimplementsすりゃあええやん >>676 使ってる側も全部修正しなきゃいけないじゃないか 型はそのままで実装だけごっそり挿げ替えて使いたい >>678 実装だけ挿げ替えだったら必要なのは多重継承じゃなくてmix-inとかじゃねえの? 継承ありのクラスをそのまま取り込みなんてしたらJavaの根本が崩れるぞ 次のバージョンかいつかはしんないけど インターフェースのデフォルト実装を定義できるようになるらしいね 最近Javaのアップデートの速度が速すぎる気がして・・・ そりゃ君がジジイになったからだ 最近セキュリティだの何だので遅れに遅れて更新ペースはガタ落ち 他の言語からも2周りぐらい周回遅れな感じ ラムダ式すら未だにないんだぞふざくんな セキュリティパッチは頻繁に出るようになったけど 技術の進歩がコードやAPIに取り入れられるのは遅くなってる Javaは一度ぶっ壊すぐらいに新しい技術を入れて 根本から作りなおさないといけない気がするな switch使ったことないわ if else でやってしまう DelphiだかPythonだったかにある委譲記述が入るのはまだですか class Alpha implements IBeta { // _bに処理を委譲 Beta _b implements IBeta; ... } JavaのObservableの使えなさといったらない これ入れて緩和してほしい 継承先でメソッドをオーバーライドするとき 親クラスのメソッドをコールすべきか否かを親クラス側で指定する方法ってある? 親クラス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"); } } 抽象クラスを他者に提供するような場合、コール忘れが多発する。 ああ、親クラスのメソッドはabstractじゃなかった/// >>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"); } } 丁寧な回答くれたのにアホな俺のせいで非常に申し訳ない test()じゃなくてprint()でした public void print(){ super.print(); System.out.println("at birth"); } もう氏んでくる JavaはScalaとGroovyを取り込んでしまえばいいんだぁ とちょっとだけ妄想をしてみた・・・無理なの判ってるけど 匿名型ほしいマジでほしい var map = new HashMap<{int x, int y}, Record>(); var r = map.get({ x = 3, y = 2 }); JavaFXをMavenで利用するのが結構難しい なんで公開しないんだろうねOracleは この言語学んでる最中なんだが、 オブジェクト指向っていうのがわかんね。 でも作りたいと思ってる物は明確だから、このオブジェクト指向ってのを完全に理解しなくても、 作りたいものを作っていきながら、本とか読んで後々理解するのを待つって感じでもいいかな? 名前欄に !ken:数字 と入れると県名表示が変わる☻ !ken:00 県名非表示 !ken:01 県名表示 !ken:02 蝦夷とか武蔵等の旧国表示 !ken:03 各地域名産品等 !ken:06 厨二表示 !ken:11 村町 !ken:15 テレビ !ken:20 鉄道 !ken:100 回線 スマホ・ガラケー・もともと県名表示が出ない回線は!ken:06以外変化なし !ken:99 (地震なし) 地震発生時でも変化なし?匿名性高い? (ω・`) >>697 java 自体がオブジェクト思考だから別に気にしないでもいいよ。 後に、javascriptとかクソ言語やったときにオブジェクト思考ってこういうことかって気づく この本で、オブジェクト指向を学ぶと簡単 スッキリわかる Java入門 第2版、2014 何だかんだで、JAVA大好きなんだな、おまいら・・・。 受ける会社大丈夫? 下記の条件が全て当てはまる会社にご注意下さい。 ・IT系 in tokyo ・「社名 労基」でググると過去の2chスレが出てくる ・転職会議で2.5点 サッカーブッシュ日本代表日程ぷあたん(しゅっちょうまいくろ教育長交代)春文執行40代売上差額シュガーチョコ https://www.youtube.com/watch?v=NDq1QoJY0nY 宇ドナルドアナリストパワーストーンコーチングとしまえん サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足 サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題 春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残 コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題 マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了 校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント 高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート >>697 とりあえず 共通処理を関数化するように 心がけな それなりの規模にならんと オブジェクト指向の有難みは 無いから個人ツールなら 気にすることない 最近、みずほ銀行とか 超高速開発なる 詳細設計食わせると javaコードを自動生成する ツールを導入してるらしいね プログラマも 無くなる職業になりそうだ ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる