நிரலாக்கம் அறிமுகம்/நிரல் என்றால் என்ன?

கணினி என்பது கணித்தல் செய்யக் கூடிய நுண்செயலியைக் (microprocessor) கொண்ட ஒர் மின்னணுக் கருவி. நுண்செயலி தருக்கப் படலைகளைக் (logic gates) கொண்டு உருவாக்கப்பட்டுள்ளது. தருக்கப்படலைகள் திரிதடையத்தால் (transistor) ஆனவை. திரிதடையங்கள் 1 அல்லது 0 என்ற இரு நிலைகளைக் கொண்டவை. ஆகவே கணினிகள் செய்யும் அனைத்தும் அடிப்படையில் 1 அல்லது 0 என்ற நிலைகளைக் கொண்ட திரிதடையத்தால் நிறைவேற்றப்படுவை. 0 மற்றும் 1 ஐ அடிப்படையாகக் கொண்ட இரும இயற்கணிதம் (Boolean algebra) கணினியலுக்கு அடிப்படையாக அமைகிறது.

ஆகக் கீழ் நிலையில் கணினி 1 அல்லது 0 ஆல் ஆன இயந்திர மொழியை (machine language) இயக்குகிறது அல்லது கணிக்கிறது. இயந்திர மொழி என்பது பிரிக்கவியலா கட்டளைகளால் (instructions) ஆனது. எ.கா 000000 00001 00010 00110 00000 100000 என்பது ஒரு கட்டளை. இக் கட்டளை இரு எண்களைக் கூட்டி ஒரு இடத்தில் இடும் படி கூறுகிறது. இந்தக் கட்டளைகள் ஒரு குறிப்பிட்ட கணித்தலை நுண்செயலி செய்யப் பணிக்கும். 1 அல்லது 0 யினால் ஆன கட்டளைகளை மனிதர்கள் இலகுவில் புரிந்து கொள்ள முடியாது. அதனால் இந்த இயந்திர மொழிக் கட்டளைகளுக்களுக்கு இணையான சொற் தொகுதிகள் உருவாக்கப்பட்டன. இந்த மனித மொழியால் ஆனால் சொற் அல்லது கட்டளைத் தொகுதிகள் சில்லு (assembly) மொழி எனப்படுகிறது. எ.கா மேற் கூறப்பட்ட கட்டளை op rs rt rd shamt funct என்று சில்லு மொழியில் எழுதப்படலாம். சில்லு மொழியில் எழுதப்பட்ட ஒரு கட்டளைத் தொகுதியை இயந்திர மொழிக்கு சில்லுமொழிமாற்றி (assembler) மொழிமாற்றித் தருகிறது. இவ்வாறு கணினி இயக்கக் கூடிய ஒரு கட்டளைத் தொகுதியையே நாம் நிரல் (program) என்கிறோம். நிரலை அல்லது நிரல் தொகுதிகளை மென்பொருள் என்றும் கூறலாம்.

கணினியியலின் தொடக்க கால கட்டத்தில் நிரல்கள் சில்லு மொழியிலேயே எழுதப்பட்டன. எனினும் சில்லு மொழியும் பரந்த பயன்பாட்டிற்கு இலவாக அமையவில்லை. ஆகவே மனித மொழிக்கு இணையான மேல் நிலை கணினி அல்லது நிரல் மொழிகள் உருவாக்கப்பட்டன. இந்த மேல் நிலை மொழிகளில் எழுதப்படும் நிரல்கள் சில்லு மொழிக்கு மொழிமாற்றப்பட்டு, பின்னர் இயந்திர மொழிக்கு மொழிமாற்றப்பட்டு நுண்செயலியில் கணிக்கப்படுகின்றன. இன்று பதிகணினியியல் போன்று சில குறிப்பிட்ட தேவைகள் தவிர்த்து பெரும்பாலான நிரல்கள் மேல் நிலை மொழிகளிலேயே எழுதப்படுகின்றன. இந்த நூலும் மேல் நிலை மொழிகளில் நிரலாக்கம் செய்வது பற்றியது ஆகும்.

மேலே கணினி என்றால் என்ன, அது நிரல்களை எப்படி இயகுகிறது என்பதைச் சுருக்கமாகப் பாத்தோம். அடுத்த அதிகாரத்தில் நிரலாக்கம் என்றால் என்பதை பார்ப்போம்.