タグ

docとaplに関するmasterqのブックマーク (2)

  • ノータブルコード16 - APLプログラマはいかにC言語を書くのか - 2021-06-23 - ククログ

    あまり世の中で知られてない言語として配列処理(Array-Processing)言語という一群の言語があります。いずれもAPLというプログラミング言語から発展したもので、J・Q・Kといった言語が代表的です。これらの言語は「Array Processing」の名前の通り、配列、とくに多次元配列の処理に特化しています。 APLの流れをくむ言語の最大の特徴は、極限までに切り詰められた簡潔さです。この言語を使うといくつかの記号を組み合わせることで、複雑な配列操作を表現することができます。例えば、フィボナッチ数列を生成する関数を例にとると、Kでは{x{x,+/-2#x}/!2}という16文字で表現できます。もっと複雑な例を出すと、ライフゲームは、わずか138バイトで実装できます。 APLはどこで使われているのか この言語はどこで使われているのかというと、これは圧倒的に金融です。例えば、APLは198

    ノータブルコード16 - APLプログラマはいかにC言語を書くのか - 2021-06-23 - ククログ
    masterq
    masterq 2021/06/23
    "APLの世界では、Cの書き方もAPL風になるという点です。つまり、APLプログラマはC言語を普通のプログラマとは全く違うやり方で扱います。" 面白かった。そして読めない。世界は広い
  • たった数行なのに「すごい!」と思うようなプログラミングコードはありますか?

    回答 (14件中の1件目) Smalltalkの条件分岐の実装方法が衝撃的でした。 Smalltalkでは、すべてがオブジェクトなので、真偽値も0や1ではなく、Trueクラスの唯一のインスタンスであるtrueと、Falseクラスの唯一のインスタンスであるfalseで表されます。TrueとFalseは、それぞれBooleanクラスのサブクラスです(以下、Squeak 2.8を例に説明します)。 [code]Object () Boolean () False () True () [/code]Smalltalkではif文を以下のように書きます。 [code]真偽値 ifTr...

    たった数行なのに「すごい!」と思うようなプログラミングコードはありますか?
  • 1