
xBase – rodzina języków programowania o orientacji bazodanowej i dialektów języka wywodzących się z języka dBASE (pierwotnie: Vulcan), rozwijanego na podstawie rozwiązań powstałych w środowisku NASA/JPL (JPLDIS)[1][2][3][4].
W szerszym użyciu terminem xBase (lub xbase) bywa również określany zestaw powiązanych formatów plików (zwłaszcza DBF), historycznie związanych z dBASE, a później przejętych przez inne narzędzia (m.in. GIS)[5][6].
Dodawane z biegiem czasu nowe polecenia i funkcje spowodowały, że języki xBase stały się językami ogólnego przeznaczenia, zachowując przy tym silną orientację na przetwarzanie danych tabelarycznych oraz (częściową) zgodność na poziomie składni i funkcji z dBASE[1][7]. Typowym modelem danych w klasycznych implementacjach były tabele przechowywane w plikach DBF (często uzupełniane o pliki memo i indeksów), przy czym „relacje” pomiędzy tabelami realizowano zwykle na poziomie mechanizmów środowiska uruchomieniowego i kodu aplikacji, a nie poprzez serwerowy silnik SQL[8].
Historia
[edytuj | edytuj kod]
Geneza rodziny xBase wiąże się z językiem i środowiskiem dBASE, którego pierwotna wersja (Vulcan) została opracowana w 1978 r. przez C. Wayne’a Ratliffa, inspirowanego dokumentacją JPLDIS; w 1980 r. program został objęty umową z Ashton-Tate i wprowadzony na rynek jako dBASE II[1][2][3]. W latach 80. i 90. XX w. powstało wiele implementacji i „klonów” zgodnych w różnym stopniu ze składnią dBASE (m.in. linia FoxBASE/FoxPro oraz kompilatory Clipper), co ugruntowało użycie zbiorczego określenia xBase dla tej rodziny dialektów[1].
Charakterystyka
[edytuj | edytuj kod]Klasyczne dialekty xBase łączą interaktywny tryb pracy (polecenia wydawane w wierszu poleceń) z możliwością automatyzacji w postaci procedur i skryptów, a także z wbudowanym językiem wyrażeń używanym w operacjach filtracji, wyszukiwania, sortowania i aktualizacji danych[9]. Do charakterystycznych elementów składni i modelu pracy należą m.in.:
- operacje „record-at-a-time” na aktualnym rekordzie (nawigacja i modyfikacje), obok poleceń wyszukujących i filtrujących (np. rodzina poleceń typu LOCATE i warunki logiczne)[9],
- silne powiązanie operacji językowych z tabelami DBF oraz ich indeksami/memo, co w praktyce pozwalało budować kompletne aplikacje bazodanowe bez oddzielnego serwera[8],
- stopniowe rozszerzanie dialektów o elementy programowania strukturalnego, a w części implementacji również o programowanie obiektowe i integrację z GUI (np. linia Visual FoxPro, xBase++)[10][11].
Pliki i interoperacyjność
[edytuj | edytuj kod]Najbardziej rozpoznawalnym elementem „ekosystemu” xBase stał się format DBF – plik tabelaryczny zawierający definicję pól i rekordy danych, często uzupełniany o pliki memo (np. DBT w dBASE lub FPT w FoxPro) oraz pliki indeksów, zależne od dialektu/implementacji[5][8][12].
Format DBF został szeroko zaadaptowany także poza światem dBASE/xBase – m.in. jako tabela atrybutów w formacie shapefile (ESRI), co wpłynęło na praktyczne ograniczenia interoperacyjności (np. limit długości nazw pól do 10 znaków w wielu narzędziach operujących na shapefile/DBF)[13][14][15][6].
DBF bywa także wykorzystywany jako format wymiany danych w narzędziach biurowych: Microsoft Access umożliwia eksport do kilku wersji dBASE/DBF, a LibreOffice udostępnia import i zapis danych w plikach DBF w arkuszu kalkulacyjnym oraz w module bazy danych[16][17].
Standaryzacja
[edytuj | edytuj kod]W latach 90. podejmowano próby formalizacji języka/rodziny xBase w ramach prac standaryzacyjnych (m.in. komitet X3J19 „Xbase”), co odnotowano w publikacjach NIST jako „pending specification”, przy rozpoczęciu prac w październiku 1992 r.[18][19]. Równolegle praktyka rynkowa utrzymywała wiele dialektów o niepełnej wzajemnej zgodności, co znalazło odzwierciedlenie w literaturze porównawczej opisującej różnice poleceń i funkcji pomiędzy implementacjami[1].
Zastosowania
[edytuj | edytuj kod]Języki i środowiska xBase były wykorzystywane przede wszystkim do szybkiego budowania aplikacji ewidencyjnych i biznesowych (zwłaszcza w modelu plikowym, bez serwera), a pośrednio także w obszarach, w których DBF stał się formatem wymiany danych (np. GIS/shapefile)[6][13].
Główne gałęzie rozwojowe
[edytuj | edytuj kod]W skład rodziny wchodzą trzy główne gałęzie (o częściowo odmiennych dialektach i bibliotekach uruchomieniowych)[7][5].
- dBASE
- dBASE – produkt komercyjny firmy dBASE Inc.
- (dBXL/Arago) QuickSilver – produkty wchłonięte przez dBASE
- Clipper
- Clipper – produkt komercyjny
- xBase++ – produkt komercyjny firmy Alaska Software GmbH[20]
- FlagShip – produkt komercyjny firmy multisoft GmbH
- Clip – wolne oprogramowanie firmy ITK
- Harbour – wolne oprogramowanie zgodne z Clipper/xBase[21][22]
- xHarbour – wolne oprogramowanie i wariant komercyjny, kompilator wstecznie zgodny z Clipper[23]
- FoxPro
- Visual FoxPro – produkt komercyjny firmy Microsoft (wsparcie zakończone 13 stycznia 2015 r.)[10]
- Recital – produkt komercyjny firmy Recital Corp.
- Inne kontynuacje i implementacje wielodialektowe
Przypisy
[edytuj | edytuj kod]- ↑ a b c d e David M. Kalman: The dBASE Language Handbook. Terrella Media (reprint), 1989. [dostęp 2025-12-15]. (ang.).
- ↑ a b Life After dBase [online], Visual Studio Magazine, 1 sierpnia 2007 [dostęp 2025-12-15] (ang.).
- ↑ a b The FoxPro History – Interview with Wayne Ratliff [online], foxprohistory.org [dostęp 2025-12-15] (ang.).
- ↑ Xbase [online], Computer Dictionary of Information Technology [dostęp 2024-02-29] (ang.).
- ↑ a b c dBASE Table File Format (DBF) [online], Library of Congress (Sustainability of Digital Formats), 27 lutego 2017 [dostęp 2025-12-15] (ang.).
- ↑ a b c dBASE Table for ESRI Shapefile (DBF) [online], Library of Congress (Sustainability of Digital Formats), 10 czerwca 2025 [dostęp 2025-12-15] (ang.).
- ↑ a b XBase – EDM/2 [online], edm2.com [dostęp 2024-02-29] (ang.).
- ↑ a b c dBASE File Format (with coding details): DBF and DBT/FPT file structure [online], independent-software.com, 6 sierpnia 2018 [dostęp 2025-12-15] (ang.).
- ↑ a b dBASE II User’s Guide, Ashton-Tate, 1982 [dostęp 2025-12-15] (ang.).
- ↑ a b Microsoft Visual FoxPro 9.0 – Microsoft Lifecycle [online], Microsoft Learn [dostęp 2025-12-15] (ang.).
- ↑ Alaska Software – Company Overview (Xbase++ strategy) [online], alaska-software.com [dostęp 2025-12-15] (ang.).
- ↑ The dBASE interface (DBF/DBT) [online], dbase.com KnowledgeBase [dostęp 2025-12-15] (ang.).
- ↑ a b ESRI Shapefile Technical Description [online], esri.com [dostęp 2025-12-15] (ang.).
- ↑ 000142: Field name in dBASE table cannot be longer than 10 characters [online], ArcGIS Pro Documentation [dostęp 2025-12-15] (ang.).
- ↑ ESRI Shapefile / DBF — GDAL documentation (field name limit) [online], gdal.org [dostęp 2025-12-15] (ang.).
- ↑ Export data to dBASE [online], Microsoft Support [dostęp 2025-12-15] (ang.).
- ↑ Importing and Exporting dBASE Files [online], LibreOffice Help [dostęp 2025-12-15] (ang.).
- ↑ NIST Special Publication 500-220 (wzmianka o specyfikacji Xbase i pracach X3J19) [online], nvlpubs.nist.gov [dostęp 2025-12-15] (ang.).
- ↑ X3 Overview (w tym: X3J19 Xbase) [online], t10.org [dostęp 2025-12-15] (ang.).
- ↑ Alaska Software Products – Xbase++ [online], alaska-software.com [dostęp 2025-12-15] (ang.).
- ↑ Harbour (Why use it?) [online], harbour.github.io [dostęp 2025-12-15] (ang.).
- ↑ harbour/core (GitHub) [online], github.com [dostęp 2025-12-15] (ang.).
- ↑ xHarbour – Open Source Extended Clipper Language [online], xharbour.org [dostęp 2025-12-15] (ang.).
- ↑ XSharp (X#) [online], Visual Studio Marketplace [dostęp 2025-12-15] (ang.).
- ↑ XSharp (GitHub Organization) [online], github.com [dostęp 2025-12-15] (ang.).
Zobacz też
[edytuj | edytuj kod]Linki zewnętrzne
[edytuj | edytuj kod]- http://www.clicketyclick.dk/databases/xbase/format/index.html – opis formatu plików DBF i innych plików xBase
- https://www.loc.gov/preservation/digital/formats/fdd/fdd000325.shtml – opis formatu DBF (Library of Congress)
- https://harbour.github.io/ – projekt Harbour









