1: (京都府) [US] 2020/05/20(水) 14:18:53.21 ● BE:811571704-2BP(3072)
https://sakumaga.sakura.ad.jp/entry/2020/05/18/120000
no title

C# が好きすぎて転職先を決めたというエピソードもあるちょまどさんに、非エンジニアでも分かるように C# について語っていただきました。

ーー早速ですが、非エンジニアからすると C# ってどんなことができるのかすら
良く分かっていないのですが、C# でどんなことができるのでしょうか?

C# はマイクロソフトがオープンソースで開発しているプログラミング言語で、
OS 開発以外は大体なんでもできます! 逆に C# にできないことをあげるほうが難しいです。

例えば、

・Webアプリ

・スマホアプリ

・Webサイト

・IoT

・ゲーム

などが C# で開発できます。

身近なアプリで何が C# で書かれているかというと、ゲームエンジン Unity で作られているゲームは C# が使われています。
例えばスマホ版の「ドラゴンクエストVIII」や、位置ゲーのPokemon GO (ポケGO) も Unity 製 (C#) ですね。

また、Unity 以外では、Xamarin(ザマリン)※で作られているのは C# を使っていますね。例えばNHKの紅白アプリも Xamarin 製です。

※ Xamarin(ザマリン)・・・ C# で、iOS、Androidなど向けのアプリをクロスプラットフォーム開発できるオープンソースのプラットフォーム

no title


ーー大体なんでも作れるということで、C# の良いところは分かったのですが、悪いところはありますか?

正直、私は C# 信者なので、あまり客観的になれず悪いところが浮かびません(笑)。

つづく

7: (京都府) [US] 2020/05/20(水) 14:20:23.89
>>1つづき

でも、しいて言うなら、C# はできることが非常に多いので、それぞれ向き不向きがあると思います。
特定の場面に最適化された言語と比べると、非効率になる場面もあると思います。
また、ネットで調べものをしていて、違う環境での記事(Unity では使えない API など)が引っかかってしまい、
自分の環境では使えない機能が出てくることもあったりしますね。

多彩な機能を持っている割には、勉強して習得するのもそんなに難しくないと思います。
いろいろなプログラミング言語から良いところ(ラムダ式など)を柔軟に取り入れることもありますし、
C# が先導となって他のプログラミング言語に広まっていったような機能もあります(非同期メソッドなど)。
いまでも定期的にアップデートをしていますし、クールな言語です。

no title


C# との出会いが人生を変えた

ーー非エンジニアでも C 言語というプログラミング言語があるということは知っている方も
多いと思うんですけど、C 言語と C# って何が違うんですか?

C 言語を書ける人から見ると読みやすいなと思える程度には、見た目が似た雰囲気の
箇所もあります。(if や while などのキーワードや、{} や () などの記号の使い方の
ルールが似ているという程度のもの)

でも、コードをコピペしてきてそのまま動くようなものではなく、別物です。世代も違う、
ポリシー(重要視している点)も違う、得意な分野も違う、色々違います。

15: レッドインク(京都府) [US] 2020/05/20(水) 14:21:42.37 ID:US0OyELG0
>>7つづき

例えば、C 言語ではメモリ管理をプログラマが自分でやらねばならず煩雑でしたが、
C# にはガベージコレクションという仕組みでメモリ管理の手間から解放してくれる機能があります。

ちなみに、C# の名前の由来ですが、もともと C 言語の進化系として C++ (シープラスプラス)が
生まれましたが、さらにその進化系というのを強調するために、もうひとつ “++” を足して “#”、
つまり C# になりました。

no title


学生時代には独学で C 言語も勉強をしてたんですけど、社会人になって 2 社目でモバイルアプリを
開発する仕事をしていました。そこで、C# に出会ったんです。 1 社目ではほとんどプログラミング言語に
触れる機会がなかったので、実質社会人になって初めて触れたプログラミング言語が C# なんです。

それで「あ、最高!」ってなりました。なにが最高かというと、それまでは Vim (ヴィム)という
テキストエディターを使ってたんですけど、当時はコード補完機能などを入れてなかったんです。

C# は開発環境として「Visual Studio」という最強の IDE(統合開発環境)があるんですけど、それがとても良くて。
コード補完などがとても良くできているんです。この出会いがきっかけで「C# 最高!」ってなりました。

今の会社に入社するきっかけも C# で、こんな素晴らしい言語とエコシステムを作っている会社は最高に違いない! と思ったんです。
C# が好きだから今の会社に入社した感じです。

エンジニアの皆さんそれぞれに入信しているプログラミング言語があると思うんですけど、私は C# 教に入信しています(笑)。

16: レッドインク(京都府) [US] 2020/05/20(水) 14:22:41.30 ID:US0OyELG0
>>15つづき

ーーそれぞれに好きなプログラミング言語があるんですね。これから C# を学びたい人は
何から始めたらいいですか?

そうですね、まずはおすすめの記事が 2 つあるので読んでほしいです。

・こちらは 6 年間連続 Microsoft MVP を受賞した大田一希さんの書いた記事です。
https://qiita.com/okazuki/items/e3a8e23f9ac2a10d8fde

・こちらはMicrosoft MVPの岩永さんが書いている記事です。

https://ufcpp.net/study/csharp/

本で勉強するのもすごくいいんですけど、C# は進化が速くて最近では
1 年ごと(かつてはだいたい 2 年半ごと)にアップデートされるので、
最新の情報はインターネットで得たほうがいいと思います。

C#がなかったら、今の私はない

ーー最後に、 C# への愛を語ってもらいたいです。

C# がなかったら、今の私はないです。これは絶対にそうですね。
あと、C# のおかげでプログラミングで色々なものを作る楽しみを覚えました。

C# で特に好きな機能があるんです。「LINQ(Language-Integrated Query)」っていうんですけど、
データのまとまりをすごく良い感じに操作できるんですよ。

新しいことを学ぶきっかけにもなりましたし、交友関係も C# になりました(笑)。

21: レッドインク(京都府) [US] 2020/05/20(水) 14:23:51.81 ID:US0OyELG0
>>16つづき

ーーえ、交友関係がC#になるってどういう意味ですか?

類は友を呼ぶというか、同じプロトコルで会話をしたいっていう感じで、C# 好きな人たちと
集まるようになりました。友だちも仕事も C# になりましたね(笑)。

あと、大体なんでも C# でやりたがります。例えば、「Google Home」「Amazon Alexa」
「LINE Clova」 といったスマートスピーカーのスキル開発があるんですけど、
どこの会社も公式 SDK という公式のソフトウェア開発キットが用意してあるんですね。

ただ、公式 SDK に C#がないことも少なくないんですよ。そこをあえて C# で
開発するようにしています(笑)。同じ志のコミュニティの方々が SDK の C# ラッパーを
開発してくださっていたりするので、それを利用させていただいています。

C# で XR も開発できる

ーーすごい C# への愛ですね。「ちょまど C#」で検索したら、
「セブンスイーツを選んでくれる HoloLens アプリ「セブンスイーツアシスタント」を作った」
https://chomado.com/programming/c-sharp/seven-sweets-assistant-for-hololens/)という
記事が出てきたんですけど、C# でこんなこともできるんですね。

はい、そうなんです。HoloLens(ホロレンズ)っていうのは、マイクロソフトが開発している、
頭につけるタイプのホログラフィックコンピュータ(ワイヤレスで単独で動く
MR: Mixed Reality デバイス)です。要するに、かぶるとホログラムが見えます。

その HoloLens で動く、このアプリを C# で開発しました。

no title

26: レッドインク(京都府) [US] 2020/05/20(水) 14:24:40.88 ID:US0OyELG0
>>21つづき

HoloLens をかぶってセブンスイーツのケーキを見たら、商品名が表示されて、
今の気分を伝えるとおすすめのスイーツを教えてくれるんです。

こんな風に C# を使えばなんでもできます!

C# まとめ

no title


塾講師のアルバイト経験もあるというちょまどさんはホワイトボードを使って分かりやすく
C# について説明してくれました。最後に、非エンジニアでもわかるように C# についてまとめます。

・スマホアプリからゲーム、IoT、機械学習まで、大体のことはなんでもできちゃう
マイクロソフトが開発しているプログラミング言語。

・他のプログラミング言語の良いところを柔軟に取り入れている。

・進化が速く、大体1-2年くらいでアップデートされる。

・オープンソースなので、だれでも開発に参加できます。

2: ナガタロックII(家) [ニダ] 2020/05/20(水) 14:19:31.98 ID:TEZyxEQa0
ん?いま何でもって

3: バックドロップ(店) [AT] 2020/05/20(水) 14:19:45.08 ID:xbjcQDZL0
土下座余裕

4: 目潰し(広島県) [US] 2020/05/20(水) 14:19:47.60 ID:S4d6qbhN0
かわいいじゃない

6: 河津掛け(光) [AR] 2020/05/20(水) 14:20:19.07 ID:vl4WG50O0
だったら俺と子供作ってみろや!

29: タイガースープレックス(茸) [US] 2020/05/20(水) 14:25:32.41 ID:nVr9nfZo0
>>6
こういう勢いだけのレス好き

93: イス攻撃(神奈川県) [US] 2020/05/20(水) 14:44:18.27 ID:Hj2nDkaP0
>>6
「はじめてのC」っていう本を買ってくるとやり方載ってるよ

239: フェイスロック(茸) [US] 2020/05/20(水) 15:52:41.03 ID:ZOzA8G9f0
>>93
君とC

246: クロスヒールホールド(岩手県) [US] 2020/05/20(水) 16:00:27.23 ID:LcW3slSe0
>>239
I will give you all my love

8: かかと落とし(広島県) [TH] 2020/05/20(水) 14:20:27.46 ID:EDqvEHED0
日本三大万能説

・ダンス
・ネギ
・C井

52: ファイナルカット(東京都) [DE] 2020/05/20(水) 14:28:49.02 ID:f2tJj6Um0
>>8
個人的にはネギよりもトマト

73: ジャーマンスープレックス(空) [ニダ] 2020/05/20(水) 14:37:29.88 ID:OFBKAnwJ0
>>8
c丼だろ!

9: ラダームーンサルト(神奈川県) [EC] 2020/05/20(水) 14:20:34.70 ID:+HxzVHnf0
C言語じゃあかんの?

22: ダイビングフットスタンプ(庭) [ニダ] 2020/05/20(水) 14:24:10.47 ID:5kBxP58t0
>>9
別にいいけど
ユーティリティ関数ゴリゴリ書かにゃならんぞ

43: フライングニールキック(東京都) [CN] 2020/05/20(水) 14:27:02.14 ID:PprQ48mp0
>>9
工数が増える
あと、Cは作った人間次第でマルウェアレベルに悪質になる。

391: 不知火(茸) [JP] 2020/05/20(水) 19:09:28.84 ID:UtxjgyqT0
>>9
C言語は色々緩すぎた
ようやくFortrun感覚で使えるC言語が出た感じ

434: 超竜ボム(宮崎県) [US] 2020/05/20(水) 21:54:47.48 ID:54KINJgn0
>>9

メモリリークが怖い

10: アトミックドロップ(空) [BR] 2020/05/20(水) 14:21:00.50 ID:vyqp1nLJ0
ぶっちゃけた話だけど、C#で出来ることは全てC++やCでもできるわなw

122: ストマッククロー(栃木県) [JP] 2020/05/20(水) 14:52:31.62 ID:qzZzTP0x0
>>10
ニーモニックでもできるよな

129: オリンピック予選スラム(埼玉県) [ニダ] 2020/05/20(水) 14:55:36.32 ID:z6Vr51EY0
>>10
生産性の話なんだわ
C#で1ヶ月かかるもんをCなら何ヶ月かかるんだって

196: ネックハンギングツリー(千葉県) [US] 2020/05/20(水) 15:18:59.57 ID:SUw28uuT0
>>129
そうだろうね

323: バックドロップ(大阪府) [IT] 2020/05/20(水) 17:29:24.63 ID:bLUtC7AK0
>>129
C#が不向きなのもあるからねぇ

198: キン肉バスター(東京都) [US] 2020/05/20(水) 15:19:44.48 ID:UO7WQkdm0
>>10
それ言っちゃえばマシン語で全部できるから
低級になればなるほどそりゃ自由度は増えるよ
代わりに高級になればなるほど工数が減る

208: タイガースープレックス(高知県) [ニダ] 2020/05/20(水) 15:25:25.46 ID:zYHeymHP0
>>198
昔マシン語やってた事あるけど、頭の中がレジスタとアドレスで回り始めるので
あれは手を出したら負けだと思った

297: マシンガンチョップ(大阪府) [US] 2020/05/20(水) 17:15:37.63 ID:LEIbD/cq0
>>208
ハードを制御するときはレジスタとアドレスで頭ぐるぐる状態のほうが効率いいけどね
勝ちとか負けじゃなくて適材適所

12: キングコングニードロップ(東京都) [ニダ] 2020/05/20(水) 14:21:07.54 ID:xV4MazAd0
デバイスドライバは書けないだろ。

185: チェーン攻撃(家) [CN] 2020/05/20(水) 15:15:28.05 ID:aD4dQ6p20
>>12
OSとか低レイヤのソフトは書けないわな

207: ネックハンギングツリー(千葉県) [US] 2020/05/20(水) 15:24:48.47 ID:SUw28uuT0
>>185
OS開発するの?

18: バックドロップホールド(東京都) [US] 2020/05/20(水) 14:23:29.00 ID:7hvkTssp0
プログラマーあるある言われても1%も分からん

20: ドラゴンスリーパー(北海道) [RU] 2020/05/20(水) 14:23:50.28 ID:AgFNwdwm0
Rustがいい

72: ファイヤーバードスプラッシュ(大阪府) [US] 2020/05/20(水) 14:37:00.38 ID:WZ1obTj+0
>>20
俺も
全部msは今資産全部RUSTに書き直してるじゃん

85: 垂直落下式DDT(大阪府) [US] 2020/05/20(水) 14:40:54.20 ID:GMSoKODy0
>>20
これ
GCはもういい

28: 河津落とし(長屋) [CN] 2020/05/20(水) 14:25:22.04 ID:D1MQ48x30
言語は所詮、アクセス方法でしかない。
好き嫌いって言ってる時点でまだまだプロには遠いよ。

31: ときめきメモリアル(光) [ニダ] 2020/05/20(水) 14:25:44.92 ID:MaWHVvos0
C++++だからC#にしたんかw

303: ダイビングフットスタンプ(東京都) [ヌコ] 2020/05/20(水) 17:20:02.74 ID:gCDUNoLP0
>>31
++
++ → #

45: イス攻撃(高知県) [US] 2020/05/20(水) 14:27:08.57 ID:IwgRmjw60
じゃあ、いま0からプログラム勉強しようと思ったらC#で良いんですね?

48: フルネルソンスープレックス(東京都) [FR] 2020/05/20(水) 14:27:29.20 ID:UrGUXaAU0
プログラミングやったことない人がいきなり学んでも大丈夫?

55: ファイナルカット(東京都) [DE] 2020/05/20(水) 14:30:35.77 ID:f2tJj6Um0
>>48
やる分にはいいと思うよ
そこから他の言語に手を伸ばした時にも応用効くだろうし

102: イス攻撃(神奈川県) [US] 2020/05/20(水) 14:47:24.04 ID:Hj2nDkaP0
>>48
最初にパソコンで何をやりたいかを考えて
それに近いことをやってるオープンソースソフトを探して改造することから始めた方がいい

教科書を最初からやってもつまらなくて無駄が多い

232: エメラルドフロウジョン(神奈川県) [US] 2020/05/20(水) 15:43:00.97 ID:zRfLjVkv0
>>48
軽い気持ちで0から独学するつもりならまずScratchをさわれ
オブジェクトとかメソッドその他諸々の概念はあるから無駄にはならん
C#なんていきなり触ろうとしても多分続かねえぞ

71: グロリア(千葉県) [JP] 2020/05/20(水) 14:36:36.56 ID:8o+okyOS0
MSの女子社員採用はいつもレベル高いな

82: バックドロップ(栃木県) [CN] 2020/05/20(水) 14:39:28.55 ID:Uuq3hkgR0
cシャープってdotnetのインターフェイスで
dotnetに無い機能は使えないんでしょ?

131: ラダームーンサルト(茸) [US] 2020/05/20(水) 14:56:06.46 ID:+IXIRKI/0
>>82
DllImportとかMarshalとか使えば大抵のことはできる
C++で書くよりコードが汚くなるけど

84: テキサスクローバーホールド(茸) [KR] 2020/05/20(水) 14:39:51.26 ID:K2VRp3pJ0
僕はC++/CLIが好きです

95: ダイビングフットスタンプ(東京都) [BR] 2020/05/20(水) 14:44:37.49 ID:cFO9eq6G0
ど素人言語
男ならアセンブラはまたはC言語にしよう

105: ニーリフト(SB-Android) [ヌコ] 2020/05/20(水) 14:48:02.66 ID:HGUYcYJF0
C++++だからC#なんだぞ

179: ダイビングフットスタンプ(東京都) [BR] 2020/05/20(水) 15:13:09.94 ID:cFO9eq6G0
>>105
C++をぎゅーと圧縮したものだときいたが

117: ファイヤーボールスプラッシュ(dion軍) [FR] 2020/05/20(水) 14:50:44.50 ID:tRtw8Y6e0
あーとうとうこの人も板が立つようになったんだな

ちょっと痛いし絵も上手くないけどまぁまぁプログラム詳しいし英語ペラペラで、違和感残るけどかわいい新種って感じでその界隈では有名な人

167: チェーン攻撃(東京都) [ニダ] 2020/05/20(水) 15:09:41.11 ID:kBaLO4z+0
>>117
プログラマー界隈で、この可愛さは異常だろ
自分の周り見ろ

181: タイガースープレックス(高知県) [ニダ] 2020/05/20(水) 15:13:55.15 ID:zYHeymHP0
>>167
お前は何もわかってない
女のプログラマーはちょっと地味で服装がダサいぐらいが良いんだよ

187: チェーン攻撃(東京都) [ニダ] 2020/05/20(水) 15:15:34.90 ID:kBaLO4z+0
>>181
そういうことか
すまん、わかる

119: エクスプロイダー(滋賀県) [FR] 2020/05/20(水) 14:51:31.21 ID:nvDyzg6D0
C#依存症

150: 不知火(東京都) [ニダ] 2020/05/20(水) 15:02:51.73 ID:mb2E6QD10
昔c++でコード書いてたけど
関数ポインタとかアセンブラ直書きとか色々グチャグチャ使いまくってたら
後で自分で何書いてあるのか読めなくなって困ったな
c系はコード汚くて良くないわ

180: リバースパワースラム(家) [FR] 2020/05/20(水) 15:13:48.25 ID:1MwHUJI50
「なんでもできる」なんてのは当たり前
大事なのは言語の標準的機能を使って自然に書けるかどうか
闇魔術のようなライブラリを駆使しないと書けないのはその用途に向いてない

237: ショルダーアームブリーカー(兵庫県) [DE] 2020/05/20(水) 15:51:55.96 ID:2HYQbsns0
新しい言語は戦力になるのが早くていいわ
会社でC++教えてるけど戦力としてカウントできるまで育てるの大変よ

269: フォーク攻撃(東京都) [BR] 2020/05/20(水) 16:29:54.61 ID:kx7QB8UK0
女でスーパーハカーっておるの?

280: アキレス腱固め(東京都) [NL] 2020/05/20(水) 16:45:02.78 ID:8BVH3zOM0
>>269
Lisa Su
台湾生まれのアメリカ育ち、AMDのCEO

301: マシンガンチョップ(大阪府) [US] 2020/05/20(水) 17:17:51.33 ID:LEIbD/cq0
>>269
たしかCOBOLを作った人が女性

305: 垂直落下式DDT(兵庫県) [ニダ] 2020/05/20(水) 17:21:20.22 ID:ae2W2dHO0
>>269
史上初のプログラマは、エイダ・ラブレスって女性。

313: アトミックドロップ(空) [BR] 2020/05/20(水) 17:26:00.70 ID:vyqp1nLJ0
>>269
俺らの代で一番出来るプログラマーは女だったよ
そのへん歩いてるとナンパがわらわら寄ってくるようなかなりの美人

昔Unix Magazineとかで執筆してた研修の先生も「今まで見た中で一番出来る奴。
数学をきちんとやらせて徹底的に仕込めばMITでも通じる」と言ってた。

結婚であっけなく辞めたけどね。旦那は普通のプログラマー

282: かかと落とし(東京都) [FR] 2020/05/20(水) 16:47:11.97 ID:l4OjLvY50
MSから金出てるのは当たり前として、日本MSはこういう狙い方してくるからあざとい

エヴァンジェリストもオッサン受けしそうな清楚系の小柄で若い美人で攻めてきてるし
次はキモヲタ向けに漫画家属性で攻めてきたかw

286: 32文ロケット砲(たこやき) [US] 2020/05/20(水) 16:54:20.53 ID:LNXH6Te90
時代はパイソンやろ?しらんけど (・ω・)ノ

311: リバースパワースラム(東京都) [CO] 2020/05/20(水) 17:25:56.42 ID:fgZbfkEy0
C#から始めて仕事でいろいろ書けるまでになったとして、
突然C言語でやれといわれたら簡単に応用できるの?

348: ラダームーンサルト(茸) [US] 2020/05/20(水) 17:51:26.38 ID:+IXIRKI/0
>>311
C#でWindowProcをフックしたり、unsafeでポインタ使うようなコード書いてたらC言語は余裕

445: グロリア(茸) [US] 2020/05/20(水) 23:09:00.19 ID:MWWyqTSC0
>>311
基本構文は似通ってるからできなくはないところは多い
ただポインタ構文の多彩な癖はすぐには慣れないだろう
まぁいずれにしてもストレスマッハ

365: デンジャラスバックドロップ(光) [ニダ] 2020/05/20(水) 18:18:19.99 ID:6eqRoB/i0
何度チャレンジしても挫折すんだけど

483: ジャンピングパワーボム(東京都) [TW] 2020/05/21(木) 05:53:05.87 ID:cXaLYqnM0
プログラムっていつも作りたいものがなくて勉強が進まなくなるわ





引用元:https://hayabusa9.5ch.net/test/read.cgi/news/1589951933/