5.4 கணினிமொழி மென்பொருள் (Computer Language Software)

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

5.4.1 கணினி மொழிகள்

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

அடிநிலை மொழி (Low level Language)

கணினிக்குப் புரிகின்ற ஒரே மொழி எந்திரமொழி (Machine Language) மட்டுமே. எந்திரமொழி என்பது 0,1 ஆகிய இரண்டு இலக்கங்களால் ஆனது. ஈரிலக்க மொழி என்பதால் இதனை இரும மொழி (Binary Language) என்று அழைக்கின்றனர். கணினிக்கு 0,1 ஆகிய இலக்கங்களை மட்டும் எப்படிப் புரியும்? கணினி உட்பட எந்தவோர் எந்திரமும் மின்சாரத்தை மட்டுமே புரிந்துகொள்ளும். மின்சாரத்தின் மின்னழுத்தம் குறைவாகவோ அதிகமாகவோ இருப்பதைப் புரிந்து, அதற்கேற்ப எந்திரங்கள் செயல்பட முடியும். குறைந்த மின்னழுத்தம் (Low Voltage) , உயர் மின்னழுத்தம் (High Voltage) ஆகிய இரு நிலைகளையே 0,1 என்னும் இலக்கங்கள் மூலமாகக் குறியீடாக உணர்த்துகின்றன. கணினிக்குத் தரவேண்டிய கட்டளைகள் அனைத்தையும் இரும மொழியில் உணர்த்துவது மிகவும் கடினமான பணியாகும். கணினிக்கு நெருக்கமாகவும், மனிதனுக்குத் தொலைவாகவும் இருப்பதால் இருமமொழி அடிநிலை மொழி என வகைப்படுத்தப் படுகிறது.

நுண்செயலி உருவாக்கப்பட்ட பின் அந்த நுண்செயலியில் செயல்படுத்தக் கூடிய கட்டளைகள் நினைவிக் குறிமுறைகளால் (Mnemonic codes) வடிவமைக்கப்பட்டன. MOVE என்னும் சொல் MOV எனவும், STORE என்பது ST எனவும், JUMP என்பது JMP எனவும் சுருக்கமாகக் குறிக்கப்படும். ஒவ்பெவாரு நுண்செயலிக்கும் அதற்கே உரிய குறிமுறை மொழி ஆணைகள் உள்ளன. அவ்வாணைகளின் தொகுதி (Instruction set) சில்லுமொழி (Assembly Language) எனப்படுகிறது. நீண்ட நிரல்களை சில்லுமொழியில் எழுதுவது, எந்திரமொழியில் எழுதுவது போன்றே கடினமான பணியாகும். எனவே, சில்லுமொழியும் அடிநிலை மொழியிலேயே வகைப்படுத்தப்படுகிறது.

உயர்நிலை மொழி (High level Language)

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

5.4.2 மொழிபெயர்ப்பிகள் (Language Translators)

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

சில்லுமொழி பெயர்ப்பி (Assembler)

நுண்செயலிகள் பல்வேறு கட்டமைப்புகளில் உருவாக்கப் படுகின்றன. அவற்றுள் ரிஸ்க் (RISC-Reduced Instruction Set Computer) , சிஸ்க் (CISC- Complex Instuction Set Computer) ஆகிய கட்டமைப்புகள் மிகவும் முக்கியமானவை. இவற்றுக்கான ஆணைத் தொகுதிகள் வெவ்வேறானவை என்ற போதிலும் அவை நினைவிக் குறிமுறைகளால் (Mnemonic codes) ஆனவை. ஒவ்வொரு கட்டமைப்பிலும் தொடக்க காலம் முதல் இன்று வரை மேம்படுத்தப்பட்ட புதிய புதிய செயலிகள் உற்பத்தி செய்யப்பட்டு வெளியிடப் பட்டுள்ளன. அவற்றின் ஆணைத் தொகுதிகளில், அடிப்படை ஆணைகளில் மாற்றம் இருக்காது எனினும் ஒவ்வொரு புதிய மேம்பட்ட செயலியும் கூடுதலான பல ஆணைகளைக் கொண்டிருப்பதுண்டு. ஆணைத் தொகுதியிலுள்ள ஆணைகளைக் கொண்டு எழுதப்பட்ட நிரல் சில்லுமொழி நிரல் (Assembly Language Program) எனப்படுகிறது. சில்லுமொழி, செயலுக்குச் செயலி வேறுபடும் என்பதறிக. சில்லுமொழியிலுள்ள ஒரு நிரலை எந்திரமொழிக்கு மாற்றித் தர அதற்கே உரிய தனித்த, சில்லுமொழிபெயர்ப்பி (Assembler) பயன்படுகிறது. போர்லாண்டு (TASM - Turbo Assembler) மற்றும் மைக்ரோசாஃப்ட் (MASM- Microsoft Assembler) ஆகிய நிறுவனங்களின், சிஸ்க் செயலிகளுக்கான சில்லுமொழி பெயர்ப்பிகள் அக்காலத்தில் மிகவும் செல்வாக்குப் பெற்று விளங்கின.

ஆணை பெயர்ப்பி (Interpretter)

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

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

நிரல் பெயர்ப்பி (Compiler)

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

5.4.3 உயர்நிலை மொழிகள் (High level Language)

கணினித் தொழில்நுட்பத்தின் அதிவேக வளர்ச்சிப் போக்கில் உயர்நிலைக் கணினி மொழிகள் முக்கிய பங்கு வகிக்கின்றன. உயர்நிலை மொழிகளை பொதுப்பயன் மொழிகள் (Generl purpose Language) , சிறப்புப் பயன் மொழிகள் (Special Purpose Language) என இரு பிரிவுகளில் வகைப்படுத்த முடியும். ஆணைபெயர்ப்பு மொழிகள் (Interpreted Language) நிரல்பெயர்ப்பு அடிப்படையிலான மொழிகள் (Compiler Oriented Language) எனவும் வகைப்படுத்த முடியும். ஒரு நிரலின் கட்டுக்கோப்பை அடிப்படையாகக் கொண்டு, கட்டமைப்பிலா மொழிகள் (Non-structural Languages) , கட்டமைப்பு மொழிகள் (Structured Language) , பொருள் நோக்கு நிரலாக்க மொழிகள் (Object Oriented Language) , பொருள்கூறு நோக்கு நிரலாக்க மொழிகள் (Component Oriented Languages) எனவும் வகைப்படுத்தப்படுகின்றன. கணினி மொழி வகைப்பாடுகளை எடுத்துக்காட்டுடன் காண்போம்.

கட்டமைப்பிலா மொழிகள் (Non-Structrual Language)

மிகச் சிக்கலான பணியை நிறைவேற்ற எழுதப்படும் பல்லாயிரம் வரிகள் கொண்ட மிக நீண்ட நிரலாயினும் ஒற்றை நிரலாகவே எழுதப்படும். தொடக்க காலக் கணினி மொழிகள் அனைத்தும் இந்த வகையைச் சார்ந்தவையே. ஃபோர்ட்ரான் (FORTRAN - FORmula TRANslation) மொழியே முதல் உயர்நிலை மொழியாகக் கருதப்படுகிறது. கணித, அறிவியல், பொறியியல் பயன்பாடுகளுக்கான சிறப்புப்பயன் (Special purpose) மொழியாகும். அடுத்து, மாணவர்கள் முதல் வல்லுநர்கள் வரை விரும்பிப் பயிலப்பட்ட பேசிக் (BASIC - Begineers All purpose Symbolic Instruction Code) மொழி, ஒரு பொதுப்பயன் மொழியாகும். டார்ட்மவுத் கல்லூரியின் ஜான் கெம்னி, தாமஸ் குர்ட்ஸ் ஆகியோரால் உருவாக்கப் பட்டது. ஆணைபெயர்ப்பி (Interpreter) வகையைச் சார்ந்தது. கட்டமைப்பிலா மொழிகளுள் மூன்றாவதாக, கோபால் (COBOL -Common Business Oriented Language) மொழியைக் கூறலாம். வணிகப் பயன்பாடுகளை உருவாக்குவதற்கு ஏற்ற சிறப்புப் பயன் மொழியாகும். கட்டமைப்பிலா மொழிகளில் பெரும்பாலானவை, பிற்காலத்தில் கட்டமைப்பு மொழிகளாக மேம்படுத்தப்பட்டன என்பதையும் இங்கே சுட்டிக் காட்ட வேண்டும்.

கட்டமைப்பு மொழிகள் (Structured Language)

மிகச் சிக்கலான பணிகளுக்கு மிக நீண்ட நிரல்களை உருவாக்கும் போது, அதனை ஒற்றை நிரலாக வடிவமைப்பது கடினமான பணியாகும். சிக்கலான பணியைச் சிறு சிறு பணிகளாகப் பிரித்து, அவற்றை நிறைவேற்றுவதற்கான சிறு சிறு செயல்கூறுகளையும் (Functions) செயல்முறைகளையும் (Procedures) எழுதி, இயக்கிப், பரிசோதித்துப் பின் அவற்றை ஒருங்கிணைத்து ஒட்டுமொத்த நிரலை வடிவமைப்பது எளிதாக இருக்கும். இத்தகைய வடிவாக்க வசதிகொண்ட மொழிகளை கட்டமைப்பு மொழிகள் என்கிறோம். கட்டமைப்பு மொழிக்குச் சிறந்த எடுத்துக்காட்டு பாஸ்கல் (Pascal) மொழியாகும். நிக்கலாஸ் விர்த் என்பவர் உருவாக்கினார். கணினியின் முன்னோடியான பாஸ்கலைன் என்னும் கூட்டல் எந்திரததை உருவாக்கிய கணிதமேதை பாஸ்கலின் பெயரில் அமைந்தது. பாஸ்கல் ஒரு பொதுப்பயன் மொழியாகும். நிரல்பெயர்ப்பி (Compiler) அடிப்படையிலானது.

டென்னிஸ் ரிட்சி உருவாக்கிய சி-மொழி, மொழிகளிலேயே சிறந்ததெனக் கருதப்படுகிறது. பொதுவாகக் கணினி மொழிகள் ஒவ்வொன்றும் காலப்போக்கில் செல்வாக்கு இழந்து விடுவதுண்டு. ஆனால், உருவான காலம்தொட்டு இன்று வரை சிறப்புக் குன்றாத திறன் மிக்க பொதுப்பயன் மொழியாக சி.மொழி திகழ்கிறது. கட்டமைப்பு மிக்க மொழி ; நிரல்பெயர்ப்பி அடிப்படையிலானது. எந்த வகையான பயன்பாடுகளையும் உருவாக்குவதற்கு ஏற்ற மொழி. அதுமட்டுமன்றி, இயக்க முறைமைகளையே சி.மொழியில் உருவாக்க முடியும். அக்காலந்தொட்டு செல்வாக்குப் பெற்று விளங்கும் யூனிக்ஸ், தற்காலத்தில் செல்வாககுப் பெற்று வரும் லினக்ஸ் ஆகிய இயக்க முறைமைகள் சி.மொழியில் உருவாக்கப்பட்டவை என்பது சி.மொழியின் சிறப்புத் தன்மைக்குச் சிறந்த எடுத்துக்காட்டாகும். எத்தனையோ புதிய மொழிகளின் ஆணைபெயர்ப்பிகளும், நிரல்பெயர்ப்பிகளும் சி.மொழியில் எழுதப்பட்டுள்ளன. இக்காலத்தில் செல்வாக்குப் பெற்று விளங்கும் சி++, ஜாவா, சி # ஆகிய மொழிகள் சி.மொழியின் வாரிசுகளே.

பொருள்நோக்கு நிரலாக்க மொழிகள் (Object Oriented Languages)

அனைத்து வகையான வணிகப் பயன்பாடுகளிலும் கணினியைப் பயன்படுத்த வேண்டிய தேவை ஏற்பட்டபோது, அன்றாடம் நாம் நடைமுறையில் கையாள்கிற, இனக்குழு சார்ந்த பொருள்களை (Objects belong to a class) , கணினி நிரல்களில் எடுத்தாள வேண்டிய கட்டாயம் ஏற்பட்டது. முந்தைய கணினி மொழிகளில், இத்தகைய பொருள்களை நேரடியாக வரையறுத்து எடுத்தாள வழிமுறைகள் இல்லை. எனவே, 1980களின் தொடக்கத்தில் பொருள்நோக்கு நிரலாக்க மொழிகள் உருவாக்கப்பட்டன. சி.மொழியை அடிப்படையாகக் கொண்டு, ஜேர்ன் ஸ்ட்ரொஸ்ட்ரப் என்பவரால் உருவாக்கப்பட்ட சி++ மொழி சிறந்த பொருள்நோக்கு நிரலாக்க மொழியாக வளர்ச்சிப் பெற்றது. இணையத்தின் வளர்ச்சி காரணமாக, இணையப் பயன்பாடுகளை உருவாக்குவதற்கு உகந்த ஒரு பொருள்நோக்கு மொழியின் தேவை அதிகரித்தது. இத்தேவையை நிறைவு செய்யும் வகையில் ஜேம்ஸ் காஸ்லிங்கும் அவரது நண்பர்களும் ஜாவா மொழியை 1990-களின் தொடக்கத்தில் உருவாக்கினர்.

உலகில் நிலவும் பொருள்கள் தமக்கே உரிய தனிப்பட்ட பண்பியல்களை (Properties) கொண்டுள்ளன. குறிப்பிட்ட நிகழ்வுகளுக்கு (Events) உட்படுகின்றன. நிகழ்வுகளின் அடிப்படையில் அவற்றின்மீது சில வழிமுறைகளைச் (Models) செயல்படுத்த முடியும். பண்பியல்புகள், நிகழ்வுகள், வழிமுறைகளின் அடிப்படையில் பொருள்கள் இனக் குழுக்களாக (Classes) வகைப்படுத்தப்படுகின்றன. இனக் குழுக் குழுக்களை வரையறுத்து அவை சார்ந்த இனப் பொருள்களை (Objects) உருவாக்கி, நிரல்களில் எடுத்தாள இடம் தரும் கணினி மொழி பொருள்நோக்கு நிரலாக்க மொழி எனப்படுகிறது.

நவீன நிரலாக்கம் (Modern Programming), ஒரு பயன்பாட்டுக்கான மென்பொருளை பல்வேறு பொருள்கூறுகளின் (Components) ஒருங்கிணைப்பாகவே கருதுகின்றது. ஒரு பயன்பாட்டுக்கான பொருள்கூறு ஒவ்வொன்றும் தனித்தனியே உருவாக்கப்பட்டு, பரிசோதிக்கப்பட்டு இறுதியில் ஒருங்கிணைப்படுகின்றன. இத்தகைய மென்பொருளாக்கத்துக்குப் பயன்படும் மொழிகள் பொருள்கூறு நோக்கு நிரலாக்க மொழிகள் (Component Oriented Programming Languages) எனப்படுகின்றன. இவ்வகையில் முதலாவது மொழி சி # ஆகும்.

5.4.4 உரைநிரல் மொழிகள் (Scripting Languages)

இணைய தளத்திலுள்ள வலைப்பக்கங்களை (Web pages) உயிரோட்டமுள்ளவையாய் வடிவமைப்பதில் உரைநிரல் மொழிகள் பெரும்பங்கு வகிக்கின்றன. வலைப்பக்கங்களில் இடம்பெறும் உரை மீவுரை (Hyper Text) எனப்படுகிறது. மீவுரையை நம் விருப்பப்படி திரையிட, மீவுரைக் குறியிடு மொழி (Hyper Text Markup Language - HTML) பயன்படுகிறது. வலைப்பக்கங்களில் அசைவூட்டுப் (Animated) படங்கள், எழுத்துகள் மற்றும் உரைகள் ஆகியவற்றை இடம் பெறச் செய்வதற்கு, மீவுரைகளுக்கு நடுநடுவே சிறுசிறு நிரல்கள் எழுதப்படுகின்றன. எனவே, இவை உரைநிரல்கள் எனப்படுகின்றன. இத்தகைய நிரல்களை உருவாக்கப் பயன்படும் மொழி உரைநிரல் மொழியாயிற்று. ஜாவாஸ்கிரிப்ட், விபிஸ்கிரிப்ட், பேர்ல் போன்றவை இவ்வகை மொழிகளாகும்.

5.4.5 நான்காம் தலைமுறை மொழிகள் (Fourth Generation Languages)

அலுவலகப் பயன்பாட்டு மென்பொருள்களுள் ஒன்றான தரவுத்தள மென்பொருள் பற்றிப் படித்துள்ளோம். பொதுவாக, தரவுத்தள மென்பொருள்களில் ஒரு நிரலாக்க மொழி (Programming Language) உள்ளிணைக்கப்பட்டிருக்கும். தரவுத் தளத்தில் தரவுகளை உள்ளீடு செய்தல், தரவுகளில் திருத்தம் செய்தல், தரவுகளைப் புதுப்பித்தல், தேவையற்ற தரவுகளை நீக்குதல், தரவுகளை அலசி, ஆய்ந்து, கணக்கீட்டு விடைபெறுதல்- ஆகிய பணிகளுக்கான தனிச்சிறப்பான கட்டளைகளை உள்ளடக்கி அம்மொழி வடிவமைக்கப்பட்டிருக்கும். இத்தகைய தரவுத்தள மொழிகள் நான்காம் தலைமுறை மொழிகள் எனப்படுகின்றன. பிறர் உயர்நிலை மொழிகளில் பத்து அல்லது இருபது வரிகள் கொண்ட ஒரு நிரல் மூலம் சாதிக்க முடிவதை ஃபாக்ஸ்புரோ போன்ற தரவுத்தள மேலாண்மை மென்பொருள்களுடன் இணைக்கப்பட்டுள்ள மொழி மற்றும் ஆரக்கிள் போன்ற உறவுநிலைத் தரவுத் தளங்களுடன் (Relational Databases) இணைக்கப்பட்டுள்ள எஸ்கியூஎல் (SQL-Structured Query Language) பிஎல்/எஸ்கியூஎல் போன்ற மொழிகள் ஆகியவற்றை நான்காம் தலைமுறை மொழிக்கு எடுத்துக்காட்டுகளாகக் கூறலாம். இவற்றைச் சுருக்கமாக 4ஜி மொழிகள் என அழைப்பர்.

5.4.6 ஒருங்கிணைந்த உருவாக்கச் சூழல் (Intergrated Development Environment)

ஓர் உயர்நிலை மொழியில் நிரல்களை எழுதிச் சேமிப்பது, எழுதிய நிரல்களை எடுத்துத் திருத்துவது, எந்திர மொழிக்கு மொழிபெயர்ப்பது, நிரலில் உள்ள பிழைகளைக் கண்டறிந்து களைவது, நிரலை இயக்கிப் பார்ப்பது, சோதனைத் தரவு தந்து நிரல் செயல்படும் தன்மையை துணுகி ஆய்வது, அனைத்து நிரல்களையும் ஒருங்கிணைத்து ஒரு பயன்பாட்டு மென்பொருளாக உருவாக்குவது- ஆகிய அனைத்துப் பணிகளையும் எளிய முறையில் நிறைவேற்றுவதற்கான ஒரு பணித் தளத்தை ஐடிஇ (IDE- Integrated Development Environment) என்று அழைக்கிறோம். சி, சி++, விசுவல் பேசிக், விசுவல் சி++, விசுவல் சி # , ஜாவா போன்ற மொழிகளுக்கான ஐடிஇ-க்கள் பயன்பாட்டில் உள்ளன.