ಶುಕ್ರವಾರ, ನವೆಂಬರ್ 29, 2013

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

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

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

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

ಈ ಉದ್ದೇಶಕ್ಕಾಗಿಯೇ ತಜ್ಞರು 'ಹೈ ಲೆವೆಲ್', ಅಂದರೆ ಮೇಲುಸ್ತರದ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳನ್ನು ರೂಪಿಸಿದ್ದಾರೆ. ನಾವೆಲ್ಲ ಆಗಿಂದಾಗ್ಗೆ ಕೇಳುವ ಸಿ, ಸಿ++, ಜಾವಾ ಇತ್ಯಾದಿಗಳೆಲ್ಲ ಈ ಬಗೆಯ ಭಾಷೆಗಳೇ.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ಶುಕ್ರವಾರ, ನವೆಂಬರ್ 8, 2013

ಹಾರು ಕಾರು!

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


"ನನ್ನ ಮಾತು ನೆನಪಿಟ್ಟುಕೊಳ್ಳಿ, ವಿಮಾನ ಮತ್ತು ಮೋಟಾರುಕಾರುಗಳೆರಡೂ ಸೇರಿದಂತಹ ವಾಹನವೊಂದು ಬರಲಿದೆ. ಇದನ್ನು ಕೇಳಿ ನೀವು ನಗಬಹುದು, ಆದರೆ ಆ ವಾಹನ ಖಂಡಿತಾ ಬರಲಿದೆ!"

ಹೀಗೆಂದು ಹೇಳಿದ್ದು ಯಾರೋ ಅಂತಿಂಥ ವ್ಯಕ್ತಿಯಲ್ಲ. ಜನಸಾಮಾನ್ಯರೂ ಕಾರಿನ ಕನಸು ಕಾಣುವಂತೆ ಮಾಡಿದ ಮೊದಲ ವ್ಯಕ್ತಿ, ಹೆಸರಾಂತ ಉದ್ಯಮಿ ಹೆನ್ರಿ ಫೋರ್ಡ್ ಹೇಳಿದ ಮಾತುಗಳಿವು. ಹಾರುವ ಕಾರುಗಳ (ಫ್ಲೈಯಿಂಗ್ ಕಾರ್) ಬಗ್ಗೆ ಅವರು ಹಾಗೆಂದು ಹೇಳಿ ಇನ್ನೇನು ಮುಕ್ಕಾಲು ಶತಮಾನವಾಗುತ್ತ ಬಂತು.

ಈ ಸುದೀರ್ಘ ಅವಧಿಯಲ್ಲಿ ಮನುಷ್ಯ ಏನೇನನ್ನೆಲ್ಲ ಕಂಡುಹಿಡಿದಿದ್ದಾನೆ, ಎಷ್ಟೆಲ್ಲ ಅಸಾಧ್ಯಗಳನ್ನು ಸಾಧ್ಯವಾಗಿಸಿದ್ದಾನೆ. ಆದರೆ ವೈಯಕ್ತಿಕ ಉಪಯೋಗಕ್ಕೆ ಸುಲಭವಾಗಿ ಬಳಸಬಹುದಾದಂತಹ ಹಾರಾಡುವ ವಾಹನದ ಸೃಷ್ಟಿ ಮಾತ್ರ ಅವನಿಂದ ಈವರೆಗೂ ಸಾಧ್ಯವಾಗಿಲ್ಲ. ರಸ್ತೆಯ ಮೇಲಿನ ಸಂಚಾರದಲ್ಲಿ ಫೋರ್ಡ್ ಕಾರುಗಳು ತಂದ ಬದಲಾವಣೆಯಂತಹುದನ್ನು ಆಕಾಶಸಂಚಾರದಲ್ಲೂ ಯಾರಾದರೂ ತರಬಹುದೇನೋ ಎಂದು ಎಲ್ಲರೂ ಕಾಯುತ್ತಲೇ ಇದ್ದಾರೆ.

ಹಾಗೆಂದಮಾತ್ರಕ್ಕೆ ಈ ಕಲ್ಪನೆ ಇನ್ನೂ ಕಲ್ಪನೆಯಾಗಿಯೇ ಉಳಿದಿದೆ ಎಂದೇನೂ ಅರ್ಥವಲ್ಲ.

ಶುಕ್ರವಾರ, ನವೆಂಬರ್ 1, 2013

ಮುಕ್ತ ಮುಕ್ತ ಶಿಕ್ಷಣ: ಓಪನ್ ಕೋರ್ಸ್‌ವೇರ್

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

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

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

ಹೀಗೆ ಸಾರ್ವಜನಿಕ ಬಳಕೆಗಾಗಿ ಸಂಪೂರ್ಣ ಮುಕ್ತವಾಗಿ ದೊರಕುವ ಪಠ್ಯಸಾಮಗ್ರಿಯನ್ನು ಓಪನ್ ಕೋರ್ಸ್‌ವೇರ್ ಎಂದು ಕರೆಯುತ್ತಾರೆ; ಯಾವುದೇ ಶುಲ್ಕವಿಲ್ಲದೆ ಮಾಹಿತಿಯ ಮುಕ್ತ ಪ್ರಸಾರ ಸಾಧ್ಯವಾಗಬೇಕು ಎನ್ನುವುದೇ ಈ ಪರಿಕಲ್ಪನೆಯ ಮೂಲ ಉದ್ದೇಶ. ತಂತ್ರಾಂಶಗಳು ಹಾಗೂ ಅದರ ಸೋರ್ಸ್ ಕೋಡ್ (ಆಕರ ಸಂಕೇತ) ಎಲ್ಲರಿಗೂ ಉಚಿತವಾಗಿ-ಮುಕ್ತವಾಗಿ ದೊರಕುವಂತಾಗಬೇಕು ಎಂಬ ಉದ್ದೇಶದೊಡನೆ ಸಾಫ್ಟ್‌ವೇರ್ ರಂಗದಲ್ಲಿ ಚಾಲ್ತಿಯಲ್ಲಿದೆಯಲ್ಲ, ಓಪನ್‌ಸೋರ್ಸ್ ಪರಿಕಲ್ಪನೆ, ಇದೂ ಹಾಗೆಯೇ.
badge