Eu encontrei este post pesquisando expressões comuns em C ++, pois tenho me aprofundado bastante recentemente e gostaria que meu código não parecesse tão amador quanto eu sinto ... :-P
Depois de passar um bom tempo com Perl, achei expressões idiomáticas nesse idioma muito parecidas com as encontradas em idiomas naturais, como inglês ou espanhol (apenas duas que conheço bem o suficiente para conhecer algumas expressões idiomáticas).
Eu discordo que um idioma é como um "pequeno padrão de design". Eu ainda discordo, ainda que menos, de que um idioma é uma maneira de solucionar uma deficiência em um idioma.
Talvez a resposta de Luc Danton chegue mais perto, mas deixe-me explicar. Eu acho que um idioma é, bem, idiomático daqueles que usam a linguagem. Geralmente, uma expressão comum ou sequência de expressões que, embora talvez não sejam óbvias, executam uma operação ou expressam intenção de uma maneira que faça sentido para aqueles que são fluentes o suficiente para tê-lo visto antes.
De volta a Perl, talvez o idioma mais conhecido seja a " Schwartzian Transform ", uma expressão que executa uma classificação de dados de maneira compacta e eficiente. Não é a maneira mais óbvia de realizar tal operação, mas é sucinta e quem já a viu antes sabe instantaneamente o que está fazendo.
Outro exemplo notável é " The Orcish Maneuver ", que tira proveito das noções de perl de verdadeiro / falso, operadores ricos e precedência de operadores.
Um que eu pessoalmente gosto bastante está relacionado à Manobra Orc, mas não sei o nome dele:
push @{ $some_hash{$key} ||= [] }, $some_value;
Na verdade, isso não é ofuscação, mas uma expressão clara e compacta de algo que, de outra forma, levaria várias linhas para fazer. Se a chave estiver presente no hash e tiver um valor verdadeiro, des-referencie-a como uma matriz e pressione $ some_value nessa matriz. Se o elemento hash não estiver presente ou tiver um valor falso, atribua a ele uma matriz vazia, desreferencie essa matriz e faça o push.
Também vale a pena notar que, a partir do Perl 5.14, parte desse idioma é obsoleta - o push agora pode operar diretamente na referência da matriz, sem @ {} necessário! Além disso, a partir do Perl 5.10, pode-se usar // = em vez de || =, que verifica não a verdade, mas a definição.