Π Π΅Π»ΠΈΠ· языка программирования V 0.4.10

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Ρ€Π΅Π»ΠΈΠ· статичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ языка программирования V 0.4.10 (vlang). ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ цСлями ΠΏΡ€ΠΈ создании V Π±Ρ‹Π»ΠΈ простота изучСния ΠΈ использования, высокая Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ, быстрая компиляция, ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, эффСктивная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, кроссплатформСнноС использованиС, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½ΠΎΠ΅ взаимодСйствиС с языком C, Π»ΡƒΡ‡ΡˆΠ°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΉ сборщик мусора (GC), соврСмСнныС возмоТности ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ сопровоТдСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ свою Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€. Код компилятора, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… инструмСнтов ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT.

Π‘Ρ€Π΅Π΄ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π½ΠΎΠ²ΠΎΠΉ вСрсии:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Π΅ структуры.
    Π Π΅Π»ΠΈΠ· языка программирования V 0.4.10 Π Π΅Π»ΠΈΠ· языка программирования V 0.4.10
  • Π£Π΄Π°Π»Π΅Π½Π° старая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ€Π°Π½Π΅Π΅ объявлСнная ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ (Π΄ΠΎ этого 6 мСсяцСв ΠΏΡ€ΠΈ компиляции ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎ Ρ‚Π°ΠΊΠΎΠΌ ΠΊΠΎΠ΄Π΅).
  • ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ Π² парсСрС ΠΈ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π΅ (checker) языка.
  • ИзмСнСния, Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‰ΠΈΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ:
    • Π‘Ρ‚Π°Ρ€Ρ‹ΠΉ синтаксис Β«[attr]Β» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ ошибки, слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Β«@[attr]Β».
    • string.index_after() Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Option (ΠΊΠ°ΠΊ ΠΈ string.index()), для старого повСдСния слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ string.index_after_().
    • vweb объявлСн ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ Π±ΠΎΠ»Π΅Π΅ быстрого, ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ простого Π² использовании veb.
  • Π’ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΠΏΠΎΠΌΠΈΠΌΠΎ мноТСства ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΈ пополнСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ:
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ встроСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ string.split_by_space()
    • Π’ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ os Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ File.write_u8/1 ΠΈ File.read_u8/0.
    • Π’ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ os Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° функция disk_usage, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ доступноС мСсто для Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ.
    • Π’ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ time Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° функция week_of_year().
    • Π’ x.json2 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Any.as_map_of_strings/0.
  • Π‘Ρ€Π΅Π΄ΠΈ web-ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
    • Π£Π΄Π°Π»Ρ‘Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ x.vweb (Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ это ΠΌΠΎΠ΄ΡƒΠ»ΡŒ veb).
    • Π’ veb.request_id Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° новая прослойка (middleware) для отслСТивания ID запросов.
    • ОбновлСно руководство ΠΏΠΎ veb.
  • Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…:
    • Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ orm исправлСн Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠ΄Π° для ΠΎΠΏΡ†ΠΈΠΈ fk.
    • Π’ db.sqlite Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° трассировка для большСго количСства Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΏΡ€ΠΈ использовании Β«-d trace_sqliteΒ», Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ORM.
    • Π’ db.pg Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² β€” db.prepare/3 ΠΈ db.exec_prepared/2.
    • Π’ db.mysql Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° SSL ΠΈ вынСсСна Π²ΠΎ Ρ„Π»Π°Π³ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ HTTP-сСрвСра vanilla_http_server β€” быстрого, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ, Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ, ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΠΎΡ€Ρ‚Ρ‹ ΠΈ хосты, потокобСзопасного, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ epoll.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Β«1 Billion Row ChallengeΒ» для дСмонстрации возмоТностСй ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ языка.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ³Ρ€Ρ‹ Β«Π‘Π°ΠΏΠ΅Ρ€Β» (examples/gg/minesweeper.v).
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΊΠ΅ Sokoban с уровнями.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ³Ρ€Ρ‹ ΠΏΡ€ΠΎ астСроиды (сСйчас ΠΎΠ½Π° содСрТит < 400 строк ΠΊΠΎΠ΄Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ gg).
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ нСбольшой ΠΈΠ³Ρ€Ρ‹, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρƒ ΠΈ сСнсорноС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ Β«vΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ„Π»Π°Π³ Β«-show-depgraphΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с ModGraph:
    Π Π΅Π»ΠΈΠ· языка программирования V 0.4.10
  • ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ развиваСтся новая ОБ Vinix со своим ядром, написанная с нуля Π½Π° языкС V. Vinix Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с GTK3:
    Π Π΅Π»ΠΈΠ· языка программирования V 0.4.10

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ