CLUとは? わかりやすく解説

Clu

名前 クルー

CLU

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/04/27 07:10 UTC 版)

CLU
パラダイム マルチパラダイム: オブジェクト指向手続き型
登場時期 1974年
設計者 バーバラ・リスコフMITでの彼女の学生たち
開発者 バーバラ・リスコフとMITでの彼女の学生たち
型付け 強い型付け
主な処理系 Portable CLUNative CLU
影響を受けた言語 Pascal
影響を与えた言語 Ruby
テンプレートを表示

CLU は、1974年から1975年にかけてMITバーバラ・リスコフが学生らと共に開発したプログラミング言語である。抽象データ型のコンストラクタ(操作コードを含む)を備えており、オブジェクト指向プログラミングへの重要なステップとなった。しかし、それ以外のオブジェクト指向の機能は欠けているか不完全であり、継承もなく、文法が扱いにくいことが欠点であった。CLU は完全なオブジェクト指向言語となる可能性を秘めていたが、実際にはそうならなかった。

クラスター

CLU の文法は他の多くの言語と同様 ALGOL に基づいていた。重要な追加点として「クラスター; cluster」がある。クラスターとは、CLU の型拡張システムであり、言語名の由来でもある(CLUster)。クラスターは現在のオブジェクト指向言語で言えば「オブジェクト」にほぼ相当する。以下に複素数を実装した CLU のクラスターの例を示す:

     complex_number = cluster is add, subtract, multiply, ....
          rep = record [ real_part: real, imag_part: real ]
          add = proc ... end add;
          subtract = proc ... end subtract;
          multiply = proc ... end multiply;
          ...
     end complex_number;

クラスターは当時としては最新の構造化プログラミングを実現していたが、CLU はクラスター自体には全く構造を提供していない。クラスター名はグローバルであり、クラスターをグループ化するための名前空間機構も無く、クラスター内にクラスターをローカルに作ることもできない。このような問題は CLU に限ったことではない。ALGOLでの変数のスコープを何故クラスターやオブジェクトにも拡張しなかったのかは定かではない。

CLU は暗黙の型変換をしない。クラスターでは、明示的型変換 'up' と 'down' で抽象データ型とその実体との変換をする。汎用型 'any' が用意されていて、プロシージャ force[] でオブジェクトが所定の型であるかチェックする。オブジェクトは可変(mutable)と不変(immutable)があり、整数などの基本型は後者に含まれる。

その他の特徴

もう1つの CLU の型システムでの重要な機能は「イテレータ; iterators」である。これは、集合からオブジェクトを順次取り出すものである。イテレータはブラックボックスであり、集合内のオブジェクトが何であるかを気にしないAPIを提供する。つまり、複素数の集合のイテレータと整数の集合のイテレータには区別がない。イテレータは最近の言語では一般的機能となっている。

CLU は他の言語での様々な試みに基づいた例外処理も備えている。例外は signal を使って発生させられ、except で処理される。型の設計が重視されているにもかかわらず、CLU には列挙型がなく、列挙型を作る方法もなかった。

CLU の特殊な機能として、多重代入がある。代入記号の左辺に複数の変数を書くことができる。例えば、x,y = y,x というコードで xy の値を入れ替えることができる。同様に関数は複数の値を返すことができ、x,y,z = f(t) などと記される。

CLU プログラム内のオブジェクトは全てヒープにあり、メモリ管理は自動的に行われる。

その他

他のプログラミング言語への影響

  • PythonRuby は CLU の影響を受けている(例えば、yield 文や多重代入)。
  • CLU は Ada と共に C++ のテンプレートに影響を与えた。
  • CLU の例外処理機構は Java や C++ などの新しい言語に影響を与えた。
  • Python の generator や C# の iterator の起源は CLU の iterators である。

文献

  • ビューティフルコード Brian Kernighanほか オライリージャパン ISBN 9784873113630

外部リンク


CLU

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/01/26 02:25 UTC 版)

NLOS-LS」の記事における「CLU」の解説

CLU(Container Launch Unit)と呼ばれる発射機は、内蔵されているコントロールユニット離れた場所から操作する移動司令所との間で無線によって一定時間ごとに情報交換されており、ミサイルの状態やバッテリー残量などが確認出来るだけでなく、発射操作遠隔命令によってコントロールできる発射機比較小型軽量であるため、ピックアップトラックでも運搬できる小型トラック荷台搭載され1つ移動司令所からは複数のCLUが制御でき、CLUに携帯端末接続して直接発射制御行なうことも可能である。

※この「CLU」の解説は、「NLOS-LS」の解説の一部です。
「CLU」を含む「NLOS-LS」の記事については、「NLOS-LS」の概要を参照ください。

ウィキペディア小見出し辞書の「CLU」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ

「CLU」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「CLU」の関連用語

CLUのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



CLUのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのCLU (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのNLOS-LS (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS