В Пиооне всего 36 ключевых слов
Куда уж короче то ?
На самом деле можно свести до состояния Brainfuck с его 8 операндами, или Whitespace с его 3 операндами
Но я думаю тебе не понравится на них писать, даже при таком "упрощении"
ПС Рекомендую почитаь про FALSE - там меньше чем в питоне но больше чем в Brainfuck и вообщемто работу с ним можно назвать программированием а не Brainfuck-ированием
Я имел в виду другое. Результирующую длину программ, а не инструмент для их написаний. Инструмент-то как раз может быть сложнее, но итоговая программа, по идее, должна быть короче и читабельнее. А что касается малого количества ключевыз слов, то скоре всего ключевых выражений там много из этих ключевых слов. И имеет значение именно ключевые выражения, типовые обороты синтаксиса, так сказать.
Как "тыжепрограммист" поясню

0. Результирующий исполняемый код не будет меньше кода на Ассемблере/бинарном коде. Все компиляторы и трансляторы преобразуют высокоуровневый язык в бинарный код, с оптимизацией. И финальный код будет +/- один и тот же. Ни один язык не будет например реализовывать цикл через: переменная++, если она=1 то 2, если 2 то 3, если 3 то 4,....
1. Результирующий исполняемый код, для компилируемых языков, фактически никак не изменится от того, сколько ключевых слов или какова их длинна, у языка высокого уровня, на котором пишется код.
2. Если мы говорим о транслируемых языках , там ситуация такая же - большой хорошо читаемый код, потом транслируется в байткод или нечто подобное, что уже исполняет процессор.
Сейцчас на примерах покажу
Пустой Цикл от 1 до 10:
..на любимом Python
for i in range(1, 11):
pass
..на Java
public class SimpleLoop {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
}
}
}
..на JavaScript
for (let i = 1; i <= 10; i++) {
}
..на C
#include <stdio.h>
int main() {
for (int i = 1; i <= 10; i++) {
}
return 0;
}
..на Pascal
program SimpleLoop;
var
i: Integer;
begin
for i := 1 to 10 do
begin
end;
end.
А вот во что это все превратится на выходе, условно перед бинарным кодом:
section .text
global _start
_start:
mov ecx, 1
loop_start:
inc ecx
cmp ecx, 11
jl loop_start
mov eax, 1
xor ebx, ebx
int 0x80