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

Limbo

索引 Limbo

Limbo は分散システム構築用プログラミング言語であり、Infernoオペレーティングシステムでのアプリケーションソフトウェア作成に使う。ベル研究所の Sean Dorward、Phil Winterbottom、ロブ・パイクが設計した。 Limbo コンパイラはアーキテクチャ独立なオブジェクトコードを生成し、それを Dis 仮想機械でインタプリタ実行するか、性能を強化するために実行直前にコンパイルする。したがって、Limbo で書いたアプリケーションは全ての Inferno プラットフォーム上で動作可能である。 Limbo における並行性の方式は、アントニー・ホーアの Communicating Sequential Processes (CSP) に影響を受けている。.

17 関係: 並行計算ロブ・パイクプログラミング言語の比較プログラミング言語一覧プログラマーの一覧デニス・リッチーベル研究所分散コンピューティングコルーチンC言語Communicating Sequential ProcessesGo (プログラミング言語)Googleソースコード検索Inferno (オペレーティングシステム)PascalStackless PythonYacc

並行計算

並行計算(へいこうけいさん、concurrent computing)とは、コンピュータプログラムにおいて複数の相互作用を及ぼす計算タスクの(同時)並行的実行を指す。.

新しい!!: Limboと並行計算 · 続きを見る »

ロブ・パイク

バート・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の開発に関わっている。.

新しい!!: Limboとロブ・パイク · 続きを見る »

プログラミング言語の比較

プログラミング言語の比較(プログラミングげんごのひかく)の記事では、コンピュータ・プログラミング言語の比較について説明する。 (コンピュータ・)プログラミング言語は、コンピュータのプログラム(コンピュータ・プログラム)を記述する(プログラミングする)ための形式言語である。形式言語であるので、一般に、自然言語とは異なり形式的で曖昧さが避けられ人工的に定義された構文(統語・syntax。統語論の記事を参照)を持ち、自然言語とは異なり計算理論のための意味論(semantics)を持つ。 現在何千ものプログラミング言語があり、多くの職業プログラマや多くの非職業プログラマが生涯の間に何十もの異なった言語を使用している。一方で、多くの職業プログラマや多くの非職業プログラマが、好みを理由として、あるいは、異なった言語を学習できないためか、一種類ないし僅かな類似した言語のみを使用している。毎年新しいものが作られているものの、ほとんどの言語は一般的にはなっていない。.

新しい!!: Limboとプログラミング言語の比較 · 続きを見る »

プログラミング言語一覧

以下はプログラミング言語の一覧である。.

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

プログラマーの一覧

プログラマーの一覧では、コンピュータプログラマのうち、主に記事のある者を列挙する。.

新しい!!: Limboとプログラマーの一覧 · 続きを見る »

デニス・リッチー

デニス・マカリスター・リッチー(Dennis MacAlistair Ritchie、1941年9月9日 - 2011年10月12日)は、アメリカ合衆国の計算機科学者。 コンピュータ言語のC言語を開発し、ケン・トンプソンと共にオペレーティングシステム(OS)であるUNIX、Multicsなどの開発者として知られる。2007年に引退するまで、ルーセント・テクノロジーズのシステムソフトウェア研究部門を指揮していた。技術的なコミュニティの中では、彼を指して "dmr"(ベル研究所におけるアカウント名)と呼ぶことがある。.

新しい!!: Limboとデニス・リッチー · 続きを見る »

ベル研究所

ベル研究所(ベルけんきゅうじょ、Bell Laboratories)はもともとBell System社の研究開発部門として設立された研究所であり、現在はノキアの子会社である。「ベル電話研究所」、略して「ベル研」とも。.

新しい!!: Limboとベル研究所 · 続きを見る »

分散コンピューティング

分散コンピューティング(ぶんさんコンピューティング、英: Distributed computing)とは、プログラムの個々の部分が同時並行的に複数のコンピュータ上で実行され、各々がネットワークを介して互いに通信を行いながら全体として処理が進行する計算手法のことである。複雑な計算などをネットワークを介して複数のコンピュータを利用して行うことで、一台のコンピュータで計算するよりスループットを上げようとする取り組み、またはそれを実現する為の仕組みである。分散処理(ぶんさんしょり)ともいう。並列コンピューティングの一形態に分類されるが、一般に並列コンピューティングと言えば、同時並行に実行する主体は同じコンピュータシステム内のCPU群である。ただし、どちらもプログラムの分割(同時に実行できる部分にプログラムを分けること)が必須である。分散コンピューティングではさらに、それぞれの部分が異なる環境でも動作できるようにしなければならない。例えば、2台の異なるハードウェアを使ったコンピュータで、それぞれ異なるファイルシステム構成であっても動作するよう配慮する必要がある。 問題を複数の部分問題に分けて各コンピュータに実行させるのが基本であり、素数探索や数多く試してみる以外に解決できない問題の対処として用いられているものが多い。分散コンピューティングの例としてBOINCがある。これは、大きな問題を多数の小さな問題に分割し、多数のコンピュータに分配するフレームワークである。その後、それぞれの結果を集めて大きな解を得る。一般的に処理を分散すると一台のコンピュータで計算する場合と比べ、問題データの分配、収集、集計するためのネットワークの負荷が増加し、問題解決の為のボトルネックとなるため、部分問題間の依存関係を減らすことが重要な課題となる。 分散コンピューティングは、コンピュータ同士をネットワーク接続し、効率的に通信できるよう努力した結果として自然に生まれた。しかし、分散コンピューティングはコンピュータネットワークと同義ではない。単にコンピュータネットワークと言った場合、複数のコンピュータが互いにやり取りするが、単一のプログラムの処理を共有することはない。World Wide Web はコンピュータネットワークの例であるが、分散コンピューティングの例ではない。 分散処理を構築するための様々な技術や標準が存在し、一部はその目的に特化して設計されている。例えば、遠隔手続き呼出し (RPC)、Java Remote Method Invocation (Java RMI)、.NET Remoting などがある。.

新しい!!: Limboと分散コンピューティング · 続きを見る »

コルーチン

ルーチン(co-routine)とはプログラミングの構造の一種。サブルーチンがエントリーからリターンまでを一つの処理単位とするのに対し、コルーチンはいったん処理を中断した後、続きから処理を再開できる。接頭辞 co は協調を意味するが、複数のコルーチンが中断・継続により協調動作を行うことによる。 サブルーチンと異なり、状態管理を意識せずに行えるため、協調的処理、イテレータ、無限リスト、パイプなど、継続状況を持つプログラムが容易に記述できる。 コルーチンはサブルーチンを一般化したものと考えられる。コルーチンをサポートする言語には Modula-2、Simula、Icon、Lua、C#、Limbo などがある。マルチスレッドで原理的には同じことができるため、現在はそちらが使われるケースが多い。これはマルチスレッドであれば直接OSの支援を受けられることや、エントリー/リターンの構造を変えずにコードを多重化できるので、過去の言語との親和性が良いなどが理由である。ただし、マルチスレッドの場合プログラマが同期制御を行わなければならないので、コルーチンのような簡易さはない。 コルーチンという名称は、メルヴィン・コンウェイの1963年の論文が起源である。.

新しい!!: Limboとコルーチン · 続きを見る »

C言語

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

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

Communicating Sequential Processes

Communicating Sequential Processes(CSP)とは、並行性に関するプロセス計算の理論のひとつである.

新しい!!: LimboとCommunicating Sequential Processes · 続きを見る »

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

Goはプログラミング言語のひとつ。Googleによって開発されており、設計にロブ・パイク、ケン・トンプソンらが関わっている。 主な特徴として、軽量スレッディングのための機能、Pythonのような動的型付け言語のようなプログラミングの容易性、などがある。Go処理系としてはコンパイラのみが開発されている。マスコット・キャラクターはGopher(ホリネズミ)。 発表当初はLinuxとMac OS Xのみしかサポートしていなかったが、2012年3月にリリースされたバージョン1.0からはWindowsもサポートされている。2014年12月にリリースされたバージョン1.4からAndroidをサポートし、2015年8月19日にリリースされたバージョン1.5からiOSをサポートしている。また、2011年5月10日に公開された Google App Engine 1.5.0 でも、Go言語がサポートされている。.

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

Googleソースコード検索

Google Code SearchとはGoogleによるインターネット上にあるオープンソースコードを検索するためのベータ製品でGoogle Labsから誕生したものである。2006年10月5日に公開、2012年1月15日にコード検索APIと共に正式終了したが、同年11月時点でサイトは現存している。 機能には演算子を使って検索するのがあり、対応する演算子にはlang:、package:、license:、file:があった。 検索可能なコードはtar.gz、.tar、.bz2、.tar、.zip、CVS、Subversion、git、mercurial repositoriesといった数種類の形式に対応していた。.

新しい!!: LimboとGoogleソースコード検索 · 続きを見る »

Inferno (オペレーティングシステム)

Infernoは、分散システムのためのオペレーティングシステム (OS)。Plan 9 from Bell Labs (Plan 9) を開発した経験を元に、その後のベル研究所でのOS、言語、オンザフライ・コンパイラ、グラフィックス、セキュリティ、ネットワーク、移植性などの研究成果を盛り込んでいる。 Infernoアプリケーションは様々なハードウェア、ネットワーク、環境に移植可能である。任意のマシンに実装可能な仮想機械 (Dis) がベースになっている。また、型安全な言語Limboが移植性の高いバイトコードを生成する。さらに、ハードウェア上で直接動作する場合でも、他のOS上でアプリケーションとして動作する場合でも同じインターフェースを提供する仮想オペレーティングシステムを含む。 リソースアクセスは、ローカルでもリモートでもStyxという通信プロトコルを使う。例えばアプリケーションが標準的なファイル操作(オープン、リード、ライト、クローズ)を行う場合もその通信プロトコルを経由する。第4版 (Fourth edition) では、StyxはPlan 9の新しいバージョンでの9Pプロトコル (9P2000) と全く同じである。 OSの名称、関連プログラムの名称、さらには Vita Nuova Holdings という企業名は、ダンテ・アリギエーリの作品、特に『神曲』に由来している。.

新しい!!: LimboとInferno (オペレーティングシステム) · 続きを見る »

Pascal

Pascal(パスカル)は、ニクラウス・ヴィルトの設計(デザイン)によるコンピュータ・プログラミング言語である。ALGOL(直接的にはその一派生である、ヴィルトが関与したALGOL W)などの影響があるが、個人の設計であることに由来する簡素だがよく整った言語仕様(構文と意味)を持つ。用途の中に教育を意識しており、構造化された制御構造など、その当時「良きプログラミングの慣習」と考えられていたことの影響もある。一方で批判者からは、あくまでも教育用に過ぎない言語だ、といったような評もあることにはあったが、PascalコンパイラをPascalで書ける(いわゆる言語処理系のブートストラップ)ことをはじめ、Pascalで書かれた#実用プログラム例は多くある。名前は、哲学者・数学者・科学者で、機械式計算機を製作するなど技術者でもあったブレーズ・パスカルにあやかったものである。.

新しい!!: LimboとPascal · 続きを見る »

Stackless Python

Stackless Python(スタックレス・パイソン)ないしは Stackless は Python プログラミング言語の実験的な実装系であり、自身のスタックとしてC言語のコールスタックに依存しないことから命名されている。 Stackless Python は ジェネレータ、マイクロスレッド、コルーチンをサポートしている。 ソースコードに多数の変更が必要なため、Stackless Python は既存の Python がインストールされた環境にエクステンションやライブラリとしてインストールすることはできない。それ自体が完全な Python の配布系である。Stackless の機能の大部分は、Python のセルフホスティングインタプリタでありJIT コンパイラでもある PyPy でも実装されている。 Stackless は大規模マルチプレイヤーオンラインゲームである EVE Online の実装において並行性を実現するため、また Civilization IV や IronPort 社の電子メールプラットフォームになどで広い範囲にわたって使用されている。Second Life も使用し始めている。 Stackless の使用例や、Twistedフレームワーク、PyQt, Networking との統合方法を含む新しいプロジェクトのページが作成され、 という名前で Google Projects でホストされている。プロジェクトには wiki とリポジトリがあり、コミュニティが を通じて協力できる。.

新しい!!: LimboとStackless Python · 続きを見る »

Yacc

Yacc(yet another compiler compiler、ヤック)はパーサジェネレータの一つである。1970年代にAT&TでUNIX用にスティーヴン・カーティス・ジョンソンが開発した。.

新しい!!: LimboとYacc · 続きを見る »

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