Erlang je silně velmi rozšířený a používaný mainstreamový jazyk. :-)
Každý jazyk si vynucuje nějaká pravidla pojmenování identifikátorů - nicméně pro všechny identifikátory v modulu/programu jsou obvykle pravidla stejná bez ohledu na to, zda jsou to konstanty, proměnné, třídy, funkce, atd.. A tak to má být. Jen mizivé procento jazyků nemá takto konzistentní řešení.
U konstant je rozdíl mezi "lidským pojetím konstanty" a "počítačovým pojetím konstanty". A mohou se lišit pravdila pro psaní i mezi těmito dvěma pojetími. Programovací jazyk Vám vždy vnutí jen to počítačové pojetí. Ale programátoři (dobří) píšou zdroják pro člověka - a počítačová konstanta může být navenek prezentována třeba jako proměnná (pokud jí třeba v další verzi jako proměnnou hodláte udělat). A nebo tisíc jiných možností.
Ohledně Ruby - nemám nic proti němu, ale rozhodně to není jazyk, který by měl být vzorem. Mnoho věcí vyřešil dle mého soudu nepříliš ideálně. A zvláště pokud znáte vzor Ruby, Smalltalk - kdysi hodně populární a velmi čistý jazyk, pak pochopíte dvojnásob. Jestli bych něco nerad, tak to aby se Rubym inspirovali jiné jazyky, a už vůbec ne v oblastech jako je nesmyslné vnucování velikosti písmen v identifikátorech přímo na úrovni syntaxe.