テクノロジー

【C#】何故 C# を好むのか。~他の言語と比較しながら~ - ねののお庭。

1: fivestech 2025/04/14 14:10

ASP.NET CoreはDevOpsに必要なサービスもビルダーパターンで簡単に注入できるのが嬉しい。コンポジション最高。小中大どの規模でも安定して速度が出せる最高のフレームワークっすよ。技術選定で争いにならないのも良い。

2: Ovis 2025/04/14 14:16

C#はよくできてるとほんと思う。.NETがクロスプラットフォーム対応したのも大きい。後はASP.NET がレンタルサーバーとかでPHPと同じくらい手軽に利用可能になったら初学者の裾野が広がるのにと思ってる。

3: devrabi 2025/04/14 16:40

他言語を推す人からのアンサーもお願いします

4: vtsubo 2025/04/14 16:50

よく知らんけど.NETとかいう謎ネーミングでだいぶ損してると思う

5: yorkfield 2025/04/14 17:11

C#は結構好きな言語なんだけど、C#で作りたい物が無くて最近使ってないなあ。何か作りたい物ができたらまた使うかな。

6: red_kawa5373 2025/04/14 17:32

C#でWebアプリを作るノウハウがWebに無い。これが全て。記事中に「99%のエンジニアは弘法ではない」と書いてるが、弘法ではない多くの人は、軽く検索してcshtmlなんて拡張子を見た瞬間に、二の足を踏むだろう。

7: gabill 2025/04/14 17:42

Windows+Visual Studioなら環境構築で悩むことがほぼなく、純粋にプログラミングだけに集中できるのが個人的には一番の魅力。プログラミングする上で一番難しいのが環境構築。

8: kagerouttepaso 2025/04/14 17:42

C#ずっと使ってる民としては、ブラウザ然りデスクトップ然りGUIフロントエンドにおけるデファクトなフレームワークが存在しないのが痛い。逆にそれがあるゲーム(Unity)は強い印象。

9: pakila 2025/04/14 18:01

硬派さと柔軟さのバランスが良い言語という認識。

10: shiketanotsuna 2025/04/14 18:07

マイクロソフトMVPに選ばれたからじゃないの?

11: tor4kichi 2025/04/14 18:11

WinUIで開発してるけどC#+.Netはとてもいい。VisualStudioインストーラーとnugetの依存パッケージ管理のおかげで開発環境構築で困らない。アプリ開発ではMSストア提出作業含めて手間が少なくて非常に快適。

12: versatile 2025/04/14 18:16

市場にC#のエンジニアがいっぱいいれば採用する。一番取るべきパイは Java の戦場だが、10年以上経っても状況変わらない

13: twotiger 2025/04/14 19:07

C#は速い。これは事実。Goは大して速くない。ただし、フットプリントは小さい

14: topiyama 2025/04/14 19:09

主にGUIだけど、20年前のソースコードも変更せず.csprojだけ変えればビルド出来て動く後方互換性ありがたい。 .net frameworkのサポートいつまでか続くかな?次の10年もお願いします/クリーンアーキテクチャの解説ありがたい

15: fa11enprince 2025/04/14 19:18

C#いいとは思う。virtualってキーワードがC++のままでorverridableにしなかったのは残念。Javaは指定すらできないが。あとLINQは構文がなんか嫌以外は不満がない。ただいまいちLinuxで採用されてない気がする。

16: Shinwiki 2025/04/14 19:32

"何故" うーん、win32apiの呼びやすさくらい…?

17: ghostbass 2025/04/14 19:39

こう言う記事を待っていた。

18: beejaga 2025/04/14 19:43

C#は言語仕様だけみてもJavaやPyhtonよりも全然よいのだが何故かJ#扱いされてる印象

19: misshiki 2025/04/14 19:43

“自分が使っているプログラミング言語を批判されたりするとまるで自分が否定されたかのように怒り出す人がいます。 宗教じゃないんだから...。”

20: poco_tin 2025/04/14 19:56

脳内で浮かんでいるアルゴリズムを書き下すのに一番苦がない言語 コーディングもテストもデバッグもVisual Studioとの組み合わせが最高すぎる

21: mk173 2025/04/14 20:24

デリゲート?

22: knjname 2025/04/14 20:28

erasureは別に悪いことばかりではないと思う TypeScriptだってものすごく支持されてるし下手にランタイム表現になってると型検証という用途があやふやになるという批判もあると思う

23: hurafula 2025/04/14 20:54

Monoが終わってたのを初めて知ったくらいC#書いてないですが、書いてて気持よかったです。たしか競プロをPythonで始めて速度がしんどくなったから触り始めたのが最初 もっかい入門してみようかな!

24: nzxx 2025/04/14 20:54

C#がいい言語なの自体はまあそうかもしれないけどVisual Studioの道からちょっと外れるようなことをすると途端に面倒になる印象/C#ユーザーとしてもVS使えって感じなら積極的には使わないかな

25: kaorun 2025/04/14 20:59

ASP.NETにしても、Blazerにしても、なまじ開発リソースがあるから、上から下までゴリゴリ作れてしまって独自性の塊になっちゃうのが問題だと思うんだよね

26: satomi_hanten 2025/04/14 21:04

後発な分言語設計もきれいだしMSらしく後方互換性も高い。C#を使いうる状況でC#を選ばないのは客都合だけ。何よりVSが楽。

27: hase0510 2025/04/14 21:07

C#は参照をイミュータブルにするための機構が弱いと思うんだよなあ。read-onlyなinterfaceをいちいち用意するのは嫌なんだけど。

28: mugimugigohan 2025/04/14 21:07

SE時代に一番触れた言語だから今でも現役なのが嬉しいな

29: ryousanngata 2025/04/14 21:23

.NET Core 3.1から.NET 6のEFCoreのアップデートに苦戦した思い出があるので依存地獄が無いわけではないと思ってるけど、.NET6以降の話なら書かれている通りだと思う。あとAzureで言語を選ぶ必要があるならまずC#がよいです

30: typographicalerror 2025/04/14 21:42

文章の長さがなんとなくC#好きな人っぽさを感じた / 全然嫌いな言語じゃないんだけど、Visual Studioは嫌い

31: auto_chan 2025/04/14 21:44

わかるよーわかってあげられるよー。カチッとしたC#かザクッとしたpythonの2択。関数型言語っぽいエッセンスを積極的にとりこんでネストとカッコがごっちゃごちゃになる系の言語は心が病む。

32: mohno 2025/04/14 21:48

なんの制約もない、自分用のプログラムを書くならVisual StudioでC#。最新情報を追いかけなくなって久しいが、よく使いそうなものはフレームワークに機能がある。WPFが広まらなかったのは残念。

33: cbkf 2025/04/14 21:57

C#は新機能の追加に際して、仮にその内部実装が技術的に簡単だったとしても、それを文法上スッキリ表現できる記述法を考え出す/発見するまでは絶対に言語仕様に加えない。だから書き(読み)やすさを維持できている。

34: atsushieno 2025/04/14 21:58

.NETのSystem.Stringの実装が利用しているLCMapStringの文字列処理なんか、xkcdのあの絵よりもひどくて、開発者が死んでもう誰も正しい実装のあるべき姿を把握できていないよ。あとx-plat対応は2018年以降は他よりはるかに劣る。

35: takuya23456 2025/04/14 22:02

下請けにいるときはよく使ってたが、本当に良い言語。javaやった後だと本当にC#の良さがわかる。但しenumに関してはjavaのほうが色々定義できてめっちゃ使いやすい。

36: peperon_brain 2025/04/14 22:07

FaaS上での開発例を聞かないなと思ってたけど、Lambdaは対応してるんだね。GCPだとCloudFunctionsでは扱えず、CloudRunは選択肢入るか。

37: heizoh 2025/04/14 22:10

そこそこ速くてそこそこ書きやすいと思っている、優等生的なイメージ

38: roshi 2025/04/14 22:31

async/awaitの生みの親なのは有名だけどred green treesでLSPにも関わっていたのは知らなかった。

39: labor9 2025/04/14 22:42

好き🩷

40: tacamula 2025/04/14 22:50

5年前とかに当時の機能でにリリースされてたら違ったかもしれないが、環境が初期から変わらない感じ。MS系の仕事長いかUnity使うかの経験者しかいないと採用に苦戦しそう。仕事で使って悪くなかったが

41: unmarshal 2025/04/14 23:01

C#は母数的にWEB系スタートアップで選択肢に入らない事が残念。TSやpythonの労苦はツラい。Goは機能少ない&genericsは共感。サブタイプが出来ないのがツラい。ただ公式のエコシステムが優秀で標準ライブラリで何でも出来る

42: moke222 2025/04/14 23:16

初期の頃、シリアルポートで四苦八苦したのはよい思い出。(んなわきやないマジで

43: ooblog 2025/04/14 23:18

#OSS #Csharp #ぬるぽ 「C# の標準ライブラリが分厚い~Python~依存関係地獄が避けられず~Ruby~型で挙動を保証できない~静的型付け言語~コンパイル時型チェック~コンパイル時最適化~(ほぼ)null安全~TypeScript側の技術が輸入された形」

44: FreeCatWork 2025/04/14 23:22

C#の話?ふむふむ…面白いにゃ!もっと教えてにゃ!

45: umaemong 2025/04/14 23:37

好き。MSを好きになれるか否かで評価が分かれると思う。宗教戦争に巻き込まれがちというか、邪教扱いしてもよいと思われてるというか。MS叩けば受けると思ってる層が一定数いるのがなぁ。

46: degucho 2025/04/14 23:50

言語仕様は後発だけあってよく練られてるよね。利便性と機能性のバランスがよい

47: rosiro 2025/04/15 00:03

Unityでしか使ってないけど、C#好き

48: ryudenx 2025/04/15 00:41

イケイケスタートアップで採用されないのは、法人で使うとVisual Studioが有料になるから。やっぱりあれがキツイ

49: dgen 2025/04/15 00:42

Unity でちょっと触った。「Java とほとんど同じじゃん」と思ってたけど中身はかなり違うのか。

50: torimetal 2025/04/15 01:18

後方腕組み人の頷きが止まらない

51: suka6411144 2025/04/15 01:20

同じMSでもTypeScriptはあんなに好かれている謎/C#というとWindowsのイメージがつよくてあえてlinuxで C#にしようってならないだけなのかも、イメージの問題

52: bgioasfd 2025/04/15 01:21

XAMLを憎んでC#を憎まず

53: SPIRIT_PHOENIX 2025/04/15 01:23

個人的に書くのが楽しい言語。

54: kobito19 2025/04/15 01:29

言語の筋は良くとも利用者がロートルで稼働してる実際のコードがクソなイメージ。VB上がりのプログラマーが勉強せずに使ってたりとか。staticおじさんもC#でしょ

55: sabro 2025/04/15 01:35

コメントべた褒めだなあ。自分も好きです

56: higgsino 2025/04/15 01:48

言語仕様的には好きだけど実質Windows専用言語になってるから結局使わない

57: yarumato 2025/04/15 02:05

C#製のWindowsアプリがLinux+wineで導入できてないので、あまり印象よくない。

58: s-nanagi 2025/04/15 02:15

C#はUnityとそのバックエンドのサーバーでは使う。でも他の用途だとTypeScriptやRust、Goなどと比較されるので強い気持ちで選ばないと別の言語になりがち。C#は手堅いが用途ごとに見ると他に魅力的な選択肢があることが多い

59: bopperjp 2025/04/15 02:17

MSはこれを超える言語(+エコシステム)を今後作れるんだろうか?

60: tybalt 2025/04/15 02:21

MS 圏外だと Unity 用の言語という感じ。利用を促進したいなら、もっとコミュニティ主導の体制を敷くと良いと思う。

61: tyosuke2011 2025/04/15 02:31

ゲーム開発はC++メインだけどな

62: pokepirk 2025/04/15 02:37

最後に書いたの5年以上前だけど、当時既にサジェストが内容もレスポンス速度もかなりよくてドット打ってるだけで楽しかった

63: hamamuratakuo 2025/04/15 04:08

C#はMicrosoftがJavaに対抗して作った言語という印象。それ以上でもそれ以下でもない。プログラミング言語はあくまで手段。目的によって最適な言語は変わる。なぜC#以外の言語が存在しているのか?理由を考えれば自明の話

64: bfoj 2025/04/15 04:46

使われている言語ランキングベスト5に入っている印象。

65: srng 2025/04/15 04:49

async awaitなど多くのパラダイムはC#から生まれてる先進的な言語。MSのJavaと言ってる人は自身の無知を表明してるだけ。Javaは真逆で相当遅れてる言語

66: atico 2025/04/15 05:58

Windows以外でも開発できるといっても、まともな開発環境がないイメージがある。 またライセンス周りもあるので気軽に導入出来ない。 エンタープライズ向けシステムやゲーム開発以外に使われることはある?

67: morita_non 2025/04/15 06:03

ほんのちょっぴりベターJavaという印象。

68: ssfu 2025/04/15 06:22

Microsoftが安定性を担保してくれているところ

69: gomaberry 2025/04/15 07:13

弦楽器のチューニングの話かと思いきやそっちか。使ってたのに忘れてた。

70: yood 2025/04/15 07:32

好きだけどスタンダード化するとMSがまた悪い方に増長するので今ぐらいのポジションで

71: jintrick 2025/04/15 07:41

参考になる良記事。逆に俺は余計なことは生成AIに任せてアイデアに注力していこうと思った。

72: p_tan 2025/04/15 07:51

C#は良い言語。代数的データ型が入ったらさらに良い。あとrecordの記法でprivateコンストラクタにできて、コンストラクト時にバリデーションできれば完璧。

73: habarhaba 2025/04/15 08:02

俺もC#は言語として好きなんだけど、仕事でC#が使われてる現場は火が燻ってる予感があるのよ…

74: getcha 2025/04/15 08:05

技術界隈はイメージ合戦。MSさんが作っているものは大半の人には高クオリティ。OSS系は実際はかなり遅れていて、使い始めると音を上げる人が多い/ HWもメインフレーム辞めるとx86の障害の多さに文句言ってくるのが普通

75: Flume 2025/04/15 08:17

Windowsアプリケーション作るなら良いんだけど、JavaとかPythonとかと比べて案件が少ないから今更わざわざ使おうと思わないんだよね。ゲーム業界とかはどうなのか知らん。

76: z67kjh 2025/04/15 08:17

ヘジたんが関わってる言語に外れはないよ…

77: eriotto 2025/04/15 08:20

専門学生のときにC# 1.0の分厚い本を2冊買って以来C#推しで生きており、現在の現場の基幹システムでも採用してもらってる。流れは速いけど互換性維持への信頼は高い、甘えている部分でもある

78: PrivateIntMain 2025/04/15 08:21

Not Webなら一択ぐらいにはすき。WebはASPNetCoreの一番最初のStartupのプラクティスが調べるたび変わってる(他の言語に引きずられてる感もある)のできらい。

79: door-s-dev 2025/04/15 08:27

Javaの方がうまくエコシステムを構築できた感じする。C#は結局Windows向けという印象を払拭できてない。サーバはLinux使うからねぇ

80: airj12 2025/04/15 08:40

固さと節操の無さが丁度良くて好きな言語

81: lets_skeptic 2025/04/15 08:41

C#とJavaが似てるはよく言われるし分かるけど、C#を使い込んだあとにJavaに戻ると、めちゃくちゃ修行僧の気分になる

82: nuts4 2025/04/15 08:43

野暮な指摘ですがこれは正確にはV8が速い > 「JavaScript は高速な言語 (例えばですよ!)」と言った時、より正確には「Node.js が速い」あるいは「Deno が速い」

83: strawberryhunter 2025/04/15 08:44

Windows専用アプリケーションならC#だと思ってる。他の言語だとアホほど面倒なWindows特有の処理が簡単に書ける。言語仕様は慣れの問題。他のプラットフォームではあえて選ぶ理由は無さそうに思う。

84: soybeancucumber 2025/04/15 08:58

C#は使わないが良い内容だった

85: yukimi1977 2025/04/15 09:00

特に不満もないからそんなに語られていない印象がある。うちでもメインはC#。

86: tamayuz 2025/04/15 09:01

なんだかんだでC#で20年以上ご飯食べれてる。信頼してます。

87: circled 2025/04/15 09:15

railsやlaravelは新機能をサクサク盛り込む開発速度が早いのよ。処理速度的に厳しい箇所はGoで書いて、その処理だけGoにやらせれば良いので、別にクラウドの費用をCPUぶん回し課金で溶かさなくても済むのだな

88: benibana2001abc 2025/04/15 09:25

Vimから離れられないので書きたい、作りたいものはあれど手が出せてない。所詮は道具だと頭ではわかっているんだが。生産性ベースにしっかり振れる増田すごい。Unityで少し書いた程度の知識だったので読めてよかった。

89: MZQ 2025/04/15 09:35

C#は良い。もうunityでしか使ってないが、常々思っていた。

90: kootaro 2025/04/15 09:42

C#が好きです。Visual Studioが好きです。もっと普及して話題になれば良いのにって思ってます。

91: Tack2Me 2025/04/15 09:57

いいよね

92: Eiichiro 2025/04/15 10:05

自分の記憶だと、DelphiのTurboPascalの作者がマイクロソフトでC♯の言語設計やって、そのあとTypeScript作ってたはずなので、言語設計の良さはピカ一だと思う。 正直、ネットや書籍の知見が少なすぎて採用を断念した。

93: junglejungle 2025/04/15 11:03

Turbo pascal、Delphiの開発者を引き抜いて作ってるから信頼できる。c#毛嫌いしてる人は玄人ぶってるだけだよ。

94: mas-higa 2025/04/15 11:32

途中までしか読んでないけど C# はかなり良い言語だと思う。CLR が足枷のようにも思えるけど。いろんな泥臭いことを綺麗な言語で覆い隠してくれてる。mono は .Net 並に速いのかな?

95: naka-06_18 2025/04/15 11:59

VisualStudio が何をしてくれてるのか見えてなくて手を出せてないな、プロジェクトやmsbuildも怖いイメージ

96: rinsuki 2025/04/15 12:09

ランタイムは他OSでもそりゃ動くけど、macOS版Riderは微妙だし、Mac版のVSは終わったしで開発環境は Windows でしかまともに動かないじゃんと思った (Dockerで動くコードをLinux外で書いているのであんまり人のことは言えないが)

97: machine2drl 2025/04/15 12:11

varは便利ですき。型をちゃんと内部で持ちつつ動的型言語の便利さがある。

98: Nobkz 2025/04/15 12:24

C#信者はクロスプラットフォームとかは言うけど、開発環境としては格差があるのを無視してる意見が多過ぎる。windows以外だと根本的にドキュメントが少なかったり微妙なバグがあったりすこぶる開発体験がよく無い。

99: teramako 2025/04/15 12:24

C# を WSL にdotnet SDK 入れて、 neovim + LSP(omnisharp) で開発してる。Linux 上でも動いて開発できる恩恵を受けまくっている

100: ene0kcal 2025/04/15 12:32

C#ってスマートでシャープ(駄洒落ではなく)なイメージ。そんで好き。

101: zgmf-x20a 2025/04/15 12:38

ところでC±(プラスマイナス)はとうなった?

102: goronehakaba 2025/04/15 13:37

ひぃ!スクリプト言語をエディタで書いてドヤってる若者をおっさんたちが殺しに来た!

103: okinawazenzai 2025/04/15 13:53

どっちかって言うとJavaが嫌いだから使ってるんだよなーパブリックなクラス同じファイルに2個入れただけで怒られるんだもん。スクリプト欲しくてF#使ったりしてみたけどC#で良くねってなるんだよなー

104: cl-gaku 2025/04/15 14:30

動かす場所があんまりない

105: yamadadadada2 2025/04/15 14:34

悪くはないと思う。ただ、他を捨ててまで選ぶほどでも⋯という印象かなー

106: nicht-sein 2025/04/15 15:32

Unrealと人気を二分するゲームフレームワークのUnityがC#なのでゲーム界隈では意外と利用率が高いC#

107: lycolia 2025/04/15 16:45

C#のメリットをひたすら書いた記事。静的型付けについては外部から来た値については動的型付け言語とそんな差はないと思う(外部値は例外的なものが来る可能性を排除できないため)

108: indication 2025/04/15 17:51

.NETでリソースの後始末を考えてあれば、マルチスレッドでもメモリリークせず、1年以上問題なく動き続ける安定性はある(ライブラリを使うときはこの限りではない)。

109: twatw 2025/04/15 19:05

WindowsでGUIアプリ使いたい時は優先して選ぶ Windows以外でGUIは使わないから他OS向けだと扱いやすいDenoとか使う どうしてもマルチプラットフォームでGUI欲しい時はElectron

110: sujoyu 2025/04/15 19:14

.NETというかMS関係のドキュメントの日本語が壊滅してて、ローカライズの切り替えが簡単にできなくて強制的に読まされたような記憶がある