Code in a good programming language does not reveal its author
A good programming language limits choices, and provides a One True Way. In a good programming language, two pieces of code written by two developers should look alike.
Syntax
A good programming language should either be strict in the syntax it accepts, or provide a built-in source code formatter (with little or no configuration options).
Go has a built-in source code formatter, and all Go source code looks alike.
Ruby has Rubocop, which has created a great deal of consistency in modern Ruby projects. Even though it is an unofficial tool, it has become a de-facto standard.
Aliases
A good programming language should either provide no aliases for functions and methods, or make it clear which variant is the canonical one.
A source code formatter could help to ensure source code only uses the canonical names, though this might only be realistic in a statically-typed language.
Ruby fails at this. Many methods have alternative names. For example, there are the identical methods #select
, #find_all
, and #filter
, and there is no canonical one. The unofficial Ruby style guide has guidance on the canonical name for the map/find/select/reduce/include?/size methods , but it remains an unofficial style guide.
References
Batsov, Bozhidar. (2011) 2021. “Ruby Style Guide.” https://github.com/rubocop-hq/ruby-style-guide.