рдХреНрд░рд┐рд╕реНрдЯрд▓ 0.34.0 рд░рд┐рд▓реАрдЭ

Crystal рдЪреА рдирд╡реАрди рдЖрд╡реГрддреНрддреА рдЬрд╛рд░реА рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ, рд░реБрдмреА рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рдЕрд╕рд▓реЗрд▓реА рд╕рдВрдХрд▓рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛, рдЬреНрдпрд╛рдЪреА рдореБрдЦреНрдп рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ "рдЕрдВрдЧрднреВрдд" рдЗрд╡реНрд╣реЗрдВрдЯ рд▓реВрдкрд╕рд╣ рд░рдирдЯрд╛рдЗрдо рдЖрд╣реЗрдд, рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕рд░реНрд╡ I/O рдСрдкрд░реЗрд╢рдиреНрд╕ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЖрд╣реЗрдд, рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧрд╕рд╛рдареА рд╕рдорд░реНрдерди (рдЬреЛрдкрд░реНрдпрдВрдд) рд╕рдВрдХрд▓рдирд╛рджрд░рдореНрдпрд╛рди рдзреНрд╡рдЬрд╛рджреНрд╡рд╛рд░реЗ рд╕рдХреНрд╖рдо рдХреЗрд▓реЗ рдЬрд╛рддреЗ) рдЖрдгрд┐ C рдордзреАрд▓ рд▓рд╛рдпрдмреНрд░рд░реАрд╕рд╣ рдЕрддреНрдпрдВрдд рд╕реЛрдкреЗ рдЖрдгрд┐ рд╕реЛрдпреАрд╕реНрдХрд░ рдСрдкрд░реЗрд╢рди.

рдЖрд╡реГрддреНрддреА 0.34.0 рд╕рд╣ рдкреНрд░рд╛рд░рдВрдн рдХрд░реВрди, рднрд╛рд╖рд╛ рдЕрдзрд┐рдХреГрддрдкрдгреЗ рддрд┐рдЪреНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдХрд╛рд╢рдирд╛рдХрдбреЗ (рдореНрд╣рдгрдЬреЗ рдЖрд╡реГрддреНрддреА 1.0) рдЬрд╛рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХрд░рддреЗ.

рдХреНрд░рд┐рд╕реНрдЯрд▓рдЪреНрдпрд╛ рдирд╡реАрди рдЖрд╡реГрддреНрддреАрдордзреНрдпреЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреНрдпрд╛ рдХреНрд░рдорд╛рдиреЗ рдЦрд╛рд▓реАрд▓ рдмрджрд▓ рдЖрдгрд┐ рд╕реБрдзрд╛рд░рдгрд╛ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд:

  • API рдордзреНрдпреЗ рдирд╡реАрди рд▓реЙрдЧрд┐рдВрдЧ рд▓рд╛рдпрдмреНрд░рд░реА рдЬреЛрдбрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ рд▓реЙрдЧ, рдЬреЗ, рдЬреБрдиреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рд╡реЗрдЧрд│реЗ, рдирд┐рд░рдирд┐рд░рд╛рд│реНрдпрд╛ рдмреЕрдХрдПрдВрдбрд╡рд░ рд╕рдВрджреЗрд╢ рдкрд╛рдард╡реВ рд╢рдХрддрд╛рдд рдЖрдгрд┐ "рд╕реНрд░реЛрдд" рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рд╣реЗ рд╕рдВрджреЗрд╢ рд╡реЗрдЧрд│реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рдлрд┐рд▓реНрдЯрд░ рдХрд░реВ рд╢рдХрддрд╛рдд.

  • рд╕реА рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯрдЪреНрдпрд╛ рдЬрдЧрд╛рддреВрди рдореВрд▓рднреВрдд рдЧреЛрд╖реНрдЯреА, рдПрд░рдиреЛ ╨╕ WinError, I/O рдкреНрд░рд┐рдорд┐рдЯрд┐рд╡реНрд╣рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗрд▓реЗ, рдЕрдкрд╡рд╛рдж рдкрджрд╛рдиреБрдХреНрд░рдорд╛рдореБрд│реЗ рднреВрддрдХрд╛рд│рд╛рддреАрд▓ рдЧреЛрд╖реНрдЯ рдмрдирдд рдЖрд╣реЗрдд. IO::рддреНрд░реБрдЯреА (рддрдерд╛рдкрд┐, рдЕрджреНрдпрд╛рдк рдХреЛрдгреАрд╣реА рдПрд░рдиреЛ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рдордирд╛рдИ рдХрд░рдд рдирд╛рд╣реА).

  • рдСрдкрд░реЗрдЯрд░рдХрдбреВрди else nil рдЪреЗ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд╛рдврд▓реЗ рдХреЗрд╕/рдХреЗрд╡реНрд╣рд╛/рдЗрддрд░. рд╡рд┐рдХрд╕рдХрд╛рдиреЗ рдЪреБрдХреВрди рд╢рд╛рдЦрд╛рдВрдкреИрдХреА рдПрдХ рд╡рдЧрд│рдгреНрдпрд╛рдкрд╛рд╕реВрди рд░реЛрдЦрдгреНрдпрд╛рд╕рд╛рдареА рд╣реЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рддреЗрд╡реНрд╣рд╛ рдЬреЗрд╡реНрд╣рд╛ enums рд╕рд╛рд░рдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд╡рд╛рджреА рдХреЗрд╕реЗрд╕рд╡рд░ рдЬреБрд│рддрд╛рдд рдЖрдгрд┐ рдпреБрдирд┐рдпрдирдордзреВрди рдкреНрд░рдХрд╛рд░рд╛рдВрдордзреВрди рдЬрд╛рддрд╛рдд. рдореНрд╣рдгрдЬреЗрдЪ, рд╕реЛрдкреНрдпрд╛ рднрд╛рд╖реЗрдд рд╕рд╛рдВрдЧрд╛рдпрдЪреЗ рддрд░, рд╣рд╛ рдХреЛрдб рдЖрдгрдЦреА рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реНрдпрд╛рд╢рд┐рд╡рд╛рдп рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░ рдирд╛рд╣реА рддреЗрд╡реНрд╣рд╛ (рдЬреЗрд╡реНрд╣рд╛ рдЪрд╛рд░) рдХрд┐рдВрд╡рд╛ рдХрд╛рд░реНрдпреЗ рдЖрдгрдЦреА- рд╢рд╛рдЦрд╛:

a = 1 || 'x' || "рдлреВ"
рдХреЗрд╕ рдЕ
рдЬреЗрд╡реНрд╣рд╛ Int32
#тАж
рдЬреЗрд╡реНрд╣рд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ
#тАж
рд╢реЗрд╡рдЯ

  • рдХрдВрдкрд╛рдЗрд▓рд░ рдкрд░реНрдпрд╛рдп рдЕрдХреНрд╖рдо_рдУрд╡реНрд╣рд░рдлреНрд▓реЛ рдЙрдкрд▓рдмреНрдз рдирд╛рд╣реА. рдУрд╡реНрд╣рд░рдлреНрд▓реЛ рдСрдкрд░реЗрд╢рдиреНрд╕рд╕рд╛рдареА, &+, &-, &* рдкрджреНрдзрддреА рд╡рд╛рдкрд░рд╛.

  • рдЕреЕрд░реЗ#рдлрд┐рд▓ рдЖрддрд╛ рдмреБрд▓реЗрдЯрдкреЗрдХреНрд╖рд╛ рд╡реЗрдЧрд╛рдиреЗ рдЙрдбрддреЗ, рдореВрд░реНрдЦ рд▓реВрдк рдПрдХрд╛ рд╕рд╛рдзреНрдпрд╛ рдореЗрдорд╕реЗрдЯрдиреЗ рдмрджрд▓рд▓реНрдпрд╛рдмрджреНрджрд▓ рдзрдиреНрдпрд╡рд╛рдж;

  • рд╢рд╛рд░реНрдбреНрд╕рдЪреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ (рдкреЕрдХреЗрдЬреЗрд╕), рдореНрд╣рдгрддрд╛рдд, рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕реАрдкрдгреЗ, shards, рдЖрддрд╛ CocoaPods (Swift) рдЖрдгрд┐ Builder (Ruby) рдордзреНрдпреЗ рдЖрдврд│рдгрд╛рд░реЗ рдЬрд▓рдж рдЖрдгрд┐ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдо Molinillo рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рд╕рдорд╛рдзрд╛рди рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╡рд╛рдкрд░рддреЗ.

  • рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ рдПрд▓рдПрд▓рд╡реНрд╣реАрдПрдо 10, рдЬреЗ рд╕рд┐рджреНрдзрд╛рдВрддрддрдГ рдЖрдореНрд╣рд╛рд▓рд╛ рдЙрддреНрдкрд╛рджрдХрддрд╛, рд╕реНрдерд┐рд░рддрд╛ рдЗ. рдордзреНрдпреЗ рдХрд╛рд╣реА рд╡рд╛рдв рджреЗрдИрд▓.

... рдЖрдгрд┐ рдЗрддрд░ рдЕрдиреЗрдХ, рдорд╛рдЭреНрдпрд╛ рд╡реНрдпрдХреНрддрд┐рдирд┐рд╖реНрда рдорддреЗ, рдХрдореА рд▓рдХреНрд╖рдгреАрдп рд╕реБрдзрд╛рд░рдгрд╛.

рдореА рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрдК рдЗрдЪреНрдЫрд┐рддреЛ рдХреА рдХреНрд░рд┐рд╕реНрдЯрд▓ рд╣реА LLVM рд╡рд░ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реА рдПрдХ рднрд╛рд╖рд╛ рдЖрд╣реЗ, рдЬреА рддреБрдореНрд╣рд╛рд▓рд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреЗрд▓реЗрд▓реНрдпрд╛ "рднрд╛рдК" рдкреЗрдХреНрд╖рд╛ рдХрд╛рд╣реАрд╡реЗрд│рд╛ рд╡реЗрдЧрд╡рд╛рди, рд╕реЛрдкреА рдЖрдгрд┐ рдЕрдзрд┐рдХ рд╕рдВрдХреНрд╖рд┐рдкреНрддрдкрдгреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ рдЖрдгрд┐ рддреНрдпрд╛рдЪ рд╡реЗрд│реА рдкрд░рд┐рдгрд╛рдо рдореНрд╣рдгреВрди рдмрд░реНтАНрдпрд╛рдкреИрдХреА рдЬрд▓рдж рдмрд╛рдпрдирд░реА рдорд┐рд│рд╡рддреЗ. рдЧреЛрд▓рдВрдЧрдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд, рд╣реЗ рдкреВрд░реНрдгрдкрдгреЗ рдкреВрд░реНрдг рд╡рд╛рдврд▓реЗрд▓реЗ OOP, рдЬреЗрдиреЗрд░рд┐рдХрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЖрдгрд┐ рдЕрддрд┐рд╢рдп рд╕реЛрдкреНрдпрд╛ рдЖрдгрд┐ рд╕рдордЬрдгреНрдпрд╛рдпреЛрдЧреНрдп рд╡рд╛рдХреНрдпрд░рдЪрдирд╛рдореБрд│реЗ рд╡реЗрдЧрд│реЗ рдЖрд╣реЗ. рддреНрдпрд╛рдЪрд╛ рдЙрджреНрджреЗрд╢ рдореБрдЦреНрдпрддреНрд╡реЗ рдирд┐рдо рд╕рд╛рд░рдЦрд╛рдЪ рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреНрдпрд╛рдЪ рд╡реЗрд│реА рддреЗ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ "рдпреЗрдереЗ рдЖрдгрд┐ рдЖрддрд╛" рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╡рд╛рдкрд░рд╛рд╡рд░ рдХреЗрдВрджреНрд░рд┐рдд рдЖрд╣реЗ, рдЬреНрдпрд╛рдореБрд│реЗ рддреНрдпрд╛рдЪреНрдпрд╛ рдПрдкреАрдЖрдп рд╢рд╕реНрддреНрд░рд╛рдЧрд╛рд░рд╛рдд рдЕрдиреЗрдХ рдЪрд╛рдВрдЧрд▓реНрдпрд╛-рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг, рд╕реЛрдпреАрд╕реНрдХрд░ рдЖрдгрд┐ рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддреЗрдЪреА рд╕рд╛рдзрдиреЗ рдЖрд╣реЗрдд, рдЬреНрдпрд╛рдЪреЗ рд╕рдорд░реНрдерди рдЖрд╣реЗ. рднрд╛рд╖рд╛ рд╡рд┐рдХрд╕рдХ рдЖрдгрд┐ рдореНрд╣рдгреВрди рдЦреВрдк рд╕реНрдерд┐рд░.

рд╕реНрддреНрд░реЛрдд: linux.org.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛