プロが教える店舗&オフィスのセキュリティ対策術

質問失礼します。
プログラム言語を一つも知らないのですが、C♯の勉強をしてみたいです。おすすめの教材とかありますか?是非教えていただけないでしょうか。

A 回答 (3件)

初めに言っておくと、僕はC#は「全く知らない」。


知らないのにここに書いてる、ってのもどーかと思うんだけど(笑)、多分言語選択「自体」は間違ってない、とは思うんだ。
ただ、そっちは問題じゃなくって、Microsoft製プログラミング言語に良くある事なんだけど、実は「プログラミングHow to」とか「プログラム指南」的な書物ってのがMicrosoft系言語では「全くと言って良いほど存在しない」ってのがむしろ問題なのね。
僕がMicrosoft製プログラミング言語を学ぶのを躊躇する最大の理由がこれ、だ。
これは「Microsoftが作ったプログラミング言語」が「良い」とか「悪い」とかとは全く関係ない、んだ。
ぶっちゃけた話、実の事を言うと、あれだけ人気がある「Visual Basic」の類でさえ「こう書けば綺麗なプログラムになります」とプログラミング初心者に対して示唆する「入門書籍」の類が一冊もない、んだ。
皆「見様見真似で」プログラムできちゃう。そして「見様見真似で」プログラムできちゃった人が本を書く。だからそこで書かれてるプログラムが、本当に「Visual Basicの設計思想に則った」綺麗なプログラムになってます、って保証が全くない。
これが一般に、Microsoft製プログラミング言語が抱える問題になっている。

どうしてこんな事になってんのか、っつーと、要はMicrosoftが長年、「強権的立場」に居続けたから、なんだ。そしてプログラミングのエキスパート、要はハッカー連中がそれを嫌ってきたから、なんだよ。
例えばHTML標準が制定されている。ところが、長い間Microsoftは「ユーザー数が最大の」Internet Explorer 6で「標準に従わない」事をやり続けてきた。結果、HTML違反なんだけど、「Internet Explorer 6でマトモに映るページ」が、HTML標準に「キチンと則ってる」ブラウザだとマトモに表示されない。「ユーザーをたくさん抱えてる」って事は、ユーザーは「HTML標準が何なのか」分かって無くても「IE6ならマトモに表示されてるページが××製のブラウザだとマトモに表示されない」と勘違いする。
結果、「HTML標準」に従わないページが増えても誰も気にしない・・・そういう事をMicrosoftは「やり続けて」来たわけ。
断っておくけど、Microsoftはかつての「そういったやり方」を改めて来てるし、色んな貴重な技術を最近では「オープンソース」化して広く皆に使ってもらおう、と方針を変更してる。
ただ、かつてがかつてだったんで、いまだにオープンソース陣営に属してるハッカー達の「疑いの目」が晴れてないのね。疑念を持たれてる、わけだ。
従って、今後は変わっていくとは思うんだけど、今のトコ、「ハッカーはMicrosoft製言語を使わない」。結果、プログラミングを「良く知ってる層」がMicrosoft言語を使わない以上、初心者向けの「Microsoft言語を使ったプログラミング指南書が出ない」って事になるわけだ。
なお、C#自体は「Microsoftが作った言語」なんだけど、方針変更のお陰で現在は国際標準規格も制定されてる。「標準規格」である以上、Microsoft以外のどんな言語ベンダーでも「C#を作る事が出来る」。そして標準規格である以上、もはや「Microsoftの勝手で」C#の仕様を変更する事も出来なくなっている。
その観点から言うと、CやC++くらいにはC#は既に「安全で安定している」言語になっていて、それで言うとJavaよりは信頼度は既に高いんだ(Javaには権威ある、国際的な「標準仕様」は存在しない)。
だから状況は今後変わると思っている。既にC#はLinux、つまりUNIX系OSでも「動く」ようになってて、「Windowsじゃないと使えない」って事は無くなってる。だから「スジさえ良ければ」今後ハッカー達も認めていく可能性はある。
ただ、残念ながら「現時点」ではまだまだ、なんだよね。

しかし、Microsoftの処理系を使ってる人は「Microsoftのドキュメントは非常に良い」ってみんな言うんだよ。UNIX系の人はとかくMicrosoftを攻撃するんだけど、実際、「デスクトップ向けにMicrosoft処理系でプログラムを組んでる」人は、MicrosoftのIDEは使いやすいし、ヘルプも充実してる、って皆言う。UNIX系プログラマがあたかも「Microsoftに対する偏見ばっかだ」って言うようなカンジになってる。
っつー事はだぜ?何はさておき、Microsoftが記述してるドキュメントに目を通してみる、ってのがファーストステップになるんじゃなかろうか。

C#:
https://learn.microsoft.com/ja-jp/dotnet/csharp/

とにかくMicrosoftは「自社製の言語を色んな人々に使ってもらいたい」って思ってる。これはかつての状況だろうとそうだったんだ。あったのはWindows vs. UNIXと言う・・・イデオロギー的?・・・でもねぇか(笑)、いずれにせよ「対立構造があった」のは事実なんだけど、「初心者Welcome!」って思ってたのはどのみち変わんないんだよね。
ハッキリ言っちゃえば、UNIX系の方が「初心者Welcome!」なんか全く考えてない、っつーか(笑)。Microsoftは「新人」に優しくしようとはしてた。販売する以上「金は取る」が(笑)。
(当時は「処理系は販売する」モノだった)
いずれにせよ、例えば次のようなMicrosoft「自身が」書いてるページを一通り読みながら言われた通りに「やってみよう」。

基礎:
https://learn.microsoft.com/ja-jp/dotnet/csharp/ …

チュートリアル:
https://learn.microsoft.com/ja-jp/dotnet/csharp/ …

この時点で「良く分かる!」って思うかもしんない。逆に「良く分からん!」と言う事もあるだろう。
でも仮に「良く分からん!」でも貴方のアタマが悪いから、とかそういう事は意味しないんだ。3つばかり原因が考えられる。

1. 単にC#がプログラミング初心者には難しい。
2. Microsoftが書いてるドキュメントが難しい。
3. 貴方自身のアタマの構造、っつーかセンスがC#に向いてない(つまり、貴方にはC#より別の言語の方が向いている)。

のどれかだ、って事だ。
1. と 3.の場合は、要は「別言語をやった方がいい」って事になる。世の中には星の数程のプログラミング言語が存在する。よって、「C#が難しい/向かない」=「貴方がプログラミングが出来ない」を意味しない。他に貴方向けのプログラミング言語があるかもしんない。いや、「ある」って考えた方がいい。そっちを探そう。
2.の場合は、結局 #1 氏が挙げたような書籍を入手すべきだ、って事だ。Microsoftのドキュメントが「痒いトコに手が届かず歯がゆいカンジがする」ならこれら書籍を頼るのがベストだろう。・・・正直それらも初心者向けだかどうか、は明言しないけどね。
でも lv4u氏はいっつも「正しい事」を言ってる回答者だって長い間見てて知ってるんで、ヘタな書籍は推薦せん、と思うんだ。多分初心者向けでも「良い書籍」を推薦してると思う。
取り敢えずまずは最初に「Microsoftが書いてるように」例に従ってプログラミングしてみよう。書籍を買ってやるかどうか、は別問題だ。
そんなトコかな。

加えると lv4u氏も言ってるけど、

> お金を払って書籍を購入しましょう。
> お金を惜しんで無料のネット情報には頼らないようにね。

と言うのは100%正しいし、「YouTubeで学ぼう」とか「Webプログラミングスクールで学ぼう」ってのは成功しない。これは言っておく。
最初にMicrosoftが提示してるドキュメントを利用する、って方針は変えないけど、色んな事をやってるウチにどのみちlv4u氏が言うような事になるのは間違いない、んだ。
お金には使いどころがある。かつてのように「プログラミング言語処理系」にお金を払う必要は限りなく低くなってきているけど、「書籍を買って勉強する」と言った古来からのスタイルからは、現時点ではどのみち逃げられない、んだ。
    • good
    • 1
この回答へのお礼

基礎やチュートリアルなど私がわかりやすいように教えていただきありがとうございます。しっかり読み書籍も購入して学びたいと思います。回答ありがとうございます!

お礼日時:2024/03/07 01:54

プログラム言語を一つも知らないのであれば、いきなりC♯はちょっとどうかと思う。


まずはCが最低限使えるようになってからが良いような気がする。
C++は経由するとかえって混乱の元になりそうなので、
CのあとJavaによりみちしてみたりするのが急がば回れになるかと。
    • good
    • 1
この回答へのお礼

なるほど、急ぎすぎずにコツコツと励んでいきたいと思います。回答ありがとうございます!

お礼日時:2024/03/07 01:51

「教材」という言い方がちょっと気になります。

プログラム言語を学ぶならまずは書籍を購入しましょう。
お金を払って書籍を購入しましょう。
お金を惜しんで無料のネット情報には頼らないようにね。

ただ、プログラム言語の書籍も、コミックスと同様、生鮮食品のように書店で目にした時に購入しないと、入手できなくなることが多いです。
書店の本棚が限られているので、新刊が出ると以前に出版された書籍は返品されてしまいますから。
そして、最近はPythonの書籍が増えた影響で、他言語の本が書店の棚からかなり消えたようです。


C#は、Visual Studio .NET 2002 で1.0がリリースされて以降、数多くの機能拡張が行われており、最新の Visual Studio 2022 ではC# バージョン12が公開されています。

C#は「いかに楽にプログラミングするか?」という観点から、多くの機能が追加されたため、「これ1冊で学習OK!」という本は無いと思います。
私の本棚には、多くのC#の書籍がありますが、とりあえず以下の4冊をお勧めです。

・新プログラミング環境 C#がわかる+使える / 川俣晶 / \2380
・C# フレームワーク ASP.NET Core入門 / 掌田津耶乃 / \3520
・実戦で役立つC#プログラミングのイディオム/定石&パターン / 出井英行 / \2980
・標準講座C# / Daniel Solis / \4800

新刊では入手できない書籍もあるようです。
Amazonで調べると、定価よりかなり安く中古本が入手できるものもあります。
    • good
    • 1
この回答へのお礼

わかりました。書籍を買って学びたいと思います。回答ありがとうございます!

お礼日時:2024/03/07 01:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています