
C#を触っている
過去のC#アレルギー
現在、業務でC#を触る時間が増えました。
以前はC#アレルギーがありまして、それはVisualStudioに慣れる苦痛と引き継ぎ時のDLL無いからコンパイルできないよ問題が起因していました。
なので、こう書くと実は言語自体へのアレルギーは無かったわけですが、可能な限り避けてきました。
で腹くくって触ってみると、自分で書く文にはそこまで戸惑うこともなく、調べながら動くものは作れているなあという感じです。現在はC#である機器とTCP/IP通信して、データ取得したり動作させたりしています。
フロントエンドからするとWinFormsやWPFは好き嫌い出るかもですが、そういうローコード?みたいなもんだと割り切ればVisualStudioでの開発も、ことレスポンシブ設定は便利だなあと思うときもあります。
TypeScriptユーザーは移行しやすい
書いてみて思うのが、TypeScriptやっててよかったなあということ。
TypeScriptがC#の影響を受けて開発されているので、似てるところが多いですし、ECMAScriptのアロー関数にも慣れていればC#のラムダ式も書けますし、Async/Waitの非同期処理も問題なし。(これはTaskとラムダ式で扱う書き方のぶんC#のほうが好きかも)
関数型プログラミングで書くこともできる。
まあ何よりも型定義ですね。
数字にかんしてはintやfloatなど増えますが、文化は近いかなと。
なので、結構食わず嫌いしてたなあと思いつつ、いまは楽しく書いてます。
現在のネックはRefやOutの参照渡し
書籍によってはRefやOutを使うなというものもありますが、ミリ秒の速度を目的とした場合はメモリ管理上、参照渡しを必要とすることもある様子。
(C++のベテランがそういうコードをC#で書いてて、目的背景を教えてもらいました。)
副作用を生みやすいので、Noを唱える方もいらっしゃるのかと思いますが、それぞれの目的を知っておくのが重要かと思いますし、基本的には画面寄りの私は、どっちも対応できるようにしないといけないのが辛いところ。
あとはC#の技術的メリットももう少し知りたいところですね。
記述以外の、処理的な課題について状況別でどちらに歩があるかを経験的に知っておきたいです。
これからC#を触るJavaScriptユーザーへ
下記の2つ、お好きな言葉を使ってください。
・時間があるなら、まずはTypeScriptに慣れなされ。C#が楽になる
・時間がなければ、根性でC#に慣らせ。その後のTypeScriptが楽になる。
過去の自分にはそう伝えたいですね。
TypeScriptはUdemyで探せば日本語でもいいものがたくさんあるので、そこから始めるといいと思います。
さいごに、
TOPイメージは他の方のご厚意に甘えて利用させていただいております。
ありがとうございます。
いいなと思ったら応援しよう!
