Вы что-нибудь понимаете?:). Ну вряд ли. Дешифровка этого языка идет уже почти 200 лет с переменным успехом. В ИТ такая организация программного кода называется “спагетти-код”. Его так называют, потому что он весь извилистый и непонятный.



Вот другой пример, фестский диск, который был создан минойской цивилизацией. Минойская цивилизация главенствовала в Средиземноморье много тысяч лет назад. Ему тоже несколько тысяч лет. Его нашли на Крите (это там где минотавр жил, для тех кто не знает). Когда я там был, то местный год мне рассказал теорию, что минойская цивилизация – это цивилизация атлантов или другой высокоразвитой цивилизации, которая погибла в результате взрыва вулкана на острове Санторини. Посмотрите на этот диск, вроде все символы хорошо пропечатаны и изображают разные рисунки, но, к сожалению, никто еще так и не смог прочитать этот диск. Например, возникает вопрос, откуда его читать, с краю к середине или от середины к краю. Что означают деления на диске? Где заканчивается одна часть этого кода и начинается другая. Чтение чужого программного кода выглядит точно также. Вот вы его открываете, и вроде видите знакомые очертания, но не можете понять, а что же за смысл там скрыт. Вы будете, наверное, удивлены, но очень много я встречал вот таких вот артефактов в ИТ ландшафте, когда разбирал завалы и полки со старыми системами. В каждой большой компании есть свой гараж бэтмена, где лежат забытые технологии, которые никто не помнит, как использовать и для чего они создавались. В лингвистике, если ты программируешь, то тебе легче изучать древние языки. Инженерия очень тесно связана с окружающим миром и является его проекцией, но в ноутбуках и компьютерах. Если у вас не будет ИТ культуры, то со временем все ваши системы и технологии придут в упадок, при этом ваш авторитет или стиль управления не будет иметь никакого значения, ведь вы временное звено в цепочки управления ИТ и технологией. Технология должна сама жить без вас и передаваться из поколения в поколение, но не через из уст в уста, а через правила. Если вы посмотрите историю человечества, то технологии, которые дожили до нашего века и улучшились, они все были описаны и записаны. Их раскладывали по полочкам и учили принципы со школы, так чтобы следующее поколение могло взять и начать использовать интеллектуальные труды предыдущего. К сожалению, у человека, как у пчел не заложено принципы использования технологии в ДНК. Может быть, когда-нибудь, программирование, так и стили программирования и правила, будут заноситься в ДНК или зашиваться куда-то на подкорку, а пока этого не произошло, попробуйте в своей компании выстроить преемственность программного кода и вы увидите, как люди перестанут изобретать велосипед, писать заново одни и те же библиотеки и методы.


Сами Правила должны быть для каждого языка и для каждой системы свои. Вам не удастся создать общие для всех Правила, ну и это бессмысленно. Сами Правила можно разделить на 2 типа:

1. Code Standards – правила построения алгоритмов и использования переменных и тд):

○ длина идентификаторов и переменных

○ какие имена можно назначать переменным – используют только смыслово значимые переменные, например Age вместо a73fsfBd для хранения возраста

○ регистра букв и цифры – например некоторые языки чувствительные к регистрам, т. е. переменные Age и AGE будут восприняты, как разные.

○ правила использования спец. символом – тут они тоже есть, это всякие /? и другие

○ слова, разделенные буквами, – AgeOfEmpires итд

○ правила формирования типов переменных – каким значениям можно присвоить логические типы, а каким числовые. Например, когда присваивать логический тип boolean, а когда числовой