ΡΠ°Π±ΠΎΠ»ΠΊΠΎ
Swift System ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΅Π΄ΠΈΠ½ΡΡ ΡΠΎΡΠΊΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π° Π²ΡΠ΅Ρ
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
Π±Π΅Π· ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Swift-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ
ΠΎΠ±Π²ΡΠ·ΠΎΠΊ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ Swift System Π½Π΅ ΡΠ½ΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΡΠ°ΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ, Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ API Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΡΡΠΈΡΡΠ²Π°ΡΡΠ΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ ΡΠΎΡΠ½ΠΎ ΠΎΡΡΠ°ΠΆΠ°ΡΡΠ΅Π΅ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΠ΅Π»ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Swift System ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ
ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ.
ΠΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅
Π Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Windows ΠΈ
Float16,
Π‘Π½ΠΈΠΆΠ΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ β Π΅ΡΠ»ΠΈ Π² Swift 4 ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΎΠ±ΡΠ°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠ΅Π²ΡΡΠ°Π» Π²Π°ΡΠΈΠ°Π½Ρ Π½Π° Objective-C Π² 2.3 ΡΠ°Π·Π°, ΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°Π·ΡΡΠ² ΡΠΎΠΊΡΠ°ΡΡΠ½ Π΄ΠΎ 1.5 ΡΠ°Π·Π°. Π Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½Π° ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΡΠ±ΠΎΡΠΊΠ° ΠΈ ΡΠ±ΠΎΡΠΊΠ° ΠΊΠΎΠ΄Π° Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ ΡΠ²ΠΎΠΉΡΡΠ² ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΡ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. Π Π°ΡΡΠΈΡΠ΅Π½Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ΅ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ . Π ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΠΏΠ°ΠΊΠ΅ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ»ΠΎΠ²Π½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
ΠΠΎΡΡΠ΅ΡΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° ΡΠ°Π·ΠΈΠΊΠΎΡ Swift Π³ΠΈ Π½Π°ΡΠ»Π΅Π΄ΡΠ²Π° Π½Π°ΡΠ΄ΠΎΠ±ΡΠΈΡΠ΅ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ ΠΎΠ΄ ΡΠ°Π·ΠΈΡΠΈΡΠ΅ C ΠΈ Objective-C ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π΅Π½ ΡΠΎ Objective-C (ΠΊΠΎΠ΄ΠΎΡ Π½Π° Swift ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΌΠ΅ΡΠ° ΡΠΎ ΠΊΠΎΠ΄ΠΎΡ C ΠΈ Objective-C), Π½ΠΎ ΡΠ΅ ΡΠ°Π·Π»ΠΈΠΊΡΠ²Π° Π²ΠΎ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π±Π° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ΠΈ ΠΏΡΠ΅Π»Π΅Π²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΈ Π½ΠΈΠ·ΠΈ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ° Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π° Π΄ΠΎΠ²Π΅ΡΠ»ΠΈΠ²ΠΎΡΡΠ° ΠΈ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡΠ° Π½Π° ΠΊΠΎΠ΄ΠΎΡ. Swift ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π½ΡΠ΄ΠΈ ΠΌΠ½ΠΎΠ³Ρ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ Π·Π°ΡΠ²ΠΎΡΠ°ΡΠ΅, Π³Π΅Π½Π΅ΡΠΈΡΠΊΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅, Π»Π°ΠΌΠ±Π΄Π° ΠΈΠ·ΡΠ°Π·ΠΈ, ΡΠΈΠΏΠΎΠ²ΠΈ Π½Π° ΡΠΎΡΠ±ΠΈ ΠΈ ΡΠ΅ΡΠ½ΠΈΠΊ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° Π±ΡΠ·ΠΎ ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅ ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅. ΠΠ΅ΡΠ·ΠΈΡΠ°ΡΠ° Π½Π° Linux Π½Π΅ Π΅ ΠΏΠΎΠ²ΡΠ·Π°Π½Π° ΡΠΎ Objective-C Runtime, ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΡΠ°Π·ΠΈΠΊΠΎΡ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ ΡΡΠ΅Π΄ΠΈΠ½ΠΈ Π²ΠΎ ΠΊΠΎΠΈ Π½Π΅ΠΌΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Objective-C.
ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° Swift Π΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½Π° ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΠ΄ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΈΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ LLVM. ΠΠ° Π΄Π° ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π°Ρ Π²ΠΈΡΠΎΠΊΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ Π½Π° Swift ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°Π°Ρ Π²ΠΎ ΠΌΠ°ΡΡΠΈΠ½ ΠΊΠΎΠ΄ ΠΊΠΎΡ ΡΠ°Π±ΠΎΡΠΈ 30% ΠΏΠΎΠ±ΡΠ·ΠΎ ΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΡ Objective-C Π²ΠΎ ΡΠ΅ΡΡΠΎΠ²ΠΈΡΠ΅ Π½Π° Apple. ΠΠ°ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ±ΠΈΡΠ°Ρ Π½Π° ΡΡΠ±ΡΠ΅, Π‘Π²ΠΈΡΡ ΠΊΠΎΡΠΈΡΡΠΈ Π±ΡΠΎΠ΅ΡΠ΅ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΈ. ΠΠ°ΠΊΠ΅ΡΠΎΡ Π²ΠΊΠ»ΡΡΡΠ²Π° ΠΌΠ΅Π½Π°ΡΠ΅Ρ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ
ΠΠ·Π²ΠΎΡ: opennet.ru