ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
ダウンロード
ブラウザよりも高速アクセス!
 

C--

索引 C--

C--(シーマイナスマイナス)は、人間ではなくコンパイラが生成することを想定したC言語風のプログラミング言語(中間言語)である。.

19 関係: 例外処理メルヴィン・コンウェイトランスコンパイラプログラミング言語アメリカ国立科学財団アセンブリ言語ガベージコレクションクロスプラットフォームコンパイラソースコードC言語ClangGitHubGNUコンパイラコレクションLLVMML (プログラミング言語)Rust (プログラミング言語)Swift (プログラミング言語)機械語

例外処理

例外処理(れいがいしょり)とは、プログラムの上位の処理から呼び出されている下位の処理で継続不能、または継続すれば支障をきたす異常事態に陥ったとき、制御を呼び出し元の上位の処理に返し安全な状態になるよう回復処理をすること。その際に発生した異常のことを例外と呼ぶ。 継続不能や継続すると問題になる様な状態としては、次のようなものが挙げられる。.

新しい!!: C--と例外処理 · 続きを見る »

メルヴィン・コンウェイ

メルヴィン・コンウェイ(英: Melvin Conway)は初期のコンピュータ科学者、プログラマーであり、コンウェイの法則として知られる法則「システムを設計する組織は、その構造をそっくりまねた構造の設計を生み出してしまう」 (原文: "Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.")を生み出したハッカーとしても知られる。 コンウェイは、おそらくこの法則ではなく、コルーチンを発明した論文および 1958年にUNCOL を提唱したことで最も有名である。 コンウェイはバロースの model 220 コンピュータ向けに SAVE と呼ばれるアセンブラを書いた。SAVE は何かの頭文字ではなく、その機能によるものだった。つまり、SAVEでプログラムを書くことで、パンチカードを節約(SAVE)することができたのである。 1970年代と1980年代、彼はアメリカ国立標準技術研究所向けの MUMPS 医療コンピュータ言語と、 システム言語の標準化に携わっていた 。また、MUMPS についての参考書を著した 。.

新しい!!: C--とメルヴィン・コンウェイ · 続きを見る »

トランスコンパイラ

トランスコンパイラ(他にトランスパイラ、ソース・トゥ・ソースコンパイラ、などとも)は、あるプログラミング言語で書かれたプログラムのソースコードを入力として受け取り、別のプログラミング言語の同等のコードを目的コードとして生成する、ある種のコンパイラである。従来一般に、コンパイラが「比較すると高水準な言語のソースコード」から「比較すると低水準な言語の目的コード」に変換する(「コンパイルする」)ものであったのに対し、トランスコンパイラは同じ程度の(抽象化の)水準のコードに変換する。たとえば、PascalのコードをCのコードへと変換する。自動並列化コンパイラは、しばしば高水準言語の入力からOpenMPのような並列化メタデータやFortranのforall文のような言語構造を変換する。 トランスコンパイルの別の目的は、基本的なプログラミング言語の次期バージョンを使う場合や、APIの後方互換性が壊れた場合などに、レガシーなコードから変換することである。プログラムの実行環境が変わる場合(例えば、Python 2からPython 3に変換する場合や古いAPIから新しいAPIに変換する場合)や、コンパイルによりプログラムのサイズが極端に大きくなったり実行速度が遅くなった場合は、(コンパイラとして見れば、要するに最適化ということだが)リファクタリングを行う。 トランスコンパイラは、元のソースコードの開発やデバッグを簡単に行うことができるよう、元のコードをコメントなどに残す(ことができる)ものもある。また、元のコードから変換した際に構文が大幅に変わった場合は、同等のコードには見えないようなコードに変換されることもある。。元のコードから変換されたソースコードにマッピングを行うデバッグツールもある。。--> トランスコンパイラを主たる実装として開発されている言語の例としては, Coccinelle, CoffeeScript, Dart, Haxe, TypeScript, Emscriptenがある。.

新しい!!: C--とトランスコンパイラ · 続きを見る »

プログラミング言語

プログラミング言語(プログラミングげんご、programming language)とは、コンピュータプログラムを記述するための形式言語である。なお、コンピュータ以外にもプログラマブルなものがあることを考慮するならば、この記事で扱っている内容については、「コンピュータプログラミング言語」(computer programming language)に限定されている。.

新しい!!: C--とプログラミング言語 · 続きを見る »

アメリカ国立科学財団

アメリカ国立科学財団(アメリカこくりつかがくざいだん、National Science Foundation, NSF)は、アメリカ合衆国の科学・技術を振興する目的で1950年に設立された連邦機関である。 数学、コンピュータ科学、社会科学といった分野まで含む、アメリカ国立衛生研究所(NIH)が管轄する医学分野を除く幅広い科学・工学分野に対する支援を行っている。年間予算は70.3億ドル(2012年度)。米国の大学における基礎研究に対する米連邦政府からの支援の内、およそ20%を担当している。NIHといった他の研究費配分機関と異なり、自前の研究所を持たず(極地プログラムを除く)、大学等の外部機関に研究費を交付することに特化している。毎年約10000件の資金(グラント)を交付しているが、主な交付先は個人または少人数からなるグループである。その他には、研究センター支援、機器・施設整備のための資金提供(ファンド)を行っている。これによって、160個以上のノーベル賞を輩出するなど、多くの革新的な研究成果がNSFの支援によって生み出されている。 また、例えば電波望遠鏡、南極の観測サイト、超高速ネットワーク環境、海洋観測船、重力波観測設備といった大型の研究設備に関する支援や、義務教育以前(pre-K)から、大学院教育以降までにわたる、科学と工学に関する教育が挙げられる。NSFが資金援助する研究は教育と統合されたものであることが要求されており、この研究成果によって、新しい科学技術分野に従事する熟練労働者や、次世代を教育するために有能な教師の育成につながることが期待されている。.

新しい!!: C--とアメリカ国立科学財団 · 続きを見る »

アセンブリ言語

モトローラ MC6800 のアセンブリ言語のソースコード アセンブリ言語(アセンブリげんご、英: assembly language)とは、コンピュータ、マイクロコントローラ、その他のプログラム可能な機器を動作させるための機械語を人間にわかりやすい形で記述する、代表的な低水準言語である。なお、英語の assembly とは「組立」という意味である。.

新しい!!: C--とアセンブリ言語 · 続きを見る »

ガベージコレクション

ベージコレクション(garbage collection; GC)とは、プログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に解放する機能である。「ガベージコレクション」を直訳すれば「ゴミ集め」「ごみ拾い」となる。1959年ごろ、LISPにおける問題を解決するためジョン・マッカーシーによって発明された。 メモリの断片化を解消する機能はコンパクションと呼ばれ、実現方法によってはガベージコレクションと共にコンパクションも行う仕組みになっている。そのためコンパクションを含めてガベージコレクションと呼ぶ場合もあるが、厳密には区別される。 また、ガベージコレクションを行う主体はガベージコレクタと呼ばれる。ガベージコレクタはタスクやスレッドとして実装される場合が多い。 参照カウント方式のガベージコレクションは通常煩雑なコーディングを必要とするが、それを必要なく実装したライブラリとしがある。.

新しい!!: C--とガベージコレクション · 続きを見る »

クロスプラットフォーム

プラットフォーム(cross-platform)とは、異なるプラットフォーム(例えばPC/AT互換機とMacintosh、あるいはWindows・macOS・FreeBSD・Linuxなどのように、仕様が全く異なる機械(ハードウェア)またはオペレーティングシステム)上で、同じ仕様のものを動かすことが出来るプログラム(ソフトウェア)のことを言う。同様の呼称にマルチプラットフォームがある。 また、家庭用ゲームにおいては「クロスプラットフォーム」と「マルチプラットフォーム」で意味が異なる場合がある。本項ではこのケースについても後述する。.

新しい!!: C--とクロスプラットフォーム · 続きを見る »

コンパイラ

ンパイラ(英:compiler)とは、コンピュータ・プログラミング言語の処理系(言語処理系)の一種で、高水準言語によるソースコードから、機械語に(あるいは、元のプログラムよりも低い水準のコードに)変換するプログラムである。.

新しい!!: C--とコンパイラ · 続きを見る »

ソースコード

青で示されているのが有効なコードである。 ソースコード(source code)とは、コンピュータプログラミング言語で書かれた、コンピュータプログラムである文字列(テキストないしテキストファイル)のことである。.

新しい!!: C--とソースコード · 続きを見る »

C言語

C言語(シーげんご)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発したプログラミング言語である。英語圏では単に C と呼んでおり、日本でも文書や文脈によっては同様に C と呼ぶことがある。.

新しい!!: C--とC言語 · 続きを見る »

Clang

Clang (:クランのように発音)は、プログラミング言語 C、C++、Objective-C、Objective-C++ 向けのコンパイラフロントエンドである。バックエンドとして LLVM を使用しており、LLVM 2.6以降は LLVM の一部としてリリースされている。 プロジェクトの目標は、GNUコンパイラコレクション (GCC) を置き換えることのできるコンパイラを提供することである。開発は完全にオープンソースの方法で進められており、アップルやGoogleといった大企業も参加・資金提供している。ソースコードは、ライセンスで提供されている。 macOSおよびiOS(ともにXcodeの付属として)、ならびにFreeBSDにおいて標準のコンパイラとして採用されている。 Clang プロジェクトではコンパイラのフロントエンドに加えてClang静的コード解析ツールも開発している。.

新しい!!: C--とClang · 続きを見る »

GitHub

GitHub(ギットハブ)は、ソフトウェア開発のプラットフォームであり、ソースコードをホスティングする。コードのバージョン管理システムにはGitを使用する。Ruby on RailsおよびErlangで記述されており、アメリカのカリフォルニア州サンフランシスコ市に拠点を置くGitHub社によって保守されている。主な開発者はChris Wanstrath、PJ Hyett、Tom Preston-Wernerである。 GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供している。2009年のユーザー調査によると、GitHubは最もポピュラーなGitホスティングサイトとなった。 2018年にマイクロソフトによる買収が発表されている(後述)。.

新しい!!: C--とGitHub · 続きを見る »

GNUコンパイラコレクション

GNU Compiler Collection(グニューコンパイラコレクション)は、GNUのコンパイラ群である。略称は「GCC(ジーシーシー)」。GNUツールチェーンの中核コンポーネント。.

新しい!!: C--とGNUコンパイラコレクション · 続きを見る »

LLVM

LLVM とは、コンパイル時、リンク時、実行時などあらゆる時点でプログラムを最適化するよう設計された、任意のプログラミング言語に対応可能なコンパイラ基盤である。当初は、LLVM の名称の由来は、Low Level Virtual Machine (低水準仮想機械) の略であるとしていたが、現在は、何の頭文字でもないとしている。.

新しい!!: C--とLLVM · 続きを見る »

ML (プログラミング言語)

ML(えむえる、Meta-Language)は、関数型言語のひとつである。現代風の関数型言語としては歴史が古いほうで、型推論機能などを持つが、デフォルトの評価戦略は遅延評価ではなく先行評価で、書き換えが可能なレコード型を持つなど、いわゆる「純粋関数型」でない特徴や機能を持つ。.

新しい!!: C--とML (プログラミング言語) · 続きを見る »

Rust (プログラミング言語)

Rust(ラスト)はMozillaが支援するオープンソースのである。 Rust言語は速度、並行性、安全性を言語仕様として保証するC言語、C++に代わるに適したプログラミング言語を目指している。2006年の開発初期はグレイドン・ホアレの個人プロジェクトだったが、2009年にMozillaが開発に関わり始めてMozilla Researchの公式プロジェクトとなった。2015年に1.0版がリリースされるまでにいくつもの破壊的な仕様変更があったが、1.0版以降は基本的には後方互換を保って6週間間隔で定期的にリリースされている。プロジェクトはオープンソースのコミュニティベース開発で進行しており、言語仕様(検討段階含む)、ソースコード、ドキュメントはオープンソースライセンスで公開されている。 Rustはマルチパラダイムプログラミング言語であり、手続き型プログラミング、オブジェクト指向プログラミング、関数型プログラミングなどの実装手法をサポートしている。基本的な制御フローはC言語に似ているが、ほぼ全ての命令文が式(expression)であるという点においてはML言語に似ている。コンパイル基盤にMIRとLLVMを用いており、実行時速度性能はC言語と同等程度である。強力な型システムとリソース管理の仕組みにより、な安全性が保証されている。 Rustは2016年、2017年のStack Overflow Developer Surveyで「最も愛されているプログラミング言語」で一位を獲得している。一方で、Rustは学習難易度が高い言語とも考えられており、2017年ロードマップでは学習曲線の改善を目的として挙げていた。.

新しい!!: C--とRust (プログラミング言語) · 続きを見る »

Swift (プログラミング言語)

Swift(スウィフト)は、アップルのiOSおよびmacOS、Linuxで利用出来るプログラミング言語。Worldwide Developers Conference (WWDC) 2014で発表された。アップル製OS上で動作するアプリケーションの開発に従来から用いられていたObjective-CやObjective-C++、C言語と共存することが意図されている。 Swiftは、マルチパラダイムのコンパイラプログラミング言語であるが、XcodeのPlaygroundsの上やターミナルでインタラクティブにデバッグする事が可能である。 LLVMコンパイラが使われており、ライブコーディングに対応していることが特徴。 並列スクリプト言語のとは名称を同じくするが、別言語。.

新しい!!: C--とSwift (プログラミング言語) · 続きを見る »

機械語

機械語(きかいご)またはマシン語(Machine code、machine language)とは、コンピュータのプロセッサが直接解釈実行可能な一連の命令群のデータそのもの(を、コンピュータ・プログラミング言語とみなしたもの)である。.

新しい!!: C--と機械語 · 続きを見る »

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »