Kolyaj, вот есть, например, какие-то данные и то, что из них нужно получить. Можно придумать "идеальный" алгоритм для этого. Далее начинаем описывать этот алгоритм на каком-то ЯП, и вдруг оказывается, что язык не достаточно гибок для этого (или может реализация получается слишком объемная/медленная, или еще что-то не так). Тут вместо того что бы дальше гнуть язык под алгоритм часто начинают изменять сам алгоритм так что бы его можно было легче описать. В html-верстке подобное (структура изменяется для более удобного описания внешности из css) называется "несемантичная верстка". Как это правильней назвать в программировании? Все умные слова уже позанимали
.