\r\n\r\n
プログラミング言語は、コンピュータに特定のタスクを実行させるための有意義な命令セットを作成するのに便利です。プログラミング言語には、C言語とObjective Cの2つがあり、Objective CはC言語をベースにしている。そのため、C言語のプログラムをObjective Cとしてコンパイルし、実行することができます。C言語とObjective Cの大きな違いは、C言語が構造化プログラミング言語であるのに対し、Objective CはC言語のスーパーセットで、主に反射型とオブジェクト指向のプログラミングパラダイムをサポートするマルチパラダイムプログラミング言語である点です。
1. 概要と主な相違点 2. Cとは 3. ターゲットCとは 4. CとターゲットCの類似点 5. 横並び比較-CとターゲットCの表形式 6. 要約
C言語は汎用的なプログラミング言語である。Dennis Ritchieは、UNIXオペレーティングシステムの開発中にC言語を発見した。java言語、Python言語、C言語など多くの言語のベースとなるプログラミング言語であり、構造化プログラミング言語である。プログラマはコーディングの中で関数や反復処理を使うことができます。cはオブジェクト指向プログラミングをサポートしていません。C言語で書かれたソースコードは、人間には理解できても、コンピュータには理解できない。そのため、ソースコードを機械語に変換するためにコンパイラが使用される。一般的なコンパイラはGNU C/C++コンパイラです。C言語プログラムを実行するためには、テキストエディタとコンパイラが必要であり、統合開発環境(IDE)を使用する必要があります。
C言語では、main()から実行が始まります。cには、int, float, double, charなどの変数データ型や、配列、構造体、列挙型、共用体など多くのデータ型があります。変数データ型はCで宣言する必要があります。宣言されていない変数は、エラーの原因になります。定数は "c***t "キーワードや#defineプリプロセッサーで定義することができる。C言語標準ライブラリには、プログラマがコーディング時に使用するための組み込み関数が多数用意されています。例えば、文字列操作のための関数として、strlen、strcpy、strcatなどがある。これに加えて、プログラマーはユーザー定義関数を作成することができます。
C言語ではヘッダーファイルが使用されます。関数宣言とマクロ定義で構成されています。コンパイラにはヘッダーファイルと、プログラマーが書いたファイルがある。プログラマーは、ヘッダーファイルの内容をコピー&ペーストする代わりに、それをインクルードすることができます。ここでは、ヘッダーファイル "stdio.h "をインクルードするようコンパイラに指示しています。
C言語にはポインタがあります。ダイナミックメモリーアロケーションは、基本的な考え方です。ポインターは、他の変数のアドレスを格納する変数です。C言語やJavaなどのプログラミング言語と異なり、C言語には自動ゴミ取り機能がない。そのため、プログラマは自分で動的なメモリ割り当てを行う必要があります。動的なメモリ管理のために、calloc(), malloc(), realloc(), free() などの関数が < stdlib.h> ヘッダーファイルで提供されています。 C言語はアルゴリズム開発に有用で、主にハードウェアベースのアプリケーション開発で使用されます。組み込みシステム、ネットワークドライバ、オペレーティングシステムなどで使用されています。
C言語が登場したのは1970年頃。1980年代頃、オブジェクト指向言語であるSmalltalkが登場し、構造化プログラミング言語であるCがオブジェクト指向化されたものとして価値があるとされ、C++が登場した。同時にApple社はObjective Cを開発した。Objective CはSmalltalkのアイデアをC言語に置き換えたもので、主にIOSやMacのアプリケーション開発に使われている。CやJavaなどのプログラミング言語はCをベースにしているが別の言語であるが、Objective Cはは、C言語でありながらオブジェクト指向や付加機能を持つ言語です。Cのスーパーセットである。
ターゲットCはコンパイラベースの言語です。完全なソースコードをマシンコードに変換します。C言語と同様に、プログラマはテキストエディタとGCCコンパイラを使ってObjective Cのプログラムを実行することができます。コンパイラは、ソースコードを実行ファイルに変換する。 objective Cは、int、float、double、uni***、ポインタ、構造体、NSArryas、NSDictionariesなどの拡張データ型を持っている。
Objective Cには、クラス、オブジェクト、メッセージパッシング、例外、プロパティ、プロトコルがあります。記号は、新しい構文に関する情報をコンパイラに示すために使用されます。例えば、C言語にはtry, catchがありませんが、Objective Cではtry, catchを示すために@symbolを使用しなければなりません。
CとObjective Cの組み合わせ | |
C言語は、構造化プログラミングをサポートする汎用言語です。 | Objective Cは、C言語のスーパーセットで、汎用的なマルチパラダイム(反射型、オブジェクト指向)プログラミング言語です。 |
オブジェクト指向 | |
C言語はオブジェクト指向プログラミングをサポートしていません。 | Objective Cは、オブジェクト指向プログラミングをサポートしています。継承、抽象化、カプセル化、ポリモーフィズムなどです。 |
データ型 | |
C言語には配列、構造体、列挙型があります。 | Objective Cは、NSArray、NSDictionary、NSSetなどのデータ型を拡張しています。 |
特徴 | |
C言語には、ループ、関数、配列、ポインタなどがあります。 | Objective CはC言語のスーパーセットで、C言語の概念に加え、クラス、オブジェクト、メッセージパッシング、例外、プロトコルなどの新機能を備えています。 |
アプリケーション | |
C言語は、オペレーティングシステムやネットワークドライバなど、ハードウェア関連のアプリケーションを開発する際に広く利用されています。 | Objective Cは、主にMacやIOSのアプリケーション開発に使用されています。 |
C言語とObjective Cの違いは、C言語は構造化プログラミング言語であるのに対し、Objective Cはマルチパラダイムプログラミング言語であり、C言語のスーパーセットであることです。どちらも汎用的なプログラミング言語だが、主に特定の用途に使われる。cは組み込みシステムやOSの開発に広く使われ、Objective Cは主にIOSやMacのアプリケーションの開発に使われる。
この記事のPDF版をダウンロードし、引用の指示に従ってオフラインで使用することができます。 PDF版CとターゲットCの違いはこちらからダウンロードしてください。
1. lyndapodcast, "Objective-C tutorial: Why use Objective-C?"?YouTube, YouTube, 12 March 2014.ここでは、2.tutorialspoint.comのウェブサイトを紹介します。"C言語の概要", focus.利用可能なここ2tutorialspoint.comのウェブサイト。"C言語の概要", focus.