1

パターン認識のコースを受講しようとしています。私は C も C++ も予備知識がないので、コースの前にどちらかを少しだけ学び、コースを受講するときにもっと学ぶようにと教授に言われました。

どちらを選ぶべきですか?

私が持っているプログラミングの予備知識は、ほとんどが C# に限定されていますが、一部の PHP、SQL、および Prolog も同様です。

4

5 に答える 5

5

C や C++ などの低レベル言語を選択するということは、おそらく、開発時間を犠牲にしてパフォーマンスを重視することを意味します。

これが初めての低レベル言語である場合は、C を学んでください。Cはシンプルで堅牢で実績のある言語であり、高速なコードを書くことができます。数十年にわたる移植性の実績があります。C コードを他の言語で書かれたコードと統合する方がはるかに簡単です。C++ では、簡単に間違いを犯してしまいます。C++ を正しく機能させるには、はるかに高度な言語習得とプログラマーの注意が必要です。C++ で高速なコードを作成することは可能ですが、C で同じことを行うよりも芸術的です。

学習するのに数か月しかない場合は、最終的には問題のない C コードを記述できるようになりますが、この時間だけでは C++ の十分な経験を積むには十分ではありません。 2つはひどいでしょう。

たとえば、Linus Torvalds による C++ に対する厳しい批判を参照してください。C++ は恐ろしい言語であり、C++ の生産性です。基本的に、C++ はプロのプログラマーにとっても複雑すぎることと、C++ コードはコンテキスト依存の動作があいまいであることに帰着します (これは高レベル言語の機能と見なされる場合がありますが、パフォーマンスについて推論することはより困難になります)。

コンピューター ビジョン用の主要なオープン ソース ライブラリの 1 つである OpenCV は、C と C++ の両方で利用できますが、Python で利用することもできます。Python は、作業をすばやく完了するための (また、最初の言語として学習するための) はるかに簡単な言語です。 )。ところで、ほとんどの作業を C/C++ で書かれたライブラリに任せることができれば、Python のパフォーマンス コストはそれほど大きくないと思います (ただし、一般的に Python は C よりも 10 倍遅くなります)。

于 2010-10-18T09:49:01.497 に答える
4

Stroustrup (C++ の発明者) は、C++ は C よりも習得しやすいと主張しています。

手動でキャッチする型エラーが少なくなり […] 習得するトリックが少なくなり […]、より優れたライブラリが利用できるようになります。

それを念頭に置いて、C++に進みます。

于 2010-10-18T10:04:49.723 に答える
3

C と C++ は、プログラミングへのアプローチ方法が根本的に異なります。C# の経験がある場合は、オブジェクト指向でもある C++ を選択できます。また、違いはありますが、C++ を知っていれば、C コードも読むことができます (そしてほとんど理解できます)。また、これらの言語の違いに関する情報については、この質問を確認してください。

于 2010-10-18T08:48:18.823 に答える
3

C# のクラスなどについて知っている場合は、C++ を学習するのがおそらく最も簡単なので、C++ を学習することをお勧めします。また、C++ で無料の関数を作成することもできますが、C でクラスを作成するのは困難です。

于 2010-10-18T08:49:48.587 に答える
1

おそらく使用する標準ライブラリはopencv.

C# は、C/C++ をマスターするための良い方法です。おそらく、opencv のコード例を見て理解することができるでしょう。

例を通して作業し、それらに慣れることで習得する十分な C でうまくいく可能性があります。コースの焦点はアルゴリズムであり、コードがどれだけ派手かということではありません。

楽しそうなコースですね!幸運を。

于 2010-10-18T08:46:25.657 に答える