ಶುಕ್ರವಾರ, ಫೆಬ್ರವರಿ 2, 2018

ತಂತ್ರಾಂಶ ರಚನೆಗೆ ಇಂಗ್ಲಿಷ್ ಭಾಷೆಯೇ ಬೇಕೇ?

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

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

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

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

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

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

ಹೀಗಾಗಿಯೇ ಕ್ರಮವಿಧಿಗಳನ್ನು ಬರೆಯಲು ವಿಶೇಷ ಭಾಷೆಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಅವುಗಳಿಗೆ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳೆಂದು ಹೆಸರು. ಸಿ, ಸಿ++, ಜಾವಾ ಇತ್ಯಾದಿಗಳೆಲ್ಲ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗೆ ಉದಾಹರಣೆಗಳು. ಬೇರೆಬೇರೆ ಸನ್ನಿವೇಶಗಳಿಗೆ, ಅಗತ್ಯಗಳಿಗೆ ತಕ್ಕಂತೆ ಇವುಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.

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

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

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

ಕನ್ನಡ ಲಿಪಿಯನ್ನೇ ಬಳಸಿ ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಲು ಅನುವುಮಾಡಿಕೊಡುವ ಕೆಲವು ಪ್ರಯತ್ನಗಳು ಈಗಾಗಲೇ ನಡೆದಿವೆ ಎನ್ನುವುದು ವಿಶೇಷ.

ಪ್ರೊ. ಬಿ. ಎ. ಪಾಟೀಲರು ೧೯೯೪-೯೫ರ ಅವಧಿಯಲ್ಲಿ ರೂಪಿಸಿದ್ದ 'ಕರ್ಪೂರ' ತಂತ್ರಾಂಶ ಬಳಸಿ ಕನ್ನಡದಲ್ಲೇ ಪ್ರೋಗ್ರಾಮುಗಳನ್ನು ಬರೆಯುವುದು, ಔಟ್‌ಪುಟ್ ಪಡೆಯುವುದು ಸಾಧ್ಯವಿತ್ತು. ಕಂಪ್ಯೂಟರ್ ಉಪಯೋಗಿಸಲೆಂದು ಕನ್ನಡಿಗರಿಗೆ ಇಂಗ್ಲಿಷ್ ಹೇಳಿಕೊಡುವ ಬದಲು ಕಂಪ್ಯೂಟರಿಗೇ ಕನ್ನಡ ಹೇಳಿಕೊಡುವುದು ಈ ಪ್ರಯತ್ನದ ಉದ್ದೇಶವಾಗಿತ್ತು ಎಂದು ಪಾಟೀಲರು ಹೇಳುತ್ತಾರೆ. ಈ ವ್ಯವಸ್ಥೆಯನ್ನು ಇತರ ಭಾರತೀಯ ಭಾಷೆಗಳಲ್ಲೂ ಬಳಸಲು ಸಾಧ್ಯವಾಗುವಂತೆ ರೂಪಿಸಲಾಗಿತ್ತು.

ಇಂತಹುದೇ ಇನ್ನೊಂದು ಪ್ರಯತ್ನ ಮಾಡಿದವರು ಡಾ. ಯು. ಬಿ. ಪವನಜ. ಚಿಕ್ಕ ಮಕ್ಕಳಿಗೆ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕಲಿಸಲು ರೂಪಿಸಲಾದ 'ಲೋಗೋ' ಭಾಷೆಯನ್ನು ಅವರು ೨೦೦೩ರಲ್ಲಿ ಕನ್ನಡಕ್ಕೆ ತಂದರು. ಕನ್ನಡ ಭಾಷೆಯನ್ನಷ್ಟೆ ಬಲ್ಲ ಮಕ್ಕಳು ಕೂಡ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮಾಡಲು ಇದು ಸಹಾಯಮಾಡುತ್ತದೆ. ಪವನಜರ ಜಾಲತಾಣ 'ವಿಶ್ವಕನ್ನಡ'ದಲ್ಲಿ (vishvakannada.com/kannadalogo) ಈ ಕುರಿತ ಹೆಚ್ಚಿನ ಮಾಹಿತಿ ಲಭ್ಯ.

ತಂತ್ರಜ್ಞ ಶ್ರೀಹರ್ಷ ಸಾಲಿಮಠ ಇದೀಗ ಇಂಥದ್ದೇ ಇನ್ನೊಂದು ಪ್ರಯತ್ನ ಮಾಡಿದ್ದಾರೆ. ಅವರು ರೂಪಿಸಿರುವ 'ನಾಡೋಜ' ಎಂಬ ಜಾಲತಾಣವನ್ನು (nadoja.com) ತೆರೆದರೆ ಸಾಕು, ಕನ್ನಡದಲ್ಲಿ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮಾಡಬಹುದು; ಅದೂ ಪ್ರತ್ಯೇಕ ತಂತ್ರಾಂಶವನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡುವ ಅಗತ್ಯವಿಲ್ಲದೆ, ನಮ್ಮ ಬ್ರೌಸರಿನಲ್ಲೇ! ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಲ್ಲಿ ಕನ್ನಡದ್ದೇ ಪದಗಳಿದ್ದರೆ ಅದನ್ನು ಕಲಿಯುವುದು, ಬಳಸುವುದು ಸುಲಭವಾಗುತ್ತದೆ ಎನ್ನುವುದು ಅವರ ಅನಿಸಿಕೆ. ಕನ್ನಡದ ಮೂಲಕವೇ ತಂತ್ರಜ್ಞಾನ ಎಲ್ಲರಿಗೂ ತಲುಪಲು ಇದರಿಂದ ಸಹಾಯವಾಗುತ್ತದೆ, ಜೊತೆಗೆ ಕಂಪ್ಯೂಟರ್ ಸಾಕ್ಷರತೆಯೂ ಬೆಳೆಯುತ್ತದೆ ಎಂದು ಅವರು ಹೇಳುತ್ತಾರೆ.

ಜನವರಿ ೩, ೨೦೧೮ರ ವಿಜಯವಾಣಿಯಲ್ಲಿ ಪ್ರಕಟವಾದ ಲೇಖನ
badge