No.4
- 回答日時:
中くらいかな。
c++よりは難しくない。ただ、文法が解ってそれなりに書けるようになっても
OOP前提の言語なんで、OOP知らないと猫に小判なんだよね。
書けるだけじゃなくて適切な設計が出来なきゃいけない。
現役のプログラマで、C#でCの書き方でしか
書けない人知ってるけど
ああなってはC#が泣きます(^_^;)
最初は何でそんな言語仕様なのかなかなか理解に
苦しむと思う。
で、言語そのものより、OOPをどう使うかに
物凄い時間を使う事になると思う。
最初はpythonあたりの非OOP機能から入る方が
良いかも。
No.3
- 回答日時:
No.1さんの回答にあるけど、言語の難易度の定義って難しいと思う。
特にC#は、「使いやすくするためには、どんどん言語仕様を拡張しまっせ!」って感じで、拡張されているから、汎用機のPL/Iみたいに、「なんでもできます!」的な雰囲気を感じてしまいますね。
それから、オブジェクト指向、LINQ、ラムダ式、ジェネリック、部分クラスなど、CやBasicでは見かけないものがあったりするし・・。
VB6やっている方が、C#のソースを見ると、暗号のように見えるかもしれません・・・。
初心者が「C言語」や「C++」に手をつけない方が良いってのは、よくわからない。知っているほうがメリットはあるけど、まあ、C#学びたいなら、回り道しないで、素直にC#を学べってことかな?
なお、最近は書籍、雑誌が売れないといわれていますが、コンピュータ系の専門書もそんな感じがしますね。
書店で「このC#の解説本いいね!」って思ったら、さっさと買っておかないと書店から消えます。
まあ、書名が分かっていれば、Amazonなどで買えますけどね。
No.2ベストアンサー
- 回答日時:
> Cってそんなに難しいのですか、、、。
Cは「材料だけ提供してるんであとはまぁ勝手にしてくれ」ってスタンスに見える(笑)。
もちろん、外部のライブラリとか使ってプログラミングすればいいんだけど、その導入も敷居が高いんですよね。一見さんお断り的な。
> BASICも経験はありますが、しょせん、お遊びレベル。
> 難しいんですね。
難しいですね。この辺、往年の88BASICとか使ってた人は、まぁ「慣れてる」だろうから意見が違うんでしょうが、正直、懐古趣味的な意味での「優しい」から超えてない気がしてます。
例えば、真偽値が取り出せない。
LET a = 3 > 2
END
これはJIS/ISOのFullBASICだとエラーになります。非常に構文的には厳しいし、かつどうやら単体で真偽値が「ない」と言うかなり珍しい・・・モダンな観点から言うと「これで一体どうやってプログラミングすればいいんだ」と言うカンジで「機能が欠けてる」かな(色々調べたけど解決策が見つからない)。
例えばPythonだと
a = 3 > 2
a
True
で、計算結果はきちんと変数に代入出来て、なおかつ真偽値は真偽値としてキチンと存在してる。
これはPythonだけじゃなくってモダンな言語だと「当たり前」なんだけど、それがBASICには欠けてるし、翻るとこの辺が足かせになってプログラミングの難易度は跳ね上がると思いますね。
どう考えても初心者向けとは思えない程難しい言語です。
> これらは今の旬の言語のようですが、かなり簡単になってるんですね。
> 素直に超簡単系からやるのが良いのかな、、。
個人的にはそう思いますね。
これらはC言語じゃ扱えない(あるいは扱いづらい)機能が満載で、正直、それらの概念を、例えばC#で学ぶのは遠回りな気がしますね。
2014年のJava 8以降、ラムダ式とか高階関数とか遅延評価とかC系言語に取り入れられる例が増えてきましたが(もっとも前二者はC++のテンプレートには既にあったけど)、型変換の煩わしさとか色々面倒な事が多くて、概念学ぶ前に使うのが面倒になる可能性がある。
それよか、そういう「新機能」が当たり前にある言語を学んだ方がモダニズム的には正しい気がします。
一応「超簡単」とは書いたけど、概念が「超簡単」かどうかは知りません(笑)。先にも書いた通り「言語提供の機能が豊富 = 簡単」と定義するなら、って意味です。やり方が増えると混乱する人もいるでしょうしね。
ただ、まぁ、そういう「モダンな機能」は上に書いた通り、JavaやC#にも取り入れられて来てる。ただし、それらをその言語上で「学ぶ」のは結構厄介かな、って事です。
No.1
- 回答日時:
難易度って何だろうねぇ・・・意外と定義がムズい。
基本的に、機能が高度だとプログラミングが易しくなる、って枠組みが前提だと、
何も出来ないくらい難しい: C/Assembly
かなり難しい: C++/Pascal/Rust/BASIC
難しい(中級程度?): Java/C#
超簡単: JavaScript/Ruby/Python/Lisp
ってカンジかなぁ。まぁ、個人的な意見だけど。4段階なカンジ?
まぁ、当然この辺は異論はあるでしょうけどね。
例えば「BASICとC++が同じランク?」とか思う人もいるだろうし、「BASICって簡単なんじゃねーの?」とか思う人もいるだろうけど、現代的な観点だと機能的に「フツーにあるべきものがない」ので、結果「書きづらさ」では結構難易度高ぇんじゃねぇの?ってのが個人的意見。PythonとBASICを比べると明らかにBASICの方が難しい、と思ってます。
C++/Java/C#は機能的には「元々C系言語に無かったアイディア」が色々付け足されて、Cに比べると自由度が高い、とは思うんだけど、「超簡単」な言語に比べると結構イビツなカンジで付け足されてて、扱いが面倒な部分が多いかな、と。
だからこういうランク分けで、どっちにせよC#も「中級程度の難しさかな」って印象です(ただ、C++よりも難しさが低いのは、ガベージコレクタがあるから)。
とまぁ、あくまで参考意見です。
ありがとうございます。
詳細に感謝。
Cってそんなに難しいのですか、、、。
実は学生時代、C言語(++も)とアセンブラは少しだけかじりました。
ほんのさわりの部分なので、難易度を実感する前にやめました。
BASICも経験はありますが、しょせん、お遊びレベル。
難しいんですね。
超簡単: JavaScript/Ruby/Python/Lisp
⇒これらは今の旬の言語のようですが、かなり簡単になってるんですね。
素直に超簡単系からやるのが良いのかな、、。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
プログラムに書かれる"%"記号の...
-
COBOLでのNOT = の AND条件
-
vbaとc言語の関連性について
-
C言語とhtmlの違いを どな...
-
UNITY Float型の接尾辞fって
-
COBOLで文字タイプを数字...
-
家計簿ソフトの作成
-
VBSでDim、Private、Publicの違い
-
Excel VBAで文字化けする (英語...
-
グローバル変数の初期化のタイ...
-
UWSCはどのプログラミング言語?
-
ゲームは何文字のプログラムで...
-
verilogの勉強ってどうやってし...
-
今プログラミングを始めるなら...
-
今後、プログラマーとして習得...
-
C言語でのWindowsプログラム
-
シグナルと例外の違い
-
素人です。『旧:オークション...
-
C言語とJavaの同時学習
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
今ってプログラミング言語は何...
-
C言語、C+、C++、C#の違い
-
プログラミング言語について
-
COBOLでのNOT = の AND条件
-
近年誕生したプログラミング言語
-
UNITY Float型の接尾辞fって
-
C言語とhtmlの違いを どな...
-
vbaとc言語の関連性について
-
C++における継続行
-
プログラムに書かれる"%"記号の...
-
COBOLで文字タイプを数字...
-
VBSでDim、Private、Publicの違い
-
TO_CHARで小数点以下がある場合...
-
VBSとWSHは読み方が違うだけで...
-
Excel VBAで文字化けする (英語...
-
VCとVC++
-
HTMLとC++で、どんなホームペー...
-
C++ ってなんて読む?
-
UWSCはどのプログラミング言語?
-
会計システムをつくるために必...
おすすめ情報