February 10, 2012

XML ஏன்? எதற்கு?


XML, Extensible Markup Languageன் சுருக்கம்.  இது என்ன ஒரு புரோகிராமிங் மொழியா? இதனால் என்ன பயன்? இதைக் கற்பதால் பயன் உண்டா? போன்ற கேள்விகளுக்கு இப்பதிவில் விடை காண முயற்சிப்போம்.  xml தகவல்களை விவரிக்கப் பயன்படும் ஒரு மொழி. இது புரொகிராமிங் மொழி அல்ல. நாம் தரும் கட்டளைகளை இயக்குவது புரோகிராமிங் மொழி.  எடுத்துகாட்டிற்கு பத்து முறை இதை அச்சிடு (  for(i=0;i<10;i++) print(i) ), அதைப் பெருக்கு எனக் கட்டளைகள் தருவது புரொகிராமிங் மொழியின் வேலை.  இது போன்ற கட்டளைகளை இயக்கும் வேலைகளுக்காக xml உருவாக்கப் படவில்லை.  ”ந:6, விவேகானந்தர் தெரு, துபாய் மெயின் ரோடு, துபாய்” என்பது ஒரு முகவரியைக் குறிப்பதாக கீழ்க்கண்டவாறு xmlலில் குறிப்பிடலாம்.

<?xml version="1.0" encoding="UTF-8"?>
<tamilcpu-article>
 <topic pub_date="10-2-2021">XML என்றால் என்ன?</topic>
 <example>
  <address>
   <street door_no="6">விவேகானந்தர் தெரு</street>
   <city>துபாய்</city>
  </address>
 </example>
 <example>
  <dummy></dummy>
 </example>
 <example>
  <dummy2 /> <!-- xml comment -->
 </example>
</tamilcpu-article>

மேலே எடுத்தாண்டுள்ள எடுத்துக்காட்டை நன்கு கவனிக்கும் போது ஒரு உண்மை புலப்படும். for, while, system, out, main போன்ற பழக்கப்பட்ட வார்த்தைகள் இல்லாமல் என்னன்னமோ இருப்பதைக் காணலாம்.  xml குறிப்பிட்ட கட்டளை வார்த்தைகளுள் சுருங்கிவிடும் மொழி அல்ல.   xml நமக்கு ஏற்றார்போல் விரிவடையும் தன்மை கொண்டது (extensible). என்ன எழுதவேண்டும் என்பதை விட, எவ்வாறு எழுத வேண்டும் என்பதற்கு xml அதிக முக்கியத்துவம் கொடுக்கிறது.  <topic> என்றொரு tag திறந்திருந்தால் அதன் பெயரிலேயே </topic> மூட வேண்டும் (markup). எந்த வரிசையில் ஒரு tagஐ திறந்தோமோ, அந்த வரிசையிலேயே மூட வேண்டும் (structured).

xmlஐ meta language என்றழைக்கின்றனர்.  மெட்டா மொழியானது மற்றோரு மொழியை விவரிக்கும்.  தகவல்களை விவரிக்கும் (describing information) இன்னொரு மொழியை xmlயைக் கொண்டு உருவாக்கலாம்.  வெவ்வேறு பணிச்சூழலில் உள்ள மென்பொருட்கள், இணைய தளங்கள் தங்களுக்குள் தகவல்களைப் பரிமாற xml எனும் பொதுவான மொழியைப் பயன்படுத்துகிறது.  xml என்றாலே தகவல் பரிமாற்றத்திற்கான வரப் பிரசாதம் என்பதை நினைவில் கொள்க.

HTMLல் இருந்து எவ்வாறு வேறுபடுகிறது?
HTML, xml இரண்டுமே SGML என்ற meta மொழியிலிருந்து உருவானவை.  இரண்டிற்கும் ஒரே தாய்மொழி, ஆனாலும் html ஒரு தகவலை பயனருக்கு எவ்வாறு காட்ட வேண்டும் என்பதை மையமாய்க் கொண்டது.  xml ஒரு தகவலைப் (data) பற்றிய கூடுதல் தகவல் (meta information) தருகிறது.

xmlலின் பயன்பாடுகள்

  • configuration files
  • websites, webservices, search engines
  • business tools and etc.,


நம் வலைப்பூவிலேயே எங்கெல்லாம் xml பயன்படுத்தப் படுகிறதெனப் பாருங்கள்

  • முழு ப்ளாக்கையும் பேக்கப் எடுத்தால் அது ஒரு xml டாக்குமெண்ட்டாக சேமிக்கப் படும்.
  • நமது வலைப்பூவின் வடிவமைப்பு xmlலினால் ஆனது
  • மின்னஞ்சலில் தொடரும் வசதி (email subscription)
  • பிற வலைப்பூக்களின் செய்தியோடை (rss feeds)


ஜாவா, சி, சி++, சி#, ஜாவாஸ்கிரிப்ட், பேர்ல், பைத்தான், பி.எச்.பி, ரூபி போன்ற அனைத்து முன்னனி புரொகிராமிங் மொழியிலும் xmlலை சிறப்பாக கையாள முடியும்.  xmlலில் எழுத சாதாரண டெக்ஸ்ட் எடிட்டரே (notepad, vim, emacs, gedit etc.,) போதுமானது.  இவற்றில் உருவாக்கிய xmlலை பிரவுசரில் (IE, Firefox, Chrome..,) இயக்கிப் பார்க்கவும்.

January 22, 2012

பைத்தான் - உன்னதமான புரோகிராமிங் மொழி


ஒரு ப்ராஜெக்ட்டில் பைத்தான் (Python) மொழி பயன்படுத்த வாய்ப்பு கிடைத்தது.  பைத்தான் மொழியில் ஜாங்கோ (Django) தொகுப்பு (framework) கொண்டு ஒரு இணைய பயன்பாட்டு மென்பொருள் (web application) உருவாக்கினோம்.  அப்போதே அதைப் பற்றி எழுத நினைத்திருந்தேன்.  நாளை எழுதலாம், நன்கு தெரிந்து கொண்டு எழுதலாம், முதலில் ஆகுற வேலையைப் பாக்கலாம் எனக் கொஞ்சம் கொஞ்சமாக தள்ளிப் போட்டு காலம் கடந்து விட்டது.  பைத்தான் மொழியில் பெற்ற அனுபவம் எவர்க்கேனும் பயன்படட்டுமே என்பதற்காக இப்பதிவு.

பைத்தான் ஒரு அருமையான புரோகிராமிங் மொழி என்பதை படித்துத் தெரிந்து கொண்டதை விட அதை பயன்படுத்திப் பார்க்கையில் அது எவ்வளவு உண்மை என விளங்கியது.  பைத்தான் ஒரு ஓப்பன் சோர்ஸ் நிரல் மொழியாகும்.  எனவே உலகத் தரமிக்க இந்த மொழியை எந்தக் கட்டணமும் இன்றியே பயன்படுத்தலாம்.  வணிக நோக்கிலான மென்பொருள் உருவாக்கத்தில் கூட இலவசமாய்ப் பயன்படுத்திக் கொள்ள முடியும்.  பைத்தான் எந்தஒரு தனியார் மென்பொருள் நிறுவனத்திற்கும் சொந்தமானதல்ல.  பைத்தான் மென்பொருள் நிறுவனம் (Python Software Foundation) இதன் உரிமத்தை நிர்வகித்து வருகிறது.

பைத்தான் மொழி கொண்டு பல்வேறு பயன்பாட்டுக்கான மென்பொருட்களை உருவாக்க முடியும்.  பைத்தானின் கட்டளைகள் மிக மிக எளிமையானவை.  பிறர் எழுதிய புரோகிராம்களையும் பார்த்தே விளங்கிக் கொள்ள முடியும்.  இது ஒரு (Object Oriented Programming) பொருள் நோக்கு நிரலாக்க மொழி. ஆகவே எவ்வளவு பெரிய ப்ராஜெக்ட்களையும் சிறப்பாக கையாள இயலும்.  பைத்தானுடன் தன்னியல்பாகவே இணைந்து வரும் தொகுப்பு நிரல்கள் (standard libraries) ஒரு புரொகிராமரின் அனைத்து தேவைகளையும் நிறைவேற்றுவதாக இருக்கிறது.  இதோடு மட்டுமல்லாமல் third party libraries என்றழைக்கப்படும் இதர புரோகிராம்களுக்கும் குறைவில்லை.  விண்டோஸ், லினக்ஸ், யுனிக்ஸ், மேக் os என அனைத்து இயக்கச் சூழல்களிலும் பைத்தான் திறம்பட இயங்கும்.  



சி, சி++, சி#, ஜாவா, பி.எச்.பி, பேர்ல் போன்ற அனைத்து நிரல் மொழிகளுடனும் ஒத்திசைவாக இயங்கும்.


மொபைல் போன்களில் கூட பைத்தான் இயங்குமென்றால் பார்த்துக் கொள்ளுங்கள்.   


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



குறிப்பாக அதிகவேகம் தேவைப்படும் கிராபிக்ஸ் மென்பொருட்களிலும் பைத்தான் சிறப்பாக செயல்பட்டு வருகிறது. பைத்தானை புரோகிராமிங் மொழியாக மட்டும் இல்லாமல், ஒரு மென்பொருளின் கட்டளைகளை இயக்கும் ஸ்கிரிப்டிங் மொழியாகவும் பயன்படுத்தப் படுகிறது.  Gimp, Blender, 3D Studio Max, Maya, Autocad போன்ற அனைத்து பிரபல கிராபிக்ஸ் மென்பொருட்களிலும் பைத்தான் கொண்டு ஸ்கிரிப்ட்கள் (மேக்ரோஸ் போல) எழுத முடியும்.




பைத்தானை அதிக அளவில் பயன்படுத்தும் நிறுவனங்களில் கூகிளை விட ஒரு சிறந்த எடுத்துகாட்டை தந்துவிட முடியுமா எனத் தெரியவில்லை. நம் கணினி பயன்பாட்டின் அங்கமாகிவிட்ட கூகிள் தேடுபொறி (Google Search engine), கூகிள் வரைபடங்கள் (Google Maps)கூகிள் குழுமம் (Google groups), வீடியோ பகிர்வு தளமான Youtube அனைத்தும் பைத்தான் மொழியில் உருவாக்கப் பட்டவையே.  நாசா (NASA), யாஹூ (Yahoo) போன்ற உலகளவில் மிகப்பெரிய நிறுவனங்களிலும் பைத்தான் பயன்படுத்தப் படுகிறது.
                                     
விசுவல் பேசிக் போன்ற காலம் கடந்த புரொகிராமிங் மொழிகளை பாடத்திட்டதிலிருந்து நீக்கிவிட்டு, நவீன காலத்திற்கேற்ப திறமூல (open source) தீர்வான பைத்தான் மொழியை பாடத்திட்டதில் சேர்த்திட வேண்டும்.  கல்லூரி ப்ராஜெக்ட்களை பைத்தான் போன்ற மொழிகளில் செய்ய மாணவர்களை ஊக்கப் படுத்த வேண்டும்.  கணினித் துறையில் இருக்கும் மாணவர்கள் கட்டாயம் பைத்தான் படிக்கும் நிலை வரும். அந்த நாள் வெகு தொலைவில் இல்லை.

இம்மொழியை சுவைக்க நினைக்கும் அனைவருக்கும் என் வாழ்த்துகள்.

-- தொடரும்

January 13, 2012

ஆண்ட்ராய்ட் கத்துக்கப் போறீங்களா? - பாகம் 2

ஆண்ட்ராய்ட் சூழலை நம் கணினியில் நிறுவ ஆண்ட்ராய்ட் எஸ்.டி.கே துணை வேண்டும்.  கூகிளில் android sdk எனத் தேடினீர்கள் என்றால் முதல் சுட்டியிலேயே சரியான தளத்திற்கு சென்று விடலாம்.  http://developer.android.com/sdk/index.html பக்கத்தில் இருந்து உங்கள் இயக்கச் சூழலிற்கேற்ற (operating system) மென்பொருளைப் பதிவிறக்கவும்.

இந்த எஸ்.டி.கே உங்களது பல்வேறு ஆண்ட்ராய்ட் இயக்கச் சூழலை நிர்வகிக்கத்தான்.  இதை நிறுவினால் மட்டுமே உங்களால் ஆண்ட்ராய்ட் பயன்படுத்த இயலாது.  உங்களுக்குத் தேவையான ஆண்ட்ராய்ட் இயக்கச் சூழலையும் நிறுவ வேண்டும்.  எப்படி விண்டோசில் 98, xp, vista, 7 என பல்வேறு பதிப்புகள் இருக்கிறதோ ஆண்ட்ராய்டிலும் 1.5, 1.6, 2, 2.1, 2.2, 3 போன்று பல்வேறு பதிப்புகள் இருக்கின்றது.  ஆண்ட்ராய்ட் கற்றுக் கொள்ள இவை அனைத்தும் தேவையில்லை.  புதிய பதிப்பை மட்டும் தற்போதைக்கு நிறுவாதீர்கள், ஏனெனில் அது மிக மிக வேகமாக (ரன் ஆவ இரண்டு நாள் ஆயிடும்.. பர்வாயில்லயா) இயங்குகிறது.  ஆண்ட்ராய்ட் 2.2 (API Level 8) நிறுவிக் கொள்ளுங்கள்.

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


பிறகு இன்னொரு சேதி, உங்கள் நண்பரது கணினியிலோ அல்லது கல்லூரி ஆய்வகத்திலோ அல்லது வேறு எங்கோ ஆண்ட்ராய்ட் நிறுவப்பட்டிருந்தால் உங்கள் கணினியில் பதிவிறக்கித்தான் நிறுவ வேண்டுமென்ற கட்டாயம் இல்லை.  இணைய இணைப்பு இல்லாவிட்டாலும் ஆண்ட்ராய்ட் முழுதாக நிறுவிக் கொள்ளலாம்.  ஏற்கனவே நிறுவப்பட்டிருக்கும் அடைவை நகலெடுத்து (copy through pen drive or dvd) உங்கள் கணினியில் நிறுவதற்கு தேவையின்றியே பயன்படுத்தலாம்.










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









அனைவருக்கும் இனிய பொங்கல் நல்வாழ்த்துகள்


---தொடரும்