Кіріспе

Компьютерлік бағдарламалау тілдерінің класы

Жүйелік бағдарламалау тілі – жүйелік бағдарламалау үшін қолданылатын бағдарламалау тілі; мұндай тілдер жүйелік бағдарламалық қамтамасыз етуді жазу үшін жасалған, бұл әдетте қолданбалық бағдарламалық қамтамасыз етумен салыстырғанда әртүрлі әзірлеу тәсілдерін қажет етеді. Эдсгер Дейкстра осы тілдерді машинаға бағытталған жоғары деңгейлі тілдер немесе мохол деп атаған. Жалпы мақсаттағы бағдарламалау тілдері әдетте, бірнеше платформада бірдей кодты пайдалануға мүмкіндік беретін, жалпы мүмкіндіктерге назар аударады. Мұндай тілдерге ALGOL және Pascal жатады. Бұл жалпылама қасиет көбінесе машинаның ішкі құрылысына тікелей қол жеткізуді шектеу арқылы жүзеге асырылады, бұл өнімділікке теріс әсер етеді. Жүйелік тілдер, керісінше, үйлесімділік үшін емес, өнімділік пен негізгі аппараттық құралдарға оңай қол жеткізу үшін жасалған, сонымен қатар құрылымдық бағдарламалау сияқты жоғары деңгейлі бағдарламалау ұғымдарын ұсынады. Мысалдарға ESPOL және SPL жатады, екеуі де синтаксисі бойынша ALGOL-ға ұқсас, бірақ олардың тиісті платформаларына бейімделген. Басқалары кросс-платформалық, бірақ BLISS, JOVIAL және BCPL сияқты аппараттық құралдармен тығыз жұмыс істеуге арналған. Кейбір тілдер жүйелік және қолданбалық салалардың арасындағы көпір болып табылады, осы екі қолданыс арасындағы алшақтықты қысқартады. C тілі – классикалық мысал, ол жүйелік және қолданбалық бағдарламалау үшін кеңінен қолданылады. Rust және Swift сияқты кейбір заманауи тілдер де осылай жұмыс істейді.

Ерекшеліктері

Қолданба тілдерінен өзгеше, жүйелік бағдарламалау тілдері машинаның физикалық жабдығына тікелей қол жеткізу мүмкіндігін көбінесе ұсынады: осы тұрғыдан алғанда, BCPL жүйелік бағдарламалау тілінің классикалық мысалы еді. Жүйелік бағдарламалау тілдерінде кіріс/шығыс (I/O) мүмкіндіктері жиі болмайды, себебі жүйелік бағдарламалық жоба әдетте өзінің I/O механизмдерін жасайды немесе қарапайым мониторлық I/O немесе экранды басқару мүмкіндіктерін пайдаланады. PL/I, C және Pascal тілдерінің кеңінен таралуымен жүйелік және қолданбалы бағдарламалау үшін қолданылатын тілдер арасындағы шекара уақыт өте келе нашарлады.

Тарих

Алғашқы жүйелік бағдарламалық қамтамасыз ету негізінен ассемблер тілінде жазылды, себебі басқа амал болмады, сонымен қатар объектілік кодтың тиімділігі, компиляция уақыты және түзетудің қарапайымдығы сияқты себептер де болды. FORTRAN сияқты қолданбалы тілдер жүйелік бағдарламалау үшін қолданылды, бірақ олардың кейбір бөліктерін ассемблер тілінде жазу қажеттілігі әдетте сақталды.

Орта деңгейдегі тілдер

Орта деңгейдегі тілдер "жоғары деңгейдегі тілдің синтаксисі мен мүмкіндіктерінің көп бөлігіне ие, бірақ сонымен қатар тілде машиналық ерекшеліктерге тікелей қол жеткізуге мүмкіндік береді (құрастыру тілін де ұсынады)".