トップページ⇒tech
81コメント29KB

CよりJAVAのが勢いあるよなぁ・・・

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
質問スレの勢いってCよりJAVAのがあるね。
Cしか出来ない漏れはもうだめぽぽぽぽ〜
0012デフォルトの名無しさんNGNG
>>11
お前は
CとC++の比較でもそんな事言うのか?
0013デフォルトの名無しさんNGNG
Cでの構造体
 { 変数, 他の構造体へのポインタ, 関数へのポインタ }
が
Javaでの
 { フィールド, フィールド, メソッド }
って表記になっただけだろ。

理解できない奴はポインタからやりなおせ。
0014デフォルトの名無しさんNGNG
>>1だけど、
別にJAVAのが優れているとかじゃなくって、スレの流れの速さがJAVAのが早い気がするよね。

Cはもちろん無くなるはずが無いと思ってるよ。
一番高級の中で低級だから、かなり低いレベルのプログラムが書きやすいと思ってる
0015デフォルトの名無しさんNGNG
Cでの構造体データ用のメモリ確保および初期化処理
{ 関数へのポインタ } : hoge // これは一つだけ(関数テーブル)
{ hogeへのポインタ, 変数, 他の構造体へのポインタ }
が
Javaでの
Hoge hoge = new Hoge();
って表記になっただけだろ。

理解できない奴はメモリ確保の基礎からやり直せ。
0016デフォルトの名無しさんNGNG
>>14
Javaは入りやすいしな
本屋行っても、Java関係ばっかり
Cの雑誌なんて、Cマガぐらいだろ?(しかも、Java載ってるし・・・)
大学での、授業ではJava>C言語
あるいは、C言語採用しているところはもう無いかも・・
なのでとりあえずこの板に来た場合
参加できるスレはJavaが多いってことじゃない?
ちょっと覚えれば、初心者を煽れるのも魅力
0017デフォルトの名無しさんNGNG
Cでの関数外のstatic変数
 static char hoge;
が
Javaでの
 private char hoge;
って表記になっただけだろ。

ちなみにJavaのstaticはクラス変数って意味。
newしても勝手にメモリを確保して増えたりしない話の分かる奴だ。
だから定数につけると少し幸せになれるぞ?
 private static final char hoge = 'a';

理解できない奴は変数のスコープについてやり直せ。
0018デフォルトの名無しさんNGNG
CでGUIプログラムってかなりキツー(−−;だよね。。。

今作ってるんだけどさぁ、なんかどう作ればいいかが解らなくて躓いてる
0019デフォルトの名無しさんNGNG
おい、関数も全てメソッドに置き換えてみろよ
0020デフォルトの名無しさんNGNG
Cでの何もつけない関数
 void hoge() {}
が
Javaでの
 public static void hoge() {}
って表記になっただけだろ。

でもstaticにするとオブジェクト指向にならない。
Javaで普通の関数をstaticにするやつは話が分からない奴だ。

理解できない奴は関数のスコープについてやり直せ。
0021デフォルトの名無しさんNGNG
>>18
そりゃつらいだろ・・・
0022デフォルトの名無しさんNGNG
>>20
>でもstaticにするとオブジェクト指向にならない。
>Javaで普通の関数をstaticにするやつは話が分からない奴だ。

状態保存する必要ないものはstaticでいいじゃん
0023デフォルトの名無しさんNGNG
>>18
CでGUIを作成できたらもう上級者だぞ。
少し考えてみろ。ダイアログを二つ作りたいときに、ソースを二つ用意せずに済ますには、
オブジェクト指向が必要だぞ。それが最善策だ。
しかしCでオブジェクト指向するのは難しいぞ。
Cの機能、特に構造体と関数ポインタを手足のように使いこなす熟練が必要だぞ。
Win32APIからして既にそういう感じだぞ。
0024デフォルトの名無しさんNGNG
なんか、結局プログラム作るのって熟練と鍛錬なんだなぁ!って思って、でも作れるようになったら楽しそうだなって幻想でしょうかね?^−^;

なんか、意味不明なバグが付いちゃってソコでまた躓いてとってもおそーい製作になってます・・・あはは〜ヽ(。〜゜)ノ
0025デフォルトの名無しさんNGNG
>>23
Cのみでできるものなの?(WindowsのGUI)
どこかで、クラスとか使わない毛ない場面とかない?

もしC言語のみでできるのならちょっとGUI勉強してみようかな
0026デフォルトの名無しさんNGNG
>>24です

>>25
できるよ!
うん、バッチリじゃけんのぉ!(って自分が言えたことじゃないけど

「Win32API入門」でぐぐるとドボンやで
コレはC言語のみ(C++ではない)だけで作る講座です。

自分は初めココを見て勉強してたけど、少ししかわからなかったから本を買って読んでました
(本読んでも分厚くてつらいですよつд`
0027デフォルトの名無しさんNGNG
>>24
いや、そういう「躓き」っていまのうちにしておいた方がいい。
おれなんて、ある一つのバグに1週間も2週間も考えて作業が停滞し「なんでだろ〜」
と悩んだ時期があった。ほんの些細なことが原因だったのだけど。
そういう経験はみんなが通るものだから、ソコで続けられるか否かがポイントだ。
0028デフォルトの名無しさんNGNG
>>26
サンクス
なら、ちょっくらやって見ようかな
0029デフォルトの名無しさんNGNG
>>22
違う。状態保存する必要がないときは、こう書くんだぞ。
public class HogeSingleton {
 {private static Hoge hoge = new Hoge();}//静的初期化ブロック
 public static getHoge() { return hoge; }
}
使うほうはこう書くんだぞ。
 Hoge hoge = HogeSingleton.getHoge();
でないと、Cでいう関数ポインタのような使い方が出来なくなって、
いろいろと不自由するぞ。staticなHoge.hoge()メソッドは受け渡しできないのだぞ。
修正したくてもいまのところstatic修飾子を簡単に外す方法は無いのだぞ。
リスクが高いぞ。きっとデスマーチになるぞ。それでもいいか?
0030デフォルトの名無しさんNGNG
つうか、VC++持ってるんですがC言語しかいまっまでやってなかった・・・
0031デフォルトの名無しさんNGNG
>>29
もしもし?
それは、シングルトンパタンじゃないのですか?
話がずれてるよん

俺の言ってるのはユーティリティークラスのstaticメソッドだよ
ある意味、C言語の関数みたいなものと考えてもいい
0032デフォルトの名無しさんNGNG
えと、バグの箇所がわかってるんですけど。でもなんで?って感じなんですよ。
ソースも張れないしどうすればいいでしょうか?・・・とにかく改良してみます

>>27
はい、コレを一つ作り終えたら理解しきってない所をイメージできるように1から本を読み直します。
(覚えると結構楽しそうな機能ばっかなので、エヘヘ
0033デフォルトの名無しさんNGNG
>>31
そういうものはごく僅かだけあってもいいと思うぞ。
しかし往々にしてクラスに紐付いた処理がユーティリティと呼ばれて
放置されていることもある。悲しいことだ。
 public class Utility {
  public static replaceDot(String arg) { return arg.replaceAll(".", "_"); }
 }
というのは、
 public class StringUtility {
  private String string;
  public StringUtility(String arg) { this.string = arg; }
  public static replaceDot() { return this.string.replaceAll(".", "_"); }
 }
と書いたほうが自然だな。
操作対象は必ず状態として保持したほうがいいぞ。
そうすると次々と、StringUtilityに移したほうが便利な処理が見えてくるぞ。
0034デフォルトの名無しさんNGNG
>>33
間違えたぞ。StringUtilityのメソッドにstaticは不要だったぞ。後悔しきりだ。
0035デフォルトの名無しさんNGNG
>>33
言っていることはわかる、しかし
フィールドの状態保存の意味が無いものはユーティリティー(static)にするっていうことを
覚えたんですが・・・
たとえばMathクラスなんかのメソッドはそうですよね?
で、こういった共通処理を外部に持っていこうとするのが
アスペクト志向です

↑の場合だと
無理やりフィールドを使用しているようにしか見えないのです
0036デフォルトの名無しさんNGNG
>>35
ふむ。Mathはかなり特殊な部類に入るぞ。
あれはJavaの演算機能を拡張するような目的のクラスで、
そもそもオブジェクトでないプリミティブ型を処理するためのクラスだからな。
速度的な問題もあって、オブジェクト指向では無くなっているのだ。
staticは簡単だが、奥が深いぞ。
初めは無理やりに見えたクラスに、非常に複雑な処理が実装されることもある。
0037デフォルトの名無しさんNGNG
>>35
Java1.3までreplaceAllはStringクラスに無かったよ。
代わりにJDK以外のライブラリを使うことが多かったのだぞ。
そういうときに、
 str = Utility.replaceAll(str, "a", "b");
と書くより、
 str = (new StringUtility(str)).replaceAll("a", "b");
と書いたほうがよりオブジェクト指向的だったぞ。

長々と書いたが、どこで切り替えるかは呼び出し回数などによると思うぞ。
どちらかだけに偏ってしまうのは、良くない傾向だぞ。
0038デフォルトの名無しさんNGNG
Javaプログラマーは他の言語に挫折した馬鹿が多いからな。
弱い犬ほど良く吠えるように
頭弱いプログラマーほど2chに沢山書き込むので人数多いように見えるが、
あんなものを人間としての頭数に入れてはいけない。
0039デフォルトの名無しさんNGNG
昔学生運動とかで町の道路をデモ行進してた人たちみたいに?
0040デフォルトの名無しさんNGNG
>>16
> Javaは入りやすいしな
Cからやったほうが入りやすい。

> 本屋行っても、Java関係ばっかり
ネットワーク関係やオブジェクト指向の使い方を説明するにはJavaがやりやすいから当然。

> Cの雑誌なんて、Cマガぐらいだろ?(しかも、Java載ってるし・・・)
なぜかJavaがたくさん載っているのがワラタ。半分くらいJava?。 
だがアルゴリズム関係が載っているのは重宝する。あれは読みやすければCでもかまわない。

> 大学での、授業ではJava>C言語
それはありえん。

> あるいは、C言語採用しているところはもう無いかも・・
んなこたあない。

> なのでとりあえずこの板に来た場合
> 参加できるスレはJavaが多いってことじゃない?
Java質問スレをみるとなんども同じ初歩的な質問がきてうんざりする。
Javaをやり始める香具師が毎年増えているようだ。
0041デフォルトの名無しさんNGNG
>>38
おそらく煽り釣りだろうけどマジレス。
そんなにJava関係スレが多いものかと小一時間(ry
マ板やWeProg板はJava関係は少ないし。
0042デフォルトの名無しさんNGNG
>>40

>> Javaは入りやすいしな
>Cからやったほうが入りやすい。

>> 本屋行っても、Java関係ばっかり
>ネットワーク関係やオブジェクト指向の使い方を説明するにはJavaがやりやすいから当然。

ナニを矛盾したこと言ってるんだよ
「ネットワーク関係やオブジェクト指向の使い方を説明するにはJavaがやりやすいから当然。」
だからJavaは入りやすいってことだよ。
何やるにしてもライブラリが充実している。
Cでこんなもんやってたら低級プログラミングすぎて
難しすぎて初心者はわからなくなる。
0043デフォルトの名無しさんNGNG
>>42
うん、言いたいことはわかった。
ライブラリが充実してるって言うのはどういう意味?
ほどほどでしょ?

javaって中途半端に省略する人が多くて困るんだよね。
関数名とかね

D言語を一度見るといいよ。
0044デフォルトの名無しさんNGNG
サーバーサイドはJAVAが圧倒になるから、クライアント側はかなり競争してるんじゃないの?>プログラミング言語
クライアント側ではまさかJAVAが取るとは思えないけど、もし取られたらかなりヤバー
0045デフォルトの名無しさんNGNG
>>43
>ライブラリが充実してるって言うのはどういう意味?
>ほどほどでしょ?

PDF扱ったり、データベース扱ったりXML扱ったり
そういうライブラリが当たり前に使えることは充実しているということに繋がる。
Cで初心者が同じことをやろうとするととんでもない時間がかかる。
1からやらないといけないわけだからね。
文字列の処理に関しても
C言語はかなり低レベルのことからやらないといけない
たとえばstrtok関数は日本語環境では使えないよな?
なので、自作のstrtok関数あるいはそれに代わる方法を考えないといけない。
自作の関数ライブラリをたくさん作っていって自分のプログラミング環境を整える。
これがCのプログラミングスタイルだ。
そうやって、自作の関数やライブラリを増やしていく作業から初心者は入らないといけない

Javaならそういったものがそろっているので(ライブラリが充実してる)
すぐに目的のアプリケーションが組める



0046デフォルトの名無しさんNGNG
wcstokじゃだめなの?

まぁ、房には批判することしか出来ないだろうケドね。
C使ってる人は、あっそ程度にJAVA房の言い訳やら反論やら聞いてると思うよ
0047デフォルトの名無しさんNGNG
>>42

おれがいいたいことはそういうことじゃなくて
まずCからアルゴリズムの基本をやって次にオブジェクト指向を
覚えつつJavaをやれということで。
全部Cだけでやれとは言わない。むしろやるなといいたい。
ネットワーク関係はもちろんJava、
メモリやOSなどの仕組みを知りたければCから入れと。
0048デフォルトの名無しさんNGNG
>>43
> >>42
> うん、言いたいことはわかった。
> ライブラリが充実してるって言うのはどういう意味?
> ほどほどでしょ?
分野にもよるよ。最近仕事で使えるライブラリはJavaのほうが圧倒的に多いかな?
無量で使えるものでネットワーク関係、C/Sシステム関係ではJavaのほうが充実しているね。

> javaって中途半端に省略する人が多くて困るんだよね。
> 関数名とかね
そんなネーミングつけたがる人はC/C++から移行した人かね?
なるべく動詞にするというガイドラインがあるはずなんだけど。
0049デフォルトの名無しさんNGNG
>>48
動詞にするとかじゃなくてねぇ・・・
てかJAVAを知らない人がJAVAを批判することなかれ、漏れは退散しまつ
0050デフォルトの名無しさんNGNG
>>44
> サーバーサイドはJAVAが圧倒になるから、クライアント側はかなり競争してるんじゃないの?>プログラミング言語
> クライアント側ではまさかJAVAが取るとは思えないけど、もし取られたらかなりヤバー
それも、時間の問題かな。Swing/AWTの速度問題の解決は
ハードウェアの性能向上にかかっている。

WindowsのほうではWinFXとやらがでて厨房どもが見た目に引き寄せられて
あれに飛びついてあっちのほうだけC#やVB.NETがシェアを伸ばしそうだが。
0051デフォルトの名無しさんNGNG
>>49です。
printlnみたいな変な略式はよしてほしい・・・と、後半なるとココまで変な略はないの?
0052デフォルトの名無しさんNGNG
>>51
後半?
0053デフォルトの名無しさんNGNG
>>52
ん〜と・・・表現が難しいです。
ttp://msugai.fc2web.com/java/
のhello!world!とかの章を読んでみたので

このHPでの後半という具合で、
まぁ、入門書の中盤以降という意味です
0054デフォルトの名無しさんNGNG
(;´Д`)オイオイ
0055デフォルトの名無しさんNGNG
>>53
自分独自の変な表現しやがって。

その入門書はJava標準言語仕様だけを書いているとおもっておるのかと。
StrutsはJava言語仕様とは関係ないぞ。
0056デフォルトの名無しさんNGNG
早くSWTが標準にならないかなぁ・・・
0057デフォルトの名無しさんNGNG
お兄ちゃんどいて!そいつ殺せない!
0058デフォルトの名無しさんNGNG
>>56
それでどうしたい?
0059デフォルトの名無しさんNGNG
brewとjavaの対決はどうなると思うよ?
0060デフォルトの名無しさんNGNG
共存するものを「対決する」と考えるだけアフォです
 
0061デフォルトの名無しさんNGNG
その答えを待っていた。とでも言うと思ったか?
それは企業戦略の一つの言葉に過ぎない
「共存する」brewがjavavmを扱えるといっておいて brew の方が立場が上にあるとスリこむのさ

死の戦いだぜ、一歩間違えたら一気に破産が世界を相手にする会社だ
0062デフォルトの名無しさんNGNG
そんなことより、BREW開発環境がタダで出ないってどういうことよ?
0063デフォルトの名無しさんNGNG
ありえないね、こんなんで普及するとでも思ってんのかゴルァ!!!
本スレの方だと金出して開発してる人が結構いるみたいじゃんかよ

5万円?・・・やばいってばTT
0064デフォルトの名無しさんNGNG
普及しないなこりゃ。
もっと安くするかただでできる奴が出回らないとJavaには勝てまへん。
0065デフォルトの名無しさんNGNG
>>60
両方使える端末はない。
0066デフォルトの名無しさんNGNG
BREWの上でKVMとかうごかせぇあ共存なり
0067デフォルトの名無しさんNGNG
Cだけでエンタープライズアプリケーションを作るのは難しいからね。
0068デフォルトの名無しさんNGNG
>>67
それが、開発陣というかQUALCOMM社はCと言ってるけど
コレはもうCとは言いがたい状態になってると言ってたぞ・・・
0069デフォルトの名無しさんNGNG
2chにたまるJavaerって妄想厨が多いね。
0070デフォルトの名無しさんNGNG
JAVA自体妄想の産物だしな
0071デフォルトの名無しさんNGNG
>>Java質問スレをみるとなんども同じ初歩的な質問がきてうんざりする。
>>Javaをやり始める香具師が毎年増えているようだ。

なんでJavaがアホっぽく見えるかというと、
Javaはアプレットとかあるからとっつきやすそうに見せることができんだよな。
超入門ですぐWindow作ってグラフィカルなもの見れるから面白そうにも見せられるし。
(超入門だと標準入出力にしかなりえないっていうCとはやっぱりここが違う罠。)
んで、そんなようなアプレットベースの本も含めて溢れてるから、一層アホっぽく見えるわけだ。

Java使いがアホとは俺は決して思わんが、アホも沢山いるのも確かかも。
Cならポインタで挫折しちゃうような人々が今Javaに群がっている。んな状況ない?
だから、そーゆー人とJavaについてよくわかってる人を区別せにゃいかん。
そーおもうがの。
(ココで言う「ポインタで挫折」ってのは「ポインタがわからん」って意味で言ってる。
「ポインタ表記がウザイ」の人は入らんぞ)
ちなみにワシはCとJava両方使うがの。
0072デフォルトの名無しさんNGNG
ポインタで挫折した奴はJavaすらもできないぞ。
なぜならJavaはポインタを使ってオブジェクト指向するからだ。

ということで「ポインタで挫折」が理由でJavaを塚手いるのが多いからJavaがアフォっぽい
といっている奴のほうがむしろアフォっぽい。


そして、むしろオブジェクト指向を理解できずにJavaを理解しようとしないC厨が多いCがアフォっぽくみえる。

   
0073デフォルトの名無しさんNGNG
C#よりも勢いが(ry
0074デフォルトの名無しさんNGNG
Javaでポインタ云々の直接的な話はないし、そもそもCのポインタを一生懸命
勉強したにもかかわらず理解できなかったって、人間レベルの話じゃないし。
脳みそないならそもそもプログラミングすべきじゃないんだよ。
0075デフォルトの名無しさんNGNG
C++のほうが手になじんでいるんだ
いまさらJavaなんかに移行できるかよ
0076デフォルトの名無しさんNGNG
Java自体(jvm, javac)はC言語で書かれている予感。
0077デフォルトの名無しさんNGNG
JVMはC/C++だが
JavaCはJavaでかかれている。
0078デフォルトの名無しさんNGNG
どうでもいいが「〜のほうが」を「〜のが」って略すのイヤ。
0079デフォルトの名無しさんNGNG
片仮名でイヤ、ってオカマ臭い。
0080デフォルトの名無しさんNGNG
漢字で片仮名って老人くさい。
0081デフォルトの名無しさんNGNG
略して加齢臭
ちかよらないで!>>80-78
■ このスレッドは過去ログ倉庫に格納されています