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

ಬುಧವಾರ, ಮೇ 6, 2015

ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನ ಮತ್ತು ನಾವು

ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನದ ಪರಿಚಯ ಆ ಕ್ಷೇತ್ರದಲ್ಲಿ ಕೆಲಸಮಾಡುವವರಿಗಷ್ಟೆ ಸೀಮಿತವಾಗಿರಬೇಕೇ? ಹೀಗೊಂದು ಯೋಚನಾಲಹರಿ...
ಟಿ. ಜಿ. ಶ್ರೀನಿಧಿ

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

ಕಂಪ್ಯೂಟರ್ ಬಳಕೆಯಾಗುತ್ತಿರುವುದು ನಮ್ಮ ವೈಯಕ್ತಿಕ ಕೆಲಸಗಳಲ್ಲಷ್ಟೇ ಅಲ್ಲ. ಕಚೇರಿಗಳಿಂದ ಕಾರ್ಖಾನೆಗಳವರೆಗೆ, ರಸ್ತೆಸಾರಿಗೆಯಿಂದ ರಾಕೆಟ್ಟುಗಳವರೆಗೆ ಅದೆಷ್ಟೋ ಕ್ಷೇತ್ರಗಳ ಅಸಂಖ್ಯ ವಿದ್ಯಮಾನಗಳು ಕಂಪ್ಯೂಟರುಗಳನ್ನು ಬಳಸುತ್ತಿವೆ. ಕಂಪ್ಯೂಟರುಗಳಿಂದಾಗಿ ನಮ್ಮ ಪ್ರಪಂಚ ಕೆಲಸಮಾಡುವ ವಿಧಾನವೇ ಬದಲಾಗುತ್ತಿದೆ ಎಂದರೂ ಸರಿಯೇ.

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

ಇಂತಿಷ್ಟು ಅಂಶಗಳು ಪೂರಕವಾಗಿದ್ದರೆ ಮಾತ್ರ ಸಾಲ ಮಂಜೂರು ಮಾಡಬೇಕೆಂದು ಸಾಫ್ಟ್‌ವೇರಿನಲ್ಲಿದೆ ಎಂದುಕೊಳ್ಳೋಣ; ಅದರಲ್ಲಿ ಒಂದೇ ಅಂಶ ವ್ಯತಿರಿಕ್ತವಾಗಿದ್ದರೂ ಸಾಲದ ಅರ್ಜಿ ತಿರಸ್ಕೃತವಾಗುತ್ತದೆ. ವಿಮಾನದ ಇಂತಿಷ್ಟು ಟಿಕೇಟುಗಳನ್ನು ಇಂತಿಷ್ಟೇ ಬೆಲೆಗೆ ಮಾರಬೇಕು ಎಂದು ಸಾಫ್ಟ್‌ವೇರ್ ಹೇಳಿದರೆ ಕಂಪ್ಯೂಟರ್ ಅದನ್ನು ಚಾಚೂತಪ್ಪದೆ ಪಾಲಿಸುತ್ತದೆ. ಮಾರಾಟಕ್ಕಿರುವ ವಸ್ತುಗಳ ಮೇಲೆ ಬೇರೆಬೇರೆ ಸಮಯಗಳಲ್ಲಿ ಬೇರೆಬೇರೆ ಪ್ರಮಾಣದ ರಿಯಾಯಿತಿ ನೀಡುವ ಆನ್‌ಲೈನ್ ಅಂಗಡಿಯ ಸಾಫ್ಟ್‌ವೇರ್ ಶೇ. ೨೫ರ ಬದಲು ಶೇ. ೯೫ರ ರಿಯಾಯಿತಿಯನ್ನು - ತಪ್ಪು ಲೆಕ್ಕಾಚಾರದಿಂದಾಗಿ - ಘೋಷಿಸಿದರೆ ಕಂಪ್ಯೂಟರ್ ಅದನ್ನೂ ಮರುಮಾತಿಲ್ಲದೆ ಅನುಷ್ಠಾನಗೊಳಿಸಿಬಿಡುತ್ತದೆ.

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

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


ಈ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರ ಹುಡುಕಲು ಹೊರಟಾಗ ನಮಗೆ ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನದ ವಿಶ್ವರೂಪ ಪರಿಚಯವಾಗುತ್ತದೆ. ವಿವಿಧ ಬಿಡಿಭಾಗಗಳು ಸೇರಿ ರೂಪುಗೊಂಡಿರುವ ಕಂಪ್ಯೂಟರ್ ಎಂಬ ನಿರ್ಜೀವ ವಸ್ತುವಿಗೆ ಸೂಕ್ತ ನಿರ್ದೇಶನಗಳನ್ನು ಕೊಟ್ಟು ನಮಗೆ ಬೇಕಾದ ಕೆಲಸಗಳನ್ನೆಲ್ಲ ಮಾಡಿಸಿಕೊಳ್ಳುವ ಮಾಯಾಜಾಲ ಅದು. ನಾವು ಹೇಳಿದ ಕೆಲಸ ಮಾಡುವಂತೆ ಕಂಪ್ಯೂಟರನ್ನು ಪ್ರೋಗ್ರಾಮ್ ಮಾಡುವ ಕೆಲಸ ('ಪ್ರೋಗ್ರಾಮಿಂಗ್') ಈ ಮಾಯಾಜಾಲದ ಬಹುಮುಖ್ಯ ಭಾಗ. ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನ ಕಲಿಯುವಾಗಲೂ ಇದಕ್ಕೇ ಹೆಚ್ಚಿನ ಪ್ರಾಶಸ್ತ್ಯ.

ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕಲಿಕೆಗೆ ಇಷ್ಟೆಲ್ಲ ಮಹತ್ವ ಏಕೆ? ಈ ಪ್ರಶ್ನೆಯ ಹಿಂದೆ ಹೊರಟರೆ ನಮಗೆ ಅನೇಕ ಉತ್ತರಗಳು ಸಿಗುತ್ತವೆ.

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

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

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

ಈ ಚಿಂತನಾ ಕ್ರಮವನ್ನು (ಕಂಪ್ಯುಟೇಶನಲ್ ಥಿಂಕಿಂಗ್) ನಾವು ಎಲ್ಲ ಕೆಲಸಗಳಲ್ಲೂ ಅಳವಡಿಸಿಕೊಳ್ಳಬಹುದು ಮತ್ತು ಆ ಮೂಲಕ ನಮ್ಮ ಕೆಲಸಗಳಲ್ಲಿ ಉತ್ತಮ ಫಲಿತಾಂಶವನ್ನೂ ಪಡೆಯಬಹುದು ಎಂದು ಅವರು ಹೇಳುತ್ತಾರೆ. ಅಷ್ಟೇ ಅಲ್ಲ, ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನದ ಸವಲತ್ತುಗಳನ್ನು ದಿನದಿನವೂ ಬಳಸುತ್ತಿರುವ ನಾವು ಅವುಗಳ ಕಾರ್ಯಾಚರಣೆಯ ಬಗ್ಗೆ ತಿಳಿದುಕೊಂಡಿರುವುದು ಒಳ್ಳೆಯದೇ ತಾನೆ?

ಹಾಗೆಂದು ಎಲ್ಲರೂ ಸಿ, ಸಿ++, ಜಾವಾ ಇತ್ಯಾದಿ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳನ್ನು ಕಲಿಯಬೇಕೆ?

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

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

ಇದರಿಂದಾಗಿಯೇ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕಲಿಕೆಗೆ ಈಗ ಎಲ್ಲಿಲ್ಲದ ಮಹತ್ವ. ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನದ ಪ್ರಾಥಮಿಕ ಪಾಠಗಳನ್ನು ಕಲಿಯಲು ಇದೇ ಸರಿಯಾದ ಸಮಯ!
ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನದ ಪ್ರಾಥಮಿಕ ಪರಿಚಯ ಮಾಡಿಕೊಂಡ ನಂತರ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕಲಿಯಲು ಹೊರಡುವವರಿಗೆ ನೆರವಾಗುವ ಹಲವು ತಾಣಗಳು ಆನ್‌ಲೈನ್ ಲೋಕದಲ್ಲಿವೆ. ಕೋಡ್ ಅಕಾಡೆಮಿ ಹಾಗೂ code.org - ಇವು ಇಂತಹ ಎರಡು ತಾಣಗಳು.
ಮೇ ೨೦೧೫ರ ತುಷಾರದಲ್ಲಿ ಪ್ರಕಟವಾದ ಲೇಖನ
badge