表形式プログラミングとは何ですか?


34

ファルコンプログラミング言語は、表形式のプログラミングをサポートしているとして自分自身をアドバタイズします。

Falconは、手続き型、オブジェクト指向、プロトタイプ指向、機能指向、表形式、メッセージ指向の6つの統合プログラミングパラダイムを提供します。そして、それらすべてを習得する必要はありません。好みの材料を選んで、コードがインスピレーションに従うようにするだけです。

ドキュメントには、(単純な例から明らかであるものを当然のを除いて)平板プログラミングの言語の味がどのように機能するかのビットを展開していますが、言語の独自の構造と構文に焦点を当てていますし、本当にパラダイムのメリットを説明していません。

私はファルコンTableがリレーショナルテーブルとして多かれ少なかれ機能するネイティブ構造であり、リレーショナルクエリ機能を備えたネイティブレコードセットとして記述することができるネイティブオブジェクト構造であると理解していることから、全体が内部的にどのように機能するかについて少し混乱しています。恐ろしい説明、私は知っている(私のOOルーツとテキーラを乱用の長年を非難します)。

表形式プログラミングとは何か、内部でどのように機能するかをよりよく理解するのを手伝ってもらえますか?

明確化:私はないについての質問表形式モデルプログラミング


11
それについての記事があります:テーブル指向プログラミング。(tl; dr)これは、オブジェクトの配列(クラスインスタンスなど)、データベース、スプレッドシートが混在していると思います。
ムーヴィシエル

3
「テーブル指向プログラミング」というフレーズは、私にLuaを思い起こさせました。Luaはファーストクラスのデータ構造としてテーブルを使用しますが、言語自体はMetatablesを使用して拡張することもできます。
ロバートハーヴェイ

5
LuaのテーブルRobertは、単にリストに記載されている「プロトタイプベース」の別の言い方です。
ジェステルフォード

回答:


2

表形式プログラミングは、テーブル指向プログラミングパラダイム(TOP)のエイリアスです。TOPでは、キーコンセプトはテーブルであり、オブジェクト指向プログラミング(OOP)ではキーコンセプトはオブジェクトです。

一般に、TOP言語、ツール、プログラミングなどはテーブルを扱い、それらに焦点を合わせます。ただし、プログラマーは、そのパラダイムを素朴にサポートしていない言語でも特定のパラダイムを利用できます。たとえば、クラスを定義するためのキーワードがなく、インスタンスを操作するための構文をサポートしていない言語を使用して、オブジェクト指向コードを作成できます。たとえば、C言語では、このポインターとメソッド呼び出しをシミュレートするために、構造体を定義し、その構造体への参照を関数に入れることができます。ただし、C ++またはC#で記述されたOOコードは、はるかに直感的で、コンパクトで、読みやすく、柔軟性があり、バグが発生しにくくなります。

Falconは、テーブルの処理を容易にするためのプログラミング構造が組み込まれているという点で、TOPをネイティブにサポートする言語です。FalconがTOPを構成すると言っても、C ++がOOPを構成すると言っているようなものです。実際、これらは特定のプログラミングスタイルを促進または強制するツールです。

私は思うが、多分私は間違っている、私たちはテーブル上で特に操作するために作成された場所でもトップのアイデアを求めるべきだと思う。SQL ServerとAnalysis Servicesは、表形式のデータに焦点を当てた操作が実行される分野です。特に、新しいテーブルモデルプログラミングでは、処理する主要な要素としてテーブルを使用します。将来的には、表形式プログラミングのためのより直感的なAPIサポートが導入されると思います。だから、Falconの横にあるTOPのもう1つの側面として、Tabular Model ProgrammingのコンテキストでTOPについて話すことができました。

テーブルモデルプログラミングは、SQL Server Technologiesに属するAnalysis Servicesで使用されるため、リレーショナルデータベースおよびビジネスインテリジェンスと密接に関連しています。表形式モードは、多次元モードの代替としてビジネスインテリジェンスセマンティックモデルを作成するための新しいアプローチであるため、後者と比較する必要があります。各ソリューションは、作成、使用、展開の方法が異なります。表形式モードは、設計、テスト、および展開が高速です。リレーショナルデータベース、Excel、またはAccessを使用しているユーザーにも馴染みがあります。詳細と内部構造については、表形式と多次元ソリューションの比較を参照してください。

テーブルモデルプログラミングとは何かを理解する最良の方法は、実際に使用することだと思います。取得表形式のモデリング(Adventure Worksのチュートリアル)、それを感じます。


1
これはファルコンと何の関係がありますか?
ヤニス

@YannisRizos質問は、テーブルプログラミングとは何ですか?それを理解する方法の面で、あなたは例としてファルコンを与えました。質問を「Falconを表形式プログラミング言語として理解
yBee

回答を展開して、表形式モデルプログラミングが表形式プログラミングとどのように関係しているかを説明してください。名前が類似している以外は、まったく異なるものに見えます。
ヤニス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.