
No.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氏が言うような事になるのは間違いない、んだ。
お金には使いどころがある。かつてのように「プログラミング言語処理系」にお金を払う必要は限りなく低くなってきているけど、「書籍を買って勉強する」と言った古来からのスタイルからは、現時点ではどのみち逃げられない、んだ。
基礎やチュートリアルなど私がわかりやすいように教えていただきありがとうございます。しっかり読み書籍も購入して学びたいと思います。回答ありがとうございます!
No.2
- 回答日時:
プログラム言語を一つも知らないのであれば、いきなりC♯はちょっとどうかと思う。
まずはCが最低限使えるようになってからが良いような気がする。
C++は経由するとかえって混乱の元になりそうなので、
CのあとJavaによりみちしてみたりするのが急がば回れになるかと。
No.1
- 回答日時:
「教材」という言い方がちょっと気になります。
プログラム言語を学ぶならまずは書籍を購入しましょう。お金を払って書籍を購入しましょう。
お金を惜しんで無料のネット情報には頼らないようにね。
ただ、プログラム言語の書籍も、コミックスと同様、生鮮食品のように書店で目にした時に購入しないと、入手できなくなることが多いです。
書店の本棚が限られているので、新刊が出ると以前に出版された書籍は返品されてしまいますから。
そして、最近は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で調べると、定価よりかなり安く中古本が入手できるものもあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 高校受験 高校受験や勉強法について 2 2023/03/24 19:56
- 仕事術・業務効率化 効率的な勉強方法(分野問わず)を教えてください 1 2023/08/16 01:33
- 英語 高校英語 0 2024/02/04 20:54
- 日本語 日本語を勉強する外国人がやりがちな間違った勉強法 2 2023/08/08 21:24
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- 高校受験 オススメの勉強法 3 2022/11/22 09:00
- その他(学校・勉強) 高一です。勉強方法について質問です。 夏休み期間中のおすすめの勉強法を教えてください。 特に、国語の 2 2023/07/25 17:27
- 大学受験 現在高2です。MARCH志望で、勉強法について教えて頂きたいです!!通っている学校の偏差値は50です 3 2022/11/26 17:23
- IT・エンジニアリング ITエンジニアの勉強時間や勉強方法について 初めまして閲覧いただきありがとうございます。 当方25歳 4 2022/06/09 18:51
- 大学受験 9月からMARCH 間に合いますか? 3 2022/09/13 20:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
C++ ってなんて読む?
-
プログラムに書かれる"%"記号の...
-
順列の内容をすべて表示するプ...
-
プログラムははぜ小文字大文字...
-
プログラムからアイコンファイ...
-
C言語とhtmlの違いを どな...
-
VBSとWSHは読み方が違うだけで...
-
計算速度の速いC言語を教えてく...
-
C++における継続行
-
UNITY Float型の接尾辞fって
-
スパーコンピューターで使用す...
-
swift言語の最適化 swift最適化...
-
C for Linuxでの設定ファイル読...
-
VB.NETからC言語への乗...
-
emcasで括弧の補完とオートイン...
-
プログラミング言語について
-
開発言語で「C#」とは、.NETの...
-
COBOLでのNOT = の AND条件
-
HTMLとXHTMLの大きな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムからアイコンファイ...
-
C言語、C+、C++、C#の違い
-
COBOLでのNOT = の AND条件
-
C言語とhtmlの違いを どな...
-
プログラムに書かれる"%"記号の...
-
COBOLで文字タイプを数字...
-
UNITY Float型の接尾辞fって
-
HTMLとC++で、どんなホームペー...
-
Excel VBAで文字化けする (英語...
-
C++における継続行
-
TO_CHARで小数点以下がある場合...
-
VBScriptで引数を省略したい場合
-
VCとVC++
-
UWSCはどのプログラミング言語?
-
vbaとc言語の関連性について
-
パスカルケースの由来。
-
任天堂で使うプログラミング言...
-
Excelの開発言語ってなんですか?
-
C++ ってなんて読む?
-
VBSでDim、Private、Publicの違い
おすすめ情報