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