1

Тема: OFF: О синтаксическом сахаре.

Всем привет:) Хотел с вами, коллегами, переговорить по синтаксическому сахару. Дело в том, что, как вы может быть заметили, я веду работу над средой, которая упростит и ускорит (по моей фантазии) решение задач  на JScript (WSH и HTA). Кроме того, уже мной опубликован статический синтаксический анализатор, который будет выявлять и убирать неиспользуемые функции в коде. Но мне этого мало. Мной планируется добавить предобработку кода JScript, которая также будет направлена на упрощение написания кода. Код, написанный в "новом" варианте, впоследствии будет конвертирован в классический JScript.
Так, по моему глубокому убеждению, сценарному языку JScript не хватает на уровне синтаксиса следующих возможностей:
1) возможность отключения экранирования символов в строках. Это запросто упростит использование в коде скопированных путей типа "C:\Windows\System32" или WMI-запросов. Будет реализовано так: var path=@"folder\text.ini";
2) возможность использования многострочных строк.

var pathes = #"test
string
thnx";

3) при этом предусматривается возможность комбинирования первых двух возможностей:

var pathes=@#"C:\Soft\skype55.zip
C:\Soft\skypekit_sdk+runtimes_370_412.zip
C:\Soft\tor-browser-2.2.37-1_en-US.exe"

4) использование лямбда-функций:


var ar = [0, 1, 2, 3, 4, 5, 6];
WScript.Echo(ar.map(f -> f<3));

5) возможность использования LinQ.

Коллеги, абстрагируйтесь и представьте будто вы создаете новый язык программирования, какой бы вы синтаксический сахар внесли, кроме того что уже имеется в JS и мои предложениях?

Заранее спасибо.

2

Re: OFF: О синтаксическом сахаре.

Как на счет аналога inject в Ruby или декораторов в Python? Очень удобные штуки.

3

Re: OFF: О синтаксическом сахаре.

Использование многострочных строк на JScript:

WScript.Echo("test1 \
string \
thnx")
WScript.Echo("test2 \n\
string \n\
thnx")

4

Re: OFF: О синтаксическом сахаре.

greg zakharov, весьма круто. Есть над чем поломать голову, особенно когда идет речь о Питоне.

badik, вот именно такой вариант не устраивает совершенно, потому что мне приходится добавлять к каждой подстроке последовательность "\r\n\". А вставить фрагмент текста между #" и " не составит труда.

Можно еще добавить в функции аргументы со значением по умолчанию. Это тоже своего рода синтаксический сахар.

5

Re: OFF: О синтаксическом сахаре.

"Синтактический сахар" это попытка создать свой Препроцессор

У каждого мастера есть свои инструменты и секреты:
Препроцессоры
jsmake-preprocessor
JavaScript Preprocessor