Any programmers would have been taught about styles. Coding style is perhaps a bit like the way we choose to dress; it projects an image we would like other people that perceive us. The style of our code affects how other programmers perceive our programs. When the code promotes a high readability, then others programmers are more likely to judge it as a good program, otherwise it is more likely to be judged as poor.
A high readability lowers the comprehension down
The software engineering industry relies on writing programs, but also extending them and debug the programs. Programmers and software engineers production improves when a task is produced in a very short of time. Money is saved and profit increases. However, this can only occur when the code is written with a high readability.
Readability is a characteristic of a code (or a document) that can be understood easily. To raise my point, I will give you a few very different texts. It is unfair to take on the Great William Shakespear. His text is clearly written using a version of English that is not used anymore. At the time, this text would have been understood by any capable readers. Nowadays, a barrier appears to have risen as the language has evolved through time. The second text is more contemporary and would appeal to more readers. The comprehension barrier has been lowered and it is much easier to make sense of this content of the text.
Example 1
“Let me not to the marriage of true minds
Admit impediments. Love is not love
Which alters when it alteration finds,
Or bends with the remover to remove.
O no, it is an ever-fixed mark
That looks on tempests and is never shaken;
It is the star to every wand’ring barque,
Whose worth’s unknown, although his height be taken.
Love’s not Time’s fool, though rosy lips and cheeks
Within his bending sickle’s compass come;
Love alters not with his brief hours and weeks,
But bears it out even to the edge of doom.
If this be error and upon me proved,
I never writ, nor no man ever loved.”
― William Shakespeare, Great Sonnets (source: http://www.goodreads.com/quotes/tag/shakespeare)
Example 2
People have defined readability in various ways, e.g., in: The Literacy Dictionary,[2] Jeanne Chall and Edgar Dale,[3] G. Harry McLaughlin,[4] William DuBay.[5]
Easy reading helps learning and enjoyment, so what we write should be easy to understand.[6]
While many writers and speakers since ancient times have used plain language, the 20th century brought more focus to reading ease. Much research has focused on matching prose to reading skills. This has used many successful formulas: in research, government, teaching, publishing, the military, medicine, and business. Many people in many languages have been helped by this.[7][8]
By the year 2000, there were over 1,000 studies on readability formulas in professional journals about their validity and merit.[9] The study of reading is not just in teaching. Research has shown that much money is wasted by companies in making texts hard for the average reader to read.[10]
There are summaries of this research; see the links in this section. Many textbooks on reading include pointers to readability.[2][11][12][13]
(source: https://en.m.wikipedia.org/wiki/Readability)
Tools for increasing readability
The same thing happens within a programming context. Code that is easy to understand lowers too the comprehension barrier and can then be extended and errors corrected. Applying tools for human-computer interaction has improved greatly the tools available to the programmers to lower these barriers.
When we had only black and white screen, programmers relied on the indentation of the code to delimit the start and the end of a programming structure. Programs, modules, procedures, functions, repetitions, conditions needed to be identified clearly. The affordance was increased as the elements of the programs were clearly presented. For example, lLanguages like Pascal (now Delphi), Fortran, Visual Basic, Python have integrated keywords that helps identifying the starts and end of each section of the code. Other languages have adopted the “curly brackets” for controlling the structures. Originating in the late 1960s with the programming language C, this style of programming has then been adopted by Java, C-Sharp, JavaScript, C++, and many others. With such programming languages, two schools of styles has arisen. The Lin-Kernigan notation places the opening brackets “{” on the same line as the structure starts and the others does not. The author prefers the second method, as it is much easier to read. The Open University has also adopted this style in its courses for the same reasons. Nonetheless, it is up to the reader to make its own mind, with the style they are comfortable with.

When colour screen became widespread, the human-computer-interaction improved greatly. The efficiency of the editor was enhanced by showing the keywords of a programming language in colour too. The visibility increased and the coders were rewarded immediately by the keywords changing colours once they have been spelt correctly. In the experience of the author, this was a great improvement; the coding time was reduced, as the need to compile the code was reduced. It helped the coder not only to identify mistyped keywords immediately, but also make sense of a program much more easily.
Then, graphical user interfaces gave more guidance to the programmers. Drag-and-drop tools generate pre-coded structures. Not only the production of code is shorten, but also errors are prevented to be introduced by the programmers. This type of programming tools encourage some exploration from the users that could lead them to discover new patterns of operations. A type of dialogue can occur by testing and assessing various combination. Some changes can be instantaneous. Young programmers love also the type of exploration interactions to find ways to code simple programs. Games kits take advantage in online development platforms, to open to a wider community. This has opened programming to a new generation of programmers, which is a good thing. However, some of them find very challenging to produce a basic program using a normal editor. In the 1990s, this type of graphical user interfaces were introduced in a much more simpler way in an attempt to cut the development cost. It opened many inexperienced programmers to development, but has yet to be used with more experienced computer scientists. Nonetheless, they are popular in website design and also in the development of animated images.

Importance of coding style
What ever tools a programmer uses coding style matters. Other programmers are likely to extend the code and/or correct any errors. Programmers spend most of their time in such activities, whether a system is maintained or extended with some new functionalities. Bugs do occur and need to be fixed. A high readability helps identifying the structure of the programs and how the components are linked together. The style improves greatly the completion of this task.
A well-commented code helps other programmers familiarising with the purpose of each method, function and procedure. Also each step of an activity diagram can be mapped within the code. All these aspects can reduce the maintenance of the software in the long term, despite increasing the work during the original development.
Indenting clearly and delimitating clearly blocks of code makes the code easier to read. Any experienced programmers are likely to identify quickly the different activities the code is aiming to achieve. More importantly, errors are less likely to be introduced too.
Functions should return only one value. Some coding practice alters the value of other variables too, to save some coding time. Although this works, it could introduce errors very easily, if the function is misused at a later stage of development. Perhaps a procedure and a function should be considered.
Notwithstanding all these elements, sensible coding style relies onto the developmental environment and its hardware. Nowadays, many hardware platforms can held and manipulate quite a lot of bytes. So the number of variables may not become an issue. Still some very specific hardware platforms still require to mind every bit and byte a programmer uses. So iterations and selections become very useful, despite affecting the code readability. Look at the example below; it implements a counter. The number of instructions evaluated increases, but potentially the number of variables is reduced. Also in the opinion of the author, it is harder to understand the structure.
int i = 0;
while (true)
{
if (i < max)
break;
i++;
}
This above example clearly illustrates that human experience shapes the programmer’s attitude towards coding style. It is a fascinating experience to witness beginners programmers adopting their own coding style. Very quickly as the complexity of their programs increases, they are naturally encouraged to use more effectively functions, procedures or methods as well as indentation and delimitates their sub-sequences of codes. Their comments tend to become more detailed too. Others need a lot of guidance, but find their way successfully. On the whole the coding style add a lot more clarity and contribute additional significance.
Human-readability and computer generated code
The expressiveness of an encoding scheme would contribute to generate short and well contained code or a lot of « gobbleegook” . Unlike humans, computers are not limited by their experience. Humans tends to focus on a small area of the algorithm search space. If you image, that the algorithm search space is as big and the European continent, then Switzerland would represent the sub-area the human brain would consider. The other area are likely to be ignored due to a lack of experience. A stochastic or exhaustive search of algorithms would explore Germany, France, Portugal, Russia and and the rest of the continent to verify whether or not these algorithms would become a suitable solver for a specific problem. However, these algorithms may be more effective, but their human readability could lowered. In traditional tree-based genetic programming the solutions of the problems found by such method are studied. The program itself is not often studied or extracted. In these instances, the generated algorithms is very challenging to understand and proved it is working by the human mind. The operators are often long and very illogical to the human brain. As a result, these « algorithm-solutions » are often not trusted. Perhaps it is a missing opportunity for human to use more effectively computers to programs new computer programs.
With neural-network, the patterns of instructions are generated with a large set of data. The learning phase can then match the best combination by changing the probability of connection between each « synapses ». Microsoft has used this techniques to develop some of their games console and would admit the logic behind the code could be quite hard to understand as a consequence. To increase human-readability in the context, a much concise encoding scheme needs to be chosen, so that the size of the program does not become too big. Grammatical Programming has achieved to a certain aspect this aim. It relies on human domain knowledge to guide the search, limiting again the exploration. This is still an open question that needs to be answered …