プログラミング蚀語の歎史100「玔粋な」C、単䞀の「プラス」なし

画像



Cプログラミング蚀語の人気を過倧評䟡するこずはほずんどできたせん。特に過去の業瞟を思い出しおください。 おそらく、すべおの開発者は少なくずもその存圚を知っおおり、最倧でプログラムを䜜成しようずしたした。 Cは、C ++、Objective-C、C、Javaなどの蚀語の先駆者です。



Microsoftは、.Netプラットフォヌム甚のネむティブ蚀語を開発するためにCのような構文を遞択したした。 さらに、倚くのオペレヌティングシステムはCで蚘述されおいたす。



もちろん、Cは完璧ではありたせん。この蚀語の䜜成者であるケントンプ゜ンずデニスリッチヌは、長い間開発しおきたした。 Cの暙準化は今日たで続いおいたす。 45幎以䞊前から存圚し、積極的に䜿甚されおいたす。



倚くの堎合、1぀ではなく2぀のプログラミング蚀語-C / C ++に関連付けられおいたす。 ただし、以䞋の説明は玔粋なCに関するものです。



C蚀語はALGOL蚀語ALGorithmic Languageの略にたでさかのがりたす。ALGOL蚀語は、1958幎にスむスのチュヌリッヒ高等技術孊校での䌚議でペヌロッパおよびアメリカのコンピュヌタヌ科孊者の委員䌚ず共同で䜜成されたした。 この蚀語は、FORTRAN蚀語のいく぀かの欠点に察する答えであり、それらを修正する詊みでした。 さらに、Cの開発はUNIXオペレヌティングシステムの䜜成ず密接に関連しおおり、ケントンプ゜ンずデニスリッチヌもこれに取り組みたした。



Unix



MACプロゞェクトMultiple Access Computer、Machine-Aided Cognition、Man and Computerは、1963幎にMITでの玔粋な研究プロゞェクトずしお始たりたした。



MACプロゞェクトの䞀環ずしお、CTSS互換性のあるタむムシェアリングシステムオペレヌティングシステムが開発されたした。 60幎代埌半には、BBN、DTSS、JOSS、SDC、Multiplexed Information and Computing ServiceMULTICSなど、他のいく぀かのタむムシェアリングシステムが䜜成されたした。



Multicsは、MIT、Bell Telephone LaboratoriesBTL、およびGeneral ElectricGEの共同開発で、GE-645コンピュヌタ甚のタむムシェアリングOSを䜜成したす。 Multicsを実行しおいる最埌のコンピュヌタヌは、2000幎10月31日にシャットダりンされたした。



ただし、BTLは1969幎初頭にこのプロゞェクトから撀退したした。



圌の埓業員の䜕人かケン・トンプ゜ン、デニス・リッチヌ、ストゥ・フェルドマン、ダグ・マキロむ、ボブ・モリス、ゞョヌ・オサンヌは自分で仕事を続けたいず思っおいたした。 トンプ゜ンは、GE-635で宇宙旅行ゲヌムに取り組みたした。 最初にMultics甚に䜜成され、次にGE-635䞊のGECOSの䞋でFortranに曞き換えられたした。 ゲヌムは倪陜系の䜓をシミュレヌトし、プレむダヌは惑星たたは衛星のどこかに船を䞊陞させなければなりたせんでした。



このコンピュヌタヌの゜フトりェアもハヌドりェアも、このようなゲヌムには適しおいたせんでした。 トンプ゜ンは代替手段を探しおいお、所有者のいないPDP-7の䞋でゲヌムを曞き盎したした。 メモリは8K 18ビットワヌドのボリュヌムで、矎しいグラフィックスを衚瀺するためのベクタヌディスプレむプロセッサもありたした。



画像

slideshare.netからの画像



トンプ゜ンずリッチヌは、GEでクロスアセンブリを完党に開発し、パンチテヌプにコヌドを移怍したした。 トンプ゜ンは積極的にそれを奜たなかったため、ファむルシステムから始めお、PDP-7のOSを曞き始めたした。 それがUNIXの誕生です。

トンプ゜ンは、利甚可胜な手段を䜿甚しお、圌の蚭蚈に埓っお蚭蚈された快適なコンピュヌティング環境を䜜成したいず考えたした。 明らかに振り返った圌の意図は、管理の基瀎ずしおのプロセスの抂念、ツリヌベヌスのファむルシステム、ナヌザヌプログラムずしおのコマンドの解釈、テキストファむルの簡略化された衚瀺、デバむスぞの䞀般的なアクセスなど、Multicsの革新の倚くを吞収したした。


PDP-7 UNIXは、BCPL蚀語の圱響䞋で䜜成された高レベル蚀語Bの始たりでもありたす。 デニスリッチヌは、Bは型のないCだず蚀いたした。 BCPLは8Kのメモリに収たり、トンプ゜ンによっお慎重に再蚭蚈されたした。 Cで埐々に育ちたした



画像

it-world.comからの画像

1973幎たでに、C蚀語は非垞に匷力になり、もずもずアセンブリ蚀語PDP-11 / 20で䜜成されたUNIXカヌネルのほずんどはCで曞き盎されたした。 これは、アセンブリ蚀語以倖の蚀語で蚘述された最初のオペレヌティングシステムカヌネルの1぀でした。


Cは、UNIXオペレヌティングシステムの䜜成䞭に取埗される「コンパニオン補品」であるこずがわかりたす。



Cの祖先



ALGOL-60蚀語に着想を埗お、ケンブリッゞ倧孊の数孊研究所は、ロンドン倧孊のコンピュヌタヌ郚門ずずもに、1963幎にCPLCombined Programming Languageを䜜成したした。



CPL蚀語は耇雑であるず芋なされ、これに察応しお、Martin Richardsonは1966幎にBCPL蚀語を䜜成したした。その䞻な目的はコンパむラを曞くこずでした。 珟圚は実際には䜿甚されおいたせんが、䞀時的な移怍性のために重芁な圹割を果たしたした。

BCPLは、1970幎代初期にOS6オペレヌティングシステムを含むいく぀かの興味深いプロゞェクトで䜿甚され、䞀郚は初期のXerox PARC蚭蚈で䜿甚されたした。


BCPLはBB蚀語の祖先ずしお機胜し、1969幎にすでによく知られおいるATTベル電話研究所で開発されたした。ケントンプ゜ンずデニスリッチヌも同様です。



圓時の他のオペレヌティングシステムず同様に、UNIXはアセンブリ蚀語で蚘述されおいたした。 アセンブラヌプログラムのデバッグは非垞に苊痛です。 Thompsonは、OSのさらなる開発のために高レベルの蚀語が必芁であるず刀断し、小さな蚀語Bを考案したした。ThompsonはBCPLを基瀎ずしおいたした。 蚀語Bは、型のないCず芋なすこずができたす。



倚くの詳现で、 BCPL、B、およびCは構文的に異なりたすが、ほずんど同じです。 プログラムは、䞀連のグロヌバル宣蚀ず関数の宣蚀プロシヌゞャで構成されたす。 BCPLでは、プロシヌゞャはネストできたすが、プロシヌゞャを含むプロシヌゞャで定矩された非静的オブゞェクトを参照できたせん。 BずCは、より厳しい制限を導入するこずでこの制限を回避したす。ネストされたプロシヌゞャはたったくありたせん。 各蚀語Bの最も叀いバヌゞョンを陀くは、個別のコンパむルをサポヌトし、名前付きファむルのテキストを含めるためのツヌルを提䟛したす。



Bの䜜成䞭に広たった構文の倉曎ずは察照的に、BCPLの基本的なセマンティクスその型構造ず匏評䟡芏則は倉曎されおいたせん。 どちらの蚀語もタむプレスであり、むしろ、「ワヌド」たたは「セル」ずいう固定長のビットのセットずいう単䞀のデヌタ型を持っおいたす。 これらの蚀語のメモリはそのようなセルの配列であり、セルの内容の意味は適甚される操䜜に䟝存したす。 たずえば、「+」挔算子は単玔にマシンの加算呜什を䜿甚しおオペランドを远加したすが、他の算術挔算もオペランドの意味に関係ありたせん。



BCPLもBもCも、蚀語の文字デヌタを区別したせん。 文字列を敎数ベクトルずみなし、䞀般的な芏則をいく぀かの芏則で補足したす。 BCPLずBの䞡方で、文字列リテラルは、セルにパックされた文字列文字で初期化された静的領域のアドレスを意味したす。



Cの䜜成方法



1970幎、ベル研究所はこのプロゞェクトのためにPDP-11コンピュヌタヌを取埗したした。 BはPDP-11で実行する準備ができおいたため、トンプ゜ンはUNIX郚分をBに曞き換えたした。



しかし、モデルBおよびBCPLは、ポむンタヌを操䜜する際にオヌバヌヘッドを暗瀺しおいたす。蚀語の芏則は、ポむンタヌを単語の配列のむンデックスずしお定矩し、ポむンタヌを単語のむンデックスにしたした。 実行䞭にポむンタヌを呌び出すたびに、プロセッサヌが予期しおいたバむトのアドレスぞのポむンタヌのスケヌリングが生成されたした。



したがっお、文字ずバむトのアドレス指定に察応し、今埌の浮動小数点蚈算のハヌドりェアサポヌトの準備をするには、入力が必芁であるこずが明らかになりたした。



1971幎、リッチヌはBの拡匵バヌゞョンを䜜成し始めたした。最初はNBNew Bず呜名したしたが、蚀語がBず倧きく異なるようになったずき、名前はCに倉曎されたした。



抜象オブゞェクトを特城付けるだけでなく、カタログから読み取るこずができるビットのセットを蚘述する構造も必芁でした。 コンパむラは、セマンティクスに必芁な名前ぞのポむンタをどこに隠すこずができたすか 構造がより抜象化されおおり、ポむンタの堎所がどこかに隠れおいる堎合でも、耇雑なオブゞェクト、おそらく構造を含む配列を含む構造にメモリを割り圓おるずきにこれらのポむンタを正しく初期化する技術的問題をどのように解決したすか任意の深さたで



解決策は、型のないBCPLず型付きのCの間の進化連鎖の決定的な飛躍でした。リポゞトリ内のポむンタの実䜓化を陀倖し、代わりに匏で配列名が蚀及されたずきに生成したした。 今日のCで保持されおいるルヌルは、倀-配列が匏で蚀及されるず、この配列を構成する最初のオブゞェクトぞのポむンタヌに倉換されるずいうこずです。



Cをその前身ず最も明確に区別する2番目の革新は、このより完党な型構造であり、特に宣蚀の構文における衚珟力です。 NBは、基本的なint型ずchar型をそれらの配列ずそれらぞのポむンタずずもに提䟛したしたが、それらを組み合わせる他の方法はありたせんでした。



汎化が必芁でした。任意の型のオブゞェクトに察しお、そのようなオブゞェクトを配列に結合したり、関数から受け取ったり、ポむンタにしたりする新しいオブゞェクトを蚘述するこずができるはずです。


画像

C蚀語からの画像 M.りェむト、S。プラタ、D。マヌティン



このような耇合型のオブゞェクトに぀いおは、その䞀郚であるオブゞェクトを指す方法が既にありたした。配列のむンデックス付け、関数の呌び出し、ポむンタヌを䜿甚した間接アクセス挔算子の䜿甚。 同様の理由から、名前を宣蚀する構文が䜜成されたした。これは、これらの名前が䜿甚される匏の構文を反映しおいたす。 だから

int i、* pi、** ppi;
敎数、敎数ぞのポむンタヌ、および敎数ぞのポむンタヌぞのポむンタヌを宣蚀したす。 これらの宣蚀の構文は、i、* pi、および** ppiがすべお匏で䜿甚されるずint型になるずいう事実を反映しおいたす。 同様に

int f、* f、* f;
敎数を返す関数、敎数ぞのポむンタヌを返す関数、敎数を返す関数ぞのポむンタヌを宣蚀したす。

int * api [10]、* pai[10];
敎数ぞのポむンタヌの配列、敎数の配列ぞのポむンタヌを宣蚀したす。



これらのすべおの堎合においお、倉数の宣蚀は、宣蚀の先頭にある型を持぀匏での䜿甚に䌌おいたす。



70幎代「トラブルの時」ず誀った方蚀



1973幎たでに、この蚀語はUNIXを曞き換えるこずができるほど安定したした。 Cぞの切り替えには、移怍性ずいう重芁な利点がありたした。 Bell Labsの各マシンにCコンパむラを䜜成するこずにより、開発チヌムはUNIXをそれらに移怍できたした。



C蚀語の出珟に関しお、Peter Moylanの著曞「The Cに察する事䟋」では、次のように曞いおいたす。 必芁だったのは、アセンブラヌたたはマシンコヌドのレベルでしか実装できなかった䜕かをするこずができる蚀語でした。」



Cは70幎代に発展し続けたした。 1973-1980幎代に、蚀語は少し成長したした。型構造は、笊号なしのlong型、共甚䜓、列挙型を受け取り、構造はクラスオブゞェクトの近くになりたしたリテラルの衚蚘のみが欠萜。



最初のC本。 ブラむアン・カヌニガンずデニス・リッチヌによっお曞かれ、1978幎に出版された本Cプログラミング蚀語は、Cプログラマヌの聖曞になっおいたす。 公匏の暙準が存圚しない堎合、この本KR、たたはCファンが奜むホワむトブックずも呌ばれるが実際に暙準になりたした。



画像

learnc.infoからの画像



70幎代にはCプログラマヌはほずんどいたせんでしたが、そのほずんどはUNIXナヌザヌでした。 しかし、80幎代には、CはUNIXの䞖界の狭い範囲を超えおいたした。 Cコンパむラは、異なるオペレヌティングシステムを実行するさたざたなマシンで利甚可胜になりたした。 特に、Cは急速に成長しおいるプラ​​ットフォヌムIBM PCで広がり始めたした。



KR は次の蚀語機胜を導入したした 。



•構造構造デヌタ型;

•長敎数デヌタ型long int。

•笊号なし敎数デヌタ型unsigned int。

•挔算子+ =および類䌌の挔算子叀い挔算子= +は、匏i = + 10ずi = +10を比范する堎合など、Cコンパむラの語圙アナラむザヌを誀解させたした。



KR Cは、Cコンパむラがサポヌトする蚀語の最も重芁な郚分ず芋なされるこずがよくありたす。 ANSI Cのリリヌス埌も、すべおのコンパむラがANSI Cをサポヌトしおいるわけではなく、優れたKR CコヌドがANSI Cに圓おはたるため、長幎、プログラマヌがプログラムから最倧限の移怍性を達成するこずを望む最䜎レベルず芋なされおいたした。



人気の高たりずずもに、問題が発生したした。 新しいコンパむラヌを䜜成したプログラマヌは、KRで説明されおいる蚀語を基瀎ずしお䜿甚したした。 残念ながら、KRでは蚀語の䞀郚の機胜があいたいに蚘述されおいたため、コンパむラヌはしばしばそれらを自由裁量で解釈しおいたした。 さらに、この本は、蚀語の機胜ずUNIXオペレヌティングシステムの機胜を明確に区別したせんでした。



KR Cの発行埌、ATTコンパむラヌおよび他のいく぀かのメヌカヌがサポヌトするいく぀かの機胜が蚀語に远加されたした。



•倀を返さない関数void型、および型を持たないポむンタヌvoid *型。

•関連付けず構造を返す関数。

•構造ごずに異なる名前空間のこれらの構造のフィヌルド名。

•構造の割り圓お。

•定数指定子const。

•さたざたなメヌカヌによっお導入された機胜のほずんどを実装する暙準ラむブラリ。

•列挙型enum。

•単粟床の小数浮動。



KRの発行埌、Xiは発展を続けたずいう事実によっお状況は悪化したした。Xiはそれに新しい機䌚が远加され、叀い機䌚は切り取られたした。 たもなく、蚀語の包括的で正確か぀珟代的な蚘述が明らかに必芁になりたした。 そのような暙準がなければ、蚀語の方蚀が珟れ始め、それが移怍性を劚害したした-蚀語の最も匷い偎面です。



基準



1970幎代埌半に、C蚀語はBASICに取っお代わり始めたした。BASICは圓時、マむクロコンピュヌタプログラミングのリヌダヌでした。 1980幎代には、IBM-PCアヌキテクチャに適合し、その人気が倧幅に高たりたした。



画像



C蚀語暙準の開発は、米囜芏栌協䌚ANSIによっお行われたした。 1983幎に圌ず䞀緒に、X3J11委員䌚が蚭立され、暙準の開発に埓事したした。 暙準の最初のバヌゞョンは1989幎にリリヌスされ、C89ず呌ばれおいたした。 1990幎に芏栌にわずかな倉曎を加えお、ISOに採甚されたした。 その埌、圌はコヌドISO / IEC 98991990で知られるようになりたしたが、プログラマヌの間では、暙準が採甚された幎に関連付けられた名前C90が修正されたした。 暙準の最新バヌゞョンはISO / IEC 98991999であり、C99ずしおも知られ、2000幎に採甚されたした。



画像



C99暙準の革新の䞭で、倉数の宣蚀の堎所に関する芏則の倉曎に泚意する䟡倀がありたす。 新しい倉数は、耇合ブロックの先頭やグロヌバルスコヌプだけでなく、コヌドの途䞭で宣蚀できるようになりたした。



C99のいく぀かの機胜



•むンラむン関数むンラむン;

•プログラムテキスト挔算子でのロヌカル倉数の宣蚀C ++など。

•long long int32ビットから64ビット数倀ぞの移行を容易にするため、明瀺的なブヌルデヌタ型_Bool、耇玠数を衚す耇玠数型などの新しいデヌタ型。

•可倉長配列。

•制限付きポむンタヌのサポヌト制限。

•構造䜓の名前付き初期化struct {int x、y、z; } point = {.y = 10、.z = 20、.x = 30};

•C ++から借甚した//で始たる単䞀行コメントのサポヌト倚くのCコンパむラは、远加ずしお以前にそれらをサポヌトしおいたした。

•snprintfなどのいく぀かの新しいラむブラリ関数。

•stdint.hなどのいく぀かの新しいヘッダヌファむル。



C99暙準は、珟圚のすべおのCコンパむラで倚かれ少なかれサポヌトされおいたす。 理想的には、暙準を遵守し、ハヌドりェアおよびシステムに䟝存する呌び出しを䜿甚しないCで蚘述されたコヌドは、ハヌドりェアベヌスおよびプラットフォヌムに䟝存しないコヌドになりたした。



2007幎に、次のC蚀語暙準の䜜業が開始されたした。 2011幎12月8日は、C蚀語の新しい暙準を公開したしたISO / IEC 98992011。 新しい暙準の䞀郚の機胜は、GCCおよびClangコンパむラで既にサポヌトされおいたす。



C11の䞻な機胜



•マルチスレッドのサポヌト。

•Unicodeサポヌトの改善。

•䞀般化されたマクロ型ゞェネリック匏、静的オヌバヌロヌドを蚱可;

•匿名の構造ず関連付けネストされた構造ぞのアクセスを簡玠化する。

•オブゞェクトの配眮の管理。

•静的アサヌション。

•危険なgets関数の削陀安党なgets_sを支持;

•quick_exit関数。

•関数指定子_Noreturn;

•新しい排他的なファむルオヌプンモヌド。



11幎ずいう暙準にもかかわらず、倚くのコンパむラはただC99バヌゞョンさえも完党にはサポヌトしおいたせん。



Cの批刀察象



゚ントリヌのしきい倀がかなり高いため、最初のプログラミング蚀語ずしおトレヌニングで䜿甚するのが難しくなりたす。 Cでプログラミングするずきは、倚くの詳现を考慮する必芁がありたす。 「ハッカヌの間で生たれるこずで、倚くの堎合安党ではない適切なプログラミングスタむルを刺激し、混乱を招くコヌドの蚘述を促進したす」ずりィキペディアは曞いおいたす 。



ピヌタヌ・モむランは、より深く合理的な批刀を衚明したした 。 圌は12ペヌゞをCの批刀に捧げたした。 以䞋にいく぀かのフラグメントを瀺したす。



モゞュヌル性の問題
Cでのモゞュラヌプログラミングは可胜ですが、プログラマがいく぀かのかなり厳栌な芏則を順守しおいる堎合のみです。



•各モゞュヌルには、ヘッダヌファむルが1぀だけ必芁です。 ゚クスポヌト可胜な関数のプロトタむプ、説明のみを含む必芁がありたすコメントを陀く。



•ヘッダヌファむル内のコメントのみが、このモゞュヌルに関する倖郚呌び出しプロシヌゞャに認識される必芁がありたす。



•敎合性を怜蚌するには、各モゞュヌルが独自のヘッダヌファむルをむンポヌトする必芁がありたす。



•別のモゞュヌルから情報をむンポヌトするには、各モゞュヌルに#include行ず、実際にむンポヌトされおいる内容を瀺すコメントが含たれおいる必芁がありたす。



•関数プロトタむプは、ヘッダヌファむルでのみ䜿甚できたす。 Cには、関数がプロトタむプず同じモゞュヌルに実装されおいるこずを怜蚌するメカニズムがないため、このルヌルが必芁です。したがっお、プロトタむプを䜿甚するず、「欠萜関数」゚ラヌをマスクできたす。



•モゞュヌル内のグロヌバル倉数、およびヘッダヌファむルを介しおむンポヌトされた関数以倖の関数は、静的ず宣蚀する必芁がありたす。



•「プロトタむプなしの関数呌び出し」ずいうコンパむラ譊告を提䟛する必芁がありたす。 このような譊告は垞に゚ラヌず芋なされる必芁がありたす。



•プログラマは、ヘッダヌファむルで指定された各プロトタむプが、同じモゞュヌル内の同じ名前で実装されたプラむベヌト぀たり、通垞のC甚語では非静的でない関数に察応するこずを確認する必芁がありたす。 残念ながら、C蚀語の性質により、これを自動的に怜蚌するこずはできたせん。



•grepナヌティリティの䜿甚には疑いを持぀必芁がありたす。 プロトタむプがその堎所にない堎合、これはおそらく間違いです。



•理想的には、同じチヌムで䜜業するプログラマは、互いの゜ヌスファむルにアクセスできないようにする必芁がありたす。 オブゞェクトモゞュヌルずヘッダヌファむルのみを共有する必芁がありたす。



明らかな難点は、コンパむラがこれらの芏則を厳守する必芁がないため、これらの芏則に埓うこずはほずんどないずいうこずです。 モゞュラヌプログラミング蚀語は、悪いプログラマヌが䜜成するカオスから少なくずも郚分的に優れたプログラマヌを保護したす。 そしお、C蚀語はこれを行うこずができたせん。


画像

smartagilee.comからの画像



ポむンタヌの問題
デヌタ構造の理論ず実践のすべおの進歩にもかかわらず、ポむンタヌはプログラマヌにずっお本圓の障害です。 ポむンタヌを䜿甚するこずは、プログラムのデバッグに費やす時間のかなりの郚分を占め、開発を耇雑にする問題の倧郚分を匕き起こすのはポむンタヌです。



重芁なポむンタヌず重芁でないポむンタヌを区別できたす。 私たちが理解する䞊で重芁なのは、デヌタ構造の䜜成ず維持に必芁なポむンタヌです。



デヌタ構造を実装する必芁がない堎合、ポむンタヌは重芁ではないず芋なされたす。 兞型的なCプログラムでは、重芁なポむンタヌよりも倚くの重芁なポむンタヌがありたす。 これには2぀の理由がありたす。



1぀目は、C蚀語を䜿甚するプログラマヌの間では、配列芁玠を衚瀺する堎合など、他のアクセス方法が決しおそれらに劣らない堎合でも、ポむンタヌを䜜成するこずが䌝統ずなっおいるこずです。



2番目の理由は、関数のすべおのパラメヌタヌを倀で枡す必芁があるC蚀語の芏則です。 Pascal VARパラメヌタヌたたはAda蚀語のinoutパラメヌタヌに盞圓するものが必芁な堎合、唯䞀の解決策はポむンタヌを枡すこずです。 これは䞻に、Cプログラムの可読性の䜎さを説明しおいたす。



重芁なポむンタヌを入力/出力パラメヌタヌずしお枡す必芁がある堎合、状況は悪化したす。 この堎合、関数にはポむンタヌぞのポむンタヌを枡す必芁がありたす。これにより、経隓豊富なプログラマヌでも困難が生じたす。


Cは生きおいる



2016幎6月のデヌタによるず 、プログラミング蚀語の人気の高たりを枬定するTIOBEむンデックスは、Cが2䜍であるこずを瀺したした。







Cが時代遅れであり、圌の広範囲にわたる分垃は幞運ず積極的なPRの結果であるず誰かに蚀わせおください。 UNIXがなければ、Cは決しお䜜成されなかったず誰かに蚀わせおください。



ただし、Cは䞀皮の暙準になりたした。 䜕らかの方法で、他の倚くの蚀語ずは異なり、時の詊緎に合栌したした。 C開発者は䟝然ずしお需芁があり、ITコミュニティは蚀語の䜜成者を芪切な蚀葉で思い出したす。



All Articles