புதன், அக்டோபர் 12, 2005

பகாஎண்.ச

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

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

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

நாம் எழுதும் செயல்திட்டத்தை உலகம் முழுவதும் பகிர முடியாமல் போய்விடும். (ஓபன் சோர்ஸ்)

நம்முடைய வாடிக்கையாளருக்கு (அவர் தமிழ் தெரிந்தவராக இருக்கும் பட்சத்தில்) நம் செயல்திட்டத்தின் கட்டமைப்பு புரியாது.

அது மட்டுமல்லாமல், தமிழில் திரட்டுகள் (Compiler-ன் தமிழாக்கம் சரியா?) எழுதுவது அவ்வளவு எளிதன்று.

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

படித்துவிட்டு யாரும் என்னை அடிக்க வராதீர்கள். இது விளையாட்டிற்காகவே.

பகாஎண்.ச
-------------

#இணை <உள்வெளீயீடு.த>
#இணை <எழுத்துதொகுப்பு.த>

ஆம்இல்லை பகாஎண்ணா (முழுஎண் பரிஎண்);

முழுஎண் ஆரம்பம் (
                                    முழுஎண் மொத்தஉள்ளீடுகள்,
                                    மாறிலி எழுத்து* உள்ளீடுகள் [])
{
            முழுஎண் வஎண்;

            இயக்கு (வஎண் = 3; வஎண் < 1000; வஎண் ++)
            {
                        சரியாயின் (பகாஎண்ணா (வஎண்) == சரி)
                        {
                        அச்சிடு ("\அ %ன ஒரு பகாஎண்", வஎண்);
                        }
                        இல்லையெனில்
                        {
                        அச்சிடு ("\அ %ன ஒரு பகுஎண்", வஎண்);
                        }
            }

            மீள் 0;
}


ஆம்இல்லை பகாஎண்ணா (முழுஎண் பரிஎண்)
{
            முழுஎண் வஎண்;

            இயக்கு(வஎண்=2; வஎண் < பரிஎண்/2; வஎண்++)
            {
                        சரியாயின் ((பரிஎண் % வஎண்) == 0)
                        {
                                    மீள் இல்லை;
                        }
            }

            மீள் ஆம்;
}

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

ஸ்ருசல்