2ch勢いランキングまとめ
メニュー

C#vsJavaどっちが好きか教えてくれ2

この話題の盛り上がりグラフ
2017-03-20 20:37:41 最終更新
1 デフォルトの名無しさん

ちなみに俺もC#派だ。

前スレ

C# vs Java どっちが好きか教えてくれ ©2ch.net

http://echo.2ch.net/test/read.cgi/tech/1450405283/

8 デフォルトの名無しさん

>>1乙

47 デフォルトの名無しさん

その玩具だけど、新しい巣を見つけたようだよ。

48 デフォルトの名無しさん

>>47

そうか、それはよかった

64 デフォルトの名無しさん

C#の開発環境の貧弱さったらない

65 デフォルトの名無しさん

>>64

うんちょっと意味が分からない

eclipseがVSに劣るに決まってる

67 デフォルトの名無しさん

>>65

Javaの開発環境がeclipseって理解の時点でちょっとね

VSってMacで動きましたっけ?

68 デフォルトの名無しさん

>>67

貧弱ってどこらへんが?

MonoDevelopはMacで動くはず

ProjectRiderもまだ正式版じゃないけど、Mac対応

69 デフォルトの名無しさん

>>68

MonoはUnityで開発するとき使ってるけどストレスが多いよね

InteliJ使ってれば補完の賢さ、リファクタリングの強力さコミットの楽さは秀逸

72 デフォルトの名無しさん

>>69

ProjectRiderがInteliJ&ReSharperベースだからいいかも

まだ先行版だしUnity対応とかはわからんけど試してみては

JetBrainsは学生無料なのも素晴らしい

140 デフォルトの名無しさん

Oracleの嫌われっぷりは半端ないね

世界中の企業のデータというデータを握っていて、殿様商売しているから仕方ないね

しかし、していることと言えば、技術的にはデータを保存しているだけであり

Googleのような流動的な目新しさが無い

そのくせ、自社製品の検定試験まで作って、もうやりたい放題だね

143 デフォルトの名無しさん

>>140

「連鍋」「泡油」「碗献」この三つは中華料理人なら覚えてなきゃいけない初歩の初歩だ! おまえそれ知ってんのか!?

239 デフォルトの名無しさん

そもそもアンドロイドはJavaではないスレ違い

240 デフォルトの名無しさん

>>239

アンドロイドはopenjdkに移行するって何度言えばわかるの

言語そのものはJavaだし

242 デフォルトの名無しさん

>>240

しかしオラクルは他の件で裁判続行中

グーグルはいつまでJava使い続けるんだろうな?

MSと同じようにそのうち捨てるんじゃないかな

291 デフォルトの名無しさん

リテラルって糖衣構文なんだし

別に見やすくていいと思うんだが

感覚の違いかな…

292 デフォルトの名無しさん

>>291

??

リテラルとか糖衣構文とか、なんのことを言ってるの?

293 デフォルトの名無しさん

>>292

C言語からやりなおしてこい。

だからjavaプログラマは駄目だって言われんだよ

294 デフォルトの名無しさん

>>293

この文脈において、なにがリテラルで、それはどういう構文の糖衣構文なの?

あなたはダメじゃないプログラマだとお見受けしたのでご教示ください

333 デフォルトの名無しさん

C#が今後力入れるのはASP.NETだと思うよ。Azureで稼ぐわけだね

ツール類を無料でばらまくのも変な宣伝入れるより実効力がある

335 デフォルトの名無しさん

>>333

ASP.NETよりSpringのほうが優れてる

337 デフォルトの名無しさん

>>335

springって何?

338 デフォルトの名無しさん

>>337

https://ja.wikipedia.org/wiki/Spring_Framework

355 346

曖昧な書き方でごめん。varとLinqは好き。

decimal、getterとsetterの文法、フォルダとnamespaceを一致させる必要が無い、これらも嫌いじゃない。

拡張メソッドはまだ使ってないけど期待してる。

finalやEnumはjavaの方が好き。

358 デフォルトの名無しさん

>>355

拡張メソッドもいいですね。

C#のfinal、Enumは別に悪くないという気がするけど、どの点がJavaのほうが良い部分なの?

359 デフォルトの名無しさん

>>358

例えば、先頭で沢山変数用意してその後で分岐とループしまくる、そんな大きめのメソッドよくありますよね。

メソッド変数にfinalが使えれば、valueとvariableの区別がついて、多少読みやすくなるかなと思ったのです。

例えば、DBから取得した文字列のHogeCodeをswitch文でHogeEnumに変換したり別のEnumに変換したりその逆をしたり、そんな処理よくありますよね。

javaのEnumなら中に値やメソッドを持てるから、変換をそこに隠蔽すれば、多少読みやすくなるかなと思ったのです。

C#の知識と技術が足りてないので、アホな悩みだったら笑ってください。

360 デフォルトの名無しさん

>>359

final については、定数みたいにしたいなら、C#だと、constとreadonly, static readonlyがありますね。

それぞれ微妙な差があるので、用途に応じて使い分けるみたいです。

enumについては、java --> C# した多くの人が「javaに比べて機能が足らない!」と不満を持つみたいです。

でも、これは拡張メソッドで多くはスマートに解決するそうです。

以下のURLなどを参照してみて。

http://monokurotamago.hatenablog.com/entry/2015/01/19/225104

361 デフォルトの名無しさん

>>360

ありがとう。頑張ってみます

534 デフォルトの名無しさん

そこら辺の決定の遅さは,JavaとC#の独自拡張に対する考え方の違いだろうね.

Javaは「一つのJava」だから,

こういったこともじっくりと審議して決めなきゃいけない.

C#は独自拡張は自由だから先に独自拡張版を公開して,

後から規格に入れられる.だから,先進的な機能を入れやすい.

535 デフォルトの名無しさん

>>534

あんまjavaの開発体制に詳しくないんだけど、誰かが最終的な決定権をもってるわけではないってこと?

方針が対立したらどうすんの

536 デフォルトの名無しさん

>>535 支離滅裂な書き方して悪かった

環境依存性を気にしなければC#だと機能を追加できるけど,

Javaは環境依存なる全てのコードそのものを禁止しているから

公式が追加するまで待たないといけないってこと.

552 デフォルトの名無しさん

>536

ローカル変数の var ってコンパイラ上で完全に解決するよね?

varを使ったか使わなかったかはclassファイルには全く影響しないと思うんだけど

なんでこの機能はこんなに長期間リリースされないの?

539 デフォルトの名無しさん

C#はJAVAをパクった言語だけど

今のJAVAはC#のパクリ

それも周回遅れでね

541 デフォルトの名無しさん

>>539

>C#はJAVAをパクった言語

C#の構造体やプロパティやデリゲートやアンセーフポインタは

Javaのどの機能が元ネタですか?

546 デフォルトの名無しさん

>>541

流石に全機能丸パクリってわけじゃねーんだわ

MSの俺様が考えた独自仕様も含まれてるわ

つか、全機能丸パクリなら

MSは素直にJAVA採用しただろうしな

555 デフォルトの名無しさん

>>552

結論を言えば規格を決めている連中がこれらの機能についていらない

もしくは入れたくないと考えているから.

Javaは反MS色が強いからこうしたMSを連想する機能を

規格を決めている連中にしてみればあまり入れたくないんじゃないかな.

普通ならそういった規格を決めている会議は

その仕組み上,こうしたある特定の色が強くなりくいようになっている.

だけど,その点Javaは他言語とは違いこの規格を決めるのに

元からある国際的な標準化団体ではなく独自に決めているから

こうした反MS色が強くなりやすいんだよ.

もっとも,Javaの一部の開発者はこのことを誇りにしているみたいだけど...

572 デフォルトの名無しさん

>>555

C++11にもローカル変数の型推論が導入されて大した問題起きてないのに

Javaの連中は何が気に入らないのか…

564 デフォルトの名無しさん

あれ?この変数の型なんだっけ?ってなった時にすぐわかるためにも

型は書いとけよっておもう

そんなめんどい話じゃないだろ...

599 デフォルトの名無しさん

>>564

めんどいからvarを使うんじゃなくて可読性を上げるためにvarを使うのよ。

SuperHogeHogePiyoPiyoMiracleWonderEccentricClass x = new SuperHogeHogePiyoPiyoMiracleWonderEccentricClass();

var x = new SuperHogeHogePiyoPiyoMiracleWonderEccentricClass();

582 デフォルトの名無しさん

>>572

たぶん,老害(笑)たちが新しい構文があまり入らないように活動しているからだよ

600 デフォルトの名無しさん

>>599

ふつうはメソッド使って処理を分割するから

var x = ringingJustify();

こうなる、そうするとxの型がもはやわからない、可読性最悪

varは有害と思われる

611 デフォルトの名無しさん

>>600

このケースはメソッドの戻り値の型が容易に分かる(メジャーなメソッドや、メソッド名から型が推測できる等)ならvarを使う。

そうでなければ型指定。

あと目玉焼き君も言っているようにvarを使わざるを得ないケースもなる。

# しかしvarを頑なに拒む人ってソースコードを紙に印刷して見てるんだろうか

614 デフォルトの名無しさん

C#に型推論が出た当初は、同様に各所で似たような議論があったけど、>>611の言う通り適材適所という結論で収束していった。

今更すぎるなぁ。

663 デフォルトの名無しさん

Java8のStreamは、関数型・遅延処理・並列処理など、何でもできる

AltJavaに、Scala, Kotlin, Groovy

666 デフォルトの名無しさん

>>663

ラムダでfinalしかキャプチャできないのがめちゃ困るんですけど

667 デフォルトの名無しさん

>>666

AtomicBooleanとかAtomicReferenceでラップするだけじゃん

668 666

>>667

はえー、知らんかったありがとう。

厳格にいろいろ意識させるJavaとストレスフリーを目指すC#って感じかな

671 デフォルトの名無しさん

>>668

言語の設計ポリシーの話だったらよかったんだけど

実際にはJVMの制限を回避するために面倒な書き方しなきゃいけないってだけだからなぁ

679 デフォルトの名無しさん

以前マイクロソフト色がうんぬんってレスったら、何であんな過敏に反応されたんだろう?

Java勉強してるけど、Oracleがうんぬんなんてほとんど気にならないんだけどな…。

681 デフォルトの名無しさん

>>679

Android で開発したら Google vs Oracle の訴訟と無関係では居られない

687 デフォルトの名無しさん

Cシャーパーの強みはVBにも対応できるところだが

ここのCシャーパーはレベル低くてワラタ

こんなやつ採用したら地雷だわ、頭かたいおっさんだから

もう覚えられないんだろうな。

689 デフォルトの名無しさん

>>687

ではJavaプログラマーの強みは何ですかねぇ?

693 デフォルトの名無しさん

>>689

風呂釜掃除が得意そうに見える

700 689

>>693

お湯を取り込む穴に差し込んで中から汚れを落とすやつでしたっけ?

728 デフォルトの名無しさん

"Write once, run anywhere" (WORA、「一度(プログラムを)書けば、どこでも実行できる」)とは、

Javaのプログラムがオペレーティングシステム (OS) などのプラットフォームに依存しない

という意味の、サン・マイクロシステムズのJavaのスローガンである。

Write once, run everywhere (WORE) ともいう

Write once, run anywhere

-Wikipedia

732 デフォルトの名無しさん

>>728

write once, debug everywhere

733 デフォルトの名無しさん

>>732

‥‥‥

元スレ

C#vsJavaどっちが好きか教えてくれ2
http://echo.2ch.net/test/read.cgi/tech/1458967180

その他おすすめ

関連キーワード別のオススメ

コメント

本サイトはまだコメント機能がありません。ご連絡事項については「メニュー」の「本サイトについて/お問い合わせ」よりご連絡をお願いします。