ИздавањС Π½Π° програмскиот јазик ΠšΡ€ΠΈΡΡ‚Π°Π» 1.2

ОбјавСно Π΅ ΠΎΠ±Ρ˜Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° програмскиот јазик Crystal 1.2, Ρ‡ΠΈΠΈΡˆΡ‚ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ΠΈ сС ΠΎΠ±ΠΈΠ΄ΡƒΠ²Π°Π°Ρ‚ Π΄Π° ја ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π°Ρ‚ практичноста Π½Π° Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Ruby со високитС пСрформанси Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°, карактСристични Π·Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ C. Бинтаксата Π½Π° Crystal Π΅ блиска, Π½ΠΎ Π½Π΅ Π΅ цСлосно ΠΊΠΎΠΌΠΏΠ°Ρ‚ΠΈΠ±ΠΈΠ»Π½Π° со Ruby, ΠΈΠ°ΠΊΠΎ Π½Π΅ΠΊΠΎΠΈ Ruby ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π±Π΅Π· ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°. ΠšΠΎΠ΄ΠΎΡ‚ Π½Π° ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»Π΅Ρ€ΠΎΡ‚ Π΅ напишан Π²ΠΎ ΠšΡ€ΠΈΡΡ‚Π°Π» ΠΈ дистрибуиран ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Ρ†Π°Ρ‚Π° Apache 2.0.

ΠˆΠ°Π·ΠΈΠΊΠΎΡ‚ користи ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° статички Ρ‚ΠΈΠΏ, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π° Π±Π΅Π· ΠΏΠΎΡ‚Ρ€Π΅Π±Π° Сксплицитно Π΄Π° сС спСцифицираат Ρ‚ΠΈΠΏΠΎΠ²ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΡ‚ Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ‚. ΠšΡ€ΠΈΡΡ‚Π°Π»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ сС ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°Π°Ρ‚ Π²ΠΎ ΠΈΠ·Π²Ρ€ΡˆΠ½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ, со Π΅Π²Π°Π»ΡƒΠ°Ρ†ΠΈΡ˜Π° Π½Π° ΠΌΠ°ΠΊΡ€ΠΎΠ° ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ΄ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°ΡšΠ΅. Π’ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅ Crystal, ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° сС ΠΏΠΎΠ²Ρ€Π·Π°Ρ‚ врски напишани Π²ΠΎ C. ΠŸΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ΄ΠΎΡ‚ сС Π²Ρ€ΡˆΠΈ со помош Π½Π° ΠΊΠ»ΡƒΡ‡Π½ΠΈΠΎΡ‚ Π·Π±ΠΎΡ€ β€žspawnβ€œ, кој Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° асинхроно Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ Π·Π°Π΄Π°Ρ‡Π° Π²ΠΎ Π·Π°Π΄Π½ΠΈΠ½Π°, Π±Π΅Π· Π΄Π° ја Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‚Π΅ Π³Π»Π°Π²Π½Π°Ρ‚Π° нишка, Π²ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π½Π° лСсни нишки Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΈ Π²Π»Π°ΠΊΠ½Π°.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Π΄Π½Π°Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° Π³ΠΎΠ»Π΅ΠΌ сСт Π½Π° Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°Ρ˜ΡœΠΈ Π°Π»Π°Ρ‚ΠΊΠΈ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° CSV, YAML ΠΈ JSON, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π·Π° ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ HTTP сСрвСри ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° WebSocket. Π—Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° процСсот Π½Π° Ρ€Π°Π·Π²ΠΎΡ˜, ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎ Π΅ Π΄Π° сС користи ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žcrystal playβ€œ, која Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π²Π΅Π±-ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ (Π»ΠΎΠΊΠ°Π»Π΅Π½ хост: 8080 ΠΏΠΎ Π΄ΠΈΡ„ΠΎΠ»Ρ‚) Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ‚ Π²ΠΎ Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ ΠšΡ€ΠΈΡΡ‚Π°Π».

Π“Π»Π°Π²Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ:

  • Π”ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ способност Π΄Π° сС Π΄ΠΎΠ΄Π΅Π»ΠΈ подкласа ΠΎΠ΄ Π³Π΅Π½Π΅Ρ€ΠΈΡ‡ΠΊΠ° класа Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΎΠ΄ ΠΌΠ°Ρ‚ΠΈΡ‡Π½Π°Ρ‚Π° класа. класа Foo(T); ΠΊΡ€Π°Ρ˜Π½Π° класа Bar(T) < Foo(T); ΠΊΡ€Π°Ρ˜ x = Foo x = Π‘Π°Ρ€
  • ΠœΠ°ΠΊΡ€ΠΎΠ°Ρ‚Π° сСга ΠΌΠΎΠΆΠ΅ Π΄Π° користат Π΄ΠΎΠ»Π½Π° Ρ†Ρ€Ρ‚Π° Π·Π° Π΄Π° ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€Π°Π°Ρ‚ врСдност Π²ΠΎ Ρ˜Π°ΠΌΠΊΠ°Ρ‚Π° Π·Π°. {% Π·Π° _, v, i Π²ΠΎ {1 => 2, 3 => 4, 5 => 6} %} p {{v + i}} {% ΠΊΡ€Π°Ρ˜ %}
  • Π”ΠΎΠ΄Π°Π΄Π΅Π½ Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΡ‚ β€žΠ΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°_постои?β€œ Π²ΠΎ ΠΌΠ°ΠΊΡ€ΠΎΠ°Ρ‚Π°. Π΄Π° сС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ ΠΏΠΎΡΡ‚ΠΎΠ΅ΡšΠ΅Ρ‚ΠΎ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°.
  • Π‘Ρ‚Π°Π½Π΄Π°Ρ€Π΄Π½Π°Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° сСга ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° 128-Π±ΠΈΡ‚Π½ΠΈ Ρ†Π΅Π»ΠΈ Π±Ρ€ΠΎΠ΅Π²ΠΈ.
  • Π”ΠΎΠ΄Π°Π΄Π΅Π½ Indexable::Mutable(T) ΠΌΠΎΠ΄ΡƒΠ» со ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° Π½Π°ΠΏΡ€Π΅Π΄Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° ΠΊΠΎΠ»Π΅ΠΊΡ†ΠΈΠΈ ΠΊΠ°ΠΊΠΎ BitArray ΠΈ Deque. ba = BitArray.new(10) # ba = BitArray[0000000000] ba[0] = Ρ‚ΠΎΡ‡Π½ΠΎ # ba = BitArray[1000000000] ba.rotate!(-1) # ba = BitArray[0100000000]
  • Π”ΠΎΠ΄Π°Π΄Π΅Π½ Π΅ XML::Node#namespace_definition ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π° ΠΈΠ·Π²Π»Π΅ΠΊΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ имСнски простор ΠΎΠ΄ XML.
  • ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ IO#write_utf8 ΠΈ URI.encode сС застарСни ΠΈ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС Π·Π°ΠΌΠ΅Π½Π°Ρ‚ со IO#write_string ΠΈ URI.encode_path.
  • ΠŸΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ°Ρ‚Π° Π·Π° 32-Π±ΠΈΡ‚Π½Π° x86 Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π΅ прСмСстСна Π½Π° Π²Ρ‚ΠΎΡ€ΠΎ Π½ΠΈΠ²ΠΎ (Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ повСќС Π½Π΅ сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π°Ρ‚). Π‘Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΡƒΠ²Π° трансфСр Π½Π° ΠΏΡ€Π²ΠΎΡ‚ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° ARM64.
  • Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΡƒΠ²Π° Π·Π° Π΄Π° сС ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ цСлосна ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Windows. Π”ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° Windows сокСти.
  • Π”ΠΎΠ΄Π°Π΄Π΅Π½ Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€Π·Π°Π»Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ Π·Π° macOS, кој Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΈ Π½Π° ΡƒΡ€Π΅Π΄ΠΈ со x86 процСсори ΠΈ Π½Π° ΠΎΠΏΡ€Π΅ΠΌΠ° со Ρ‡ΠΈΠΏΠΎΡ‚ Apple M1.

Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€