C、C++、C#、Objective-C の主な違いを理解する
モバイル アプリ開発、AI プログラミング、ハイ パフォーマンス コンピューティング、組み込みハードウェアなどの多様なキャリア パスを調査すると、C プログラミング言語のさまざまなバリエーションのうちの 1 つを学習するための推奨事項が見つかることがあります。 C は古くて強力な言語であり、その子孫が多数のプロジェクトで使用されています。
しかし、C の派生言語が非常に多いため、それらの違いを理解するのが難しい場合があり、学習するために 1 つを選択するのはさらにイライラさせられます。 Career Karma は、学習する適切な言語を選択することがいかに重要であるかをよく知っているので、お手伝いさせていただきます。 C++、C#、または C オンライン プログラミング コースに登録する必要があるかどうかを確認するには、読み続けてください。
C 言語の背景
深い青色の探索 C.
C のオリジナルのバリアントは、1970 年代に世界的に有名なマスター プログラマーのデニス リッチーによって発明されました。彼は、人気のあるオープン ソース オペレーティング システムである Unix の新しいバージョンの開発を促進するためにこれを構築しました。 C が登場する前は、Unix 開発はアセンブリで行われていました。これは人間が実行できる最低レベルのプログラミングであり、1 と 0 を 1 つまたは 2 つ上回るだけです。
C は低レベル言語とみなされますが、それでもアセンブリよりは高レベルであり、Unix 開発ははるかに簡単になりました。
博士課程の学生である Bjarne Stroustrup は、10 年後に中級プログラミング言語 C++ を開発しました。彼の目標は、C を採用し、オブジェクト指向プログラミングの機能を追加して、C の効率を犠牲にすることなく C をより強力にすることでした。
Microsoft チームは 2000 年代初頭に C# を構築しました。これは高水準言語であり、変数チェックやガベージ コレクションなどの低水準言語では処理できないことを意味します。 C# は多くの点で C や C++ より複雑ですが、その構文は間違いを回避しやすいため、学習が容易です。
Objective-C は、C のもう 1 つのオブジェクト指向の子孫であり、構文の違いにより、C++ よりも GUI 設計などのタスクに適しています。
主要な C の種類はどのように使用されますか?
これは、すべての C コードが生成される C ファクトリーです。
C は、今でも史上最も広く使用されているプログラミング言語の 1 つです。これは今でもオペレーティング システムや組み込みシステム ハードウェアのプログラムに使用されています。多くのオープンソース プロジェクトも C で書かれています。
C++も広く使われています。 Adobe Illustrator や Google Chrome などの多くのアプリケーションは C++ で構築されています。ゲームのようなリソースを大量に消費するものを構築する場合、C++ には、昔ながらの C でコードを書くという困難がなく、ハードウェアに近いという利点があります。
C# は Microsoft で開発されたため、通常は Microsoft の .NET フレームワークと組み合わせて使用されます。 C# は、Web アプリケーション、Web サービス、Windows プラットフォーム用のソフトウェア、さらにはファクター ロボティクスの制御システムなどの予期せぬ場所の開発にも使用されます。
最後に、Objective-C の用途のほとんどは iOS アプリケーションの開発です。 Apple は、オブジェクト指向言語で動作することを望んでいたため、早い段階で Objective-C に目を向けましたが、これはそのような言語が数多く利用可能になる前のことでした。 Objective-C は Apple プロジェクトに厳密に限定されているわけではありませんが、これらは Objective-C の唯一の主流の用途です
これにより、C プログラミング言語ファミリーの強力なメンバーについての理解を深めることができれば幸いです。
-
C++の配列に存在するキーKの確率
サイズ「n」の配列で与えられ、タスクは、配列で利用可能な場合、与えられた要素kの確率を見つけることです。 配列内の要素の数に等しい「n」まで配列全体をトラバースし、指定された要素またはキー「k」を検索します。要素がその確率を計算するよりも配列に存在する場合は、0を出力します。 入力 arr[] = { 1, 2, 3, 4, 5, 6} K = 5 出力 probability of a key 5 in an array is :0.166 入力 arr[] = { 1,2,3,4,5,6,7 } K = 8 出力 probability of a key 5 in an
-
C++で下から右に光を転送できる最大ミラー
0と1のみを含む正方行列が与えられます。 0は空白または空の場所を表し、1は障害物を意味します。これらのミラーが下から右に光を転送できるように、空のセルに配置できるミラーをいくつか見つける必要があります。これは、ミラーがインデックス[i、j]に配置され、その特定の行(i)の右側のすべてのセルと、その特定の列の下部(j)のセルに障害物がない場合に可能です。 ミラーがA[i][j]にある場合、すべてのA [i+1からn][j]およびA[i][j + 1からn]は空、つまり0です。次の図に示すように。 入力 Arr[][] = {{0,0,1,0,0},{0,0,0,0,0},{0,0,0