ಶನಿವಾರ, ನವೆಂಬರ್ 23, 2013

ಕಂಪ್ಯೂಟರ್ ಭಾಷೆ: ಭಾಗ ೨

ಟಿ. ಜಿ. ಶ್ರೀನಿಧಿ

ಭಾಗ ೧ ಓದಲು ಇಲ್ಲಿ ಕ್ಲಿಕ್ ಮಾಡಿ

ನಿಮಗೆ ಮನೆಯಲ್ಲಿ ಯಾರಾದರೂ "ಗಾಡಿಗೆ ಪೆಟ್ರೋಲ್ ಹಾಕಿಸಿಕೊಂಡು ಬಾ" ಎಂದು ಹೇಳಿದರೆ ಏನುಮಾಡುತ್ತೀರಿ? ದ್ವಿಚಕ್ರ ವಾಹನ ತೆಗೆದುಕೊಂಡು ಪೆಟ್ರೋಲ್ ಬಂಕಿಗೆ ಹೋಗುತ್ತೀರಿ, ಸಾಮಾನ್ಯವಾಗಿ ಹಾಕಿಸುವಷ್ಟು ಪೆಟ್ರೋಲ್ ತುಂಬಿಸಿಕೊಳ್ಳುತ್ತೀರಿ, ದುಡ್ಡುಕೊಡುತ್ತೀರಿ, ವಾಪಸ್ ಬರುತ್ತೀರಿ. ಅಷ್ಟೇ ತಾನೆ? ಅಬ್ಬಬ್ಬಾ ಎಂದರೆ ಹೇಳಿದ ತಕ್ಷಣ ಹೋಗಲಿಲ್ಲ ಎಂದು ಒಂದೆರಡು ಸಾರಿ ಬೈಸಿಕೊಂಡಿರಬಹುದು ಅಷ್ಟೆ.

ನೀವೊಬ್ಬರೇ ಯಾಕೆ, ಬೇರೆ ಯಾರೇ ಆದರೂ ತಮಗೆ ಅಭ್ಯಾಸವಿರುವ ಕೆಲಸವನ್ನು ಅವರು ಇಷ್ಟೇ ಸುಲಭವಾಗಿ ಮಾಡಿಬಿಡುತ್ತಾರೆ. ಗೊತ್ತಿಲ್ಲದ ಕೆಲಸವಾದರೂ ಅಷ್ಟೆ, ಒಂದೆರಡು ಬಾರಿ ಅನುಭವವಾಗುತ್ತಿದ್ದಂತೆ ಅದೂ ಸುಲಭವೇ.

ಆದರೆ ಕಂಪ್ಯೂಟರಿಗೆ ಹೇಳಿ ಯಾವುದಾದರೂ ಕೆಲಸ ಮಾಡಿಸುವುದು ಇಷ್ಟು ಸುಲಭವಲ್ಲ. ಅದಕ್ಕೆ ಸ್ವಂತ ಬುದ್ಧಿಯಿಲ್ಲದಿರುವುದು ಮೊದಲ ಕಾರಣವಾದರೆ ನಮ್ಮ ಭಾಷೆ ಅರ್ಥವಾಗದಿರುವುದು ಎರಡನೆಯ, ಹಾಗೂ ಬಹುಮುಖ್ಯವಾದ ಕಾರಣ. ಕ್ರಮವಿಧಿ ರಚನೆ, ಅಂದರೆ ಪ್ರೋಗ್ರಾಮಿಂಗ್‌ಗೆ ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನ ಕ್ಷೇತ್ರದಲ್ಲಿ ಎಲ್ಲಿಲ್ಲದ ಪ್ರಾಮುಖ್ಯ ದೊರಕಿರುವುದು ಇದರಿಂದಲೇ.

ಕಂಪ್ಯೂಟರ್ ಮಾಡಬೇಕಾದ ಕೆಲಸವನ್ನು ಅದಕ್ಕೆ ಅರ್ಥವಾಗುವಂತೆ ಹೇಳಲು ಬಳಕೆಯಾಗುವುದೇ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆ. ನಮ್ಮ ಪ್ರಪಂಚದಲ್ಲಿ ಅನೇಕ ಭಾಷೆಗಳಿರುವಂತೆಯೇ ಕಂಪ್ಯೂಟರ್ ಪ್ರಪಂಚದಲ್ಲೂ ವಿಭಿನ್ನ ಅಗತ್ಯಗಳಿಗೆ ಹೊಂದಿಕೆಯಾಗುವ ಬೇಕಾದಷ್ಟು ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳಿವೆ. ಇಲ್ಲಿ ಹೊಸ ಭಾಷೆಗಳು ಪ್ರಚಲಿತಕ್ಕೆ ಬರುವುದು ಎಷ್ಟು ಸಹಜವೋ ಹಳೆಯವು ನೇಪಥ್ಯಕ್ಕೆ ಸರಿಯುವುದೂ ಅಷ್ಟೇ ಸಹಜ.

ಕಂಪ್ಯೂಟರುಗಳಿಗೆ ಮೂಲತಃ ಅರ್ಥವಾಗುವುದು ಒಂದು-ಸೊನ್ನೆಗಳ ಮಶೀನ್ ಲ್ಯಾಂಗ್ವೆಜ್ (ಯಂತ್ರ ಭಾಷೆ), ಹಾಗೂ ಅದರಲ್ಲೇ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮಾಡಬೇಕೆಂದರೆ ಸಾಕಷ್ಟು ಕಸರತ್ತು ಮಾಡಬೇಕಾಗುತ್ತದೆ ಎನ್ನುವುದು ನಮಗೆ ಈಗಾಗಲೇ ಗೊತ್ತು.

ಈ ಕಸರತ್ತನ್ನೆಲ್ಲ ತಪ್ಪಿಸಲು ಸೃಷ್ಟಿಯಾದದ್ದು ಅಸೆಂಬ್ಲಿ ಲ್ಯಾಂಗ್ವೆಜ್ ಎಂಬ ಭಾಷೆ. ಯಂತ್ರಭಾಷೆಯಲ್ಲಿ ಸಾಧ್ಯವಾಗುವುದಕ್ಕಿಂತ ಸುಲಭವಾಗಿ ಪ್ರೋಗ್ರಾಮ್ ಬರೆಯಲು ನೆರವಾಗುವುದು ಈ ಭಾಷೆಯ ವೈಶಿಷ್ಟ್ಯ. ಒಂದು-ಸೊನ್ನೆಯ ಸರಣಿಗಳ ಬದಲು ಇಲ್ಲಿ ನೆನಪಿಡಲು ಸರಳವಾದ ಪದಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಹಾಗಾಗಿ ಪ್ರೋಗ್ರಾಮ್ ಬರೆಯುವುದಷ್ಟೇ ಅಲ್ಲ, ಬರೆದ ಪ್ರೋಗ್ರಾಮನ್ನು ಓದಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದೂ ಸುಲಭವಾಗುತ್ತದೆ.

ನೆನಪಿಡಲು ಸುಲಭವಾದ ಪದಗಳ ಬಳಕೆ ಪ್ರೋಗ್ರಾಮ್ ಬರೆಯುವವರಿಗೇನೋ ಒಳ್ಳೆಯದು ನಿಜ. ಆದರೆ ಕಂಪ್ಯೂಟರಿಗೆ ಒಂದು-ಸೊನ್ನೆ ಬಿಟ್ಟು ಬೇರೆಯದೇನೂ ಅರ್ಥವಾಗುವುದಿಲ್ಲವಲ್ಲ! ಹಾಗಾಗಿಯೇ ಅಸೆಂಬ್ಲಿ ಭಾಷೆಯ ಪ್ರೋಗ್ರಾಮುಗಳನ್ನು ಕಂಪ್ಯೂಟರಿಗೆ ಅರ್ಥವಾಗುವ ಯಂತ್ರಭಾಷೆಗೆ ಬದಲಾಯಿಸಲು ಬೇರೆಯದೇ ಒಂದು ಪ್ರೋಗ್ರಾಮ್ ಬಳಕೆಯಾಗುತ್ತದೆ. ಈ ಪ್ರೋಗ್ರಾಮನ್ನು ಅಸೆಂಬ್ಲರ್ ಎಂದು ಕರೆಯುತ್ತಾರೆ. ಅಸೆಂಬ್ಲಿ ಭಾಷೆಯಲ್ಲಿ ಬರೆದ ಪ್ರೋಗ್ರಾಮನ್ನು ಯಂತ್ರಭಾಷೆಗೆ ಬದಲಿಸಿ ಕಂಪ್ಯೂಟರಿಗೆ ತಿಳಿಹೇಳುವುದು ಈ ಅಸೆಂಬ್ಲರ್‌ನ ಕೆಲಸ.

ಈ ಹೆಚ್ಚುವರಿ ಹೆಜ್ಜೆಯ ಹೊರತಾಗಿಯೂ ಅಸೆಂಬ್ಲಿ ಭಾಷೆಯಲ್ಲಿ ಕ್ರಮವಿಧಿಗಳನ್ನು (ಪ್ರೋಗ್ರಾಮ್) ರಚಿಸುವುದು ಯಂತ್ರಭಾಷೆಯಲ್ಲಿ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮಾಡುವುದಕ್ಕಿಂತ ಸುಲಭ. ಆದರೆ ಈ ಭಾಷೆಯ ಪದಗಳು ಯಂತ್ರಭಾಷೆಯ ಸಣ್ಣಸಣ್ಣ ಹೆಜ್ಜೆಗಳನ್ನಷ್ಟೆ ಪ್ರತಿನಿಧಿಸುತ್ತವೆ (ಇದೇ ಕಾರಣಕ್ಕಾಗಿ ಅಸೆಂಬ್ಲಿ ಭಾಷೆಯನ್ನು 'ಲೋ ಲೆವೆಲ್', ಅಂದರೆ ಕೆಳಸ್ತರದ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆ ಎಂದೂ ಗುರುತಿಸಲಾಗುತ್ತದೆ). ಹಾಗಾಗಿ ಅಸೆಂಬ್ಲಿ ಭಾಷೆ ಬಳಸಿ ದೊಡ್ಡ, ಕ್ಲಿಷ್ಟಕರವಾದ ಕ್ರಮವಿಧಿಗಳನ್ನು ರಚಿಸುವುದು ತಲೆನೋವಿನ ಕೆಲಸ. ಅಷ್ಟೇ ಅಲ್ಲ, ಅಸೆಂಬ್ಲಿ ಭಾಷೆ ಬಳಸಿ ಒಂದು ಕಂಪ್ಯೂಟರಿಗಾಗಿ ಬರೆದ ಕ್ರಮವಿಧಿ ಇನ್ನೊಂದು ಕಂಪ್ಯೂಟರಿನಲ್ಲಿ ಕೆಲಸಮಾಡುವ ಗ್ಯಾರಂಟಿಯೂ ಇರುವುದಿಲ್ಲ.

ಅಂದರೆ ಅಸೆಂಬ್ಲಿ ಭಾಷೆ ಯಂತ್ರಭಾಷೆಗೆ ಸಮರ್ಥವಾದ ಪರ್ಯಾಯವಲ್ಲ ಎಂದಾಯಿತು. ಅದರಲ್ಲಿರುವ ಕುಂದುಕೊರತೆಗಳನ್ನು ನಿವಾರಿಸುವ ಉದ್ದೇಶದಿಂದ ರೂಪುಗೊಂಡವು 'ಹೈ ಲೆವೆಲ್', ಅಂದರೆ ಮೇಲುಸ್ತರದ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು.

ಈ ಭಾಷೆಗಳ ಕುರಿತು ಇನ್ನಷ್ಟು ಮಾಹಿತಿ, ಮುಂದಿನ ವಾರದ ಲೇಖನದಲ್ಲಿ!

ನವೆಂಬರ್ ೨೨, ೨೦೧೩ರ ಉದಯವಾಣಿಯಲ್ಲಿ ಪ್ರಕಟವಾದ ಲೇಖನ

ಕಾಮೆಂಟ್‌ಗಳಿಲ್ಲ:

badge