ΠΠ·Π΄Π°Π΄Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° Crystal, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ ΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Ruby, ΡΠΈΠΈΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΠ° Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Ρ βΠ²Π³ΡΠ°Π΄Π΅Π½β ΡΠΈΠΊΡΠ» Π½Π° ΡΡΠ±ΠΈΡΠΈΡ, Π² ΠΊΠΎΠΉΡΠΎ Π²ΡΠΈΡΠΊΠΈ I/O ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΈ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡ (Π΄ΠΎΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΠΎΡ ΡΠ»Π°Π³ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ) ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠΎΡΡΠ° ΠΈ ΡΠ΄ΠΎΠ±Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² C.
ΠΠ°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ Π²Π΅ΡΡΠΈΡ 0.34.0, Π΅Π·ΠΈΠΊΡΡ ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΎ Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° ΡΠ΅ Π΄Π²ΠΈΠΆΠΈ ΠΊΡΠΌ ΠΏΡΡΠ²ΠΎΡΠΎ ΡΠΈ ΠΈΡΡΠΈΠ½ΡΠΊΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ (Ρ.Π΅. Π²Π΅ΡΡΠΈΡ 1.0).
ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Crystal Π²ΠΊΠ»ΡΡΠ²Π° ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎ Π²Π°ΠΆΠ½ΠΎΡΡ:
-
ΠΡΠΌ API Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π½ΠΎΠ²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅ ΠΡ ΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ, Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ ΡΡΠ°ΡΠΈΡ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±Π΅ΠΊΠ΅Π½Π΄ΠΎΠ²Π΅ ΠΈ Π΄Π° ΡΠΈΠ»ΡΡΠΈΡΠ° ΡΠ΅Π·ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ βΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊΠ°β.
-
Π ΡΠ΄ΠΈΠΌΠ΅Π½ΡΠΈ ΠΎΡ ΡΠ²Π΅ΡΠ° Π½Π° C ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°, Errno ΠΈ WinError, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° I/O ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΈ, ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΡΠ°Ρ Π² Π½Π΅ΡΠΎ ΠΎΡ ΠΌΠΈΠ½Π°Π»ΠΎΡΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΉΠ΅ΡΠ°ΡΡ ΠΈΡΡΠ° Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΡΠ° IO::ΠΡΠ΅ΡΠΊΠ° (Π²ΡΠ΅ ΠΏΠ°ΠΊ Π½ΠΈΠΊΠΎΠΉ Π½Π΅ Π·Π°Π±ΡΠ°Π½ΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Errno).
-
ΠΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° else nil ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠ»ΡΡΠ°ΠΉ/ΠΊΠΎΠ³Π°ΡΠΎ/Π΄ΡΡΠ³ΠΎ. Π’ΠΎΠ²Π° ΡΠ΅ ΠΏΡΠ°Π²ΠΈ, Π·Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠΉ ΠΎΡ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠΈ ΡΡΠΏΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΡΠΈΡΠ½ΠΈ ΡΠ»ΡΡΠ°ΠΈ ΠΊΠ°ΡΠΎ enum ΠΈ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΏΡΠ΅Π· ΡΠΈΠΏΠΎΠ²Π΅ ΠΎΡ Union. Π’ΠΎΠ΅ΡΡ, ΠΏΡΠΎΡΡΠΎ ΠΊΠ°Π·Π°Π½ΠΎ, ΡΠΎΠ·ΠΈ ΠΊΠΎΠ΄ Π²Π΅ΡΠ΅ Π½ΡΠΌΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ, Π±Π΅Π· Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅ ΠΎΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΊΠΎΠ³Π°ΡΠΎ (ΠΊΠΎΠ³Π°ΡΠΎ Char) ΠΈΠ»ΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΎΡΠ΅-ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅:
Π° = 1 || 'x' || "ΡΡ"
ΡΠ»ΡΡΠ°ΠΉ Π°
ΠΊΠΎΠ³Π°ΡΠΎ Int32
#β¦
ΠΊΠΎΠ³Π°ΡΠΎ String
#β¦
ΠΊΡΠ°ΠΉ
-
ΠΠΏΡΠΈΡ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ disable_overflow Π²Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°. ΠΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ &+, &-, &*.
-
ΠΠ°ΡΠΈΠ²#Π·Π°ΠΏΡΠ»Π²Π°Π½Π΅ ΡΠ΅Π³Π° Π»Π΅ΡΠΈ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ ΠΎΡ ΠΊΡΡΡΡΠΌ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΠΌΡΠ½Π°ΡΠ° Π½Π° Π³Π»ΡΠΏΠ°Π²ΠΈΡ ΡΠΈΠΊΡΠ» Ρ Π΅Π΄ΠΈΠ½ ΠΏΡΠΎΡΡ memset;
-
ΠΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈ (ΠΏΠ°ΠΊΠ΅ΡΠΈ), Π½Π°ΡΠ΅ΡΠ΅Π½, ΠΏΠ°ΡΠ°Π΄ΠΎΠΊΡΠ°Π»Π½ΠΎ, ΠΏΠ°ΡΡΠ΅ΡΠ°, ΡΠ΅Π³Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ-Π±ΡΡΠ·ΠΈΡ ΠΈ ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ Π·Π° ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠ° Molinillo, Π½Π°ΠΌΠΈΡΠ°Ρ ΡΠ΅ Π² CocoaPods (Swift) ΠΈ Builder (Ruby).
-
ΠΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° LLVM 10, ΠΊΠΎΠ΅ΡΠΎ Π½Π° ΡΠ΅ΠΎΡΠΈΡ ΡΠ΅ Π½ΠΈ Π΄Π°Π΄Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, ΡΡΠ°Π±ΠΈΠ»Π½ΠΎΡΡΡΠ° ΠΈ Ρ.Π½.
... ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈ, ΠΏΠΎ ΠΌΠΎΠ΅ ΡΡΠ±Π΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΌΠ½Π΅Π½ΠΈΠ΅, ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π·Π½Π°ΡΠΈΠΌΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΠΈΡ ΠΈΡΠΊΠ°Π» Π΄Π° ΠΎΡΠ±Π΅Π»Π΅ΠΆΠ°, ΡΠ΅ Crystal Π΅ Π΅Π·ΠΈΠΊ, ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ Π½Π° LLVM, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° ΠΏΠΎ-Π±ΡΡΠ·ΠΎ, ΠΏΠΎ-ΠΏΡΠΎΡΡΠΎ ΠΈ ΠΏΠΎ-ΡΠ±ΠΈΡΠΎ, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈ βΠ±ΡΠ°ΡΡβ, ΠΈ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π΄ΠΎΡΡΠ° Π±ΡΡΠ· Π΄Π²ΠΎΠΈΡΠ΅Π½ ΡΠ°ΠΉΠ» ΠΊΠ°ΡΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ. Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Golang, ΡΠΎΠΉ ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π²Π° Ρ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΏΡΠ»Π½ΠΎΡΠ΅Π½Π½ΠΈΡ ΡΠΈ OOP, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π³Π΅Π½Π΅ΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡ ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ. ΠΠ΅Π³ΠΎΠ²Π°ΡΠ° ΡΠ΅Π» Π΅ Π΄ΠΎ Π³ΠΎΠ»ΡΠΌΠ° ΡΡΠ΅ΠΏΠ΅Π½ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π½Π° Nim, Π½ΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΅ ΡΡΠ½ΠΎ ΡΠΎΠΊΡΡΠΈΡΠ°Π½Π° Π²ΡΡΡ Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ βΡΡΠΊ ΠΈ ΡΠ΅Π³Π°β, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΅ΡΠΎ ΠΈΠΌΠ° Π² ΡΠ²ΠΎΡ API Π°ΡΡΠ΅Π½Π°Π» ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ, ΡΠ΄ΠΎΠ±Π½ΠΈ ΠΈ Π²ΠΈΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ ΠΎΡ Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π±ΠΈΠ»Π½ΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru