C#, ಡೆಲ್ಫಿ ಮತ್ತು ಟರ್ಬೊ ಪ್ಯಾಸ್ಕಲ್ ಭಾಷೆಗಳನ್ನು ರಚಿಸಿದ ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಭಾಷೆಯ ಮುಖ್ಯ ವಾಸ್ತುಶಿಲ್ಪಿ ಆಂಡರ್ಸ್ ಹೆಜ್ಲ್ಸ್ಬರ್ಗ್, ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ಗಾಗಿ ಹೊಸ ಕಂಪೈಲರ್ ಅನ್ನು ರಚಿಸುವ ಯೋಜನೆಯನ್ನು ಪ್ರಸ್ತುತಪಡಿಸಿದರು - ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್-ಗೋ (tsgo), ಇದನ್ನು ಗೋ ಭಾಷೆಯಲ್ಲಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ. ಹಳೆಯ ಕಂಪೈಲರ್ನಂತೆಯೇ, ಹೊಸ ಯೋಜನೆಯನ್ನು ಅಪಾಚೆ 2.0 ಪರವಾನಗಿಯ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ.
ಮೂಲ ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಕಂಪೈಲರ್ ಅನ್ನು ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ಗೆ ಅನುವಾದಿಸಲಾಗಿದೆ, ಇದು ದೊಡ್ಡ ಯೋಜನೆಗಳಲ್ಲಿ ಬಳಸಿದಾಗ ಸ್ಕೇಲಿಂಗ್ ಸಮಸ್ಯೆಗಳನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ. IDE ಗಳಲ್ಲಿ ಕೋಡ್ ಲೋಡ್ ಮಾಡುವಾಗ ಮತ್ತು ಪರಿಶೀಲಿಸುವಾಗ ಡೆವಲಪರ್ಗಳು ದೀರ್ಘ ವಿಳಂಬಗಳನ್ನು ಸಹಿಸಿಕೊಳ್ಳಬೇಕಾಗುತ್ತದೆ ಮತ್ತು ಸಂಪಾದಕರಲ್ಲಿ ಕೋಡ್ ಪರಿಶೀಲಿಸುವ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುವ ಮೂಲಕ ವಿಳಂಬವನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಡೆವಲಪರ್ ಅನುಭವವನ್ನು ತ್ಯಾಗ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಕೋಡ್ ಅನ್ನು ತ್ವರಿತವಾಗಿ ನಿರ್ಮಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುವ ಆಜ್ಞಾ ಸಾಲಿನ ಪರಿಕರಗಳ ಅಗತ್ಯವು ಪರಿಸರ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಹೆಚ್ಚುತ್ತಿದೆ, ಅದು ಅದರ ಕಾರ್ಯವನ್ನು ಪರೀಕ್ಷಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ಗಾಗಿ ಸ್ಥಳೀಯ ಕಂಪೈಲರ್ ಮತ್ತು ಪರಿಕರವನ್ನು ರಚಿಸುವುದರಿಂದ ನಿರ್ಮಾಣ ವೇಗವನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಹೆಚ್ಚಿಸುತ್ತದೆ, ಮೆಮೊರಿ ಬಳಕೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಕೋಡ್ ಸಂಪಾದಕರ ಆರಂಭಿಕ ಸಮಯವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಎಂದು ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ. ಟೂಲ್ಕಿಟ್ನ ಹೆಚ್ಚಿನ ಕಾರ್ಯಕ್ಷಮತೆಯು ಆಧುನಿಕ ಕೋಡ್ ಸಂಪಾದಕರಲ್ಲಿ ಅಭಿವೃದ್ಧಿ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಹೆಚ್ಚು ಅನುಕೂಲಕರವಾಗಿಸುತ್ತದೆ, ಸಂಪೂರ್ಣ ಯೋಜನೆಯ ತ್ವರಿತ ಕೋಡ್ ಪರಿಶೀಲನೆಗೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ ಮತ್ತು ಹೆಚ್ಚು ಸುಧಾರಿತ ರಿಫ್ಯಾಕ್ಟರಿಂಗ್ ಮತ್ತು ಕೋಡ್ ವಿಶ್ಲೇಷಣಾ ತಂತ್ರಗಳ ಅನುಷ್ಠಾನವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ, ಇವುಗಳ ಸೇರ್ಪಡೆ ಹಿಂದೆ ಸಂಪನ್ಮೂಲ ಬಳಕೆಯ ವಿಷಯದಲ್ಲಿ ತುಂಬಾ ದುಬಾರಿಯಾಗಿತ್ತು.
ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಡೆವಲಪರ್ಗಳ ಪ್ರಕಾರ, ಹೊಸ ಟೂಲ್ಕಿಟ್ ನಿರ್ಮಾಣ ಸಮಯವನ್ನು ಗಣನೀಯವಾಗಿ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಅದರ ಪ್ರಸ್ತುತ ರೂಪದಲ್ಲಿ, ಹೊಸ tsc ಕಂಪೈಲರ್ VS ಕೋಡ್ ಪ್ರಾಜೆಕ್ಟ್ನ ಕೋಡ್ಬೇಸ್ ಅನ್ನು 7.5 ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಬಹುದು, ಆದರೆ ಹಳೆಯ ಕಂಪೈಲರ್ ಅದೇ ರೀತಿ ಮಾಡಲು 77.8 ಸೆಕೆಂಡುಗಳನ್ನು ತೆಗೆದುಕೊಂಡಿತು. ಪ್ಲೇರೈಟ್ ಕೋಡ್ಬೇಸ್ನ ಸಂದರ್ಭದಲ್ಲಿ, ಲೋಡಿಂಗ್ ಸಮಯವು 11.1 ರಿಂದ 1.1 ಸೆಕೆಂಡಿಗೆ, ಟೈಪ್ಒಆರ್ಎಂ 17.5 ರಿಂದ 1.3 ಸೆಕೆಂಡಿಗೆ, ಡೇಟ್-ಎಫ್ಎನ್ಎಸ್ 6.5 ರಿಂದ 0.7 ಸೆಕೆಂಡಿಗೆ, ಟಿಆರ್ಪಿಸಿ 5.5 ರಿಂದ 0.6 ಸೆಕೆಂಡಿಗೆ ಮತ್ತು ಆರ್ಎಕ್ಸ್ಜೆಎಸ್ 1.1 ರಿಂದ 0.1 ಸೆಕೆಂಡಿಗೆ ಇಳಿದಿದೆ.
ಹೊಸ ಕಂಪೈಲರ್ ಅನ್ನು ಅಕ್ಟೋಬರ್ 2024 ರಿಂದ 9 ಮೈಕ್ರೋಸಾಫ್ಟ್ ಉದ್ಯೋಗಿಗಳ ತಂಡವು ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತಿದೆ. ಈ ಹಂತದಲ್ಲಿ, ಕೆಲಸ ಮಾಡುವ ಮೂಲಮಾದರಿಯು ಈಗಾಗಲೇ ಪರೀಕ್ಷೆಗೆ ಲಭ್ಯವಿದೆ. ಟೈಪ್ ಚೆಕ್ ಅನ್ನು ಬೆಂಬಲಿಸುವ ಹೊಸ ಟಿಎಸ್ಸಿ ಅನುಷ್ಠಾನದೊಂದಿಗೆ ಕಮಾಂಡ್-ಲೈನ್ ಟೂಲ್ಕಿಟ್ನ ಪೂರ್ವವೀಕ್ಷಣೆಯು ವರ್ಷದ ಮಧ್ಯಭಾಗದಲ್ಲಿ ಬಿಡುಗಡೆಯಾಗಲು ಯೋಜಿಸಲಾಗಿದೆ. ಯೋಜನೆಗಳನ್ನು ನಿರ್ಮಿಸಲು ಮತ್ತು ಅಭಿವೃದ್ಧಿ ಪರಿಸರಗಳಿಗೆ LSP ಸೇವೆಗಳನ್ನು ಒದಗಿಸಲು ಸಮರ್ಥವಾಗಿರುವ ಮೊದಲ ಸಂಪೂರ್ಣ ಕ್ರಿಯಾತ್ಮಕ ಆವೃತ್ತಿಯನ್ನು ವರ್ಷದ ಅಂತ್ಯದ ವೇಳೆಗೆ ಬಿಡುಗಡೆ ಮಾಡಲು ನಿರ್ಧರಿಸಲಾಗಿದೆ.
ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ 6.x ಶಾಖೆಯು ಹಳೆಯ ಕಂಪೈಲರ್ನೊಂದಿಗೆ ಸಾಗುವುದನ್ನು ಮುಂದುವರಿಸುತ್ತದೆ ಮತ್ತು ಹೊಸ ಅನುಷ್ಠಾನಕ್ಕೆ ವಲಸೆ ಹೋಗಲು ಕೆಲವು ಬದಲಾವಣೆಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಹೊಸ ಟೂಲ್ಚೈನ್ಗೆ ಸ್ಥಳಾಂತರಿಸಲಾದ ಮೊದಲ ಬಿಡುಗಡೆಯು ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ 7 ಆಗಿರುತ್ತದೆ. ಸ್ವಲ್ಪ ಸಮಯದವರೆಗೆ, ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ 6.x ಮತ್ತು ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ 7.x ಕೋಡ್ಬೇಸ್ಗಳನ್ನು ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ 7 ಶಾಖೆಯು ಹಳೆಯ ಟೂಲ್ಚೈನ್ ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಬದಲಾಯಿಸಲು ಸಿದ್ಧವಾದ ಪ್ರಬುದ್ಧ ಸ್ಥಿತಿಯನ್ನು ತಲುಪುವವರೆಗೆ ಸಮಾನಾಂತರವಾಗಿ ಸಹಬಾಳ್ವೆ ನಡೆಸಲಾಗುತ್ತದೆ.
ಯೋಜನೆಯ ಕೆಲಸವನ್ನು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು, ಅಭಿವರ್ಧಕರು ವಿಭಿನ್ನ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳನ್ನು ಬಳಸುವ ಸಾಧ್ಯತೆಯನ್ನು ಅನ್ವೇಷಿಸಿದರು ಮತ್ತು ವಿವಿಧ ಭಾಷೆಗಳಲ್ಲಿ ಮೂಲಮಾದರಿಗಳನ್ನು ಪ್ರಯೋಗಿಸಿದರು. ಪರಿಣಾಮವಾಗಿ, ಹಳೆಯ ಕಂಪೈಲರ್ನ ಕೋಡ್ ಬೇಸ್ ಅನ್ನು ಪುನಃ ಬರೆಯುವ ಕೆಲಸವನ್ನು ನಿರ್ವಹಿಸಲು ಅತ್ಯುತ್ತಮ ಆಯ್ಕೆಯಾಗಿ, ಹೊಸ ಕಂಪೈಲರ್ ಅನ್ನು ರಚಿಸಲು ಗೋ ಭಾಷೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಯಿತು. ರಸ್ಟ್ ನಂತಹ ಭಾಷೆಗಳಿಗೆ ಹೋಲಿಸಿದರೆ, ಗೋ ಶಬ್ದಾರ್ಥ ಮತ್ತು ಕೋಡ್ ರಚನೆಯಲ್ಲಿ ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ಹತ್ತಿರದಲ್ಲಿದೆ, ಪೋರ್ಟ್ ಮಾಡುವಾಗ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಮಾದರಿಗಳನ್ನು ಸಂರಕ್ಷಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. Go ಬಳಸುವುದರಿಂದ ಕೋಡ್ಬೇಸ್ಗಳ ನಡುವೆ ಬದಲಾವಣೆಗಳನ್ನು ಸ್ಥಳಾಂತರಿಸುವುದು ಸುಲಭವಾಗುತ್ತದೆ ಮತ್ತು ಹಳೆಯ ಮತ್ತು ಹೊಸ ಆವೃತ್ತಿಗಳನ್ನು ಅಕ್ಕಪಕ್ಕದಲ್ಲಿ ನಿರ್ವಹಿಸುವ ಶ್ರಮದಾಯಕ ಕೆಲಸವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.
ಗೋ ಭಾಷೆ ಉತ್ತಮ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ, ಮಲ್ಟಿ-ಥ್ರೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮತ್ತು ಮಲ್ಟಿ-ಕೋರ್ ಸಿಸ್ಟಮ್ಗಳಲ್ಲಿ ದಕ್ಷ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಗಮನದಲ್ಲಿಟ್ಟುಕೊಂಡು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ ಮತ್ತು ಮೆಮೊರಿಯೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ ಸಮಸ್ಯೆಗಳ ವಿರುದ್ಧ ಅಂತರ್ನಿರ್ಮಿತ ರಕ್ಷಣೆಯನ್ನು ಹೊಂದಿದೆ. ಮೆಮೊರಿ ಸುರಕ್ಷತೆಯ ಬೆಲೆ ಏನೆಂದರೆ, ಕಸ ಸಂಗ್ರಾಹಕನು ಕಾರ್ಯಗತಗೊಳಿಸುವಾಗ ವಿಳಂಬಗಳನ್ನು ಪರಿಚಯಿಸಬಹುದು, ಆದರೆ ಕಂಪೈಲರ್ ಅಂತಹ ವಿಳಂಬಗಳ ಬಗ್ಗೆ ಕಾಳಜಿ ವಹಿಸುವುದಿಲ್ಲ.
ರಸ್ಟ್ ನಂತಹ ಇತರ ಭಾಷೆಗಳನ್ನು ಸಹ ಒಂದು ಆಯ್ಕೆಯಾಗಿ ಪರಿಗಣಿಸಲಾಗಿತ್ತು, ಆದರೆ ಅವು ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ಗಿಂತ ತುಂಬಾ ಪರಿಕಲ್ಪನಾತ್ಮಕವಾಗಿ ಭಿನ್ನವಾಗಿವೆ ಮತ್ತು ಅವುಗಳನ್ನು ಬಳಸುವುದರಿಂದ ಕಂಪೈಲರ್ ಅನ್ನು ಮೊದಲಿನಿಂದಲೂ ಪೋರ್ಟ್ ಮಾಡಲು ಕಾರಣವಾಗುತ್ತದೆ, ಹಳೆಯ ಕಂಪೈಲರ್ನೊಂದಿಗೆ ಪೂರ್ಣ ಹೊಂದಾಣಿಕೆಯನ್ನು ಸಾಧಿಸುವುದು ಕಷ್ಟಕರವಾಗಿಸುತ್ತದೆ, ಹಳೆಯ ಕೋಡ್ಬೇಸ್ನಲ್ಲಿ ಈಗಾಗಲೇ ಪರಿಹರಿಸಲಾದ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸುತ್ತದೆ ಮತ್ತು ಗಮನಾರ್ಹವಾಗಿ ಹೆಚ್ಚಿನ ಸಮಯ ಮತ್ತು ಸಂಪನ್ಮೂಲಗಳ ಅಗತ್ಯವಿರುತ್ತದೆ.
ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಭಾಷೆಯು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ವಿಸ್ತರಿಸುತ್ತದೆ ಮತ್ತು ಸಂಪೂರ್ಣವಾಗಿ ಹಿಮ್ಮುಖ ಹೊಂದಾಣಿಕೆಯನ್ನು ಉಳಿಸಿಕೊಂಡಿದೆ, ಇದು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ಸ್ಥಳಾಂತರಿಸುವುದನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತದೆ. ಪರಿಣಾಮವಾಗಿ ಬರುವ ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಅಪ್ಲಿಕೇಶನ್ ಸರಳ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ಗೆ ಕಂಪೈಲ್ ಆಗುತ್ತದೆ, ಇದನ್ನು ಯಾವುದೇ ಆಧುನಿಕ ವೆಬ್ ಬ್ರೌಸರ್ನಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು ಅಥವಾ Node.js, Bun ಮತ್ತು Deno ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳೊಂದಿಗೆ ಬಳಸಬಹುದು. ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ಗಿಂತ ಭಿನ್ನವಾಗಿದೆ, ಏಕೆಂದರೆ ಇದು ಪ್ರಕಾರಗಳನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಲು ಪರಿಕರಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ, ಜೊತೆಗೆ ಪೂರ್ಣ ಪ್ರಮಾಣದ ತರಗತಿಗಳು ಮತ್ತು ಮಾಡ್ಯೂಲ್ಗಳ ಬಳಕೆಗೆ ಬೆಂಬಲವನ್ನು ನೀಡುತ್ತದೆ. ಸ್ಥಿರ ಟೈಪಿಂಗ್ ಅಭಿವೃದ್ಧಿ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಅನೇಕ ದೋಷಗಳನ್ನು ತಪ್ಪಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, ಹೆಚ್ಚುವರಿ ಆಪ್ಟಿಮೈಸೇಶನ್ ತಂತ್ರಗಳನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ, ಡೀಬಗ್ ಮಾಡುವುದನ್ನು ಸರಳಗೊಳಿಸುತ್ತದೆ, ಕೋಡ್ ಅನ್ನು ಹೆಚ್ಚು ಓದಬಲ್ಲಂತೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಪರಿಷ್ಕರಿಸಲು ಮತ್ತು ನಿರ್ವಹಿಸಲು ಸುಲಭವಾಗುತ್ತದೆ.
ಮೂಲ: opennet.ru
