環境とそれに伴う技術に同じように重要な開発成果が現われました。言語の有用性と効率に対する十分な確信をを私たちに与えました。他のプラットフォームに移動させることを始めたからです。起こることを発見しました。ほとんどがポータビリティと型の安全性への考慮に焦点が当てられていました。我々が予測し観測した問題に対処しようと努力した結果です。その型がなかったころの兆候を強く示していました。それらを識別したい誘惑に抵抗することを困難にしました。いう型が追加されました。型変換の記法は型変換をより明示的に指定するために発明されました。書くことをプログラマに許しました。無批判に使われました。それを許容するコンパイラを作りました。実現するように改造しました。別のものに結びつきました。この機械はInterdataよりはるかにポピュラーになりました。急速に広がり始めました;Tと外部。その実質成長は始まりました。リリースのBSDシリーズに基づいてありました。C言語の使用は広く広がりました。プログラミング・ツールのようにポピュラーになりました。多くの独立して生成されたコンパイラー製品でした。Cが形式上の標準化を必要としたことは明らかでした。それは特にどちらの無効のタイプあるいはenumタイプにも言及しませんでした。結合にメンバーの名前を堅く関連させること。言語の完全な権威のある記述は残りませんでした。9899-1990.K&ampの第一版;さらに、Rは、言語の多くの詳細上で不適当に正確でした。後の拡張はいうまでもなくR。公式規格の刊行許可が重要であることを意味しました。1983の夏にCBEMAの指導のもとにX3J11委員会を設立しました。89]を生産しました。9899-1990としてISOによって認められました。change.始めから、X3J11委員会は言語拡張を用心深く保守的に見ました。明白な?Xタンダードを開発するために。標準の単なる発布が世界を変わらせないことを悟りました。機能のタイプ署名に形式上の議論のタイプを組み入れました。値を返す機能であると言うか。新しいスタイルで、これはよりよく与えました。したがってよりよいタイプチェックおよび適切な転換を促進することために。障害を引き起こしました。正当に思いました、さらに新しい形式がよりよいことに合意しました。コンパイラーと争わなければならないのと同じくらいよかった。it.X3J11も導入しました。(例えばタイプ修飾語const、揮発性で、わずかに異なるタイプ促進規則)。標準化プロセスは、言語の特徴を変更しませんでした。C標準は、言語意味論を形式的に指定することを特に試みませんでした。それにインプリメンテーションを基づかせるのに十分に正確です。プリプロセッサーおよび図書館。マクロの代用を実行します。そのコンパイラーを備えた相互作用はよく記述されていませんでした。X3J11は、状況を改善することを試みました。ように、オペレーションを提供します。その研究と同じくらい重要であると正確に信じました。したがって1セットの標準の手続きに依存します。Unixからの根本的なサポートは暗黙に理解されました。セットをドキュメント化することを費やしました。利用可能なのに必要なライブラリー・ルーチンの。X3J11委員会の現在の活動は既存の標準上の解釈を出すことに制限されます。サブグループX3J11.1として公式に認められました。それらは、Cに対する拡張を考慮し続けます。建築上の特徴を進めました。それらは、構造リテラル用の記法を含んでいます。CおよびBさえは数人の直接の子孫を持っています。1本の側枝は初期に発展しました。ワーテルローの大学を訪れた時彼はBを持って来ました。えっ、およびZ(カナダの答え、に「Bに続くもの?')をその後大量に産みました。Cの中で書き直されました。して広く使用されます。宣言シンタックスが表現シンタックスを模倣する方法。初心者に障害としてしばしば役立ちます。歴史上の事故あるいは誤りがそれらの困難を悪化させました。Cは型がない言語から発展しました。費用を行なわなければなりませんでした。X3J11委員会は同じ問題に直面するでしょう。オブジェクトを使用するような使用法について苦情を言いませんでした。本は、既存のコンパイラーがそれらを強化しないと認めました。後の混乱に寄与しました。1つの、ポインターとしてCの中で解釈されたこの特別の場合のみでのis。配列からポインターが生成したf。それは多くとしてリーダに役立ちます。プログラマの責任でした。タイプ協定をチェックしませんでした。修理するX3J11委員会の最も大胆で最も痛い革新を要求したもの。(正当化されなかったにしても)。全体のプログラムの一貫性および統一をチェックします。言語の知覚された複雑さに寄与しました。Cでは、構文上単項の接頭辞オペレーターです。これは単純な表現でうまくいきます。括弧が解析を指図するために要求されます。fp()および()(*pf)それぞれ。表現の中で使用されるスタイルは、宣言に通り抜けて達します。したがって、名前は宣言されるかもしれません。change.整数にポインターを返す機能へのポインターです。2つの結果が生じています。ついて記述する方法の比較的豊富なセットを持っています。理解するために等しく激しく反対します。別の結果はシンタックスの詳細に借りがあります。多数が理解?キることが困難に感じるスタイル[アンダーソン80]。それは遅すぎたので、変更することができませんでした。それに満足しています;それは有用な統一する原理です。C(配列のその処理)の別の特有の特徴は実際的なグラウンドでより疑わしい。それは学習することができます。記述することを示します。慣例を加えて他の配列と同じメカニズムによって扱われます。それとCのアプローチを比較することは面白い。(また、すべてのコンパイラーは完全にそれらをインプリメントするとは限りません。提供するために言語定義中で、およびコンパイラー中で要求されます。これは部分的に固定しました。多くの文字としてストリングを扱います。1より言語について記述し翻訳することはより簡単です。あるストリング・オペレーションは他の設計の中でよりも高価です。Cのストリングへのアプローチはうまくいきます。将来の拡張のための不運な意味合いを持ちます。データ・フロー技術を使用するに違いありません。理解することができます。いくつかの重要な使用法は分析することが困難なままです。アクセス可能、外部的に。高度に効率的なインプリメンテーションおよび拡張に問題を残す。conventions.多くのより小さな不適切が言語およびその記述で存在します。そのほかに、それらは上に議論しました。そこで、詳細なポイントを超越する泊まるさらに一般的な批判はあります。書くために支援をほとんど提供しないということです。弱く言語定義に結?ム付けられます。モジュール化の直接の支援はほとんどありません。プロジェクト・デザイナーは、自分の協定を作ることを強いられます。プログラムの実行の全体にわたって既存。ライブラリー・ルーチンによってのみ提供されます。Cは自動ガーベジ・コレクションに敵対しています。成功するようになりました。どの特質がその広範囲の使用に寄与しましたか。それは言語を何十万もの人々に利用可能にしました。システムの成功において重要でした。言語の他の環境の侵入はより多くの基本の長所を示唆します。Cは単純で小さな言語(単純で小さなコンパイラーで翻訳可能)のままです。上手に本物の機械によって提供されるものに根ざしています。学習することは困難ではありません。そのプログラム・ポータビリティは達成することができます。常に実際の環境を備えたタッチに残りました。大きなツールを建造するツールと見なされました。あまりに供給しようとしません。Cは、他の言語より所有者の拡張の自由にする人のままでした。いくつかのインテル・プロセッサーの特色に対処するつもりでした。表現するプログラムに成功しました。十分に効率的なシステム・インプリメンテーション言語の必要を満たしました。Prosser.それは、今日のC言語への直接の寄稿家の役割を簡潔に要約する価値があります。それは、マーティン・リチャーズのBCPLに直接由来しました。1971-73にBをCに変えました。トムプソンは、1972-1977に言語考えを与えました。