トップページ⇒tech
571コメント167KB

CとJAVAを比較した場合Cの良いとこと悪いとこ

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
ってある?
0052デフォルトの名無しさんNGNG
VC++の新しいVerは古いVC++を使って開発されているってのは聞きますね〜
他のCやC++も同様なのでしょうけど、javaの新しいVerをjavaから作っていったら...
数回verupすると恐ろしい事になりそうやね
0053 NGNG
CはUnixと共に成長し、C++を生み、
今なおメインの言語として君臨している。

Cは
「論理的で、覚えることが少なくて、実行速度が速い、皆に愛されている言語」
だと倉薫も書いていたYO!
0054デフォルトの名無しさんNGNG
>>52は一瞬JVMをJavaで書くように読めてつっこみそうにナターヨ
>>51Javaのクラス? ふつーJavaで書かれてるんでないか?
コンパイラはCで書かれてるんだろうけど。

新しいアーキテクチャのCPUが出てくれば、やっぱり最初に提供されるのはCなんだろうから、
Cはまだまだしばらくの間、必要なんだろうとおもわれ。
0055デフォルトの名無しさんNGNG
午前3時半か
もうすぐヤツが目を覚ます時間だな
0056デフォルトの名無しさん NGNG
                       ,〜((((((((〜〜、
                     ( _(((((((((_ )
                      |/ ~^^\)/^^~ ヽ|
                       |  _ 《 _  |
                      (|-(_//_)-(_//_)-|)    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                       |   厶、   |   <  おはよ〜〜。
                       \ |||||||||||| /    \_____________
                  _-‐' ̄|\      /  `ー―-、__
             /~⌒~ ̄|  , -‐'\ ` - ー '/  \    '     ̄\
           /      | `ー―-、ヽ   ノ -―'~ ̄ 、       \
          /       /      `ーV -‐' ̄      ヽ         |
          /                ||          \           |
          |                ||                   |`、
        /`-、   /           ヽ||/          ヽ   ー、_ノ \
       /       、    ○      ||/    ○      |/      \ \
       /        V        \. ||            /         | |
      |         ヽ        ヽ/ヽ、          人          |  |
      |        / \、_     /  \       /  ヽ         |  |
      /       ノ /    ̄`ーー'   l  、 ̄`ーー-ー'    ∧        l   |
     (       / /\  入   /   |   |     / )  /  \      人  |
    /    \ ,/    \     l、_ 人_ _,|    -‐',/l /    `ー、_>-‐'~    |
    //      〈       | \   /   |   ヽ   /  |        |       |
   | |         |        |     |   |    |      /        |        |
    | |       |         |    l、_ 人_ _ _ ,|     _/       |        |
   | |       /       /‐--、______, --‐'~ __〈        |        |
0057デフォルトの名無しさんNGNG
    ∧_∧!   / ̄ ̄ ̄ ̄ ̄ ̄ ̄
__( ;´Д`)__< 遅刻だ!
|  〃( つ つ   |  \_______
|\ ⌒⌒⌒⌒⌒⌒\
|  \           \
\  |⌒⌒⌒⌒⌒⌒|
  \ |______|
005857NGNG
5分も負けた…。
0059デフォルトの名無しさん NGNG
朝からハイだぜ、ベイベー!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 
      ,〜((((((((〜〜、
     ( _(((((((((_ )
     |/ ~^^\)/^^~ヽ|
      |  _ 《 _  |
      (|-(_//_)-(_//_)-|)
      |   厶、    |
      \ |||||||||||| /
      ⊂ \_______⊂ ⌒`つ≡≡≡(´⌒;;;≡≡≡
              ̄ (´⌒(´⌒;;
0060    NGNG
>>38
OOと関係無いだろ ヴァーカ!市ね!糞が!
006130NGNG
>>50
ネタだって言ってるのに…。
そう本気にされると申し訳なく思えちゃうな。
Javaでもswap書けるよ(これはネタじゃない)>>36
006230NGNG
61補足
かなり無理矢理だけどね。
006336NGNG
>>61
ほ?ポインタとれると、なにか、swapに特殊なテクニックがあるですか?
しかも、Javaで「無理矢理」な…
0064デフォルトの名無しさん NGNG
年末もハイだぜ、ベイベー!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      ,〜((((((((〜〜、
     ( _(((((((((_ )
     |/ ~^^\)/^^~ヽ|
      |  _ 《 _  |
      (|-(_//_)-(_//_)-|)
      |   厶、    |
      \ |||||||||||| /
      ⊂ \_______⊂ ⌒`つ≡≡≡(´⌒;;;≡≡≡
              ̄ (´⌒(´⌒;;
006536NGNG
「Javaにはレジスタ変数が無い」とかだったら、わかるんだが…
0066ネタNGNG
Javaにはswapメソッドを書く必要性がありません。
0067デフォルトの名無しさんNGNG
なんでそんなswapが話題になってるの?
tmp=a;a=b;b=tmp; でいいんでしょ?
プリミティブだと値のコピーによる交換だけど。
どーせプリミティブのコピーなんてたいしたコストじゃないし。
0068いわずもがなNGNG
>>67
初心者本しか見たことの無い冬厨の季節だから。
006936NGNG
>>67
だってそれじゃ、ポインタ取れるかどうかなんて関係ないじゃん。
0070あほくさNGNG
このスレって「Cしか知らない馬鹿」隔離スレみたいね。
0071デフォルトの名無しさんNGNG
C?
あんなアセに陰毛が生えた程度のものを
言語っていわないでくれるかな。
0072デフォルトの名無しさんNGNG
>>71

 しかし、その陰毛がヤラしい部分をけっこう良く隠蔽
しているんだよな。
0073デフォルトの名無しさんNGNG
無毛萌え〜
007436NGNG
ねーねーねー無理矢理なswap、まだ??
0075デフォルトの名無しさん NGNG
>>71
おいおい、随分な物言いだな。
さすがに言語でないことはないだろう。
0076デフォルトの名無しさんNGNG
>>75
基地外に突っ込むなよ。かわいそうだろ。
適当にいなしといてやれよ。
0077デフォルトの名無しさんNGNG
だいたいライブラリで吸収できそうな話題じゃないか?
STL使えばC++でも簡潔に書けるだろ。

ポインタ云々もスマートポインタを用意すれば良いだけ。
0078デフォルトの名無しさんNGNG
javaは将来性ない
Cはある。
0079デフォルトの名無しさんNGNG
>78
JAVAの需要が先細りになっても、Cの需要は変わらないって
言いたいのか? 賛成だ。そのとおりだよな。
 ただ、JAVAだって生き残らないとは限らんぜ。
0080デフォルトの名無しさんNGNG
>78
まだ、どうころぶかわからんよ
0081デフォルトの名無しさんNGNG
javaはおわりだね
0082デフォルトの名無しさんNGNG
Javaもネタとはいえ Cと比べられるように
なっちゃったんですねぇ…
0083デフォルトの名無しさんNGNG
次のバージョンではunsignedは使えるようにして欲しいなぁ
0084デフォルトの名無しさんNGNG
>>83
1bitくらいケチるなよ。
0085デフォルトの名無しさん NGNG
>>79
分野によって変わってくるんだろうね。
いまだにFortranやCOBOLが使われているように
Javaも何処かでは生き残り続けるのかもしれない。
0086デフォルトの名無しさんNGNG
JAVAはOSに依存しないため
今後発展しそうな気がするんだけど気のせいですか?

現在はCよりJAVAのほうが需要があるように
感じるけど それも気のせい?
0087デフォルトの名無しさん NGNG
>>86
分野によるしねえ。
0088デフォルトの名無しさんNGNG
>86
JAVAを動作させる為にはVMが欲しいんですが何か?
0089デフォルトの名無しさんNGNG
冬厨隔離スレとして順調に伸びてるな
>>86 サーバサイド以外でJavaの需要ってほぼ皆無だよ。
i-appliのあれはJavaという名前がついてるけど別ものだし。:-)
0090デフォルトの名無しさんNGNG
>>84 1bitならケチらないが、32bitをケチりたいんだよ。

32bit無符号のデータを外部から取りこむ場合、その値域をカバーするために、
long (64bit)を使うしかなくて苦痛なんだよ。
0091デフォルトの名無しさんNGNG
CとJAVA例えるならば職人とオペレーター。
0092デフォルトの名無しさんNGNG
>>90
苦痛って… 医者に行った方が良いかも。
0093デフォルトの名無しさんNGNG
所詮JAVAでバイナリ操作は無理だな。
0094デフォルトの名無しさんNGNG
Rubyナラデキル。
0095デフォルトの名無しさん NGNG
うんうん、Rubyもいいよね。
C,C++,Rubyマンセー!
Javaはあまり知らんからノーコメントとしておく。
0096デフォルトの名無しさんNGNG
どんなもんでも
できるにこしたこたぁない
0097デフォルトの名無しさんNGNG
情報科学、情報工学ではJavaは生き残ると思うけど。
0098デフォルトの名無しさんNGNG
あらゆる分野でRubyが使われるようになるのに、そう時間はかからないだろう。
0099デフォルトの名無しさんNGNG
>所詮JAVAでバイナリ操作は無理だな。
バカ発見。

Cにできる事と、Javaにできる事に差があるわけ無いだろが。
ある処理を記述するのに、どうするかが言語の違いだよ。
さっさと気づけ馬鹿ども。
0100デフォルトの名無しさんNGNG
>Cにできる事と、Javaにできる事に差があるわけ無いだろが。

C言語ちゃんとお勉強してから言ってくださいね。
0101デフォルトの名無しさんNGNG
>>99
ROM,RAMあわせて4KBしかありませんが、なにか?
0102デフォルトの名無しさんNGNG
JavaではIA-64のバンドルの生成は出来ません。
0103デフォルトの名無しさんNGNG
IA-64のハンドル?バンドル?ってなんですか?
0104デフォルトの名無しさんNGNG
>>101
それはハードウエアの問題では?
コンパイラ作成の手間を考えたら、
一般的じゃないCPUでアプリケーションを作る場合は、
C言語になるのかも。

言語的な違いは明らかで
JAVAで書くような複雑なプログラムは、Cじゃ書かないし
Cで書くような簡単なプログラムは、JAVAじゃ書かない。
0105デフォルトの名無しさんNGNG
>>104

基本から勉強してね。
0106デフォルトの名無しさんNGNG
1つ言っておく。CとJAVAを比較するのは
CとBASICを比較するようなものだと。
0107デフォルトの名無しさんNGNG
1つ言っておく。CとJAVAを比較するのは
CとLISPを比較するようなものだと。
0108デフォルトの名無しさんNGNG
1つ言っておく。馬と牛を比較するのは
馬と鹿を比較するようなものだと。
0109デフォルトの名無しさんNGNG
1つ言っておく。
やっぱや〜めた。
0110デフォルトの名無しさんNGNG
>109
いってくれ
0111デフォルトの名無しさんNGNG
Java は計算機科学の最先端の研究対象にもなるし、実用にもなる。
C は fj.comp.lang.c での罵りあいの道具にしかならない(w
0112デフォルトの名無しさんNGNG
JAVAでドライバでも組んでみてくらはい。
それができたら認めるよ〜ん。
0113デフォルトの名無しさんNGNG
計算機科学の最先端って、やたら多いけどね。
ウニの棘の先端みたい。
0114デフォルトの名無しさんNGNG
>>112
馬鹿
0115デフォルトの名無しさんNGNG
>>112
Java用のドライバ作成環境を用意してくれたらな。
一休さんみたいだ。
0116デフォルトの名無しさんNGNG
>>112
OS、デバイスとのインターフェ−ス部分をJNI使って書けばいいだけでしょ?
JavaOSのドライバはJAVAだし。
0117デフォルトの名無しさんNGNG
あくまでも実行する側の問題であって、
例えばJavaをn
0118デフォルトの名無しさんNGNG
>>116
天然ですか?
0119デフォルトの名無しさんNGNG
C厨必死だな(w
0120デフォルトの名無しさんNGNG
>>112
あんたJavaでドライバ組みたいと思うのか?
0121デフォルトの名無しさんNGNG
>>119
君、Java厨?アワレ。
0122デフォルトの名無しさんNGNG
>>116
実用に耐えられるものを作ってくれ。
0123デフォルトの名無しさんNGNG
VMをJAVAで作るとか言い出しそうだな(藁
0124名無しさんNGNG
Javaは将来性がないとか死滅するとか
おまえら情報操作もいいかげんにしろや。
そうやってJava使いを一人でも多く減らして自分だけ
甘い汁を吸おうと思ってるんだろ?だがな、俺は騙されん。
最も将来性があり、これから主流になるのは間違いなくJavaだ。
0125デフォルトの名無しさんNGNG
シリアル/パラレルポート接続なら
Cmmunication APIでなんとか。
あとUSB APIというものもあるようだ。
まだ実装がLinux用しか出てないけど。

>123
Jikes RVMとかいうJavaで書かれたJVMが存在する。
0126デフォルトの名無しさんNGNG
>>123 マジな話、Javaチップの JVM って何で書いてあるんだろう?
バイトコードはネイティブ実行できるからVM不要だろうけど、
ファイルI/Oとかネットワーク周りの物理層をどうやって処理
するのか考え出すと年越せません〜
0127デフォルトの名無しさんNGNG
JAVAとC#がこれからは主流になると思うな。
実はアンチVBだけど、
VB7は結構使えるのかもと・・・全然知らないから
いいかげんな事言ってるかも?
ただ、OOという技術が趣味プログラマーに浸透するかは疑問だし
ポインター知らないで、JAVAができるのか?という疑問もある。
まあ、あくまで予想だね。
0128デフォルトの名無しさんNGNG
携帯のVMはcで書かれています。
はっきり言ってVMでもデバイス制御部分は全てCかアセンブラです。
0129デフォルトの名無しさんNGNG
>>128
その携帯は Javaチップなんすか?
0130名無しさんNGNG
Javaをマスターした後だと
C覚えるのって簡単ですか?
0131デフォルトの名無しさんNGNG
>126
内部のCPUもどきのFPGAが実行している。
0132デフォルトの名無しさんNGNG
Javaチップってそんな大層なもんではなくて
バイトコード処理用の拡張命令持っただけの
普通の、例えばArmとかだよ。
0133デフォルトの名無しさんNGNG
>>130
簡単だよ、というのが慣例だよね。
難しいかった、というやつには
おまえはJavaをマスターしてない
とつっこまれて終わり。
0134デフォルトの名無しさんNGNG
>130
逆のほうがいいかも
0135デフォルトの名無しさんNGNG
だからマスターは禁k(以下略)
013636NGNG
swap、まだ?
0137デフォルトの名無しさんNGNG
JAVAチップのドライバーはCで書かれています。
0138CopyBorotNGNG
Cは最初なんの為に開発されたのか知ってるかい?
Cは何を使って開発されたのか知ってるかい?
このスレのC支持者に誰か予知能力者でもいるのかい?
時代は交代していくものさ。ヽ(´ー`)ノ
Java厨呼ばわりで結構。
"乗りてえ風に遅れた奴は間抜けっていうんだ。"

とか"うしおととら"の"とら"の言葉で締めてみる。
0139デフォルトの名無しさんNGNG
>>137
アセンブラ使わないんだ…
0140CopyBorotNGNG
あぁ〜さっきのはJavaを「言語」として捉えた時の意見であって
JVMを攻撃しまくってるC支持者さん達には
しょうしょうキティな文章になってますがよろしくヽ(´ー`)ノ
0141デフォルトの名無しさんNGNG
>>139
Cでの開発環境が用意されているということ。
あんたアセンブラについて勉強した方が良いね。
014231NGNG
>>136
30じゃないけど、

swap( int[] array, int i, int j ){
 int tmp = array[i];
 array[i] = array[j];
 array[j] = tmp;
}

とかぐらいしか思いつかない。
他の方法あるなら知りたいっす >>30
0143デフォルトの名無しさんNGNG
PDP−11の時代でも、今でのCの果たす役割は根本的には変わってない気がする。
CPUがItaniumになって、OSがLinuxになったくらいで…
ま、そればかりじゃないけど。
0144デフォルトの名無しさんNGNG
自前でマクロ展開でもすれば > swap
014531NGNG
それが良いかも>マクロ展開
0146デフォルトの名無しさんNGNG
>>10
同感
0147デフォルトの名無しさんNGNG
swap( int[] array, int i, int j ){
 array[i] ^= array[j];
 array[j] ^= array[i];
 array[i] ^= array[j];
}
014831NGNG
>>147
それーゆーのって、Cの#defineマクロとかで
swap書くときしか使ってないけどなぁ…
014930NGNG
>>142
合ってるよ(´∀`)
0150147NGNG
>>148

と、いわれても…。
0151 NGNG
Cが優れているところ
1)ポインタ
2)プリプロセッサ
Javaが優れているところ
1)ネット系ライブラリが充実している。
そんだけ。
Cの短所
・・・特に無い。
JAVAの短所
1)厨房が大量に集まってしまった。(しかも、えばってるし)
2)プリプロセッサが無い
3)ポインタが無い。特に関数ポインタ
■ このスレッドは過去ログ倉庫に格納されています