ಶುಕ್ರವಾರ, ಅಕ್ಟೋಬರ್ 18, 2013

ಕಂಪ್ಯೂಟರಿಗೆ ಪಾಠವ ಹೇಳಿ... [ಭಾಗ ೧]

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

ನಮ್ಮಿಂದ ಹೇಳಿಸಿಕೊಳ್ಳದೆ ಕಂಪ್ಯೂಟರ್ ಯಾವ ಕೆಲಸವನ್ನೂ ಮಾಡುವುದಿಲ್ಲ ಎನ್ನುವ ಮಾತನ್ನು ನಾವು ಆಗಿಂದಾಗ್ಗೆ ಕೇಳುತ್ತಿರುತ್ತೇವೆ. ಕಂಪ್ಯೂಟರ್ ಏನು ಮಾಡುವುದಿದ್ದರೂ ನಾವು ಹೇಳಿದ್ದನ್ನಷ್ಟೆ, ಹೇಳಿದಂತೆಯೇ ಮಾಡುತ್ತದೆ ಎನ್ನುವುದೂ ನಮಗೆ ಗೊತ್ತು. ಆದರೆ ನಮಗೇನು ಬೇಕು ಎನ್ನುವುದನ್ನು ಕಂಪ್ಯೂಟರಿಗೆ ಹೇಳುವುದು ಹೇಗೆ?

ನಮಗೆ ಬೇಕಾದ ಕೆಲಸ ಮಾಡಿಕೊಡುವ ಸಾಫ್ಟ್‌ವೇರ್ (ತಂತ್ರಾಂಶ) ಕೊಂಡುಕೊಂಡರೆ ಆಯಿತು ಎಂದುಬಿಡಬಹುದು ನಿಜ. ಆದರೆ ಆ ತಂತ್ರಾಂಶವನ್ನು ಮೊದಲಿಗೆ ಯಾರೋ ಸಿದ್ಧಪಡಿಸಿರಬೇಕು ತಾನೆ?

ಹಾಗಾದರೆ ತಂತ್ರಾಂಶವನ್ನು ಸಿದ್ಧಪಡಿಸುವುದು ಎಂದರೇನು, ಮತ್ತು ಅದು ಸಾಧ್ಯವಾಗುವುದು ಹೇಗೆ?

ಏನು ಕೆಲಸ ಮಾಡಬೇಕು ಎನ್ನುವುದನ್ನು ಅತ್ಯಂತ ಸ್ಪಷ್ಟವಾಗಿ ಸಣ್ಣಸಣ್ಣ ಹೆಜ್ಜೆಗಳಲ್ಲಿ ಹೇಳಬೇಕು - ಇದು ಈ ಪ್ರಶ್ನೆಗೆ ಅತ್ಯಂತ ಸರಳ ಉತ್ತರ.
ತಾಂತ್ರಿಕವಾಗಿ ಇದನ್ನು ಸಾಧ್ಯವಾಗಿಸುವುದೇ ತಂತ್ರಾಂಶದ ಉದ್ದೇಶ.

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

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

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

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

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

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

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

badge