web-dev-qa-db-ja.com

C#の前/同時にC ++を学ぶ?

私は現在C#を学習していますが、概念を少しよく理解するために、前に、または同時にC++を学習することが有益かどうか疑問に思っていますか?私はC++の本を手に入れましたが、特にポインタと参照を説明することは、かなり役立つようです。

5
Zivka

いいえ、それは役に立ちません。

C#とC++はまったく異なる言語であり、構文は似ているかもしれませんが、その点で類似点がなくなります。さて、あなたがすでにC++に精通しているのであれば、そうです、その知識は、C++や他の言語を実際に学習するときに役立ちます(必須ではありません)。

15
yannis

免責事項:私は両方の言語(およびいくつか)で毎日作業しています

私が大学でCompSciを勉強していたとき(Comp Sci&Games Developmentを勉強して)、彼らが使ったカリキュラムは1年目にC#を教えてくれ(CompSciとソフトウェア開発の基礎を習得するため)、2年目はC++に移動しました(そのため「概念」と呼ばれるものといくつかのハードコアComp Sciを調査し、3年目にCとアセンブリに移動しました(設計と作業量に速度と効率がもたらす違いを確認できるようにするため)あなたは入れなければなりません)。

私は大学時代に少しアセンブリとCをすでに勉強していました(私はイギリス出身なので、当時は18歳でした。疑問に思っているなら、電子工学と電気通信を勉強しました)。したがって、Uniにたどり着くまでに、C#の特定の側面がそのように設計されている理由をすでに理解していました(確かに、これは'04に戻って以来、言語はかなり変化しています)。

あ、ちなみに私もユニで日本語も勉強しました

両方を同時に勉強するなんて想像もできません。ウサギの穴までどれだけ下がるかに依存すると思いますが、一度に多くのことを学びすぎてしまう可能性があるので、今のところC++を避けます。一部の人はこれを行うことができますが、ほとんどの人はできません-私は誰かを怒らせようとしているわけではありませんが、それはそうです。

私には、ソフトウェア開発に不慣れなUniの友人がいて、最初の数週間の間に、彼は自分のオペレーティングシステムを作成することを望み、C#はそれを削減しないと決めました。それで、彼はライブラリに行き、C++とCについて読みました。 (C++/C#ハイブリッドですべてをプログラミングするために)すべての割り当てに失敗し、オペレーティングシステムをまったく使用しなかった(ただし、壮大なアイデアを持つ1年生であったため)。彼は、最初の1年をさらに2回取った後、脱落してしまいました。

私がしようとしている点は次のとおりだと思います:学習し、進歩する熱意を持っているように見えるのは素晴らしいことです(「...前に、または同時にいくつかのC++を学ぶことが有益かどうか疑問に思っています...」) (私の経験から、雇用者は習得したい開発者を好む傾向があるため)しかし、一度にたくさんのことを学びすぎて混乱しないように注意する必要があります。

ベルトに複数のツールを配置することは素晴らしいことですが、これらのツールが異なる理由と使用するタイミングがわかるおよび理解する(そしてそれが重要なポイントです)重要で便利です。

例:C#と.NETを使用してbasicサーバー/クライアントプログラムを数分でノックアップでき、提供されているすべてのメモリ管理とポートとソケットの自動クローズを利用します.NETによるものですが、あまり効率的ではありません。

私はC++で同じことを行うことができ、それは効率的ですが、作成するのにかなり時間がかかり、カスタムコードのLOTを書く必要があります。メモリ管理は提供されず、ポートとソケットの自動クローズもありません。しかし、それは本当に速くて効率的です。

長い答えてすみません。お役に立てば幸いです。

8
Jamie Taylor

言語学者が false friends と呼んでいるため、両方の言語を同時に学習すると混乱する可能性がありますが、一方を学習他の人はあなたのためになるでしょう。両方の言語を十分に理解できるように努力する限り、2つの言語を学習する順序は重要ではありません。 2番目の言語は、プログラミング言語に依存しない一般的なプログラミング概念の理解に非常に役立つことを証明する追加の視点を提供します。

5
dasblinkenlight

私にとっては、それは個人的な特性の問題です。

一部一度に2つまたは3つの外国語を学習する方が、1つに集中するよりも効果的であることがわかります。当然のことながら、ほとんどの人はこのアプローチがあまり効果的ではないことに気づくでしょう。

だから私はそれを試して、両方を同時に学ぶことをお勧めします。混乱している場合は、1つに切り替えてください。

2
Petr Abdulin

私は間違いなく次々に学ぶことをお勧めします。両方を同時に学ぶと、2つの間で混乱する可能性が高くなります。これは、PythonおよびRuby at同じことですが、多分 Cについて少し学ぶ を参考にするとよいでしょう。

1

2

0
Billjk