[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 14:23 / Filesize : 215 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

JAVAとC++どちらが優れているか教えてください



1 名前:仕様書無しさん [2007/02/14(水) 15:14:25 ]
言語機能的にも実装的にもどっちが上なんですか?


569 名前:仕様書無しさん mailto:sage [2008/06/01(日) 23:10:45 ]
>>568
言語毎を極めることは、コンピュータにやらせたいこと
をさせる事が出来る人間のそれと同じではないから。
Perlは所詮、Perl。 Javaは所詮、Java。
出来ることは予め決まっている。

570 名前:仕様書無しさん mailto:sage [2008/06/01(日) 23:14:40 ]
わかった

571 名前:仕様書無しさん mailto:sage [2008/06/01(日) 23:37:14 ]
>>559
APIの豊富さ・使い勝手のよさ。
開発ツールの豊富さでもJavaの方が上。

572 名前:仕様書無しさん mailto:sage [2008/06/01(日) 23:53:39 ]
>>571
それが Java にしかできなきことですか? そうですか。

573 名前:仕様書無しさん mailto:sage [2008/06/01(日) 23:55:43 ]
リバースエンジニアリングもJavaがやりやすいし、
リファクタリングもJavaの方が楽。
クラス構成の変更とかもJavaがやりやすい。

保守性を考えたら圧倒的にJava。
C++なんて昔のシステムの保守くらいだろ。

スピードだって今はハードの性能上がってるしな。
そこまでC++だからという恩恵は受けられない。

574 名前:仕様書無しさん mailto:sage [2008/06/01(日) 23:58:07 ]
>>572
C++は開発をする上で柔軟性がないんだよ。
例えば手戻りが発生したら、Javaよりも多くの工数を必要とするの。

てか、ここでC++なんて勧めてるやつ、業務経験あるの?
学校で習ったことくらいしかないんじゃないのか?

575 名前:仕様書無しさん mailto:sage [2008/06/02(月) 00:19:46 ]
いちいち2次元ベクトル new したくないし、まだC#の方がまし。

576 名前:仕様書無しさん mailto:sage [2008/06/02(月) 00:32:37 ]
いまどきの学習言語はJavaじゃないの?

577 名前:仕様書無しさん mailto:sage [2008/06/02(月) 11:25:03 ]
>>573>>574が言ってることはダウト


これだから知恵の無い奴らは…ITゆとり世代?

まじでこの手の無能を使ってる時が一番心労がたまる…。
ちなみにこの手の無能の36歳の男と仕事してて疲弊したから俺は今日有給wwww



578 名前:仕様書無しさん mailto:sage [2008/06/02(月) 13:28:43 ]
まじでC++プログラマの皆さんにはJavaの勉強をお薦めします。
そしてJavaのプログラムを作ってみてください。
C++の良さを再認識し、もっと良いプログラムを作れるようになるでしょう。

579 名前:仕様書無しさん mailto:sage [2008/06/02(月) 16:45:16 ]
javaにはプリプロがないよね。
定数を定義するとき、みんなどうしてるの?

580 名前:仕様書無しさん mailto:sage [2008/06/02(月) 20:11:12 ]
定数より条件コンパイルしたいときに困った。
昔、無理やりCのプロプロ通してからjavaコンパイルしている同僚がいた。

581 名前:仕様書無しさん mailto:sage [2008/06/02(月) 23:42:42 ]
>>577
俺は事実を言ったまで。
時代について来れないC++厨は一生疲弊してな。

582 名前:仕様書無しさん mailto:sage [2008/06/03(火) 17:25:24 ]
Java アプリは GUI がカッコ悪いうえにもっさり感があってストレスが溜まる。
CPU が速くなっても C/C++ アプリのサクサク感と比較されるからずっともっさり
感がなくならない。

583 名前:仕様書無しさん mailto:sage [2008/06/03(火) 18:00:02 ]
>>582
swingのこと?
JavaのGUIはswingだけじゃないよ。

584 名前:仕様書無しさん mailto:sage [2008/06/03(火) 18:19:18 ]
Swingいったん氏に体になったけど、復活してデファクトになったんじゃなかったっけ?

585 名前:仕様書無しさん mailto:sage [2008/06/03(火) 20:16:00 ]
>>583
何を使っているのか分からないがカッコ悪いのが多い。
文字や線もアンチエイリアスがかかっていないのが多くて醜い。

586 名前:仕様書無しさん mailto:sage [2008/06/03(火) 21:03:41 ]
Javaってモッサリ言語だよね。

587 名前:仕様書無しさん mailto:sage [2008/06/03(火) 21:42:25 ]
つーか、かっこ悪いかカッコいいかなんて
定量化できない主観的な意見だなw

そんなので言語の優劣をつけてるやつの方が
激しくかっこ悪い。



588 名前:仕様書無しさん mailto:sage [2008/06/04(水) 00:26:44 ]
かっこいいかどうかはともかく、
OS標準のUIと見た目が違うのはが気になる。
それはまだいいが、操作性が異なるのはストレスたまる。
Javaが、というつもりはない。
C++だってクロスプラットホームという奴は大体そう。
おとなしく標準のコントロールを使ってくれ。

589 名前:仕様書無しさん mailto:sage [2008/06/04(水) 00:28:11 ]
Javaで組んであると一目でわかるように
してるんぢゃね? 糞でも出来ますよ、
この位w って暗にアピールしてるような
ものだがなw

590 名前:仕様書無しさん mailto:sage [2008/06/04(水) 01:16:28 ]
"Write once, run anywhere" を守るためならしょぼくなっても仕方ない。

591 名前:仕様書無しさん mailto:sage [2008/06/04(水) 13:28:55 ]
Javaアプリだけ遅くなるのはいいけどリソース食いすぎで他のアプリにまで迷惑かけるなよ。
ノートPCだとまるでディスクキャッシュが無効の状態だよ。
小さいテキストファイルを開くたびに待たされてイライラする。

592 名前:仕様書無しさん mailto:sage [2008/06/04(水) 19:06:33 ]
>>590
GUI周りをそれでやる必要はなかったな

593 名前:仕様書無しさん mailto:sage [2008/06/04(水) 19:33:24 ]
>>588
クロスプラットフォームの意味が分かってれば
そんなバカなレスはしないはずなんだがな。

OS標準のコントロール使ってる時点でクロスプラットフォームじゃねぇだろ。

>>591
それはプログラマがしょぼいせい。

594 名前:仕様書無しさん mailto:sage [2008/06/05(木) 01:15:58 ]
きっと Java にはしょぼいプログラマを惹きつける何かがあるんだよ。

595 名前:仕様書無しさん mailto:sage [2008/06/05(木) 09:27:19 ]
片方しか使えない人間にこのスレに参加する資格はない

596 名前:仕様書無しさん mailto:sage [2008/06/05(木) 12:00:46 ]
昔みんなが Java Java 騒ぐから一時 Java を使ってみたが、結局 Java の良さが
理解できなくて C++ に戻った。

597 名前:仕様書無しさん mailto:sage [2008/06/05(木) 23:22:42 ]
>>594 >>596みたいな事言うやつってさ、
昔磨いた技術が捨てがたくて、
新しい技術を受け入れづらくなってるんだろうね。

時代についていけなくて悔しいから、
自分のプライドを守るために
粗探しに必死なんだろうよ。きっと。

>>595
全く。



598 名前:仕様書無しさん mailto:sage [2008/06/06(金) 05:04:26 ]
JavaなんてどうせLinux専用みたいなもんだからc++でいい。

599 名前:仕様書無しさん mailto:sage [2008/06/06(金) 19:32:38 ]
> JavaなんてどうせLinux専用みたいなもんだから

は?w

600 名前:仕様書無しさん mailto:sage [2008/06/06(金) 22:14:35 ]
LinuxってそんなにJava使われていたっけ?
自分が管理しているLinuxサーバー2台にぜんぜんJava入っていないけど。

601 名前:仕様書無しさん mailto:sage [2008/06/06(金) 22:24:43 ]
Windowsで使われないJava。
Linuxで使われないJava。

やっぱりどこいってもCとC++なんだな。

602 名前:仕様書無しさん mailto:sage [2008/06/06(金) 22:46:11 ]
情けないねえ
別の言語を使うなんて格ゲーのキャラ変えるようなもんだろ
何をそんなに拘ってるんだか

603 名前:仕様書無しさん mailto:sage [2008/06/06(金) 23:27:18 ]
JavaとC++の両方を高く評価しているやつなんて皆無だろ。

604 名前:仕様書無しさん mailto:sage [2008/06/07(土) 03:04:21 ]
本題からはズレるが、言語の優劣なんてプログラマには関係ない。
JAVAやC++を使うような連中は自分の意思で言語を決定できないからな。

どちらも四年制大学を卒業したプログラマが使う技術だ。
こういう連中は国家資格を取得し、メーカや独立系の企業で仕事をする。
自分が配属された部署がC++やってるなら、他に選択肢などない。

あと、現実的なこと言うと比較できるほどやってる人はいない。
CとC++が使えるPG、CとJAVAが使えるPGはけっこういる。
しかし、C++とJAVAを使い分ける人には会った事がない。

わざわざ2種類のオブジェクト指向言語を覚えるメリットは少ない。
あとはVBやRubyを触ったら熱が冷める。
その頃には、プロジェクト管理や契約書に関心がいくようになる。

605 名前:仕様書無しさん mailto:sage [2008/06/07(土) 06:41:54 ]
>>601
>やっぱりどこいってもCとC++なんだな。

10年前の話?

>>604
VBやRubyに変わられる事はありえないだろ。

606 名前:仕様書無しさん mailto:sage [2008/06/07(土) 07:42:58 ]
>>604
俺はVBを触っていたけど、今はJavaが好き。

.NETは高級言語過ぎて内部で何が起こっているのかわかりづらいからなぁ。
トラブルが起きた時にはまる時間が長くなりがちな気がする。

Rubyってインタプリタだからそれこそ遅いんじゃないの?

607 名前:仕様書無しさん mailto:sage [2008/06/07(土) 10:56:51 ]
>>604
おまいと一緒にすんなよw



608 名前:仕様書無しさん mailto:sage [2008/06/07(土) 11:00:03 ]
俺は.NETが割とお気に入り
JAVAと違って学ぶことが多くあるからな
C++はジェネリックスがJAVAにも.NETにも搭載された時点で
存在価値が薄れた気がする
いまさらAPI叩く必要もないしな

609 名前:仕様書無しさん mailto:sage [2008/06/07(土) 11:02:28 ]
あとVBは業務アプリ専用の糞言語とだけ言っておく

610 名前:仕様書無しさん mailto:sage [2008/06/07(土) 12:10:08 ]
>>607
.NETはあんまり知らんけど、
Javaでサーブレットしてた方が自分で設定すべきことが多くて
学ぶことあるんじゃないのか?

Visual Studioとか使ってると、
何も知らなくても勝手にやってくれる部分が多いからなぁ。

>>609
確かに、
VBはExcelVBA以外はあえて使う事もないんじゃないかね。
>>604のVBを使ってJavaの熱が冷めた理由が本気でわからんw

611 名前:仕様書無しさん mailto:sage [2008/06/07(土) 12:19:57 ]
>>610
.NETはあまり判ってなくても何となく組めるから勘違いされる

612 名前:仕様書無しさん mailto:sage [2008/06/07(土) 12:42:33 ]
VBができると事務のお姉ちゃんにモテモテだからな。
たぶん。

613 名前:仕様書無しさん mailto:sage [2008/06/07(土) 13:00:01 ]
ここでC++が、JAVAが良く判らなかったとか言ってる奴は
自分はアホですって告白してるようなもんだ

614 名前:仕様書無しさん mailto:sage [2008/06/07(土) 13:05:12 ]
判らないのはJAVAではなくJAVAの良さ

615 名前:仕様書無しさん mailto:sage [2008/06/07(土) 13:14:29 ]
>>614
同じことだと思う。

616 名前:仕様書無しさん mailto:sage [2008/06/07(土) 13:39:39 ]
>>614
自分でメモリ管理することの利点欠点と
それがイベント駆動型アプリケーションにもたらす影響を教えて

617 名前:仕様書無しさん mailto:sage [2008/06/07(土) 14:54:37 ]
>>614
詳細設計しかやったことない新人プログラマがいる現場なら必要。
新人にメモリ管理はちょっと重荷かも。
今は開発者のレベル差が激しいから言語仕様で保障されてるほうが良い。

あとは、自分でロジック書けば開発コストも増える。
知識ついてくれば自分でもできることは増えるけど
言語やミドルウェアに頼った方が開発コストは減る。



618 名前:仕様書無しさん mailto:sage [2008/06/07(土) 18:10:23 ]
>>616
> 自分でメモリ管理すること利点欠点
これはJavaのメモリ管理に対してのC++のメモリ管理のことか?

利点
- 必要なくなったオブジェクトを即座に削除できるのでメモリの無駄が減る。
- デストラクタによって局所変数を即座に後処理することができる。
 この仕組によりメモリ以外の一般リソースの後処理もできる。
 これはオブジェクトの外で finally するより簡単である。
- new や delete のオーバーライドによってメモリ管理を簡単に変更できる。
- プールやスマートポインタなどによってオブジェクトの寿命を細かく制御できる。
 また小さなオブジェクトのメモリ効率を良くすることができる。
- 基本型以外の型でも、必ずしも new する必要がない。
- GC のように不意に実行が中断されることがない。
- オブジェクトはある程度レイアウトを制御できるので他言語とリンクしやすい。
- 配置構文 new によって共有メモリや特殊なハードウェアを扱いやすい。
- ポインタ自体がオブジェクトなので Swap などの細かい操作が簡単である。

欠点
- new したら明示的に delete しなければならないことがある。
- ヒープメモリの実装によってメモリの断片化が起きやすい。
- オブジェクト所有権を意識していないプログラマはメモリリークを起こしやすい。
- オブジェクトの参照が入り組んでいるとダングリング参照を起こしやすい。
- ライブラリなどはオブジェクト所有権を明記していないと間違いを起こしやすい。
- 一般的なスマートポインタだと循環参照の扱いが難しい。

メモリリークの概念によっては GC を持つ言語でメモリーリークはある。
またオブジェクトが削除されないことが必ずしもメモリリークとは限らない。

> それがイベント駆動型アプリケーションにもたらす影響を教えて
これは知らない。
C++メモリ管理とイベント駆動の関係で嬉しかったことも困ったことも記憶にない。

619 名前:仕様書無しさん [2008/06/07(土) 19:11:41 ]
>言語やミドルウェアに頼った方が開発コストは減る。

つまりこういうこと。
C++はメモリ管理やロジックを自分でやる必要があるから、
JavaよりC++のプログラマの方が優れているなんていうやついるけど、

実はそんなものはちょっと教えれば大抵のJavaプログラマはすぐ習得する。

お勉強にちょっとC++をいじるのは良いかもしれないが、
開発コストを考えればJavaに軍配が上がるのは明らか。

620 名前:仕様書無しさん [2008/06/07(土) 20:00:56 ]
JAVAで作られたプログラムとC++で作られたプログラム

どっちが高性能なの?

621 名前:仕様書無しさん mailto:sage [2008/06/07(土) 20:02:59 ]
モノによる

はい、次。

622 名前:仕様書無しさん [2008/06/07(土) 20:17:10 ]
同じだけの時間をかけたものであればJava
同じだけの機能を持ったものならC++

だが、保守を考えるとやっぱJavaだろうな。

623 名前:仕様書無しさん [2008/06/07(土) 20:38:23 ]
javaだろ

624 名前:仕様書無しさん mailto:sage [2008/06/07(土) 21:04:05 ]
>>620
JAVAの性能に関する話題はタブーですよ。

625 名前:仕様書無しさん [2008/06/07(土) 22:27:38 ]
世界中で使われてるような評価の高いソフトウェアって
JAVAとC++どっちで作られてることが多いの?

626 名前:仕様書無しさん [2008/06/07(土) 22:54:37 ]
>>625
Javaは新しいから、
昔からあるような評価の高いソフトでは
そんなに多くは使われてないんじゃない?

でも、オラクルは確かJavaとC両方使われてたんだっけな

627 名前:仕様書無しさん mailto:sage [2008/06/07(土) 23:17:07 ]
世界中で使われてるといったら
Word, Excel, PowerPoint, Photshop とかかな。
何で開発されているんだろうね。



628 名前:仕様書無しさん mailto:sage [2008/06/08(日) 09:32:42 ]
本業は別業界なんで、余裕の時間にバイトでプログラマーでもしようかと思うんですが、
どの言語を勉強すればいいでつか?

629 名前:葉猫 ◆Jz.SaKuRaM mailto:sage [2008/06/08(日) 11:11:09 ]
VBAだな。 エクセルでマクロの記録をやったのを少ちずつ改良つればいいでつち。

630 名前:仕様書無しさん mailto:sage [2008/06/08(日) 12:06:14 ]
キチガイコテはさっさと氏ねと

631 名前:仕様書無しさん mailto:sage [2008/06/08(日) 17:50:59 ]
途中、めんどくなって読んでないけど
簡単にまとめると、敷居が低いのがJavaで
使い込んでくると使いやすいのがC++って結論でおk?

632 名前:仕様書無しさん mailto:sage [2008/06/08(日) 22:15:33 ]
敷居とかではなく、ハードウェアに対する近さが違う。
それに実際にアプリ作るなら、どんな環境で開発するかも考えるべき。

C++はC言語をオブジェクト指向言語にしようという事で開発された言語。
ベースになってるC言語と同様に、OSやコンパイラだって記述可能。
Windowsで何か凝ったもん作るならVC++。
携帯電話やゲーム分野など、大抵の分野でC/C++の処理系が存在します。

Javaは「完全なオブジェクト指向言語」なので
C++みたいに構造化言語みたいな使い方はできない。
あと、ハードウェアをあまり意識しないで良い。
難点はインタプリタ言語なんで重い。これでOSは書きたくない。
Webアプリを作るならミドルウェアも、マニュアルも豊富だし有力候補。

あと、両者とも決して敷居が低い言語ではないと思う。
どちらも構造化言語で必要になる知識(変数、文法、ライブラリ)のほかに
以下のような知識がないと仕事では使えないと思う。
・オブジェクト指向の知識
・プラットフォームの知識(WindowsでVC++ならMFCや.NET、JavaならJavaVM)
・システム化する対象の知識(ワープロや表計算、金融や流通などの業務知識)
・ソースコードのマネジメント知識(バグ管理やコーディング規約、バージョン管理など)

あとはコミニュケーション能力が大事。
画面設計書、テーブル定義書には記述できないことが多いし
大規模開発になりやすい。
少しのコミニュケーションギャップがプロジェクトに大ダメージを与える。

633 名前:仕様書無しさん mailto:sage [2008/06/08(日) 22:28:53 ]
C++の利点
- 高速で細かいところまで制御しやすい
C++の欠点
- 学習が難しく機能が誤用される可能性が高い

Javaの利点
- C++の欠点の反対
C++の欠点
- C++の利点の反対

634 名前:仕様書無しさん mailto:sage [2008/06/08(日) 23:45:28 ]
>>632-633
ありがと。
特に 632の解説はわかりやすかった。

635 名前:仕様書無しさん mailto:sage [2008/06/09(月) 01:12:56 ]
>>632
> あと、ハードウェアをあまり意識しないで良い。
これは嘘じゃないか?
思いっきり動作環境を意識しないとコード書けないと思うが。

636 名前:仕様書無しさん [2008/06/09(月) 02:15:55 ]
JAVAのが初心者にはいいんだ


637 名前:仕様書無しさん mailto:sage [2008/06/09(月) 02:23:54 ]
C++のSTLは洗練されてない
アルゴリズム関数とかダサい



638 名前:仕様書無しさん mailto:sage [2008/06/09(月) 11:58:32 ]
>>637 もっと論理的に説明してください。

639 名前:仕様書無しさん mailto:sage [2008/06/09(月) 23:09:00 ]
俺もC++やっていたけど、STLはひどすぎたよ

Javaの方が何倍も効率いいし、やっていて楽しい


640 名前:仕様書無しさん mailto:sage [2008/06/09(月) 23:48:07 ]
>>632
Javaはインタプリタといっても、
よく言われてるほど速度遅いやつじゃないぞ。

641 名前:仕様書無しさん [2008/06/09(月) 23:56:47 ]
GC邪魔

642 名前:仕様書無しさん mailto:sage [2008/06/10(火) 00:22:17 ]
>>641
…別に?

643 名前:仕様書無しさん mailto:sage [2008/06/10(火) 16:13:39 ]
Java で 60fps を死守しなければならないアプリケーションの作り方って難しくない?
必要なオブジェクトを予め new しておいて後は一切 new しない方法しか思いつかないけど。
new のタイミング以外で GC が起きないという前提で。

644 名前:仕様書無しさん mailto:sage [2008/06/10(火) 20:47:38 ]
>>637
その気持ち分かる気がする。
アルゴリズムの関数はいろいろあるけど、
copyとfind、for_eachとか使う頻度が高い関数は極少数。
もう少しよく使うものがあってもいいんじゃないかと思う。

具体的に何?と言われると考え込むけど。

645 名前:仕様書無しさん mailto:sage [2008/06/11(水) 16:53:40 ]
STL はデータ構造とアルゴリズムが綺麗に分離されているのが凄いよね。
あれを考えた人は天才としか思えない。

646 名前:仕様書無しさん mailto:sage [2008/06/11(水) 17:32:02 ]
>データ構造とアルゴリズムが綺麗に分離されているのが

いや、それってSTLを考えた人じゃなくて、template構文を考えた人。

647 名前:仕様書無しさん mailto:sage [2008/06/11(水) 19:47:58 ]
STLってなに?



648 名前:仕様書無しさん mailto:sage [2008/06/11(水) 19:53:44 ]
OTL

649 名前:仕様書無しさん mailto:sage [2008/06/11(水) 20:10:01 ]
>>646
コンテナとアルゴリズムを分離してコンテナ以外に対してもアルゴリズムを
適用する方法は template の概念だけではなかなか思いつかないよ。
Stroustrup もこれに衝撃を受けて標準化を遅らせてでも STL を標準に入れた。

650 名前:仕様書無しさん mailto:sage [2008/06/12(木) 15:02:38 ]
C++は言語仕様が汚く、複雑すぎるんだよな。
ソフトウェアに必要な「短くまとめるセンス」がない。
「簡潔さ」「スマートさ」「覚えやすさ」が無視されてる。

構造化言語ならC言語、オブジェクト指向言語ならJavaは
うまくまとまってるが、C++はどっちつかずで使いづらい。

Unixのテキスト処理やファイル、OracleのSQLや
GoogleMapsのインタフェースも「スマートさ」がある。
iPodやiPhoneも「スマートさ」「潔さ」がある。

651 名前:仕様書無しさん mailto:sage [2008/06/12(木) 21:29:23 ]
Javaのどこがうまくまとまってるんだ?
混沌そのものじゃないか。


652 名前:仕様書無しさん mailto:sage [2008/06/13(金) 08:08:43 ]
>>651
Javaを使って混沌になるってのは、
自分の腕がしょぼいといっているようなもんだぞ…

653 名前:仕様書無しさん mailto:sage [2008/06/13(金) 14:13:40 ]
Javaは基本型とクラス型の機能が非対称すぎる。
- 基本型は参照を使えない
- 基本型は Object のメソッドが使えない
- それぞれメモリ管理の方法が違う
- それぞれ型変換の方法が違う
- クラス型はほとんどの演算子が使えない (なぜか String には加算演算子がある)


654 名前:仕様書無しさん mailto:sage [2008/06/14(土) 10:01:16 ]
Simulaで基本型とクラス型の違いに不便を感じて
どっちでも同じ扱いができるようにしたC++。

655 名前:仕様書無しさん mailto:sage [2008/06/14(土) 11:28:25 ]
>>653
>Javaは基本型とクラス型の機能が非対称すぎる。
>- 基本型は参照を使えない
>- 基本型は Object のメソッドが使えない

お前もう少しJava勉強してから出直してきた方が良いよ。

656 名前:仕様書無しさん mailto:sage [2008/06/14(土) 11:59:51 ]
>655
えーと、intとIntegerを混同してたりしない?
653はその辺の話をしてるんだと思うが。

漏れもintをコンテナに突っ込む為にIntegerにしたり、
逆に計算するためintに戻すといった操作を必須とする
仕様はイケてないと思った。

657 名前:葉猫 ◆Jz.SaKuRaM mailto:sage [2008/06/14(土) 12:07:12 ]
全てをおっぱいおっぱいにちないで処理スピードのために型を残ちたJava、ダサ



658 名前:仕様書無しさん mailto:sage [2008/06/14(土) 13:03:24 ]
>>656
してない。
てか、653と656はオートボクシング知ってるの?

659 名前:仕様書無しさん mailto:sage [2008/06/14(土) 13:21:37 ]
てか、>>653は、文面から察するに、オートボクシング型どころか、
Integer型やDouble型の存在すら知ってるかどうか危ういんだが…。

660 名前:仕様書無しさん mailto:sage [2008/06/14(土) 13:23:58 ]
間違えた、オートボクシングのあとに
なぜか「型」がついてるのは気にしないでくれ。

661 名前:仕様書無しさん mailto:sage [2008/06/14(土) 13:33:40 ]
>658
ほう、こんなものが追加されたのか。
4.0までしか使ってなかったから知らんかった。

でも↓は酷すぎ…
ttp://d.hatena.ne.jp/nowokay/20071028
ttp://d.hatena.ne.jp/shawshank99/20080125

662 名前:仕様書無しさん mailto:sage [2008/06/14(土) 14:15:18 ]
>>659 Autoboxing は最近知ったがな。

基本型のラッパーを使っていも、同じオブジェクトから作った2つのラッパーが
同じオブジェクトになるわけではないし。
しかも Integer は -128 から 127 は特別扱いされてややこしい。

Autoboxing は単にラッパーオブジェクトへの変換を自動化しているだけで
面倒な部分を隠しているだけ。ラッパーではなく基本型のオブジェクトで
なければ混乱するだけ。

それに 5.hashCode() みたいな事ができるのか? できたとしてもいちいち
Integer オブジェクトに変換されていたら重くてしょうがないが。

言語が特別扱いするクラスも増えて Java はどんどん複雑になっている。

663 名前:仕様書無しさん mailto:sage [2008/06/14(土) 14:50:52 ]
> -128 から 127 は特別扱いされて

これは知らなかったが、だがこんなものは開発標準で規約を決めれば良いだけの話。
Javaのコードの簡潔性や、開発速度等のメリットから見たら小さな話。


5.hashCode()これは出来ないし、C++でも出来ないだろ。
C#なら出来るか?
だが、それがどうしたというのか…。

664 名前:仕様書無しさん mailto:sage [2008/06/14(土) 15:07:39 ]
>>663
> 5.hashCode()これは出来ないし、C++でも出来ないだろ。
> C#なら出来るか?
> だが、それがどうしたというのか…。

基本型だけ Object を継承していないのが非対称ということ?
C++ はもともと共通のベースクラスを持っていないので
できなくても不自然ではない。

5.hashCode() みたいな書き方は Ruby ならできる。
C# は知らないが結構オブジェクト指向っぽくなっている
ようなことは聞いたことがある。

665 名前:仕様書無しさん mailto:sage [2008/06/14(土) 15:42:40 ]
>663
全然小さな話じゃないよ。
規約決めた所で、徹底不足だったら意味ないし、
知識として知っててもミスしないと言い切れない代物。
レビューでも注意深く見ないと気付けないだろうし、
動作テストでも検出できない恐れが十分あり得る。
これがIntegrなんてごく基本的なクラスに存在するのは
かなり致命的だと思うが。


666 名前:仕様書無しさん mailto:sage [2008/06/14(土) 15:45:24 ]
>663,664
ttp://www.ne.jp/asahi/techno/ostra/ccj/CShObjCJava-type.html

C#はこれを克服し、基本型をなくしてしまった。
全ての型はクラスであるとしたのである。
intはSystem.Int32のエイリアス。
stringはSystem.Stringのエイリアス、そして配列までも
System.Arrayのエイリアスだとしている。

667 名前:仕様書無しさん mailto:sage [2008/06/14(土) 15:57:06 ]
>>665
>規約決めた所で、徹底不足だったら意味ないし、

C++だったらnewしたらdeleteしなきゃメモリリーク起こすの知ってるよな?
それだって対策が徹底不足だったら意味ないし、当然ミスもありうる。
それに比べたら別にIntegerの問題くらい大した事はないだろう。

てか、>>661のページは面白おかしく書いてるだけであって、
実際の実務でそんなIntegerの使い方はありえない。

>>666
C#なんてJavaほどマニュアルも揃ってないし、微妙極まりないだろ。
Rubyなんてインタプリタだし却下。



668 名前:仕様書無しさん mailto:sage [2008/06/14(土) 15:59:23 ]
>>665
>動作テストでも検出できない恐れが十分あり得る。

そんなのどんなバグでも検出できない恐れは十分にある。

>これがIntegrなんてごく基本的なクラスに存在するのは

Integerは実はそれほど頻出するクラスでもないよ。

>かなり致命的だと思うが。

全然。

669 名前:仕様書無しさん mailto:sage [2008/06/14(土) 16:04:33 ]
>667
メモリリークはツールなりデバッグ関数なりで、
動作テスト1回で簡単に検出できる。

何が最悪かって動作テストをきっちりやっても
防止できない所なんだよ。
そこが最悪か否かの境界線。

あとC#のマニュアルはMSDNで十分過ぎる。
Javaに倣ってソースからドキュメントを生成する仕組みもあったはず。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<215KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef