C#って割とガチで最強言語だよな (74レス)
1-

1: 07/14(月)19:26 AAS
これに勝てるプログラミング言語なさそう
2
(1): 07/14(月)19:29 AAS
C++
3: 07/14(月)19:36 AAS
>>2
これよく言われるけどC#より全然なんだよ
まず自分でメモリ管理をする必要がある
例えば5要素の配列の6要素目を取得しようとするとどうなる?
C#は読み込めませんよってエラーで警告してくれるのにC++はメモリ上に配置された次の要素を引っ張ってきてバグる
普通に考えてヤバいよね
4: 07/14(月)19:44 AAS
C#のすごいところが普段は安全性のチェックをするんだけどどう考えても安全な処理については自分で考えてその安全性のチェックをしなくするってところなんだよね
例えば
forの中でList[i]の中身を取得するものを考えてみる
for(i=0;i<=5;i++)とするとこれは安全性のチェックがされる
iがListの要素の数を超える可能性があるからね
しかし
for(i=0;i<=List.Length;i++)とするとiは要素数以下になるということが確定するので安全性のチェックは行われずに処理速度が向上する
素晴らしい言語だと思わんか?
5
(1): 07/14(月)19:46 AAS
ライバルはRustになってきたな
6: 07/14(月)19:47 AAS
抜け駆けして申し訳ありません。だけど僕はエロい日々を送ることにしました。
7: 07/14(月)19:50 AAS
>>5
だね
8: 07/14(月)19:51 AAS
制限付きでもRust並みに高速化できればもはや敵なし
9
(1): 07/14(月)20:50 AAS
C#は動作重いのがな
高速化するとなると、unsafeなコードにしないといけないし、それならC++でいいじゃんってなる
10
(1): 07/14(月)21:00 AAS
GraphAPIをC#とPythonで双方ともSDK使わずアクセスしてるけど倍以上C#の方が遅い
なおSDK使ったC#は更に遅い
11
(1): 07/14(月)21:04 AAS
言語自体は好きだけどフレームワークが正直クソ過ぎる
特にBlazor
12
(1): 07/15(火)07:20 AAS
>>10
それは嘘だよ
13: 07/15(火)07:21 AAS
>>9
C++とかと比べたら遅いけどそれ以外の言語と比べたら早くね?
14
(1): 07/15(火)07:22 AAS
>>11
言うほどクソか?Blazor
他のWASMと比較したらかなりまともで書きやすいだろ
15: 07/15(火)07:32 AAS
>>12
やってみれば良いよ
特にbatchリクエストで全ユーザのメールフォルダ一覧とか取得してみてよ
段違いに速度差出るよ
16: 07/15(火)07:39 AAS
>>14
サーバレンダリング
SignalR前提なので常に裏で通信してる

StateHasChangedがゴミ
呼び出すべき時と呼ばなくても良い時の区別が難しい
InvokeAsyncから呼び出す場合もあるし最早カオス

もう勝手に画面更新せずStateHasChanged呼び出すまで更新するなって言いたい
更にStateHasChanged呼び出しで裏でバックグラウンドか調べてInvokeAsyncで呼び出せと言いたい
17: 07/15(火)11:59 AAS
マネージドにしてはかなり速い
18
(1): 07/15(火)12:10 AAS
ゲームエンジンのUnityでも使われてる実績はあるけど、そのマネージドが遅さの原因になって不評を買ってるのも事実なんだよね
公式自体がアンマネージド機能を扱うハックを提供してるくらい
19: 07/15(火)12:47 AAS
>>18
むしろ本家のC#もアンマネージドを快適に使えるようにしようとしてるし同じような流れだと思う
Span<T>とかMemory<T>とか
20: 07/15(火)13:52 AAS
Spanなどのユーティリティが充実してるのは確かにメリット
というかその辺をC++ユーザーでも隔たり無く使える形にして行って欲しい
C++は違法建築仕様でユーザーが結構離れたので
21
(1): 07/15(火)13:57 AAS
というか、個人的には可変長引数にstackallocを使ってほしいんだけど、未だ実現できてないのには訳があるのかな?
GC防止のためにオーバーロード作るのだるい
22: 07/15(火)14:29 AAS
ローカル変数への再代入不可constも早く付けてくれ
23: 07/15(火)17:22 AAS
不便な点って言えばさあ
.Netに更新があった時、Macで自動更新してくれたらいいのにな
24: 07/15(火)18:59 AAS
>>21
Spanにstackallocあるぞ
こんな感じ
Span<int> numbers = stackalloc int[10];
25
(1): 07/16(水)14:23 AAS
でもってお前らってC#で開発するときエディタは何使ってる?
俺はRiderかVSにReshaperなんだけど
26: 07/16(水)14:26 AAS
有料Rider
JetBrainsの全入りプラン入ってるので、IDEでJetBrains系以外を使うことが無くなった
27: 07/17(木)07:41 AAS
>>25
無料のVS
Resharperは使ったことない
28
(1): 07/17(木)19:32 AAS
C#をバックエンドに使ってる人っている?
Node.jsで事足りてるのであまりメリットが感じられない
画像処理とかさせるなら別かもしれないけど
29
(1): 07/18(金)08:43 AAS
>>28
JS使うよりは楽だろ
30
(1): 07/18(金)11:52 AAS
>>29
いやJSの方が断然楽
というかnpmの市場の充実さには敵わない
ネットに情報も多いし
31: 07/18(金)12:09 AAS
>>30
そうか?
32: 07/18(金)12:09 AAS
わりとnugetも変わらんだろ
情報も多いし
33: 07/18(金)14:31 AAS
バックエンドでNodeとCSどちらが広く使われてるか調べりゃいいんじゃね?
34
(1): 07/18(金)15:39 AAS
数で言えばnodeやで
小規模なの多いからね
大規模になるほどJavaとC#が増える
なので比較自体が無意味

あと最近だとゲーム鯖はC#が増えてきてる
Cysharpのお陰で有名タイトルはほぼC#
35: 07/18(金)15:43 AAS
ゲーム鯖ってPHPがまだ多い気がする
nodeはあんまり聞かない
サーバーサイドでC#はまだ発展途上と言う印象
36
(1): 07/18(金)15:45 AAS
>>34
具体的にどのタイトルなんだろ?
有名タイトルでサーバーサイドでC#使ってるのはまだ少ない
ソースが欲しい
37
(1): 07/18(金)17:52 AAS
>>36
スマホゲーム
38
(1): 07/18(金)18:20 AAS
>>37
だからソースは?
39: 07/18(金)18:39 AAS
ゲームのサーバー開発に少しだけ関わったことある身だけど、PHPが主流だったよ
C#は見たことがない
5年前の話なので、今は違うかもしれないが
40: 07/18(金)19:16 AAS
>>38
ゲームのライセンス情報みろよ

外部リンク:x.com
これがCysharpのCTOのX
ここで採用されたゲームの紹介されてる
その中でもMagicOnionってのがC#サーバ
41
(1): 07/18(金)21:19 AAS
自分から言い出しておいて自分でライセンス情報みろは不親切
具体的なリンク示さない時点で嘘がバレバレ
作者のXアカウント示してどーすんのよw
42: 07/18(金)21:21 AAS
自分の観測範囲でライセンスでMagicOrion使ってるのは無い
43
(1): 07/18(金)21:31 AAS
あのカプコンでもPythonとかPHPっぽいね
サーバーエンジニアの求人を見るとC#は多くないけど増えてる実感は見えない
44: 07/18(金)21:37 AAS
>>43
多分古いタイトルとかはレガシーな言語だからどうなるんだと思う
MagicOnion自体は素晴らしいし流行っておかしくなさそうだけどね
とはいえゲーム開発なんて3年とか余裕で掛かるからこれから増えていくんだと思いたい
45
(1): 07/18(金)21:38 AAS
×どうなるんだと思う
⚪︎そうなるんだと思う
46
(3): 45 07/18(金)21:47 AAS
リンク一切示してくれないんで自分で探したよカスw
こうやって情報示すのが礼儀ってもの

外部リンク:x.com

シャドバの新作とかホロアースで使われてるっぽいね
47: 41 07/18(金)21:50 AAS
すまん、>>46 は45じゃなくて41です
48: 07/18(金)22:09 AAS
C#はC++++だからC++の倍強い言語
49
(1): 07/18(金)23:31 AAS
C#はnew演算子の仕様がクソ

クラスか構造体かによってGCかスタックに振り分けられるのクソ分かりにくい

普通に

var myStruct = MyStruct();

な書き方でインスタンス化出来れば良いのだが
あ、IDEで色付けすれば良いとか無しな
IDE以外で見た時に色無しでも区別できるのが重要であって
50: 07/18(金)23:50 AAS
シングルバイナリしやすければな…と思う
自己完結型だとファイルサイズが肥大化しがちで、CLIアプリのような用途だとGoやRustの方が使いやすい
もちろん用途次第だし、ここをC#で作る理由はあまり無いという話なのかもしれないけど
51: 07/18(金)23:52 AAS
>>46
情報サンクス
まめに報告してくれてるのね
流石にまだ採用タイトルは多くなさそうに見えるけど
52: 07/19(土)01:45 AAS
>>46
プリコネやメルストもだな
53
(1): 07/19(土)01:47 AAS
>>49
関数呼び出しか?w
54: 07/19(土)07:51 AAS
ちょっと意味が分からない
55
(1): 07/19(土)08:10 AAS
>>53
インスタンス化の話しかしてないがw
56: 07/19(土)08:23 AAS
Hoge()でインスタンスされないのかって話をしてるのでは?
57
(1): 07/19(土)08:37 AAS
>>55
関数呼び出しと区別つかないよねって気付かない無能か
58
(1): 07/19(土)08:43 AAS
>>57
いやだからインスタンス化できないの何故って話だろうが無能
関数の話じゃねえよ
C++ではこれができるんだよ
59
(1): 07/19(土)08:47 AAS
>>58
何故も何も仕様やろw
アホやんけ

更に言うなら関数呼び出しとインスタンス化を区別する為だよ
60: 07/19(土)08:50 AAS
>>59
君は話が通じないので黙ってていいよ
これ以上レスバ仕掛けるなら君がアホ
61: 07/19(土)08:52 AAS
横からだけど関数なんてもの存在するの?
メソッドじゃね?
62
(1): 07/19(土)08:57 AAS
マジで話が通じねぇので独り言に戻るが

var hoge = new Hoge();

でHogeがクラスだった時と構造体だった時でGCかスタックに振り分けられる区別をどうやって解決したらいいんだろう
区別できる書き方が存在するのかな?
仕様だとかそう言う当たり前すぎる話は論外

そもそもクラスでスタック配置はできない?
ボックス化すれば全部GCに行くからいい?
勝手に振り分けられるのが困るのでなんとかしたい、という愚痴でした
63
(1): 07/19(土)09:09 AAS
ChatGPTに同じ質問したら出来ないという回答だった

>これはC#などのマネージド言語(特にC#を前提にしていると仮定)における**参照型(クラス)と値型(構造体)**のメモリ配置の違いにまつわるとても良い問いです。

>結論を先に言うと:
new Hoge() の時点で、Hogeがクラスならヒープ(GC管理)、構造体ならスタック(またはインライン)配置される。

>構文上だけでその違いを判断する方法はない。

>ただし、型の定義(class か struct)を見れば確実にわかる。
省5
64
(1): 07/19(土)09:15 AAS
重い計算をしたいときに簡単にGPUを呼び出したりできるといいなあ
65: 07/19(土)09:31 AAS
>>62-63だけど、よく考えたら流石にクラスをスタックにするのは流石に無謀だったか
スタックに配置されるのはクラスの参照、つまり特殊なポインタ
アドレスは移動される可能性がある
そうすると、クラスには色々特殊な情報が入っているかもしれない(未確認)
暇があったらILを覗いてみるか
66: 07/19(土)10:02 AAS
ReSharperとRiderどちらを使うのが正解なんだろう?
Visual Studioしか使ってないからReSharperなんだろうか
あとReSharperは無料ライセンス無い?
67
(1): 07/19(土)10:06 AAS
ReSharperにしとけば?
今さVSCode用のも開発中でプレビューになってるし
68: 07/19(土)10:10 AAS
>>67
ありがとうございます
プレビュー版だけどVSCodeで使えるの助かる
とりあえず試用版落として使ってみます
69: 07/20(日)14:15 AAS
>>64
ComputeSharpってライブラリいいぞ
ComputeShaderだからWindows限定っぽい感じはあるけど
70: 07/20(日)14:48 AAS
わりと真面目な話なんだけどMSってC#への熱意ってもう無いと思うんだ

まずTeamsとかリニューアルしたけどJavaScript
TypeScriptかもしれないけどC#では無い

CopilotStudioとかでもコード埋め込む時はPython
まあAI系じゃ外せないのは理解出来る
でもC#では無い
71: 07/23(水)12:01 AAS
CEDECだけど鯖でC#結構あるな
ポケモンもC#だって
72
(1): 07/24(木)23:16 AAS
Unityもあるしゲーム業界はC#を割と使うよね
サーバーサイドもフロントと同じ言語の方が楽、といった理由もありそう?

自分はこの分野に詳しくないけど、対戦ゲームなどのサーバーならリアルタイム性が必要だから Django (Python) や Rails (Ruby) にはならないんじゃないかな
Web系はビジネス立ち上げの速さの方が重要だし求められる性能要件も違うからこれらも選択肢になるけど
他のコンパイル言語 (Java, Go, Kotlin, Rust) と比べてどうかは分からん
73: 07/27(日)12:38 AAS
無能事務員は、請負の掛け持ちが損

だけど

有能技術者は、委任の時間精算が損
74: 07/29(火)03:09 AAS
>>72
機械学習ライブラリ動かしたくて、pythonで実装したAPIを呼び出すぐらいはありそう
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.502s*