トップ10の記事近親相姦くすぐりの苦悶 Nを法とした原始根 セシウム137 チェスターフィールド(タバコ) ヨウ素131 Badoo 生物学的半減期 OllyDbg Zeugma (都市) |
News: |
| APL | |
|---|---|
| 範例 | 配列, 機能, 構成される、モジュラー |
| 現われられる | 1964 |
| 設計されている | ケネスE。 アイバーソン |
| 開発者 | ケネスE。 アイバーソン |
| タイプの訓練 | 動的 |
| 主要な実施 | IBM APL2、Dyalog APL、APL2000、鋭いAPL |
| 方言 | A+、Dyalog APL、APLNext |
| 影響を及ぼされる | 数学表示法 |
| 影響を及ぼされる | J, K, Nial |
APL (A Programming Languageは)である 配列のプログラミング 1957年に発明される表示法に基づく言語 ケネスE。 アイバーソン で間 ハーバード大学. それはコンピュータの適用と関連していたトピックの教授そして分析に一貫した表示法を提供する試みとして起きた。 アイバーソンはタイトルを付けられた本の1962年に彼の表示法を出版した プログラミング言語. 1965年までに、表示法のサブセットはプログラミング言語として実行されたり、そしてIVSYSとして知られていた。 後で、商業解放前に、APLは本のタイトルから名前を得た。 アイバーソンは受け取った Turing賞 彼の仕事のための1979年に。
アイバーソンの表示法が後で記述するのに使用された IBM System/360 機械建築、既存のドキュメンテーションおよび複数の前に見過ごされた問題を明らかにすることより簡潔で、厳密な記述はるかに。 後で、a Selectric typeballは特にこの表示法の線形表現を書くように設計されていた。 APLのこの特有な面、視覚で行われるべき操作を描写する特別な文字セットの使用は今日基本的に不変に残る。
APLの言語特徴全体で動作する操作の豊富なセット 配列 aのベクトル命令セットのようなデータの、 SIMD 建築。 多くの計算機言語が要求する間、 繰り返し に、全体の配列を用いるAPLの取り引きの例えば、2つの配列を、機能すぐに普通一緒に加えなさい。 グリフが行われるべき操作を表す特別な文字セットと共にこれは徹底的にループの潜在的な数を減らし、より小さいを、より簡潔な、より密集したプログラム可能にする。
絶え間ない使用の数十年を過したすべての言語と同じようにプログラミング、APLは以前のリリースからの上向き互換性がある方法で、一般に、かなり展開した。 APLは通常ある 説明的 そして 相互、普通特色にし読評価印刷するループを(REPL)命令および表現の入力のために。 今日、ほぼすべての現代実施サポート 構造化プログラミング 複数の方言が今形態をの特色にする間、 オブジェクト志向 プログラミングの構造物。
目次 |
あとでだったものをのAPLのプログラミング言語であるために最初の化身は発明された1957年に表示法を記述する本だった ケネスE。 アイバーソン で間 ハーバード大学. 1962年に出版されて、本で記述されている表示法は認識可能けれどもAPLから遠かった。
IBMは市場にAPLの導入を主に担当した。 1965年に、表示法の部分は改まり、プログラミング言語として実行した。 APLはのために1967年に最初に利用できた IBM 1130年 ように APL \ 1130年[1]. APLは60年代後期からの80年代によって本体のタイムシェアリングシステムの足場を得た。 後で、時適切にハードウェアを行うことはパーソナルコンピュータ環境に80年代半ばへ早いのの最終的に利用できる開始、多くのユーザー彼らの適用移住しただった。
早いIBM APLの通訳のための IBM 360 そして IBM 370 自身のマルチユーザー管理ホストサービスに頼るかわりに実行ハードウェア、従ってタイムシェアリングシステムだった。 最初に1966年に導入されて、 APL \ 360 システムはマルチユーザーの通訳だった。 1973年に、IBMは解放した APL.SV 提供した同じプロダクトの継続はどれ、だったがか 共用変数 としてオペレーティングシステムのようなAPLシステムの外の設備に、アクセスする手段はファイルする。 1970年代の中頃では、IBMの本体の通訳はの使用のために合わせられた IBM 5100 時間の他のほとんどの小型コンピュータがBASICだけを提供した時、小さいCRTおよびAPLキーボードを備えていた卓上コンピュータ。 80年代では VSAPL プログラムプロダクトは広まった使用法をとの楽しんだ CMS, TSO, VSPC、 CICS ユーザー。
複数のタイムシェアリングの会社はIBMのAPL \ 360通訳の修正バージョンを使用してAPLサービスを販売した70年代および60年代に出現した。 北アメリカでは、よりもっとよく知られている物はあった I。 P. シャープは関連付ける, Scientific Timesharing Corporationおよびコンピュータ会社(TCC)。 IBM 4331のような比較的安価の本体の最初に出現によっておよびあとでパーソナルコンピュータに、タイムシェアリング工業80年代半ばまでに消えるを除いてすべてがあった。
鋭いAPL 利用できたがからあった I。 P. シャープは関連付ける、最初に60年代の、そして後で始まるプログラムプロダクトおよそ1979年としてタイムシェアリングの基礎で。 鋭いAPL 多くの言語延長の高度APLの実施は、のようなあった パッケージ (単一の変数に1つ以上の目的を入れる機能)、ファイルシステムは、配列に、入り込んだ 共用変数.
APLの通訳は他の本体から利用でき、ミニコンピューターは、特にまた製造する バローズ, CDC, データゼネラル, DEC, ハリス, HEWLETT-PACKARD, Siemens, Xeroxおよび他。
、IBM APLの開発、先生の指揮を受けて1980年代初期に始まる ジムブラウン、第一次強化として概念を含んでいたAPLの言語の新版実行される 入り込まれた配列 配列が他の配列を含むかもしれないところプログラムワークフローに入り込まれた配列の統合を促進した新しい言語特徴と。 APLの言語、左IBMの開発を管理するケンアイバーソン、もはやおよび結合される I。 P. シャープは関連付ける 彼が、数ある中で、彼の視野に従って多くであるために鋭いAPLの進化を指示したところ。 アイバーソンは後で開発した Jの言語.
他の開発元が成長することを新しいハードウェアのためのに忙しかったAPLの通訳ので、特に Unix-基づく マイクロコンピューター、APL2はほとんどの場合新しいAPLの通訳の開発のために選ばれた標準だった。 今日、ほとんどのAPLの売り手は彼らのプロダクトのためのセリング・ポイントとして100%年に近づくAPL2両立性を引用する。
APL2 IBMのための汎用コンピュータは今でも利用できる今日、最初に利用できたのために CMS そして TSO およそ1980年。 大いに後で続かれるAPL2ワークステーション版(Windows、OS/2、AIX、LinuxおよびSolaris) 1990年代初期に。
APLの最初のマイクロコンピューターの実施はMCM/70にあった 8008- 1973年に基づいたプロセッサー。 A 小さいAPL Intelのために8080呼ばれたEMPLは完全なAPLの機能のほとんどの1977年およびSoftronics APLに、解放された、なぜなら8080基づかせていたCP/Mシステムは1979年に解放された。
1977年に、ビジネスレベルAPL Z80プロセッサーに基づいてTIS APLとして、知られていた解放された。 それは~をもたらすことによってほとんどの二数オペレータのための右および左の議論のフルスクリーンの入力そして切換えとAPLのためのファイル機能の全揃いを、特色にした。 すべての単一の特性二数機能のような-または/への接頭辞。
前衛APLは利用できたのために Z80 CP/M- 70年代後期の基づいたプロセッサー。 TCCはMotorolaのためのAPL.68000を1980年代初期に解放した 68000-基づいたプロセッサーは、MicroAPLのための基礎であるこのシステムAPLXプロダクトを限った。 I。 P. シャープの仲間は- IBMのPCの… IBMのPCそしてPC/370のための彼らのAPLの通訳の版を、解放した エミュレーター 書かれていたIBM 370の本体コードの多くを再使用することを促進した。 恐らく間違いなく、パーソナルコンピュータIBMのための最も最もよく知られたAPLの通訳はあった STSC「s APL*Plus/PC。
1980年代初期に、AnalogicのCorporation成長した APL機械、だった アレイ処理 コンピュータはAPLでだけプログラムされるように設計した。 実際に3つの演算処理装置、ユーザーのワークステーションがあった IBMのPC、ところでプログラムが入れられ編集された、Motorolaか 6800 APLの通訳を動かしたプロセッサー、および原住民を実行した類推的なアレー・プロセッサ。 導入の時にAPL機械は本当らしかった利用できる最も速いAPLシステム。 科学技術の成功が、APL機械マーケティングの失敗だったが。 初期バージョンは単一プロセスを一度に支えた。 プロジェクトが中断された時複数のユーザを可能にするために、設計は完了した。 傍白として、APL機械の珍しい面は多くのワークスペースによって共有された変数一度だけ図書館にか単一機能があったことワークスペースの図書館がそのような物組織されたことだった。 APL機械プロジェクトのメンバーの複数は前にバローズの実行を用いるいくつかの年を過ごしてしまった APL \ 700.
1つの段階、 マイクロソフト株式会社 APLの版、決して具体化したこれらの計画を解放することを計画しなかった。
早い1978年の出版物の Rodnay Zaks から Sybex あった マイクロプログラムを組まれたAPLの実施 ISBN 0895880059 PDPのマイクロコードのための完全な、総源のリスト/APLを実行するLSI-11プロセッサーはであるかどれ。 これは彼のPhDの説の物質であるかもしれない。
[元の研究か。]
非常に広い一組の問題の範囲(数学、科学、工学、コンピュータ設計、ロボット工学、データ視覚化、保険統計科学、従来のDP、等)にAPLは非常に強力、意味深長であり簡潔なプログラミング言語は相互環境で、普通置いた。 それはコンピュータを記述する方法として表現によって最初に、数ある中で、作成された 数学表示法 コンピュータによって解釈できる厳密な方法で。 学ぶことは容易であるしかしあるAPLプログラムは新来者のために、特に理解するのに時間をかけることができる。 他の少数のプログラミング言語はAPLの広範囲の配列の機能性を提供する。
伝統的に構成されたプログラミング言語とは違って、APLのコードは鎖として普通の構成される 単一 または 二数 機能 そして オペレータ 機能 配列. APLに標準外多数があるので 原住民 (少数の記号の単一の記号か組合せによって示される機能およびオペレータ)、機能をまたは持っていない 演算子の優先順位. 早いAPLの実施は持たなかった 制御構造 (または間、ループ、そして-他にする)、配列操作の使用によって、使用法の 構造化プログラミング 構造物はどうしても必要ではなかった。 例えば、iota機能(1次元配列をもたらす、または1からのNへのベクトル、)のためループを取り替えることができる 繰り返し. APLの最近の実施は一般に広範囲の制御構造を含んでいる、従ってデータ構造およびプログラム制御の流れははっきりのどれある場合もあり、きれいに分かれた。
APLの環境はaと呼ばれる ワークスペース. ワークスペースではユーザーはすなわちプログラムおよびデータを定義できる。 データ値はプログラムの外にまたあり、ユーザーは必要なしでプログラムを定義するためにデータを処理できる。 例えば、
割り当てる ベクトル 価値Nへの4 5 6 7;
4つをすべての価値に(8 9 10 11を与える)加え、印刷する(割り当ての矢を使用して変数に声明の終わりに割り当てられない帰りの価値 APLの通訳によって表示される);
Nの合計を、すなわち印刷する。 22.
ユーザーはすべての価値、プログラムおよび実行状態のワークスペースを救うことができる。
APLは一組の非の使用のために有名であるASCII 従来の算術および代数表示法の延長である記号。 単一の特性の名前をの持っていること SIMD ベクトル機能はAPLが計算のようなデータ変形のためのアルゴリズムの密集した公式を可能にすること一方通行である Conwayの生命のゲーム 1つのコード行(例). APLのほぼすべての版では、1のコード行の1つの表現に計算可能関数を、すなわち、表現することは論理上可能である。
凝縮させた性質および標準外特性のために、APLは時々名づけられているずっと「書き込み専用言語「、そして読書第1のAPLプログラム缶解読したい気がするため エジプトのhieroglyphics. 珍しいののために 文字セット、多くのプログラマーはスペシャルを使用する キーボード APLコードを書くためのAPLのkeytopsを使って。 ASCII文字だけを使用してAPLコードを書く様々な方法があるが[2]、実際に、それはほとんど決してされない。 (アイバーソンの説を約支えるとこれは考えられるかもしれない 思考の用具として表示法[参照は必要とした]。) すべての現代実施が標準的なキーボードのレイアウトを使用しなければ特別な地図作成とのほとんど、または 入力方法編集者 アクセス非ASCIIの特性に。 歴史的に見ると、APLの壷は大文字のイタリック英字と特有、およびずっと直立した数字および記号である。 ほとんどの売り手は注文壷のAPL文字セットを表示し続ける。
APLの支持者はいわゆる書き込み専用コードの例がほとんど必ずあらゆる言語で行われることができる悪いプログラミングの練習または初心者の間違いの例であることを主張する。 APLの支持者はまたより慣習的な計算機言語のよりAPLとはるかに生産的である、ことソフトウェアを働かせることが他の技術を使用してよりより少ない時間にそしてずっと少数のプログラマーとずっと実行することができることを主張し。 APLは個人がより堅い問題をより速く解決することを可能にする。 また、密集し、簡潔で、APLは大規模のソフトウェア開発に多数のコード行から起こる複雑さが劇的に減らすことができると同時にそれ自身をよく貸す。 多くのAPLの支持者および従業者は、のような標準的なプログラミング言語のプログラミングを見る COBOL そして ジャワ比較的退屈。 APLは頻繁に貿易システムとのような時間に市場が重要であるところにある。
アイバーソンは後で設計した Jのプログラミング言語 使用するかどれが ASCII を使って 二字一音 特別な記号の代り。
まだ要求する非常に簡単な例はほとんどのの複数のコード行プログラミング言語を一突き6の(1-40年から)宝くじの乱数発電機、繰り返された数を保証し、昇順の結果を分類することと完了する非配列したものだ:
↑6か。40
次の表現 種類 ワード長に従ってマトリックスXで貯えられる単語リスト:
X [⍋X+.≠';]
Dyalog APLに書かれる次の機能「生命」はブールマトリックスを取り、新しい生成をに従って計算する Conwayの生命のゲーム:
次の例では、またDyalogは可変的な「txt」に、最初のラインHTMLコードを割り当て、次に最後のラインに示すようにだけテキストを戻すall the HTMLの札を取除くのにAPLの表現を使用する。
次の表現はすべてを見つける 素数 1からRへの(1の索引の起源を推定する)。 時間と空間両方では、計算はO (Rの²)である。
(∼R∈R°.×R) /R←1↓ιR
右から左へ、これは意味する:
APLは複雑なマトリックス操作を行うことができる速度で独特だった。 例えば、非常に大きいマトリックスの乗法はそれらより今日大いに力が劣った機械の数秒だけかかる。 この利点の技術的で、経済的な理由があった:
広く引用されたペーパーは「APL機械」 (フィルAbramsが書く) APLが普及する使用をした神話を永続させた 不精な評価 結果が必要におよびなったまで計算が実際に行われないところでそれからそれらの計算だけ厳しく要求した。 明らかで、(実行すること容易)不精な評価はである Jベクトル : 単一時 iota コード、aとして保たれるis isで見つけられる 表示 従ってすぐに計算されるかわりに、記憶と同様、時間を節約する。
この技術は一般化されなかったが、言語で最もよい存続のメカニズムを具体化する: スカラー操作の順序を指定しないこと。 X3J10によって結局標準化されて一方で、APLはそう非常にある データ平行、それはスケジュール操作に言語implementorsに広大な自由をできるだけ効率的に与える。 コンピュータ革新としてのような キャッシュメモリ、 SIMD 実行は商用化されるように、少し人一倍の努力の使われた再最大限に活用する低レベルの細部と左舷に取られたAPLプログラムなった。
今日、ほとんどのAPLの言語活動は活動のマイクロソフト・ウインドウズのオペレーティングシステムの下で、起こる Linux, Unix、 Mac OS. 比較的少しAPLの活動は汎用コンピュータで今日起こる。
APLNow (以前APL2000)はLinux、UnixおよびWindowsの下で作動する高度APLの通訳を提供する。 それはオペレーティングシステムにWindowsのオートメーション、サポート呼出しおよびユーザーによって定義されるDLLsを支え、高度APLのファイルシステムを有し、そしてAPLの言語発達の現在のレベルを表す。 APL2000プロダクトは高度の継続のである STSC「sの巧妙なAPL*Plus/PCおよびAPL*Plus/386製品種目。
Dyalog APL Linux、UnixおよびWindowsの下で作動する高度APLの通訳はある。 DyalogにAPLの言語に新しい含んでいる積極的な延長がある オブジェクト志向 特徴、一貫したのと多数の言語強化、 namespace 天然namespacesと同様、両方のためにマイクロソフトのオートメーションインターフェイス、使用されるモデル。 Windowsのプラットホームのために、Dyalog APLはマイクロソフトとの堅い統合を提供する。マイクロソフトの視覚スタジオの開発のプラットホームとの限られた統合と網。
IBMはIBMのAIX、Linux、Sun SolarisおよびWindowsシステムのためのIBM APL2の版を提供する。 このプロダクトはIBMの本体のために提供されるAPL2の継続である。 IBM APL2は恐らく間違いなく言語に延長の次のセットに固体実施の標準を提供した入り込まれた配列に焦点を合わせる最も影響を及ぼすAPLシステム、だった。
MicroAPLは提供を限った APLX、フル装備の64ビット通訳のための Linux, WindowsおよびApple Mac OS システム。
Solitonは提供をI.のそれ以上の開発であるLinuxシステムのためのサクソフォーンの通訳(Unixのための鋭いAPL)関連付ける、およびUnix。 P. シャープは鋭いAPLプロダクトを関連付けた。 他のほとんどのAPLの通訳とは違って、 ケネスE。 アイバーソン 方法によって入り込まれた配列で影響を実行された鋭いAPLおよびサクソフォーンで持っていた。 他のAPLの実施はほぼすべてAPL2とIBMが置いたコースに続いた、従って鋭いAPLのある重要な細部は他の実施と異なる。
APLプログラムは普通ある 解釈される そして頻繁により少し 編集される. 実際には、ほとんどのAPLの編集者 翻訳される 低レベルの言語への源APLのような C、machine-specific細部を低レベルの編集者に任せる。 APLプログラムの蓄積は会議の頻繁に論議されたトピックだった。 入り込まれた配列のようなAPLの言語へのより新しい強化のいくつかが言語を編集することますます困難したがAPLの蓄積の考えは開発の下に今日まだある。
以前、APLの蓄積はと汎用コンピュータの他の主流の言語と、特に対等な実行速度を達成する手段みなされた。 複数のAPLの編集者はマシンコードに蓄積の完成にAPLに使われた開発努力の成功、しかし比較的少しのあるレベルを長年かけて入った達成した。
APLプログラム1人の売り手のAPLの通訳から別のものに動かすとき場合があるように、APLプログラムを必ず内容への変更を要求する。 編集者によって、可変的な宣言は必要であるかもしれないある特定の言語特徴は取除かれるか、または避ける必要があるまたはAPLプログラムは何らかのかたちできれいになる必要がある。 実行機能(表現の評価者)および様々ののような言語のある特徴、 反射 そして introspection 機能のテキストを戻すか、またはテキストからの新しい機能を具体化する機能のようなAPLからの機能は、マシンコードの蓄積で実行するために実用的単にではない。
商業編集者は市場に持って来られた STSC IBMのVSAPLのプログラムプロダクトへの追加項目として80年代半ば。 現代APLの編集者とは違って、このプロダクトは通訳の環境でだけ実行するマシンコード、それをではなかった通訳の部品を除去して可能作り出した。 編集者はマシンコードに多くのスカラーおよびベクトル操作を編集できるがもう少しの最新機能を行うためにAPLの通訳のサービスによりもむしろそれらを編集するように試みる頼る。 但し、劇的なスピードアップは重く反復的なAPLコードのために、特に起こった。
同じ時間のまわり、本 APLの編集者 によって ティモシーBudd 印刷物で現われられる。 この本は書かれているAPLの訳者の構造を詳しく述べた C、ある特定の最適化を行った ループ融合 配列言語の必要性への細目。 ソース・ランゲージはAPLのようにAPLの言語の少数の規則が割り当てのより有効な蓄積に変わるか、または緩んだことだった。 訳者はおよびAPLのワークスペースの操業健康な外側が編集されるCコードを出す。
今日、実行速度はより少なく重大であり、多くの普及した言語はを使用して実行される 仮想計算機 -ランタイムに解釈される指示。 バローズかUnisys APLB 通訳(1982年)はAPL特定の仮想計算機のためのコードを作り出すのに動的増加蓄積を使用する第1だった。 それは鑑定器が機能意味を変えたと同時に大急ぎでリコンパイルした。 取除くことに加えて 分析 そして主要な実行道からエラーチェック一部はまたそのような蓄積ユーザー定義の機能オペランドの繰り返された記入項目そして出口を流線形にする。 これは積み重ねの組み立てを避け、APLの作り付けオペレータがのようななす関数呼出しのための取り外しはそれぞれ減り。
頂点、研究APLの編集者は、Snake Island Research Inc.から利用できる。 頂点は平らなAPL (ISO N8485のサブセット)をに編集する 嚢、平行意味論の機能配列言語は、現在動き Linux. 頂点発生させたコード使用 ループ融合 そして配列の収縮、通訳(順列のベクトルの例えば、改善)に一般に利用可能ではない特別場合のアルゴリズムそれとの対等な性能のレベルを達成するため FORTRAN.
APLNext VisualAPL システムはそのVisualAPLの慣習的なAPLシステムからの出発である本当である。他と十分に相互運用可能である純言語 。マイクロソフト。網 言語のような VB.Net そして C#. VisualAPLは本来オブジェクト志向およびUnicode基づかせている。 VisualAPLが遺産APLの実施の特徴のほとんどを組み込む間、VisualAPLの言語はあるために遺産APLを伸ばす。網迎合的。 VisualAPLはそしてそれ自体マイクロソフトの標準的な視覚スタジオIDEで実施する他のそれと同一の蓄積をある意味では催される。純言語。 作成によって。純共通言語ランタイムの(CLR)コード、それはマイクロソフトのジャスト・イン・タイムの編集者(JIT)を32ビットか64ビットハードウェアを支えるのに利用する。 特に(機能議論の任意)強いタイプが使用されるとき、相当な性能のスピードアップの終わる遺産APLは報告された。
APLへの C# 訳者は土手道の写実的なシステムから利用できる。 このプロダクトはAPLの環境の外で完全に動くために同等のC#に翻訳されたAPLコードを可能にするように設計されていた。 土手道の編集者は配列機能のランタイム図書館を要求する。 劇的なスピードアップは、時々目に見えるが、マイクロソフトで固有最適化のために起こる 。網 フレームワーク。
APLは明確な区別をその間する 機能 そして オペレータ. 機能は議論として価値を(変数か定数または表現)取り、結果として価値を戻す。 オペレータ(aka 高位機能)取得は議論および関連するリターン結果として得られた機能として作用する。 例えば「合計」機能は「付加」機能に「減少」オペレータを加えることによって得られる。 (加えることは2つの価値のより大きいの戻す)に同じ減少オペレータを「天井」機能価値のグループ(ベクトル)の最も大きいの戻す得られた「最高の」機能を作成する。 Jの言語では、アイバーソンは「機能」および「オペレータ」の言葉「動詞」および「副詞」を代わりにした。
APLはまた言語に造られ、記号の記号、か固定組合せによって表されるそれらの特徴をように識別する 原住民. ほとんどの原住民は機能またはオペレータである。 コーディングAPLは主として非原始機能および(APLのある版で)オペレータを書くプロセスである。 但し少数の原住民は機能、または、オペレータ割り当てであると最も著しく、考慮されない。
APLはずっと独特な、標準外文字セットの選択のために常に批判されている。 それを学ぶ人々が通常熱烈な被着剤に似合うこと観察は後ろ重量があることを示す アイバーソン「表示法が使用したsの考えは違いを生じる。 初めでは、置いた最も普及した物を雇用APLの特性を再生できる少数の末端装置があった IBM Selectric 特別なAPLのタイプ・エレメントと共に印刷物メカニズム。 やがて、良質のグラフィックディスプレイおよび印刷装置の普遍的な使用と、APLの特性壷問題は主として除去された; 但し、APLの特性を書き入れる問題は使用をの要求する 入力方法編集者 または初心者を失望させるかもしれない特別なキーボード地図作成、他の言語に慣らした。 のpopularizationを使って Unicode APL文字セットを含んでいる標準、必須の壷を得る問題なくなるために安定させてようである。
ユーザーの観点から、付加的な特性は簡略記憶記号可能ではないAPLに特別な優雅およびconcisionをを使用して他の言語で、表す機能の記号の視覚で与えることができる。 またはそれはばかばかしい程度の複雑さおよびunreadabilityを記号がコメントなしで単一の固まりに一緒にひもでつながれるとき普通もたらす場合がある。 またはそれは不合理に困難である場合もあり、時間のかかるそれから入るために後でそれらのAPLの声明を編集しなさい。
手紙とAPLの特性を関連付ける簡略記憶記号に注意しなさい: 疑門符 Q, 力 P, rho R, 基礎価値 B, 符号化しなさい N, 係数 M そしてそう。 これは英語のスピーカーが1つを提供する非APLキーボードのAPLをタイプすることができる持っているスクリーンの視覚フィードバックをようにそれをもっと簡單にする。 また、ステッカーはキーの前部またはそれらの上の標準的なキーボードへの付属品のために、作り出された。
APL2および他の現代実施のための最新キーボード図表、適当なの、利用できる: 窓のための連合レイアウト.
すべてのAPLの記号はある Unicode (が一部のAPLプロダクトが)まだこれを特色にしないかもしれない:
| ' | ( | ) | + | , | - | . | / | : | ; | < | = | > | ? | [ | ] |
| \ | _ | ¨ | ¯ | × | ÷ | ← | ↑ | → | ↓ | ∆ | ∇ | ∘ | ∣ | ∧ | ∨ |
| ∩ | ∪ | ∼ | ≠ | ≤ | ≥ | ≬ | ⊂ | ⊃ | ⌈ | ⌊ | ⊤ | ⊥ | ⋆ | ⌶ | ⌷ |
| ⌸ | ⌹ | ⌺ | ⌻ | ⌼ | ⌽ | ⌾ | ⌿ | ⍀ | ⍁ | ⍂ | ⍃ | ⍄ | ⍅ | ⍆ | ⍇ |
| ⍈ | ⍉ | ⍊ | ⍋ | ⍌ | ⍍ | ⍎ | ⍏ | ⍐ | ⍑ | ⍒ | ⍓ | ⍔ | ⍕ | ⍖ | ⍗ |
| ⍘ | ⍙ | ⍚ | ⍛ | ⍜ | ⍝ | ⍞ | ⍟ | ⍠ | ⍡ | ⍢ | ⍣ | ⍤ | ⍥ | ⍦ | ⍧ |
| ⍨ | ⍩ | ⍪ | ⍫ | ⍬ | ⍭ | ⍮ | ⍯ | ⍰ | ⍱ | ⍲ | ⍳ | ⍴ | ⍵ | ⍶ | ⍷ |
| ⍸ | ⍹ | ⍺ | ⎕ | ○ |
付加的なAPLの特性は利用できた overstriking 別のもの上の1つの特性。 例えば、 丸太 記号は転位をoverstrikingによって形作られたP 転位を使ってO. これは間違いを訂正し、プログラムラインの編集を複雑にした。 これは最終的にある特定の密な様式を持つ早いAPLプログラムの理由であるかもしれない-それらは編集しにくかった。
上記のテーブルで示されている多くのoverstrikesはが懇願して、実際に使用されない。 新しいoverstrikesは特定のハードウェア、システム特徴、ファイルシステムに合ったAPLの版を作り出したそしてそうもたらされたと同時に売り手によって。 更に、ターミナルおよび早いAPLを印刷してcathode-rayターミナルは任意overstrikesを表示することができたが、パーソナルコンピュータとして急速にデータ入力装置、サポートがとして今提供されたAPLの特性としてターミナルを取り替えた APLの文字発生機構ROM または表示装置によってされる柔らかい文字セット。 従ってWindowsの出現で、APLの特性は除去されるoverstruckの特性と標準文字列間のちょうど別の完全な壷、区別と定義された。
より遅いIBMターミナル、特に IBM 3270 遠隔表示装置に、使用中の現代APLのキーボードのレイアウトのいくつかのための今日基礎である互い違いキーボード整理があった。 よりよいターミナル、プリンターの代りの即ち表示装置は、生産性およびプログラム可読性で測定可能な改善があったよりよいフルスクリーンの編集者の開発を励ました。
APLに長く小さく、熱烈なユーザベースがあってしまった。 それは解決が頻繁に変わるか、または標準語で余分な複雑さをもたらすところに財政そして保険の適用、シミュレーション、および数学適用で普及して、頻繁に、まだ。 APLは色々文脈でそして多数そして変えられた目的のために使用された。 APLに専用されている「引用クォード」とよばれる時事通信は計算機械類のための連合のSIGAPLセクションによって70年代以来出版されていた(引用クォードはテキストの入出力に使用するAPLの特性の名前である)。
大抵のために インフィックス表記法 そしてコンピュータとの相互作用、APLの重点は相互の急速な配置のための理想的な環境である場合もある ドメインスペシフィックの言語. APL文字セットの標準外特性の存在にもかかわらず、単語、数およびよく知られた句読点からもっぱら成っている簡単なプログラム(か原稿を)書くことをAPLで実行されるドメインスペシフィックの言語のユーザーのために可能である。 80年代半ば遅くまで、APL タイムシェアリング 売り手はドメインスペシフィックの言語の形で提供された適用を提供した。 I。 P. 鋭い タイムシェアリングシステムは、ワークスペース呼んだ 39マジック ドメインスペシフィックの言語の形の洗練された(時間のために)図示し、報告と財政および航空会社データへの提供されたアクセス。 もう一つの例はIBMのAPL2と供給されるGRAPHPAKのワークスペースである; APL2およびGRAPHPAK両方のデモンストレーション版はWindowsのためにダウンロードすることができる。
APLはまた多数で使用された metaprogramming 適用。 時々変わったある特定の外部データ、APLプログラムが部分を構成するか、またはFORTRAN、COBOL、またはジャワのような他の言語で書かれたコードのセクションを完了するのに使用された。 1つの適用は相当な線形計画法モデルのFORTRANコードを発生させるのにAPLを使用した。 したがって、FORTRANコードは余りにも大きい楽に個人の単一か小さいグループ理解されるには考えられた。 但し、このアプローチと、定期整備は障壁を提起しなかった。 同じようなアプローチは強化のテーブルが必要な強化の計算を行った大きいCOBOLプログラムにAPLの外側を直ちに変形できる維持したところで使用された。 前に複数の人日を要求した退屈なステップ、長いCOBOLプログラムへの即ち修正は、事実上除去された。 ついにジャワコードを出した同じような事は行われた。
APLの興味は80年代以来着実に低下していた。 これはperformant本体の実施からの高生産性のエンドユーザーの計算用具の早い低価格パーソナルコンピュータ代わりそして供給に移動道の欠乏のためにのような部分的にそうなったものだった Microsoft Excel そして マイクロソフトのアクセス. これらは70年代および80年代の本体APLの塗布であるかもしれないものがのための適切なプラットホームである。 何人かのAPLのユーザーはに移住した Jのプログラミング言語、進んだ機能を提供する。 最後に、低下はまた成長へ一部には賦課金のだった MATLAB, GNUのオクターブ、 Scilab. これらの科学的な計算の配列方向づけられたプラットホームはAPLと同じような対話式計算処理の経験を提供しがもっとFORTRANのような慣習的なプログラミング言語に類似し、そして標準的なASCIIを使用する。
この低下にもかかわらず、APLの発見は続けた会計研究のようなある特定の分野の使用を、(スタンフォード会計PhD条件)
APLはによって標準化された ANSI ワーキング・グループ X3J10 ISO/IEC 共同技術委員会1の小委員会22のワーキング・グループ3。 中心APLの言語はISO 8485:1989で指定され、延長APLの言語はISO/IEC 13751:2001で指定される。
|
Custom Search
|
© Copyright 2011 WorldLingo. All rights reserved.