PostScript (PS) ialah bahasa pengaturcaraan perangkaian penjenisan dinamik yang dicipta oleh John Warnock dan Charles Geschke pada 1982. Ia paling terkenal kerana penggunaannya sebagai bahasa perihal halaman dalam bidang elektronik dan penerbitan meja.

PostScript
ParadigmaBerbilang paradigma: berasaskan tindanan, tatacara
Muncul pada1982
Direka olehJohn Warnock & Chuck Geschke
PembangunAdobe Systems
Lepasan stabilPostScript 3 (1997)
Disiplin penjenisanDinamik, kuat
Pelaksanaan utamaAdobe PostScript, TrueImage, Ghostscript, InterPress
DipengaruhiLisp
MempengaruhiPDF
PostScript
Sambungan fail:.ps
Jenis media Internet:application/postscript
Pengecam Jenis Seragam:com.adobe.postscript
Magik:%!
Dibangunkan oleh:Adobe Systems
Jenis format:Format fail pencetakan
Diperluas kepada:PostScript Berkapsul

Sejarah

sunting

Konsep untuk bahasa PostScript dilahirkan pada 1976 semasa John Warnock bekerja di Evans & Sutherland, sebuah syarikat grafik komputer yang termasyhur. Pada waktu itu, beliau sedang membangunkan perisian pentafsir untuk pangkalan data grafik tiga-dimensi pelabuhan New York. Warnock memikirkan bahasa Design System untuk memproses grafik.

Pada waktu yang sama, para penyelidik di Xerox PARC telah berjaya membangunkan pencetak laser yang pertama dan menyedari keperluan untuk menggunakan cara yang standard untuk mentakrifkan imej halaman. Kemudian pada 1975-76, sepasukan penyelidik yang diketuai oleh Bob Sproull membangunkan format Press yang kemudian digunakan dalam sistem Xerox Star untuk menjalankan pencetak laser. Bagaimanapun, Press merupakan format data dan bukan bahasa pengaturcaraan dan justera itu, tidak mempunyai kebolehubahan. Oleh itu, PARC memulakan usaha InterPress untuk mencipta penggantinya.

Pada 1978, Evans dan Sutherland meminta Warnock berpindah dari San Francisco Bay Area ke ibu pejabat utama di Utah, akan tetapi Warnock tidak berminat. Namun beliau menyertai Xerox PARC untuk bekerja dengan Martin Newell. Bersama-sama, mereka menulis semula Design System untuk mencipta JaM (singkatan untuk "John and Martin") yang kemudian digunakan untuk reka bentuk VLSI serta penyelidikan pencetakan taip dan grafik. Karya mereka itu kemudian berkembang menjadi bahasa InterPress.

Warnock kemudian meletakkan jawatan bersama-sama dengan Chuck Geschke untuk mengasaskan Adobe Systems pada Disember 1982. Mereka mencipta PostScript, sebuah bahasa yang serupa dengan InterPress tetapi lebih mudah, dan memasarkannya pada 1984. Pada waktu yang lebih kurang sama, Steve Jobs mengunjungi mereka dan menggalakkan mereka supaya menyesuaikan PostScript untuk digunakan sebagai bahasa bagi pencetak laser.

Pada Mac 1985, LaserWriter Apple menjadi pencetak yang pertama dijual dengan PostScript, dan mencetuskan revolusi penerbitan meja (DTP) pada pertengahan 1980-an. Gabungan merit teknikal serta ketersediaan yang meluas menjadikan PostScript sebagai sebuah bahasa pilihan untuk output grafik bagi kegunaan pencetakan. Buat seberapa waktu, pentafsir (kekadang dirujuk sebagai RIP, singkatan untuk "Pemproses Imej Raster") untuk bahasa PostScript menjadi komponen yang biasa untuk pencetak laser sehingga 1990-an.

Bagaimanapun, kos pelaksanaan PostScript sangat tinggi. Komputer mengoutput kod PostScript yang kemudian ditafsirkan oleh pencetak menjadi imej raster pada peleraian tabii pencetak. Ini memerlukan mikropemproses yang berprestasi tinggi serta ingatan komputer yang mencukupi. LaserWriter menggunakan Motorola 68000 12 MHz yang menyebabkannya lebih cepat berbanding dengan mana-mana komputer Macintosh yang disambungkannya. Sewaktu enjin pencetak laser berharga melebihi seribu dolar Amerika Syarikat, kos tambahan untuk menyediakan PostScript kelihatan memadai, akan tetapi apabila harga mekanisme pencetak turun, kos melaksanakan PostScript menjadi semakin mahal secara perbandingan.

Sebagai suatu standard de facto seketika untuk mengedarkan dokumen elektronik bertujuan penerbitan, PostScript kemudian beransur-ansur diambil alih oleh Format Dokumen Mudah Alih (PDF), salah satu keturunan sendiri. Menjelang 2001, tidak terdapat banyak model pencetak lagi yang datang dengan sokongan untuk PostScript, sebahagian besar diakibatkan oleh persaingan yang semakin meningkat daripada pencetak pancut dakwat bukan PostScript yang jauh lebih murah, serta juga kemunculan kaedah-kaedah berasaskan perisian baharu yang sesuai untuk mana-mana pencetak menafsirkan imej PostScript pada komputer (PDF membekalkah salah satu kaedah tersebut). Bagaimanapun, penggunaan pencetak laser PostScript masih dapat mengurangkan beban kerja unit pemprosesan pusat (CPU) dengan ketara semasa mencetak dokumen menerusi perpindahan kerja menafsirkan imej PostScript daripada komputer kepada pencetak. Oleh itu, PostScript masih merupakan satu pilihan untuk kebanyakan model "atasan".

Bahasa

sunting

PostScript ialah bahasa pengaturcaraan Turing-lengkap yang tergolong dalam kumpulan perangkaian. Ia biasanya bukan dihasilkan oleh manusia tetapi oleh atur cara yang lain. Bagaimanapun, atur cara PostScript boleh ditulis sebagaimana dengan bahasa pengaturcaraan yang lain.

PostScript ialah bahasa tertafsir berasaskan tindanan yang serupa dengan bahasa pengaturcaraan Forth, tetapi mempunyai struktur data penjenisan kuat dan dinamik yang ilhami oleh struktur data bahasa Lisp, ingatan beruang lingkup dan, sejak bahasa peringkat ke-2, pemungutan sampah. Sintaks bahasanya menggunakan tatanama Poland songsang yang menyebabkan urutan pengendaliannya tidak jelas. Membaca atur cara PostScript memerlukan setakat latihan kerana seseorang perlu sentiasa mengingati bentangan tindanannya. Kebanyakan operator (diistilahkan sebagai fungsi dalam bahasa yang lain) mengambil argumen daripada tindanan dan kemudian mengembalikan hasilnya. Literal (misalnya, nombor) meletakkan satu salinan diri ke dalam tindanan. Struktur data yang canggih boleh dibina pada jenis tatasusunan dan kamus tetapi tidak boleh diisytiharkan kepada sistem jenis yang memperlihat kesemuanya hanya sebagai tatasusunan dan kamus. Justera, sebarang disiplin penjenisan lanjut yang dikenakan pada "jenis" tertakrif-pengguna sebegini ditinggalkan kepada kod yang melaksanakannya.

Aksara "%" digunakan untuk memasukkan ulasan dalam atur cara PostScript. Sebagai kelaziman umum, setiap atur cara PostScript perlu bermula dengan aksara "%!" supaya semua peranti akan mentafsirkannya sebagai PostScript dengan betul.

"Hello world"

sunting

Atur cara Hello World, cara yang lazim untuk menunjukan satu contoh kecil atur cara yang lengkap dalam sesuatu bahasa, boleh berbentuk sepert iyang berikut dalam PostScript:

%!PS
/Courier findfont
20 scalefont
setfont
72 500 moveto
(Hello world!) show
showpage

atau jika peranti output mempunyai konsol:

%!PS
(Hello world!) =

Unit ukuran

sunting

Postscript menggunakan poin sebagai unit kepanjangan. Bagaimanapun, berbeza dengan sesetengah versi poin yang lain, PostScript menggunakan tepat 72 poin setiap inci. Oleh itu:

 

Misalnya, untuk melukis garis mengufuk yang panjangnya 4 sentimeter, menaip teks yang berikut adalah mencukupi:

0 0 moveto 
0 113.385827 lineto stroke

PostScript menggunakan nombor nyata kepersisan tunggal (mantisa 24-bit) dan oleh itu, tidaklah bermakna jika melebihi 9 digit perpuluhan digunakan untuk menentukan nombor nyata itu. Untuk grafik draf, bilangan digit bererti boleh dikurangkan.

Lihat juga

sunting

Rujukan

sunting

Rencana ini pada asalnya berdasarkan bahan daripada Free On-line Dictionary of Computing yang dilesenkan di bawah GFDL.

Pautan luar

sunting