31 関係: Ada、Android、ロブ・パイク、プログラミング言語、オーバーロード、ガベージコレクション、ケン・トンプソン、ジェネリックプログラミング、動的型付け、Bison、C言語、Communicating Sequential Processes、継承 (プログラミング)、Dart、静的型付け、表明、連想配列、For文、GNUコンパイラコレクション、Google、Google App Engine、If文、IOS (アップル)、Limbo、Linux、MacOS、Microsoft Windows、ML (プログラミング言語)、Pascal、Python、Yacc。
Ada
Ada(エイダ)は、強力な言語機能を豊富に持ち、高度な型の体系をもつ、プログラミング言語の一つである。構文はAlgol系である。 史上初のプログラマとされるエイダ・ラブレスの名前にちなんでAdaと命名されているため、ADAと表記するのは誤り。 フリーのコンパイラとしては、GNATなどがある。.
新しい!!: Go (プログラミング言語)とAda · 続きを見る »
Android
Android(アンドロイド)は、Googleが開発したモバイルオペレーティングシステムである。Linuxカーネルやオープンソースソフトウェアがベースで、主にスマートフォンやタブレットなどのタッチスクリーンモバイルデバイス向けにデザインされている。テレビ用にはAndroid TV、自動車用にはAndroid Auto、ウェアラブルデバイス用にはWear OSがある。世界で最も人気のあるモバイルオペレーティングシステムであり、20億人を超える月間アクティブユーザーがいる。.
新しい!!: Go (プログラミング言語)とAndroid · 続きを見る »
ロブ・パイク
バート・C・パイク(Robert C. Pike、1956年 - )は、ソフトウェア工学者でありソフトウェア作家。ベル研究所でのUNIX開発、その後の Plan 9 と Inferno というオペレーティングシステムの開発で知られる。また、Limbo というプログラミング言語の作者でもある。また、UNIX用のグラフィカル端末 Blit の開発も行った。それ以前の1981年、彼は世界初のUNIX用ウィンドウシステムのコードも書いている。 長年に渡って、彼はテキストエディタを数々開発している。特によく知られているのは、sam と acme である。パイクはブライアン・カーニハンと共に『UNIXプログラミング環境』と『プログラミング作法』という2冊の著書を著している。また、ケン・トンプソンと共にUTF-8の開発を行った。パイクは細かいプログラムも開発しており、例えば電子メールの差出人の顔写真の画像を表示するプログラム vismon などがある。 パイクはコメディデュオ Penn and Teller のテクニカルアシスタントとして、テレビ番組『レイト・ショー・ウィズ・デイヴィッド・レターマン』に出演したことがある。パイクはジョークとして、1980年のオリンピック(モスクワオリンピック)ので銀メダルを取ったと言っていた。実際には、パイクはカナダ国籍であり、カナダはモスクワオリンピックをボイコットした。 現在は Google に勤務しており、とプログラミング言語Goの開発に関わっている。.
新しい!!: Go (プログラミング言語)とロブ・パイク · 続きを見る »
プログラミング言語
プログラミング言語(プログラミングげんご、programming language)とは、コンピュータプログラムを記述するための形式言語である。なお、コンピュータ以外にもプログラマブルなものがあることを考慮するならば、この記事で扱っている内容については、「コンピュータプログラミング言語」(computer programming language)に限定されている。.
新しい!!: Go (プログラミング言語)とプログラミング言語 · 続きを見る »
オーバーロード
ーバーロード.
新しい!!: Go (プログラミング言語)とオーバーロード · 続きを見る »
ガベージコレクション
ベージコレクション(garbage collection; GC)とは、プログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に解放する機能である。「ガベージコレクション」を直訳すれば「ゴミ集め」「ごみ拾い」となる。1959年ごろ、LISPにおける問題を解決するためジョン・マッカーシーによって発明された。 メモリの断片化を解消する機能はコンパクションと呼ばれ、実現方法によってはガベージコレクションと共にコンパクションも行う仕組みになっている。そのためコンパクションを含めてガベージコレクションと呼ぶ場合もあるが、厳密には区別される。 また、ガベージコレクションを行う主体はガベージコレクタと呼ばれる。ガベージコレクタはタスクやスレッドとして実装される場合が多い。 参照カウント方式のガベージコレクションは通常煩雑なコーディングを必要とするが、それを必要なく実装したライブラリとしがある。.
新しい!!: Go (プログラミング言語)とガベージコレクション · 続きを見る »
ケン・トンプソン
ネス・レイン・トンプソン(Kenneth Lane Thompson、1943年2月4日 - )は、アメリカの計算機科学者。ハッカー仲間からはケン・トンプソン (Ken Thompson) と呼ばれている。長くベル研究所に勤め、B言語(Multicsプロジェクトに関わっていたころ、UNIX開発に使ったBCPLをベースとしている)とC言語の開発で知られ、UNIXのオリジナル開発者の一人である。 他にも、正規表現、初期のテキストエディタQEDとedの開発、コンピュータチェス、Goといった業績がある.
新しい!!: Go (プログラミング言語)とケン・トンプソン · 続きを見る »
ジェネリックプログラミング
ェネリック(総称あるいは汎用)プログラミング(generic programming)はデータ形式に依存しないコンピュータプログラミング方式である。.
新しい!!: Go (プログラミング言語)とジェネリックプログラミング · 続きを見る »
動的型付け
動的型付け(どうてきかたづけ、dynamic typing)とは、プログラミング言語で書かれたプログラムにおいて、変数や、サブルーチンの引数や返り値などの値について、その型を、コンパイル時などそのプログラムの実行よりも前にあらかじめ決めるということをせず、実行時の実際の値による、という型システムの性質のことである。 また、そのような性質の言語を、動的型付き言語(どうてきかたつきげんご、dynamically typed language)という。これに対し、型は実行前に決まる、というのが静的型付けである。型推論を利用していて、構文上は型の記述が省略可能な言語もあるが、そういった言語も静的型付けである(MLなど)。 静的型付けは、.
新しい!!: Go (プログラミング言語)と動的型付け · 続きを見る »
Bison
Bison(バイソン)とは構文解析器を生成するパーサジェネレータの一種であり、CコンパイラとしてのGCCのサポートのために開発されたフリーソフトウェアである。.
新しい!!: Go (プログラミング言語)とBison · 続きを見る »
C言語
C言語(シーげんご)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発したプログラミング言語である。英語圏では単に C と呼んでおり、日本でも文書や文脈によっては同様に C と呼ぶことがある。.
新しい!!: Go (プログラミング言語)とC言語 · 続きを見る »
Communicating Sequential Processes
Communicating Sequential Processes(CSP)とは、並行性に関するプロセス計算の理論のひとつである.
新しい!!: Go (プログラミング言語)とCommunicating Sequential Processes · 続きを見る »
継承 (プログラミング)
継承(けいしょう、inheritance:インヘリタンス)とはオブジェクト指向を構成する概念の一つである。あるオブジェクトが他のオブジェクトの特性を引き継ぐ場合、両者の間に「継承関係」があると言われる。 主にクラスベースのオブジェクト指向言語で、既存クラスの機能、構造を共有する新たなクラスを派生することができ(サブクラス化)、そのようなクラスは「親クラス(スーパークラス)を継承した」という。具体的には変数定義や操作(メソッド)などが引き継がれる。またJavaのインタフェース継承のように機能セットの仕様のみを引き継ぐ場合もある。 一般的に、BがAを継承する場合、B is a A. (BはAの一種である)という意味的な関係(Is-a関係)が成り立つ。従って、同じふるまいを持つからと言って、意味的に無関係なクラス間に継承関係を持たせるのは適切でない場合が多い。 プロトタイプベースのオブジェクト指向言語(Self、NewtonScript等)のように「クラス」という概念を持たない場合でも、クローン元となるオブジェクトを指して「継承」と呼ぶ。 継承と類似の概念に「委譲」があるが、継承では一度定まった継承関係は通常変更されないのに対して、委譲対象は必要に応じて変更されうるものである。 Is-a関係を持つ継承とは階層が異なる概念として集約 (aggregation) とコンポジション集約 (composition) があるが、これはクラス間の関係がHas-aである包含関係であり、クラス間の関係は継承よりも疎である。.
新しい!!: Go (プログラミング言語)と継承 (プログラミング) · 続きを見る »
Dart
Dart(ダートもしくはダーツ。当初は Dash と呼ばれていた)はGoogleによって開発されたウェブ向けのプログラミング言語である。2011年10月10日 - 12日に開催された デンマークのオーフスで開催された「GOTOカンファレンス」で公開された。この言語は、ウェブブラウザ組み込みのスクリプト言語であるJavaScriptの代替となることを目的に作られた。.
新しい!!: Go (プログラミング言語)とDart · 続きを見る »
静的型付け
静的型付け(せいてきかたづけ、static typing)とは、プログラミング言語で書かれたプログラムにおいて、変数や、サブルーチンの引数や返り値などの値について、その型が、コンパイル時など、そのプログラムの実行よりも前にあらかじめ決められている、という型システムの性質のことである。 また、そのような性質の言語を、静的型付き言語(せいてきかたつきげんご、statically typed language)という。これに対し、型は実行時の実際の値による、というのが動的型付けである。型推論を利用していて、構文上は型の記述が省略可能な言語もあるが、そういった言語も静的型付けである(MLなど)。 一口に静的型と言ってもその実体は言語により様々である。手続き型のオブジェクト指向言語の多くでは、静的に型が付いていても、キャストなどによりインスタンスの妥当性は保証されない。より制限の強い言語であっても、ミュータブルな値により不正参照などのリスクが残されている。また静的型でもリフレクションを多用する設計を行なうと、実質的に動的型とほとんど変わらないスタイルになることから、静的と動的の境目は必ずしも明確でない場合があるといえる。 一般的な傾向として、大規模プログラミングやシステム記述用の言語は静的な型付けを行なうものが多い。.
新しい!!: Go (プログラミング言語)と静的型付け · 続きを見る »
表明
表明(ひょうめい、assertion)とは、プログラミングにおける概念のひとつであり、そのプログラムの前提条件を示すのに使われる。アサーションとも呼ばれる。表明は、プログラムのその箇所で必ず真であるべき式の形式をとる。多くの言語ではそのような前提条件のチェックに表明を使用するが、設計上の判断を文書化するのに使う場合もある。表明が偽となった場合、プログラムにバグが潜在していることを示している。これを「表明違反; assertion failure」と呼ぶ。表明を言語構文や標準ライブラリとしてサポートするプログラミング言語も存在する。 プログラマは、開発過程でソースコードに表明を追加する。デバッグを単純化し、問題を早期に検出するためである。表明違反はバグを示していることが多いため、表明の実装では問題の元を示すために追加情報を表示するようになっていることが多い(ソースコードのファイル名と行番号、スタックトレースなど)。ほとんどの実装では、そのプログラムの実行が即座に停止する。.
新しい!!: Go (プログラミング言語)と表明 · 続きを見る »
連想配列
連想配列(れんそうはいれつ、associative array.)とは、コンピュータプログラミングにおいて、添え字にスカラー数値以外のデータ型(文字列型等)も使用できる配列である。抽象データ型のひとつ。連想リスト、連想コンテナ、辞書(あるいはカタカナでディクショナリ dictionary)、ハッシュ(hash)、マップ(map)とも呼ばれる。 歴史的には、最初に LISP の連想リストとして広く認知された。その後、SNOBOL で table として、AWK で連想配列として実装したことで、その潜在能力がさらに広く知られるようになった。現在、Ruby など一部の言語では、添え字にはどのようなデータでも使えるものもある。.
新しい!!: Go (プログラミング言語)と連想配列 · 続きを見る »
For文
for文(フォーぶん)はプログラミング言語において条件が真の間だけ与えられた文の実行を繰り返すというループを記述するための文である。forループは、whileループと違って、ループに入る前の初期化(通常カウンタ変数の初期化を行なう)を含む点で異なる。 また言語によってはforeach文をfor … in … のように書くことがあり、このときのfor文はイテレータの繰り返し処理をする文になる。.
新しい!!: Go (プログラミング言語)とFor文 · 続きを見る »
GNUコンパイラコレクション
GNU Compiler Collection(グニューコンパイラコレクション)は、GNUのコンパイラ群である。略称は「GCC(ジーシーシー)」。GNUツールチェーンの中核コンポーネント。.
新しい!!: Go (プログラミング言語)とGNUコンパイラコレクション · 続きを見る »
Google LLC(グーグル)は、インターネット関連のサービスと製品に特化したアメリカの多国籍テクノロジー企業である。検索エンジン、オンライン広告、クラウドコンピューティング、ソフトウェア、ハードウェア関連の事業がある。.
新しい!!: Go (プログラミング言語)とGoogle · 続きを見る »
Google App Engine
Google App Engine (GAE) は、Googleの提供するサービスの1つであり、ウェブアプリケーションをPHP・Python・Java・Go言語を使用して開発し、Googleのインフラストラクチャー上で実行し、バージョン管理することができる。Google Cloud Platformの一部。.
新しい!!: Go (プログラミング言語)とGoogle App Engine · 続きを見る »
If文
if文(イフぶん)はプログラミング言語において、真理値に従って「もしXならば、Yせよ、さもなくばZせよ」というような条件実行の「文 (プログラミング) 」で、制御構造のひとつである。if else文と呼ばれることもある。 具体的な構文はプログラミング言語によって異なるが一般的に、条件式と、条件式の評価結果の値が「真として扱うべき値」の場合に実行される「then節」と呼ばれる部分があり、「偽として扱うべき値」の場合に実行されるelse節と呼ばれる部分が付く場合もある。 then節とelse節が式になる「条件演算子」がある言語も多い。言語によってはifが文ではなく、条件演算子と同様の「if式」である言語もある。.
新しい!!: Go (プログラミング言語)とIf文 · 続きを見る »
IOS (アップル)
iOS(アイオーエス)は、アップルが開発・提供するオペレーティングシステム(組み込みプラットフォーム)である。iPhone、iPod touch、iPad各全モデルに搭載している。 2008年まではOS X iPhoneという名前だったが、2009年にはiPhone OS(アイフォーン オーエス)という名前になり、2010年6月21日にリリースしたバージョン4.0からは現在の名称となった。.
新しい!!: Go (プログラミング言語)とIOS (アップル) · 続きを見る »
Limbo
Limbo は分散システム構築用プログラミング言語であり、Infernoオペレーティングシステムでのアプリケーションソフトウェア作成に使う。ベル研究所の Sean Dorward、Phil Winterbottom、ロブ・パイクが設計した。 Limbo コンパイラはアーキテクチャ独立なオブジェクトコードを生成し、それを Dis 仮想機械でインタプリタ実行するか、性能を強化するために実行直前にコンパイルする。したがって、Limbo で書いたアプリケーションは全ての Inferno プラットフォーム上で動作可能である。 Limbo における並行性の方式は、アントニー・ホーアの Communicating Sequential Processes (CSP) に影響を受けている。.
新しい!!: Go (プログラミング言語)とLimbo · 続きを見る »
Linux
Linux(リナックス、他の読みは後述)とは、Unix系オペレーティングシステムカーネルであるLinuxカーネル、およびそれをカーネルとして周辺を整備したシステム(GNU/Linuxシステムも参照)である。.
新しい!!: Go (プログラミング言語)とLinux · 続きを見る »
MacOS
macOS(マックオーエス)は、アップルが開発・販売する、Macのオペレーティングシステムである。かつての名称はOS X、Mac OS Xであった(後述)。 技術的に直系ではないが、Classic Mac OS (Mac OS、System) の後継として、新たにBSD系UNIXをベースに開発された。.
新しい!!: Go (プログラミング言語)とMacOS · 続きを見る »
Microsoft Windows
Microsoft Windows(マイクロソフト ウィンドウズ)は、マイクロソフトが開発・販売するオペレーティングシステム (OS) の製品群。グラフィカルユーザインタフェース (GUI)を採用している。.
新しい!!: Go (プログラミング言語)とMicrosoft Windows · 続きを見る »
ML (プログラミング言語)
ML(えむえる、Meta-Language)は、関数型言語のひとつである。現代風の関数型言語としては歴史が古いほうで、型推論機能などを持つが、デフォルトの評価戦略は遅延評価ではなく先行評価で、書き換えが可能なレコード型を持つなど、いわゆる「純粋関数型」でない特徴や機能を持つ。.
新しい!!: Go (プログラミング言語)とML (プログラミング言語) · 続きを見る »
Pascal
Pascal(パスカル)は、ニクラウス・ヴィルトの設計(デザイン)によるコンピュータ・プログラミング言語である。ALGOL(直接的にはその一派生である、ヴィルトが関与したALGOL W)などの影響があるが、個人の設計であることに由来する簡素だがよく整った言語仕様(構文と意味)を持つ。用途の中に教育を意識しており、構造化された制御構造など、その当時「良きプログラミングの慣習」と考えられていたことの影響もある。一方で批判者からは、あくまでも教育用に過ぎない言語だ、といったような評もあることにはあったが、PascalコンパイラをPascalで書ける(いわゆる言語処理系のブートストラップ)ことをはじめ、Pascalで書かれた#実用プログラム例は多くある。名前は、哲学者・数学者・科学者で、機械式計算機を製作するなど技術者でもあったブレーズ・パスカルにあやかったものである。.
新しい!!: Go (プログラミング言語)とPascal · 続きを見る »
Python
Python(パイソン)は、汎用のプログラミング言語である。コードがシンプルで扱いやすく設計されており、C言語などに比べて、さまざまなプログラムを分かりやすく、少ないコード行数で書けるといった特徴がある。.
新しい!!: Go (プログラミング言語)とPython · 続きを見る »
Yacc
Yacc(yet another compiler compiler、ヤック)はパーサジェネレータの一つである。1970年代にAT&TでUNIX用にスティーヴン・カーティス・ジョンソンが開発した。.
新しい!!: Go (プログラミング言語)とYacc · 続きを見る »