CPPLASTIC Telegram 355
Cіпласпластик
Розповім вам про Red 🔺. Намагався позавчора розв'язати задачі на Advent of Code за допомогою нього, витратив годину, врешті плюнув та написав найтупіше рішення на Python 💻 за 5 хвилин. Не зайшло якось з редом, бо все забув. А вчора зробив другу спробу. Про…
Тепер власне щодо використання та задач.

Весь синтаксис мови — це купка символів на кшталт дужок і ще декількох типу двокрапки та апострофа. Решта (всі оператори, конструкції для control flow, функції стандартної ліби тощо) гіпотетично могли б бути описані чисто за допомогою них. На практиці ж заради швидкодії деякі функції мають нативну імплементацію, деякі описані в Red/System, а деякі вже на чистому високорівневому Red. Я писав тільки на останньому. Зате згадав і використав їхній хвалений parse-діалект, який дозволяє описувати граматику (PEG). Не те щоб у задачах це сильно треба було, але мені кортіло.

Писати цією мовою я настільки задовбався (не через синтаксис — про це далі), що врешті накодив максимально тупий брутфорс для пошуку рішень. Перша прораховується миттєво, а от для другої моя реалізація вже не дуже канає. Коли я запустив рішення другої на інтерпретацію, воно виконувалося 25 хвилин 🤣 Я там забув дебажний рядок прибрати, який на кожну ітерацію відкривав файл та писав у нього, і було вже якось впадлу перезапускати. Втім не думаю, що це щось значно змінило б.

Доки воно проганяло це рішення, я спробував скомпілювати прогу в нативний бінарь. Довелося виправити пару помилок, які цьому заважали, та я встиг і пофіксити, і скомпілювати, і запустити, і отримати результат — все доки інтерпретація тривала ) Вислідний бінарь під вінду займає 904 КБ і не має жодних залежностей. Як на мене, вельми непогано!

Чи можна зробити рішення швидшим? Я певен, що так. Бачу низку можливостей. Але… Найбільше сповільнює відсутність досвіду. Вкрай боляче писати мовою, коли доводиться буквально шукати, як проітерувати послідовність або свопнути дві змінні 😵‍💫 Однак проміж роботою та побутовими справами я за вечір та пів дня прочитав 90% книжки про Red, що трохи освіжило деякі знання.

У підсумку: ця мова мені досі дуже подобається! Дати б собі трохи більше часу з нею — і це пісня. Дуже прикро та болісно, що її розвитком не займаються й уже скоріш за все не почнуть. Надії вже не маю.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9



tgoop.com/cpplastic/355
Create:
Last Update:

Тепер власне щодо використання та задач.

Весь синтаксис мови — це купка символів на кшталт дужок і ще декількох типу двокрапки та апострофа. Решта (всі оператори, конструкції для control flow, функції стандартної ліби тощо) гіпотетично могли б бути описані чисто за допомогою них. На практиці ж заради швидкодії деякі функції мають нативну імплементацію, деякі описані в Red/System, а деякі вже на чистому високорівневому Red. Я писав тільки на останньому. Зате згадав і використав їхній хвалений parse-діалект, який дозволяє описувати граматику (PEG). Не те щоб у задачах це сильно треба було, але мені кортіло.

Писати цією мовою я настільки задовбався (не через синтаксис — про це далі), що врешті накодив максимально тупий брутфорс для пошуку рішень. Перша прораховується миттєво, а от для другої моя реалізація вже не дуже канає. Коли я запустив рішення другої на інтерпретацію, воно виконувалося 25 хвилин 🤣 Я там забув дебажний рядок прибрати, який на кожну ітерацію відкривав файл та писав у нього, і було вже якось впадлу перезапускати. Втім не думаю, що це щось значно змінило б.

Доки воно проганяло це рішення, я спробував скомпілювати прогу в нативний бінарь. Довелося виправити пару помилок, які цьому заважали, та я встиг і пофіксити, і скомпілювати, і запустити, і отримати результат — все доки інтерпретація тривала ) Вислідний бінарь під вінду займає 904 КБ і не має жодних залежностей. Як на мене, вельми непогано!

Чи можна зробити рішення швидшим? Я певен, що так. Бачу низку можливостей. Але… Найбільше сповільнює відсутність досвіду. Вкрай боляче писати мовою, коли доводиться буквально шукати, як проітерувати послідовність або свопнути дві змінні 😵‍💫 Однак проміж роботою та побутовими справами я за вечір та пів дня прочитав 90% книжки про Red, що трохи освіжило деякі знання.

У підсумку: ця мова мені досі дуже подобається! Дати б собі трохи більше часу з нею — і це пісня. Дуже прикро та болісно, що її розвитком не займаються й уже скоріш за все не почнуть. Надії вже не маю.

BY Cіпласпластик


Share with your friend now:
tgoop.com/cpplastic/355

View MORE
Open in Telegram


Telegram News

Date: |

Telegram is a leading cloud-based instant messages platform. It became popular in recent years for its privacy, speed, voice and video quality, and other unmatched features over its main competitor Whatsapp. The public channel had more than 109,000 subscribers, Judge Hui said. Ng had the power to remove or amend the messages in the channel, but he “allowed them to exist.” Matt Hussey, editorial director of NEAR Protocol (and former editor-in-chief of Decrypt) responded to the news of the Telegram group with “#meIRL.” End-to-end encryption is an important feature in messaging, as it's the first step in protecting users from surveillance. How to create a business channel on Telegram? (Tutorial)
from us


Telegram Cіпласпластик
FROM American