ಟಿ. ಜಿ. ಶ್ರೀನಿಧಿ ಹೊಸ ಪುಸ್ತಕ: 'ಟೆಕ್ಸ್ಟ್‌ಬುಕ್ ಅಲ್ಲ, ಇದು ಟೆಕ್ ಬುಕ್!'

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

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

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

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

ಪ್ರೋಗ್ರಾಮ್ ಬರೆಯುವುದು, ಮತ್ತು ಆ ಮೂಲಕ ಕಂಪ್ಯೂಟರಿಗೆ ಪಾಠ ಹೇಳುವುದೇನೋ ಸರಿ. ಆದರೆ ನಾವು ಬರೆದ ಪ್ರೋಗ್ರಾಮ್ ಕಂಪ್ಯೂಟರಿಗೆ ಅರ್ಥವಾಗಬೇಕಲ್ಲ!

ಬಾಹ್ಯ ಜಗತ್ತಿನ ಸಂವಹನದಲ್ಲೇನೋ ನಮ್ಮ ಮಾತುಗಳನ್ನು ಬೇರೊಬ್ಬರಿಗೆ ಮುಟ್ಟಿಸಲು ನಾವು ಭಾಷೆಯನ್ನು ಬಳಸುತ್ತೇವೆ. ನಾವು ಉಪಯೋಗಿಸುತ್ತಿರುವ ಭಾಷೆ ಗೊತ್ತಿರುವವರಿಗೆ ನಮ್ಮ ಮಾತುಗಳು ಸುಲಭವಾಗಿ ಅರ್ಥವಾಗುತ್ತವೆ. ಭಾಷೆ ಗೊತ್ತಿಲ್ಲದವರ ಪಾಲಿಗೆ ನಮ್ಮ ಮಾತುಗಳು ಬರಿಯ ಶಬ್ದ, ಅಕ್ಷರಗಳು ಬರಿಯ ಆಕಾರಗಳು ಅಷ್ಟೆ!

ಬಾಹ್ಯ ಜಗತ್ತಿನ ಉದಾಹರಣೆಯನ್ನೇ ಪ್ರೋಗ್ರಾಮ್ ಬರೆಯುವ ಕೆಲಸಕ್ಕೂ ಅನ್ವಯಿಸುವುದಾದರೆ ಕಂಪ್ಯೂಟರಿಗೆ ಪಾಠಹೇಳುವುದಕ್ಕೂ ಯಾವುದೋ ಒಂದು ಭಾಷೆಯನ್ನು ಉಪಯೋಗಿಸಬಹುದು. ಆದರೆ ಆ ಭಾಷೆ ಯಾವುದಾಗಿರಬೇಕು ಎನ್ನುವುದೇ ದೊಡ್ಡ ಪ್ರಶ್ನೆ.

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

ಸೊನ್ನೆ ಮತ್ತು ಒಂದರ ಬೇರೆಬೇರೆ ಸಂಯೋಜನೆಗಳನ್ನು ಉದ್ದಕ್ಕೆ ಬರೆದಿಟ್ಟರೆ ಅದು ನಮಗೆ ಅರ್ಥವಾಗದಿರಬಹುದು; ಆದರೆ ಕಂಪ್ಯೂಟರ್ ಅದನ್ನು ಓದಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬಲ್ಲದು. ನಮಗೆ ಕನ್ನಡ ಇಂಗ್ಲಿಷ್ ಇತ್ಯಾದಿಗಳೆಲ್ಲ ಇದ್ದಂತೆ ಅದು ಕಂಪ್ಯೂಟರ್‌ನ ಭಾಷೆ; ಅದರ ಹೆಸರೂ ಮಷೀನ್ ಲ್ಯಾಂಗ್ವೆಜ್ (ಯಂತ್ರ ಭಾಷೆ) ಎಂದೇ.

ಹಾಗಾದರೆ ಈ ಭಾಷೆಯಲ್ಲೇ ಪ್ರೋಗ್ರಾಮ್ ಬರೆಯೋಣವೆ ಎಂದು ಕೇಳಿದರೆ ಅಲ್ಲೂ ಒಂದು ಸಮಸ್ಯೆಯಿದೆ. ಈ ದ್ವಿಮಾನ ಪದ್ಧತಿ ಮೇಲ್ನೋಟಕ್ಕೆ ಎಷ್ಟು ಸರಳವೋ ಅದರ ಬಳಕೆ ಅಷ್ಟೇ ಕ್ಲಿಷ್ಟ.

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

ಹೀಗಾಗಿಯೇ ಪ್ರೋಗ್ರಾಮ್ ಬರೆಯಲು ಬೇರೆಯವೇ ಭಾಷೆಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಅವುಗಳನ್ನು ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳೆಂದು ಕರೆಯುತ್ತಾರೆ. ಬೇರೆಬೇರೆ ಸನ್ನಿವೇಶಗಳಿಗೆ, ಅಗತ್ಯಗಳಿಗೆ ತಕ್ಕಂತೆ ಇವುಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ನಾವು ಮಾತನಾಡುವ ಭಾಷೆಗಳಂತೆ ಪ್ರತಿ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಲ್ಲೂ ತನ್ನದೇ ಆದ ಪದಗಳು, ವ್ಯಾಕರಣ ಎಲ್ಲ ಇರುತ್ತದೆ. ಅದನ್ನು ಬಲ್ಲ ಪ್ರೋಗ್ರಾಮರ್‌ಗಳು ತಮ್ಮ ನಿರ್ದೇಶನಗಳನ್ನು ಅದೇ ಭಾಷೆಯಲ್ಲಿ ಬರೆಯುತ್ತಾರೆ.

ನವೆಂಬರ್ ೧೫, ೨೦೧೩ರ ಉದಯವಾಣಿಯಲ್ಲಿ ಪ್ರಕಟವಾದ ಲೇಖನ; ಉಳಿದ ಭಾಗ ಮುಂದಿನವಾರ

3 ಕಾಮೆಂಟ್‌ಗಳು:

pandit ಹೇಳಿದರು...

between machine code and programming language, there is one more language called assembly code. This will be different for different processors. to solve this we have programming languages.
Pandit

pandit ಹೇಳಿದರು...

between machine code and programming language, there is one more language called assembly code. This will be different for different processors. to solve this we have programming languages.
Pandit

pandit ಹೇಳಿದರು...

between machine code and programming language, there is one more language called assembly code. This will be different for different processors. to solve this we have programming languages.
Pandit

badge