Eu particularmente não gosto de símbolos, por isso uma das linguagens que menos gosto em termos de sintaxe é Bash, no entanto gosto muito da quantidade de comandos, com isso possibilidades. Também gosto da velocidade do Bash.

Não gosto

$#
$$
!
!#
::
:
if{}
while{}
nome_funcao{}
for{}
&&
||

Tipo da linguagem que eu gosto

global
local
pid
if .. endif
for .. endfor
while .. endwhile
function .. endfunction
and
or
not

Outras coisas que gosto Função que retorna mais de um valor. Na linguagem Lua é possível.

x, y = coordenadas()

Variáveis integradas, vi isso na linguagem de script Autohotkey Você por exemplo faz um loop em uma pasta, pronto, você já tem a disposição variáveis que pegam tudo que é informação (nome, extensão, tamanho, etc.), nem precisa usar funções, etc.

Loop Files, "C:\My Documents\Address List.txt"
    ShortPathName := A_LoopFileShortPath

https://www.autohotkey.com/docs/v2/lib/LoopFiles.htm

A_LoopFileName A_LoopFileExt A_LoopFilePath A_LoopFileFullPath A_LoopFileShortPath A_LoopFileShortName A_LoopFileDir A_LoopFileTimeModified A_LoopFileTimeCreated A_LoopFileTimeAccessed A_LoopFileAttrib A_LoopFileSize A_LoopFileSizeKB A_LoopFileSizeMB

Percorrer caracteres de uma string

texto := "uma frase"
Loop Parse texto {
    MsgBox A_LoopField
}

A_LoopField é um único caracter que muda a cada iteração.

eu entendo, bastante linguagens atuais tem uma gramática bem próxima da nossa, como quero que a gramática não seja uma barreira, ainda tem bastante comandos como and not or por exemplo. sendo sincero, ainda teria que colocar () para ifs, estruturas de repetição, etc... mas vou analisar a ideia de não ser obrigatório. e vai ser possivel retornar mais um valor em funções:

fn func() -> string, int[]{
    string: name = "Ellen";
    int:: arr = [3, 14];
    return name, arr;
}

string: name;
int:: arr = new int[2];
name, arr = func();