காரணம்.1.குறிமுறைவரிகளை ஒரு முறை மட்டும்எழுதுக, எல்லா இடங்களிலும் செயல்படுத்தி பயன்பெறுக
பொதுவாக கணினிமொழிகளில் எழுதப்படுகின்ற குறிமுறைவரிகள் ஆச்சரியப்படத்தக்கதாக அமைந்திருக்கின்றன, ஆயினும் அவை குறிப்பிட்ட இயக்கமுறைமைக்கும்(OS) , கட்டமைப்பிற்கும் ஏற்றவாறு பொருத்தமாக இல்லையெனில் நமக்கு ஏமாற்றமளிக்ககூடியதாக மாறிவிடுகின்றன .மேலும் அவ்வாறான குறிமுறைவரிகள் ஒரு மனிதனால் படிக்ககூடிய நிரலாக்க மொழியிலிருந்து இயந்திர மொழியாக மொழிமாற்றம் செய்யப்பட்டு தொகுக்கப்படுகின்றன, இவை ஒரு CPU க்கு பதிலளிக்ககூடிய வகையில் வடிவமைக்கப்பட்டு பெறப்பட்ட இருமநிலை அறிவுறுத்தல்களின் தொடர்களாகஇருக்கின்றன. மேம்பட்ட கணினிகளின் உலகில் இது கமுக்கமானதாக உணரப்படுகின்றது, நம்மால் எழுதபட்ட குறிமுறைவரிகளானவை, அவற்றை இயக்க விரும்பும் எவருக்கும் அவர்கள் எந்த தளத்தில் இருக்கிறார்கள் என்று கவலைப்படாமல் செயல்படுத்திட முடியாது. இந்த இணக்கமின்மைக்கு ஜாவா எனும் கணினிமொழியானது ஒரு சிறந்த தீர்வாக அமைகின்றது. இது ஒரு குறுக்கு-இயங்குதளக் குறிமுறைவரிகளாக அமைந்துள்ளது .இது நாம் இயக்கும் எந்த வொருஅமைப்பிலும் ஒரே மாதிரியாக செயல்படுகின்ற திறன்மிக்கது. முதலில் இந்த சாதனையை அடைவதற்கான ஜாவாவின் அணுகுமுறை எதிர்மறையானது. ஒரு வகையில், ஜாவா ஆனது குறிப்பிட்ட ஒரு கணினியைத் தவிர வேறு எதற்கும் பொருந்தாத அந்நியன் போன்று இருக்கின்றது ,உண்மையில் நாம் பயன்படுத்தி கொள்கின்ற கணினியானது அது செயல்படுவதற்கான கணினியானது அன்று. அதனால் ஜாவா எனும் கணினிமொழியானது தன்னுடைய குறிமுறைவரிகள் செயல்படுவதற்காக ஜாவா மெய்நிகர் கணினியையை (JVM) பயன்படுத்தி கொள்கின்றது. இது ஜாவாவின் படைப்பாளர்களால் எழுதப்பட்ட ஒரு நிரலாக்கமாகும், மேலும் நாம் நினைக்கின்ற நடைமுறையில் நாம் பயன்படுத்திகொள்கின்ற எந்தவொரு கணினியிலும் செயல்படும் திறனுடன் விநியோகிக்கப்படுகிறது.நாம் அதை நிறுவியிருக்கும் வரை, நாம் இயக்கும் எந்தவொரு ஜாவாவின் குறிமுறைவரிகளும் நம்முடைய கணினியில் செயல்படும் இந்த “கற்பனை(imaginary)” கணினியால் மட்டுமே ஜாவா வினுடைய குறிமுறைவரிகள் கையாளப்படுகிறது. ஜாவா குறிமுறைவரிகள் JVM ஆல் செயல்படுத்தப் படுகிறது, இது நம்முடைய கணினிக்கு பொருத்தமான இயங்குதள்த்தின்-குறிப்பிட்ட வழிமுறைகளை அனுப்புகிறது, எனவே ஒவ்வொரு இயக்கமுறைமை(OS) ,கட்டமைப்பு ஆகிய அனைத்திலும் ஒரே மாதிரியாக செயல்படுகின்றது. பெரும்பாலான பயனாளர்களும் பல்வேறு மேம்படுத்துநர்களும் எந்தவொரு கணினியிலும் அது செயல்படுவதற்காக மிகவும் பொருந்தக்கூடிய தன்மை எவ்வாறு அடையப்படுகிறது என்பதைப் பொருட்படுத்துவதில்லை, ஜாவாவில் அவ்வாறான செயல்கள் தானாகவே நடக்கின்றன. பொதுவாக தற்போது நாம் பயன்படுத்தி கொண்டுவருகின்ற பல்வேறு கணினிமொழிகளும் குறுக்கு-தள செயல்பாட்டை உறுதியளிக்கின்றன, ஆயினும் , அந்த வாக்குறுதி இறுதிநடைமுறையில் உண்மைதான், ஆனால் பயணம் எப்போதும் எளிதானது அன்று. நிரலாக்க மொழிகள் அவற்றின் இலக்கு தளங்களுக்கு தொகுக்கப்பட வேண்டும், உரைநிரல் மொழிகளுக்கு இயங்குதள-குறிப்பிட்ட மொழிபெயர்ப்பாளர்கள் தேவைப்படுகிறார்கள், மேலும் குறைந்த அளவிலான கணினி வளங்களுக்கான நிலையான அணுகலை உறுதி செய்வது அரிது. பாதைகள் , சுற்றுச்சூழல் மாறிகள், அமைப்புகள் ஆகியவற்றினை மொழிபெயர்க்க உதவும் நூலகங்களுடன் குறுக்கு-தள ஆதரவு சிறப்பாகவும் வருகிறது, மேலும் ஒருசில கட்டமைப்புகள் (குறிப்பாக Qt) புற அணுகலுக்கான இடைவெளியைக் குறைக்க அதிகம் செய்கின்றன. ஆனால் ஜாவா அவையனைத்தையும்தனக்குள்ளேயே வைத்திருக்கின்றது மேலும் தொடர்ந்து , நம்பகத்தன்மையுடன் அவையனைத்தையும் கிடைக்கச்செய்கின்றது.
காரணம்.2. விவேகமான குறிமுறைவரிகள்
சிறந்த வழிமுறைகளில் செயல்பட உதவுகின்ற ஜாவாவின் இலக்கணமானது அதனை பயன்படுத்துபவர்களுக்கு சலிப்பை ஏற்படுத்துகிறது. ஆயினும் அனைத்து பிரபலமான நிரலாக்க மொழிகளையும் எடுத்து அவற்றை ஒரு முன்னும் பின்னும் ஊஞ்சல் ஆடுவதை போன்று ஆடுகின்ற டம்ளரில் வைத்தால், அதிலிருந்து ஜாவா எனும் மொழிமட்டும் மிகச்சரியானதாக நமக்குக் கிடைக்கும். ஜாவாவில் எழுதப்பட்ட மூலக் குறிமுறைவரிகளைப் பார்க்கும்போது, நிரலாக்கத்தின் அனைத்து தனித்துவமான வெளிப்பாடுகளின் சராசரியை விட அதிகமாகவோ அல்லது குறைவாகவோ பார்க்கலாம். அடைப்புக்குறிகளின் செயலிகள் தொடர்வரிசைக் கட்டுப்பாடு ஆகியவை இந்த கணினிமொழியின் நோக்கத்தை குறிக்கின்றன, இவற்ற பயன்படுத்தப்படுவதற்கு முன்னர் மாறிகள் தெளிவாக அறிவிக்கப்பட்டு சான்றக்கம் செய்யப்படுகின்றன, மேலும் வெளிப்பாடுகளுக்கு தெளிவான நிலையான அமைப்பு உள்ளது. ஜாவா எனும் கணினிமொழியை கற்றல் என்பது பெரும்பாலான நிரலாளர்கள் சுயமாக-கற்றுகொண்டு குறைவான கட்டமைக்கப்பட்ட மொழிகளைப் பயன்படுத்தி திறனுடைய குறிமுறைவரிகளை எழுதுவதற்காக ஊக்குவிப்பதை காணலாம். ஜாவாவின் பொது புலங்களின் பாணியில் உலகளாவிய மாறிகளின் அறிவிப்புகளை ஒன்றாக வைத்திருத்தல், விதிவிலக்குகளை சரியாக எதிர்பார்த்தல், கையாளுதல், இனங்களையும் செயலிகளையும் பயன்படுத்துதல் போன்ற இணையத்தின் வாயிலாக கற்கின்ற மூலக் குறிமுறைவரிகளிலிருந்து நுட்பங்களைப் பெறுவதன் மூலம் நம்மால் கற்றுக்கொள்ள முடியாத “அடிப்படை” நிரலாக்க பாடங்கள் ஏராளமாக உள்ளன. இன்னமும் அதிகமாக. ஜாவாவிடமிருந்து கடன் வாங்கிய சிறிய தொடுதல்கள் பெரிய மாற்றத்தை ஏற்படுத்துகின்றன.
காரணம்.3. சாரக்கட்டும் ஆதரவும்
அனைத்து பிரபலமான நிரலாக்க மொழிகளும் சிறந்த ஆதரவு அமைப்புகளைக் கொண்டுள்ளன. இதுதான் பிரபலமான மொழிகளுக்கு அவ்வாறான பிரபலத்தை வழங்குகிறது. அவை அனைத்திற்கும் ஏராளமான அளவில்நூலகங்கள் உள்ளன; அவற்றுக்கான ஒருங்கிணைந்த மேம்பாட்டு சூழல்களை (IDEகள்) அல்லது IDEs நீட்டிப்புகளை கொண்டுள்ளன, எடுத்துக்காட்டு குறிமுறைவரிகள், கட்டணத்துடன்கூடிய கட்டணமற்ற பயிற்சிகளும் மேம்படுத்துநர்களின் சமூகங்கள் ஆகியவை உள்ளன. மறுபுறம், நாம் ஏதாவதொரு கணினிமொழியில் பணி செய்ய முயற்சிக்கும்நிலையில் ஏதேனும் சிக்கலுக்குள் சிக்கித் தவிக்கும் போது எந்த நிரலாக்க மொழியும் போதுமான ஆதரவைக் கொண்டிருக்கவில்லை என்பதே உண்மையான நிலவரமாகும். இவ்வாறான உலகளாவிய ஆனால் முரண்பாடான உண்மைகளிலிருந்து ஜாவா தன்னை வேறுபடுத்தி கொள்கின்றது எனக்கூற முடியாது. இருப்பினும்,. இன்னும் சிறப்பாக, ஜாவாவைச் சுற்றி ஆரோக்கியமான உள்கட்டமைப்பு உள்ளது.அதாவது Apache Ant, Gradle, Maven போன்ற கருவிகள் நம்முடைய பயன்பாடுகளை உருவாக்க, விநியோக செயல்முறையை நிர்வகிக்க உதவுகின்றன.மேலும் Sonatype Nexus போன்ற சேவைகள் பாதுகாப்பைக் கண்காணிக்கின்றன. அதுமட்டுமல்லாது Spring , Grails ஆகியவை இணையதளத்தினை உருவாக்குவதை எளிதாக்குகின்றன, அதே நேரத்தில் Quarkus , Eclipse Che ஆகியவை மேககணினி வளர்ச்சிக்கு உதவுகின்றன. இவ்வாறான சூழலில் ஜாவா மொழியை அணுகும்போது எதைப் பயன்படுத்த வேண்டும் என்பதை நாம் விரும்பயிவாறு தேர்வு செய்யலாம். கூடுதலாக OpenJDK, அதிகாரபூர்வ ஜாவாவை வழங்குகிறது, அதைவிட Groovy என்பது ஒரு உரைநிரல் மொழியை ஒத்த ஒரு எளிமையான அணுகுமுறையாக திகழ்கின்றது ( அதை பைத்தானுடன் ஒப்பிடலாம்), மேலும்Quarkus முதல் கொள்கலன் வளர்ச்சிக்கான வரைச்சட்ட கட்டமைப்பை வழங்குகிறது. நாம் பயன்படுத்தி கொள்வதற்காகவென இன்னும் ஏராளமாக இருக்கின்றன, நாம் தேடுவதைப் பொருட்படுத்தாமல் ஜாவா ஒரு முழுமையான தொகுப்பு என்று சொன்னால் போதுமானதாகும்.
காரணம்.4.இறுதியா க ஊக்குவித்தல்
இதைகற்றுக்கொள்வது எளிது . பல்வேறு தொழில்களில் உள்ள பல்வேறு மேம்படுத்துநர்களுக்கும் ஜாவா ஒரு விவேகமான தீர்வாக நிரூபிக்கப்பட்டுள்ளது. ஜாவாவைப் பயன்படுத்த விரும்பும் ஒருசில காரணங்கள் பின்வருமாறு. ஜாவா தந்திரமான அரசாங்க தளங்களுக்கான “தொழில்முறை” கணினிமொழியாகும் மேலும்இது “உண்மையான” மேம்படுத்தநர்களுக்காக ஒதுக்கப்பட்டுள்ளது என்பதை நாம் கேள்விப்பட்டிருக்கலாம் அல்லது ஊகித்திருக்கலாம். ஜாவா அதன் 25+ ஆண்டுகளில் பல்வேறு நற்பெயர்களை பெற்றுள்ளது. இது அதன் நற்பெயரைப் போலவே திகிலூட்டும் பாதி மட்டுமே, பொதுவாக நிரலாக்கம் என்பது கடினமான செயலாகும்; அதிலிருந்து விலகிச் செல்வது இல்லை. இந்நிலையில் தர்க்கரீதியாக சிந்திக்க வேண்டியது அவசியமாகும், இது நம்முடைய தாய்மொழியைக் காட்டிலும் குறைவான வெளியீடுகளுடன் கூடிய வாய்ப்புங்களைக் கொண்ட புதிய கணினிமொழியைக் கற்க நம்மை தூண்டுகிறது, மேலும் அவை நம்மை நிரலாக்க தானியங்கி செயலின் வாயிலாக சிக்கல்களை எவ்வாறு தீர்ப்பது என்பதைக் கண்டுபிடிக்க தூண்டிவிடுவது கடினமாகும். எந்த மொழியும் இந்த சிக்கல்களைத் தீர்வு அளிக்காது. இருப்பினும், நிரலாக்க மொழிகளுக்கான கற்றல் திறன் ஆச்சரியமான வழிகளில் வேறுபடலாம். ஒருசிலவற்றைத் தொடங்க எளிதானது, ஆனால் சிறந்த விவரங்களை ஆராயத் தொடங்கும்போது சிக்கலாகிவிடும். வேறு சொற்களில் கூறுவதானால், “hello world” என்பதை அச்சிட குறிப்பிட்ட கணினிமொழியின் குறிமுறைவரிகளில் ஒரேயொரு வரி மட்டுமே போதுமானதாக ஆகலாம், ஆனால் அவற்றின் இனங்கள் அல்லது செயலிகளைப் பற்றி அறிந்து கொண்டு, அம்மொழியை (அல்லது குறைந்தபட்சம் அதன் தரவு மாதிரியையாவது) மீண்டும் கற்றுக் கொள்வது என்பது சிரமமாகும். ஜாவா ஆரம்பத்தில் இருந்தே கடினமானதாக தோன்றிடும், ஆனால் அதைக் கற்றுக்கொண்டவுடன், அதன் பல்வேறு தந்திரங்களையும் வசதிகளையும் எளிதாகஅணுகலாம்