Tolong jelaskan mengenai Bahasa pengaturcaraan dBase dari DBASE dalam bahasa melayu

Selepas menulis Vulcan untuk IMSAI 8080 dan kemudian melabuhkannya ke CP/M dan MS-DOS (sebagai dBase), Ratliff menambah perintah bagi menerima antara muka skrin video dan juga perintah bagi mempertingkatkan kawalan aliran (seperti DO WHILE/ENDDO) serta logik bersyarat (seperti IF/ENDIF).

Bagi mengendalikan data, dBase menyediakan perintah prosedur terperinci dan fungsi bagi membuka dan merentasi rekod-rekod dalam fail data (contohnya USE, SKIP, GO TOP, GO BOTTOM, dan GO recno), memanipulasi nilai medan (REPLACE dan STORE), di samping memanipulasi rantetan teks (contohnya STR() dan SUBSTR()), nombor dan data. Keupayaannya membuka dan mengubah lebih daripada satu fail yang mengandungi data berkaitan secara serentak mendorong Ashton-Tate mengelar dBase sebagai "pangkalan data hubungan," sungguhpun ia tidak memenuhi kriteria yang ditetapkan oleh model hubungan Dr. Edgar F. Codd (ia boleh dicirikan sebagai hubungan kacukan dan pangkalan data navigasi bersepadu).

dBase menggunakan seni bina pentafsir masa jalanan, yang membenarkan pengguna melakukan perintah dengan menaipnya dalam "dot prompt" baris perintah. Setelah menaip perintah atau fungsi dan menekan butang , pentafsir segera akan melaksanakan atau menilainya. Sama juga, skrip aturcara (fail teks dengan sambungan .PRG) dijalankan dalam pentafsir (dengan perintah DO), di mana setiap perintah dan pemboleh ubah dinilai pada masa jalanan. Ini menjadikan aturcara-aturcara dBASE pantas dan mudah ditulis serta diuji kerana sang pengaturcara tidak perlu terlebih dahulu mengkompil dan mengaitkan mereka sebelum dijalankan. Pada zaman CPU hanya mempunyai satu atau dua digit megahertz, langkah ini—bagi bahasa lain&mdah;amat memakan masa dan menjemukan. Pentafsir juga mengendali secara dinamik dan automatik kesemua pengurusan ingatan (maksunya tiada ingatan prauntukkan dan tiada notasi hexadesimal), yang lebih penting berbanding ciri lain yang membolehkan seseorang usahawan tanpa pengalaman pengaturcaraan membangunkan sesebuah applikasi.

Walaupun perintah-perintah dBase mudah serta ringkas, ia memberikan cabaran kepada penggunanya apabila mereka menjadi lebih mahir dan apabila pengaturcara profesional semakin tertarik akannya. Aplikasi yang lebih rumit dan kritikal menuntut ciri-ciri pengaturcaraan profesional untuk kebolehharapan dan berprestasi yang lebih baik, tidak lupa juga pembangunan yang lebih produktif.

Lama-kelamaan, pesaing Ashton-Tate memperkenalkan keluaran dan pengkompil klon yang memperkenalkan ciri-ciri pengaturcaraan yang lebih kukuh seperti fungsi takrifan pengguna sebagai tambahan kepada set fungsi bina dalam, pembolehubah dalam skop bagi menulis routin dan fungsi yang kurang berkemungkinan dijejaskan proses luaran, jujukan bagi pengendalian data rumit, ciri-ciri pembungkus bagi menghantar aplikasi sebagai fail boleh laku tanpa pentafsir masa jalanan luar, sintaks berorientasikan objek, dan antaramuka bagi mencapai data pada sistem pengurusan pangkalan data jauh. Ashton-Tate turut melaksanakan kebanyakan ciri-ciri ini dengan pelbagai tahap kejayaan. Ashton-Tate dan pesaingnya turut mula memasukkan SQL, bahasa piwaian ANSI/ISO bagi mencipta, menyunting, dan mengambil data yang disimpan dalam sistem pengurusan pangkalan data hubungan.

Pada akhir 1980-an, beberapa kumpulan pembangun cuba mencipta piwaian bahasa dBase (IEEE 1192). Bermula pada ketika itu bahasa tersebut dirujuk sebagai "xBase" bagi membezakannya dengan produk Ashton-Tate. Ratusan buku yang berkaitan dengan pengaturcaraan dBase dan Xbase telah ditulis. Untuk beberapa tahun pada akhir 1980-an, pengarang Joseph Carrabis, yang menulis beberapa teks dBASE, merupakan salah seorang daripada sepuluh pengarang teratas bagi jualan terbaik dunia.

Hari ini, perlaksanaan bahasa dBase telah berkembang supaya tampil dengan banyak ciri yang disasarkan untuk aplikasi perniagaan, antaranya pengaturcaraan berorientasi objek, mengolah data jauh dan teragih melalui SQL, kefungsian Internet, dan interaksi dengan peranti moden.