Cプログラミングについて学ぶ:この言語が依然として支配する理由

開示: あなたのサポートはサイトの運営を維持するのに役立ちます!このページで推奨する一部のサービスについては、紹介料を稼ぎます.


プログラミング言語は私たちの周りの世界を形作ります。ポケットの中のスマートフォンから航空会社のガイダンスソフトウェアまで、ほとんどすべての最新のデバイスが何らかの方法でコードを利用しています.

どのプログラミング言語が最も影響力があったかについての議論があります。しかし、最有力候補はCです。これはUnixオペレーティングシステムのバックボーンであり、オブジェクト指向プログラミングの開発への道を開きました.

Cは、C ++、Objective-C、C#、Java、JavaScript、Perl、PHP、Pythonなど、数えきれないほどの影響力の支配的なルートになりました。言語はATで1969年から1973年の間にデニスリッチーによって作成されました&Tベルラボ.

これは、「高水準」言語でのオペレーティングシステムのオーサリングを可能にする最初の言語でした。つまり、複数のタイプのハードウェアから高度な機能を利用するために必要な専門知識が少なくて済みました。.

Unixオペレーティングシステムの完全な再起動が可能になり、最初のポータブルOSプラットフォームの1つになりました。 2つの異なるコンピューター用のコンパイラーは、2つのコンピューター間でCコードを「移植」し、両方のマシンで動作することができました。これは画期的な成果でした。.

Cの用途?

Cプログラミング言語は、ほとんど無限のアプリケーションを持つ汎用言語です。.

Cは高級言語と見なされていますが、他のほとんどの言語よりもハードウェアにはるかに近いです。そのため、Cよりも「高い」言語の多くは、Cを使用してコンパイルします(Pythonなど)。 Cの主な用途には次のものがあります。

  • オペレーティングシステム

  • 言語コンパイラ

  • 言語通訳

  • アセンブラー*

  • デバイスとドライバー

  • データベースとユーティリティ.

*アセンブラは、CPUレベルのコーディング構文を使用して純粋なバイナリであるマシンコードを作成する、低レベルの「アセンブリ言語」用のコントローラです.

概要と概念の理解

プログラムの作成を開始するには、Cが構築されている概念を紹介する必要があります。.

  • Cプログラミング入門

  • Computerphile —「C」プログラミング言語:Brian Kernighan.

C、C ++、Objective-C、C#の違い

これらの4つの異なるプログラミング言語はすべて非常によく似た名前を持っていますが、それぞれの動作方法と使用目的に大きな違いがあります.

  • Cは非常に独自の言語であり、コンパイラの実行やオペレーティングシステムのコア機能の制御のためにほぼすべてのマシンで使用される「ポータブル」言語です。.

  • C ++は1979年に作成され、クラスを使用したオブジェクト指向プログラミングが導入されたため、当初は「クラスを使用したC」と呼ばれていました。 C ++はCと同じマークアップ構文を共有し、クラスを使用してオブジェクトを作成するという点を除いて非常に似ています。これは、純粋なCではできないことです。.

  • Objective-Cは1983年に開始されましたが、最近人気を博しました。これは、OS XおよびiPhoneアプリの原動力となっており、C言語のスーパーセットと見なすことができます。 C ++と同様に、Cをよりオブジェクト指向にします。 Appleハードウェアに限定されます.

  • C#(see-sharpと発音)は、.NETプラットフォーム向けの新しいオブジェクト指向言語として2001年にMicrosoftによって作成されました。 C#は実際にはCと多くの共通点はありません。C#はJavaプラットフォームのライバルです。当時、Microsoftは#タグで言語を命名していたため、A#、F#は他の言語です。書式設定とライブラリ管理はCとは大きく異なります。さらに、C#はCほどマシンコードに近いものではありません(ただし、C#はMicrosoft Intermediate Language — MSILを介して限られた方法でマシンコードを処理できます)。

これらの違いの詳細については、次の場所をご覧ください。

  • C、C ++、C#およびObjective C — Skillcrush

  • Objective Cの前にCまたはC ++を学ぶべきですか? — Techyヘルプ.

Cの学習に最適なリソース

異なる言語の概念と知識の紹介は非常に役立ちます。しかし、Cを学ぶことが自分に合っていると判断したら、次のステップは、Cを学ぶためのリソースを見つけることです。.

さまざまなオンラインビデオ講義、デモ、仮想コースがあり、あなたをサポートします。さらに、実際にコーディングを開始できるように、機能するコンパイラーまたは対話式開発環境(IDE)を入手することもできます。.

オンラインコースとチュートリアル

  • Learn-C.org:インタラクティブなコーディングウィンドウを備えた優れたサイト.

  • CProgramming.com:チュートリアル、クイズ、リファレンスを通じてCとC ++の両方を学ぶ.

  • CのWiBit.NETコース:インタラクティブビデオ、AppleおよびWindowsストアでも入手可能.

  • Cでの実践的なプログラミング— MITオープンコースウェア:世界最高の研究所の1つからの無料講義.

  • カールヘロルドの「みんなのコンピューターサイエンス」:ウォークスルーの説明が充実したYouTubeプレイリスト.

役立つ本とガイド

  • Cプログラミング絶対初心者向けガイド:Greg Perry著 & ディーン・ミラー.

  • Cプログラミング言語第2版:Brian W. Kernighan著.

  • C The Hard Wayを学ぶ:(難しい問題のある電子書籍).

C用のIDEおよびコンパイラ

ほとんどのIDEは、CとC ++の両方を処理するように構築されています。 IDEプロジェクトの設定方法によっては、ファイルに.CPPではなく.Cを手動で付ける必要がある場合があります。.

  • Eclipse IDE:クロスプラットフォーム.

  • Netbeans IDE:クロスプラットフォーム、Javaで実行.

  • コード::ブロック:C、C ++、Fortran IDE、クロスプラットフォーム.

  • CodeLite IDE:C、C ++、PHP、NodeJS IDE.

  • Visual Studio:Windowsのみですが、非常に堅牢なデバッガーです。.

  • Gnuコンパイラコレクション— GCC:C、C ++、Objective-Cなどのコマンドラインコンパイラ。クロスプラットフォーム.

  • lcc-win:バージニア大学によるWindows Cコンパイラ.

コミュニティリソース

プログラミングの特定の領域に特化することを計画している場合は、人々があなたの興味を共有するオンラインコミュニティを見つけることをお勧めします.

たとえば、ハードウェア向けに開発している場合は、そのようなハードウェアのフォーラムを探してみてください。これにより、他の開発者との関係を構築し始めることができます.

コミュニティでの役割を確立することは、コーディングを進めるための優れた方法です。また、他のCプログラマーとより一般的にやり取りしたくなるでしょう。これに使用できるいくつかのツールとコミュニティリソースを次に示します。

  • スタックオーバーフロー(タグ付きC):質問と問題解決のための最高のリソース.

  • Cボード— Cprogramming.com:多くのアクティブユーザーと多くの役立つスレッドを備えた非常によく確立されたメッセージボード.

  • CおよびC ++フォーラム— dreamincode.net:C ++に重点を置いていますが、優れた情報がたくさんあります.

  • ProgrammingForums.org:アプリケーション開発に関するフォーラム.

また、Meetup.com、eventbrite、またはその他のイベントアプリケーションで、お住まいの地域の開発者の集まりを探すこともできます。実際の開発者を見つけて対面で話すことで、学習曲線を劇的にスピードアップできます.

次に何をすべきか?

最初に行う最も重要なことは、あなたの目標が何になるかを決定することです。幅広いトピックに関する一般的なリソースは常に利用可能であり、簡単に見つけることができますが、高度になるにつれて、回答をすばやく見つけることが難しくなります。.

目標を設定し、基本を学び、コミュニティの助けを借りて専門化します。プロジェクトを開始し、実験し、学び、そして成長する.

幸運を祈ります!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map