0415デフォルトの名無しさん
2017/07/15(土) 09:57:41.72ID:0fOf3zlCttp://ufcpp.net/study/csharp/howeasy.html
プログラミング言語が簡単・難しいという話をするとき、 必ず出て来るのが以下のような対立です。
・C# は文法が多い。覚えなければいけない概念が多いので難しい。
・C# はやりたいことをやりたいように書ける。難しいことでも簡単に書ける。
前者は How(どう書く、どう実装する)に基づくの難しさ、
後者は What(何がしたいか)に基づく難しさです。
プログラミングって手段であっても目的ではないわけで。What(何をしたいか)ありきだと思います。
if とか for とかを書くのがあなたの目的ですか? 何か目的があって if とか for とかを書くはずです。
そして、目的達成のために、思ったことを思った通りに書ける文法があれば、そちらの方が楽なはずです。
概念が多いから大変というのは確かにその通りです。
ですが、現在は、そもそも What(やりたいこと)が非常に多いということを忘れてはいけません。
そして、学習が楽だからという理由で、「覚えることも少ない代わり、出来ることも少ない言語」は作ってはいけません。
それは、学習用言語と実用言語の間に越えづらいギャップを生むだけです。
ギャップを越えなければいけない段階になって、 1から勉強しなおせますか?
逆に、ギャップを越えなかったとして、いつまでも初心者扱いされたいですか?
このギャップ問題は、 90年代に、VB(6.0 以前)と C++ の間で実際に起こっていた問題です。
C# や .NET Framework が作られた目的の1つは、このようなギャップの解消です。