ಆಪಲ್ ಸ್ವಿಫ್ಟ್ 5.3 ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆ ಮತ್ತು ಓಪನ್ ಸೋರ್ಸ್ ಸ್ವಿಫ್ಟ್ ಸಿಸ್ಟಮ್ ಲೈಬ್ರರಿಯನ್ನು ಬಿಡುಗಡೆ ಮಾಡುತ್ತದೆ

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

ಸ್ವಿಫ್ಟ್ ಪ್ರೋಗ್ರಾಂಗಳಲ್ಲಿ ನಿರ್ದಿಷ್ಟ ಸಿ ಫ್ರೇಮ್‌ವರ್ಕ್‌ಗಳ ಅಗತ್ಯವಿಲ್ಲದೆಯೇ ಎಲ್ಲಾ ಬೆಂಬಲಿತ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಲ್ಲಿ ಬಳಸಬಹುದಾದ ಸಿಸ್ಟಂ ಇಂಟರ್‌ಫೇಸ್‌ಗಳಿಗೆ ಸ್ವಿಫ್ಟ್ ಸಿಸ್ಟಮ್ ಒಂದು ಪ್ರವೇಶ ಬಿಂದುವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಅದೇ ಸಮಯದಲ್ಲಿ, ಸ್ವಿಫ್ಟ್ ಸಿಸ್ಟಮ್ ಸಿಸ್ಟಮ್ ಕರೆಗಳನ್ನು ಏಕೀಕರಿಸುವುದಿಲ್ಲ, ಆದರೆ ಪ್ರತಿ ಬೆಂಬಲಿತ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗೆ ಪ್ರತ್ಯೇಕವಾದ API ಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ, ಈ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನ ನಡವಳಿಕೆಯನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ನ ಕಡಿಮೆ-ಮಟ್ಟದ ಇಂಟರ್ಫೇಸ್‌ಗಳನ್ನು ನಿಖರವಾಗಿ ಪ್ರತಿಬಿಂಬಿಸುತ್ತದೆ. ಕ್ರಾಸ್-ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಲೈಬ್ರರಿಗಳು ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಅಭಿವೃದ್ಧಿಯನ್ನು ಸರಳಗೊಳಿಸುವುದು ಸ್ವಿಫ್ಟ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ರಚಿಸುವ ಪ್ರಮುಖ ಗುರಿಯಾಗಿದೆ ಸ್ವಿಫ್ಟ್NIO и ಸ್ವಿಫ್ಟ್ ಪಿಎಂ. ಸ್ವಿಫ್ಟ್ ಸಿಸ್ಟಂ ಕಡಿಮೆ ಮಟ್ಟದ ಮೂಲಗಳನ್ನು ಪ್ರವೇಶಿಸುವಾಗ "#if os()" ಆಧಾರದ ಮೇಲೆ ಕವಲೊಡೆಯುವ ಅಗತ್ಯವನ್ನು ತೆಗೆದುಹಾಕುವುದಿಲ್ಲ, ಆದರೆ ಇದು ಈ ಕೆಲಸವನ್ನು ಸುರಕ್ಷಿತಗೊಳಿಸುತ್ತದೆ ಮತ್ತು
ಆರಾಮದಾಯಕ.

ನೀವು ಸಹ ಗಮನಿಸಬಹುದು ಪ್ರಕಟಣೆ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಬಿಡುಗಡೆ ಸ್ವಿಫ್ಟ್ 5.3. ಅಧಿಕೃತ ನಿರ್ಮಾಣಗಳು ತಯಾರಾದ Linux ಗಾಗಿ (Ubuntu 16.04/18.04/20.04, CentOS 7/8), macOS (Xcode 12) ಮತ್ತು Windows 10. ಮೂಲ ಪಠ್ಯಗಳು ಹರಡು ಅಪಾಚೆ 2.0 ಅಡಿಯಲ್ಲಿ ಪರವಾನಗಿ ಪಡೆದಿದೆ.

ಹೊಸ ಬಿಡುಗಡೆಯು ವಿಂಡೋಸ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗೆ ಆರಂಭಿಕ ಬೆಂಬಲವನ್ನು ಸೇರಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರಾರಂಭಿಸಲಾಗಿದೆ ವಿಂಡೋಸ್ 10 ನಲ್ಲಿ ಸ್ವಿಫ್ಟ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಮತ್ತು ಚಲಾಯಿಸಲು ಉಪಕರಣಗಳ ಪೂರೈಕೆ. ಭಾಷೆಯ ಕಾರ್ಯವನ್ನು ಪರಿಷ್ಕರಿಸುವುದನ್ನು ಮುಂದುವರಿಸಲಾಗಿದೆ. ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳು ಸ್ಟ್ರಿಂಗ್ ಪ್ರಕಾರಕ್ಕೆ ಇನಿಶಿಯಲೈಸರ್ ಅನ್ನು ಸೇರಿಸುವುದು, "ಎಲ್ಲಿ" ಅಭಿವ್ಯಕ್ತಿಯ ಬಳಕೆಯನ್ನು ವಿಸ್ತರಿಸುವುದು, ಡಿಡ್‌ಸೆಟ್‌ನ ಶಬ್ದಾರ್ಥವನ್ನು ಬದಲಾಯಿಸುವುದು, ಕ್ಯಾಚ್ ಎಕ್ಸ್‌ಪ್ರೆಶನ್‌ಗಳಲ್ಲಿ ಬಹು ನಮೂನೆಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಬೆಂಬಲ, ಪ್ರಕಾರವನ್ನು ಸೇರಿಸುವುದು.
ಫ್ಲೋಟ್ 16, ಪರಮಾಣು ಮೆಮೊರಿ ಕಾರ್ಯಾಚರಣೆಗಳು.

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

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

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

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ