# ಕಂಪ್ಯೂಟರ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್

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

## **ಅವಲೋಕನ**

ಸಾಫ್ಟ್ವೇರ್ ಎಂಜಿನಿಯರಿಂಗ್ ನಲ್ಲಿ, ಕಾರ್ಯತಂತ್ರ(ಅದರ ಅನುಷ್ಠಾನ) ತಂತ್ರಾಂಶದ ಅಭಿವೃದ್ಧಿ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಒಂದು ಹಂತವೆಂದು ಪರಿಗಣಿಸಲಾಗಿದೆ.

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

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

ಪ್ರಾಚೀನ ಸಂಸ್ಕೃತಿಯಲ್ಲಿ ಅಂಕಗಣಿತ, ಬೀಜಗಣಿತ ಮತ್ತು ರೇಖಾಗಣಿತವ ಕೆಲವೊಮ್ಮೆ ಕಲನಶಾಸ್ತ್ರದ ಅಂಶಗಳನ್ನು ಕಾಂಪ್ಯೂಟೇಶನಲ್ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ರೂಪಿಸುವುದನ್ನು ಮೀರಿ ಕಂಪ್ಯೂಟಿಂಗ್ ನ ಯಾವುದೇ ಕಲ್ಪನೆಯು ಕಾಣುವುದಿಲ್ಲ. ಮಾನವ ಇತಿಹಾಸದ ಆರಂಭದಲ್ಲಿ ಸಂಖ್ಯಾತ್ಮಕ ಗಣನೆಗೆ ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದದು ಯಾಂತ್ರಿಕ ಸಾಧನವು ಅಬ್ಯಾಕಸ್ ಮಾತ್ರ. *ಕುರ್ದಿಷ್* ಮಧ್ಯಯುಗದ ವಿಜ್ಞಾನಿ *ಅಲ್-ಜಾಝಾರಿ* ೧೨೦೬ ಕ್ರಿ.ಶ. ಪ್ರೊಗ್ರಾಮೆಬಲ್ ಅಟೋಮೆಟ ನಿರ್ಮಿಸ್ಸಿದ. ೧೮೦೧ ರಲ್ಲಿ ಜೋಸೆಫ್ ಮೇರಿ ಜಾಕ್ವರ್ಡ, ಜಾಕ್ವರ್ಡ ಮಗ್ಗವನ್ನು ಅಬಿವೃದ್ಧಿಗೊಳಿಸಿದು, ಅದು ರಂಧ್ರಗಳಿಸಿದ್ದ ಪೇಸ್ಟ್-ಬೋರ್ಡ್ ಕಾರ್ಡ್ ಗಳ ಸರಣಿಯನ್ನು ಬಳಸುತ್ತಿತ್ತು. ಚಾರ್ಲ್ಸ್ ಬ್ಯಾಬೇಜ್, ತನ್ನ ವಿಶ್ಲೇಷಣಾತ್ಮಕ ಎಂಜಿನ್ ನಿಯಂತ್ರಿಸಲು ೧೮೩೦ ರಂದು ಪಂಚ್ ಕಾರ್ಡ್ಗಳ ಬಳಕೆಯ ಮಾಡಿದರು. ಗಣಿತಜ್ಞಳಾದ *ಆಡಾ ಲಾವ್ಲೇಸ್ಸ್*, ಬರ್ನೌಲಿ ಸಂಖ್ಯೆಗಳ ಸರಣಿಯನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುವುದಕ್ಕೆ ವಿಶ್ಲೇಷಣಾತ್ಮಕ ಎಂಜಿನ್ ಗೆ ಒಂದು ಪ್ರೋಗ್ರಾಂ ಬರೆದು, ವಿಶ್ವದ ಮೊದಲ ಪ್ರೋಗ್ರಾಮರ್ ಏಂದೆನಿಸಿಕೊಂಡಿದರೆ.

## **ಆಧುನಿಕ ಕಾರ್ಯತಂತ್ರ**

ದತ್ತಾಂಶ ಮತ್ತು ಸೂಚನೆಗಳನ್ನು ಒಮ್ಮೆ ಬಾಹ್ಯವಾಗಿ ಪಂಚ್ ಕಾರ್ಡ್ ಗಳಲ್ಲಿ ಶೇಖರಿಸಿಡಲಾಗುತ್ತಿತ್ತು.
### **ಗುಣಮಟ್ಟ ಅಗತ್ಯಗಳನ್ನು**

ಅಭಿವೃದ್ಧಿಗೆ ವಿಧಾನ ಯಾವುದೇ ಆದರು, ಅಂತಿಮ ಪ್ರೋಗ್ರಾಂ ಕೆಲವು ಮೂಲಭೂತ ಗುಣಗಳನ್ನು ನೆರವೇರಿಸಬೇಕು. ಅವು:

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

### **ಸೋರ್ಸ್ ಕೋಡ್ ವಾಚನೀಯತೆ**

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

### **ಗಣನ ಸಂಕೀರ್ಣತೆ**

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

### **ಡೀಬಗ್ಗಿಂಗ್**

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

## **ಕಾರ್ಯತಂತ್ರ ಭಾಷೆಗಳು**

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

## ನೋಡಿ

* ಲಿನಕ್ಸ್ ವಿತರಣೆಗಳು: ಉಬುಂಟು ಫೆಡೋರಾ (ಲಿನಕ್ಸ್ ವಿತರಣೆ) ಲಿನಕ್ಸ್ ರೆಡ್ ಹ್ಯಾಟ್ ಸುಸೇ
* ಕಾರ್ಯನಿರ್ವಹಣ ಸಾಧನ: ಯುನಿಕ್ಸ್ ಸೊಲಾರಿಸ್ ಮೈಕ್ರೋಸಾಫ್ಟ್

## ಉಲ್ಲೇಖಗಳು