Co to jest programowanie tabelaryczne?

34

Język programowania Falcon reklamuje się jako programowanie tabelaryczne:

Falcon zapewnia sześć zintegrowanych paradygmatów programowania: proceduralny, obiektowy, prototypowy, funkcjonalny, tabelaryczny i zorientowany na komunikaty. I nie musicie opanować ich wszystkich; musisz tylko wybrać preferowane składniki i pozwolić kodowi podążać za twoją inspiracją.

Dokumentacja rozszerza się trochę o tym, jak smak języku za programowania tabelarycznej działa, ale to koncentruje się na własnych struktur i składni języku, a nie naprawdę wyjaśnić korzyści z paradygmatem (z wyjątkiem oczywiście tych, które są oczywiste z uproszczonych przykładach) .

Jestem trochę zdezorientowany, jak to wszystko działa wewnętrznie, z tego, co rozumiem, Falcon Tableto natywna struktura, która działa mniej więcej jako tabela relacyjna i może być opisana (w języku narodowym OO) jako natywny zestaw rekordów z relacyjnymi możliwościami zapytań . Okropny opis, wiem (obwiniaj moje korzenie OO i lata nadużywania tequili).

Czy mógłbyś mi pomóc lepiej zrozumieć, na czym polega programowanie tabelaryczne i jak działa ono wewnętrznie?

Wyjaśnienie: Ja nie pytając o tabelarycznych modelu programowania .

Yannis
źródło
11
Artykuł na ten temat: Programowanie zorientowane na tabelę . (tl; dr) Sądzę, że jest to połączenie tablic obiektów (jak w instancjach klas), baz danych i arkuszy kalkulacyjnych.
mouviciel
3
Wyrażenie „Programowanie zorientowane na tabelę” przypomniało mi Luę. Lua używa tabel jako najwyższej klasy struktury danych , ale sam język można również rozszerzyć za pomocą Metatables .
Robert Harvey
5
Robert, tabele Lua to po prostu inny sposób na powiedzenie „oparty na prototypie”, o czym już wspomniano na liście.
Jess Telford

Odpowiedzi:

2

Programowanie tabelaryczne jest aliasem paradygmatu programowania zorientowanego na tabelę (TOP). W przypadku TOP kluczową koncepcją jest tabela, natomiast w przypadku programowania obiektowego (OOP) kluczową koncepcją jest obiekt.

Ogólnie język TOP, narzędzia, programowanie itp. Zajmują się tabelami i koncentrują się na nich. Jednak programista może stosować pewien paradygmat, nawet w językach, które nie obsługują natywnie tego paradygmatu. Na przykład języki, które nie mają słów kluczowych do definiowania klas i nie obsługują składni do obsługi instancji, mogą być używane do pisania kodu obiektowego. Na przykład w języku C możemy zdefiniować strukturę i umieścić odwołanie do tej struktury w funkcji w celu symulacji tego wskaźnika i wywołania metody. Jednak kod OO napisany w C ++ lub C # będzie znacznie bardziej intuicyjny, kompaktowy, czytelny, elastyczny i mniej podatny na błędy.

Falcon jest językiem, który natywnie obsługuje TOP, ponieważ zawiera wbudowane struktury programowania ułatwiające obsługę tabel. Chociaż powiedzenie, że Falcon stanowi TOP, jest jak powiedzenie, że C ++ stanowi OOP. W rzeczywistości są narzędziem, które ułatwia, a nawet egzekwuje określony styl programowania.

Myślę, ale może się mylę, że powinniśmy szukać NAJLEPSZYCH pomysłów, które zostały stworzone specjalnie do działania na stołach. SQL Server i Analysis Services to arena, na której wykonywane są operacje skoncentrowane na danych tabelarycznych. W szczególności nowe programowanie modeli tabelarycznych wykorzystuje tabele jako kluczowe elementy do radzenia sobie. Wierzę, że w przyszłości zostanie wprowadzona bardziej intuicyjna obsługa API dla programowania tabelarycznego. Pozwoliłem sobie więc mówić o TOP w kontekście programowania modeli tabelarycznych, podobnie jak innym aspekcie TOP obok Falcona.

Programowanie modeli tabelarycznych jest używane w usługach Analysis Services należących do technologii SQL Server, więc jest ściśle powiązane z relacyjnymi bazami danych i analizą biznesową. Tryb tabelaryczny to nowe podejście do tworzenia semantycznego modelu inteligencji biznesowej jako alternatywa dla trybu wielowymiarowego, dlatego należy go porównać z tym drugim. Każde rozwiązanie różni się sposobem ich tworzenia, użytkowania i wdrażania. Tryb tabelaryczny jest szybszy w projektowaniu, testowaniu i wdrażaniu. Jest również znany odbiorcom, którzy pracują z relacyjnymi bazami danych, Excel lub Access. Aby uzyskać więcej informacji i elementów wewnętrznych, zobacz Porównanie rozwiązań tabelarycznych i wielowymiarowych .

Myślę, że najlepszym sposobem na zrozumienie, czym jest programowanie modeli tabelarycznych, jest wykorzystanie go w praktyce. Przejdź przez modelowanie tabelaryczne (samouczek Adventure Works) i poczuj to.

yBee
źródło
1
Co to ma wspólnego z Falconem?
yannis
@YannisRizos Myślałem, że pytanie brzmi: Co to jest programowanie tabelaryczne? pod względem tego, jak to zrozumieć, a Ty podałeś Falcon jako przykład. Pomyśl o zmianie pytania na Jak rozumieć Falcona jako tabelaryczny język programowania?
yBee
Czy możesz rozszerzyć swoją odpowiedź, aby wyjaśnić, w jaki sposób programowanie modeli tabelarycznych ma coś wspólnego z programowaniem tabelarycznym? Ponieważ inne niż podobieństwo w nazwie, wydają się być zupełnie innymi rzeczami.
yannis