Разработка когнитивно-эргономического синтаксиса для аппаратно-ориентированного языка программирования

alextretyak

Administrator
Staff member
#1
Эта тема форума предназначена для обсуждения данной статьи. (Статья на данный момент не окончена и доступ к ней ограничен.)
 

alextretyak

Administrator
Staff member
#2
Например, такой код на C++:
C++:
while (true) {
    switch (instr[i]) {
    case '[':
        nesting_level++;
        break;
    case ']':
        if (--nesting_level == 0)
            goto break_;
        break;
    }
    i++;
    ...
}
break_:
может быть записан более коротко/лаконично на Python:
Python:
while True:
    if instr[i] == "[":
        nesting_level += 1
    elif instr[i] == "]":
        nesting_level -= 1
        if nesting_level == 0:
            break
    i += 1
Неудачный пример.
Код на C++ можно ведь [было] написать в стиле кода на Python:
C++:
while (true) {
    if (instr[i] == '[')
        nesting_level++;
    else if (instr[i] == ']')
        if (--nesting_level == 0)
            break;
    i++;
    ...
}
 
Top