Apa itu pemrograman tabular?

34

The Falcon bahasa pemrograman mengiklankan dirinya sebagai pendukung pemrograman tabular:

Falcon menyediakan enam paradigma pemrograman terintegrasi: prosedural, berorientasi objek, berorientasi prototipe, fungsional, tabular, dan berorientasi pesan. Dan Anda tidak harus menguasai semuanya; Anda hanya perlu memilih bahan-bahan yang Anda sukai, dan biarkan kodenya mengikuti inspirasi Anda.

The dokumentasi memperluas sedikit tentang bagaimana rasa bahasa ini pemrograman tabular bekerja, tapi itu difokuskan pada struktur bahasa sendiri dan sintaks, dan tidak benar-benar menjelaskan manfaat dari paradigma (kecuali tentu saja mereka yang jelas dari contoh sederhana) .

Saya agak bingung tentang bagaimana semuanya bekerja secara internal, dari apa yang saya pahami Falcon's Tableadalah struktur asli yang bekerja kurang lebih sebagai tabel relasional dan dapat digambarkan (dalam bahasa lokal OO) sebagai Set Rekaman asli dengan kemampuan query relasional . Deskripsi yang mengerikan, saya tahu (salahkan akar OO saya dan bertahun-tahun menyalahgunakan tequila).

Bisakah Anda membantu saya mendapatkan ide yang lebih baik tentang apa itu pemrograman tabular dan bagaimana cara kerjanya secara internal?

Klarifikasi: Saya tidak bertanya tentang Pemrograman Model Tabular .

yannis
sumber
11
Ada sebuah artikel tentang itu: Pemrograman Berorientasi Tabel . (tl; dr) Saya kira ini adalah campuran antara array objek (seperti dalam instance kelas), database dan spreadsheet.
mouviciel
3
Ungkapan "pemrograman berorientasi tabel" membuat saya berpikir tentang Lua. Lua menggunakan tabel sebagai struktur data kelas satu , tetapi bahasa itu sendiri juga dapat diperpanjang menggunakan Metatables .
Robert Harvey
5
Robert, tabel Lua hanyalah cara lain untuk mengatakan "berbasis prototipe", yang sudah disebutkan dalam daftar.
Jess Telford

Jawaban:

2

Pemrograman tabular adalah alias dari paradigma Pemrograman Berorientasi Tabel (TOP). Untuk TOP konsep kunci adalah tabel seperti untuk Pemrograman Berorientasi Objek (OOP) konsep kunci adalah objek.

Secara umum bahasa TOP, alat, pemrograman dll berurusan dengan tabel dan fokus pada mereka. Namun seorang programmer dapat menggunakan paradigma tertentu bahkan dalam bahasa yang tidak mendukung paradigma itu secara alami. Misalnya bahasa yang tidak memiliki kata kunci untuk mendefinisikan kelas dan tidak mendukung sintaks untuk beroperasi pada instance dapat digunakan untuk menulis kode berorientasi objek. Sebagai contoh dalam bahasa C kita dapat mendefinisikan sebuah struct dan meletakkan referensi ke struct itu ke dalam suatu fungsi untuk mensimulasikan pointer ini dan pemanggilan metode. Namun kode OO yang ditulis dalam C ++ atau C # akan jauh lebih intuitif, ringkas, dapat dibaca, fleksibel dan lebih sedikit rawan bug.

Falcon adalah bahasa yang mendukung TOP secara asli dalam hal mengandung di dalam struktur pemrograman untuk memfasilitasi berurusan dengan tabel. Meskipun mengatakan bahwa Falcon adalah TOP adalah seperti mengatakan bahwa C ++ merupakan OOP. Bahkan, mereka adalah alat, yang memfasilitasi atau bahkan menegakkan gaya pemrograman tertentu.

Saya pikir, tapi mungkin saya salah, bahwa kita harus mencari ide TOP juga di tempat yang dibuat untuk beroperasi terutama di atas meja. SQL Server dan Layanan Analisis adalah arena di mana operasi terfokus data tabular dilakukan. Khususnya Pemrograman Model Tabular baru menggunakan tabel sebagai elemen kunci untuk menangani. Saya percaya bahwa akan ada dukungan API yang lebih intuitif untuk pemrograman tabular di masa mendatang. Jadi saya membiarkan diri saya berbicara tentang TOP dalam konteks Pemrograman Model Tabular hanya sebagai aspek lain dari TOP di samping Falcon.

Pemrograman Model Tabular digunakan dalam Layanan Analisis yang dimiliki oleh SQL Server Technologies sehingga terkait erat dengan database relasional dan intelijen bisnis. Mode tabular adalah pendekatan baru untuk menciptakan model semantik intelijen bisnis sebagai alternatif dari mode multidimensi sehingga harus dibandingkan yang terakhir. Setiap solusi berbeda dalam cara mereka dibuat, digunakan, dan digunakan. Mode tabular lebih cepat untuk merancang, menguji, dan menggunakan. Juga familiar bagi audiens yang bekerja dengan database relasional, Excel, atau Access. Untuk detail lebih lanjut dan internal lihat Membandingkan Solusi Tabular dan Multidimensi .

Saya pikir cara terbaik untuk memahami apa itu Pemrograman Model Tabular adalah dengan menggunakannya dalam praktik. Dapatkan melalui Tabel Modeling (Petualangan Pekerjaan Tutorial) dan merasakannya.

yBee
sumber
1
Apa hubungan semua ini dengan Falcon?
yannis
@YannisRizos Saya pikir pertanyaannya adalah Apa itu pemrograman tabel? dalam hal bagaimana memahaminya dan Anda memberi Falcon sebagai contoh. Pikirkan tentang mengubah pertanyaan Anda menjadi Bagaimana memahami Falcon sebagai bahasa pemrograman tabular?
yBee
Bisakah Anda memperluas jawaban Anda untuk menjelaskan bagaimana pemrograman model tabel ada hubungannya dengan pemrograman tabel? Karena selain kemiripan namanya, mereka nampak sama sekali berbeda.
yannis