Наиболее полезным инструментом в проектировании и разработке является инструмент, который нам всем хорошо знаком, но далеко не все предвосхищают его удобство.
Конечно же, речь идет об абстракции.
Итак, ближе к делу, как можно и нужно использовать абстракцию в программировании? Очень просто. Следует воспарить над любой задачей или проблемой как орел, оглядеть ее от края и до края и постараться разделить ее на составные части. По каким признакам происходит деление? Здесь в игру вступает системный анализ. Очень полезный предмет. Мне довелось прослушать курс системного анализа на первом курсе Магистерского Корпоративного Факультета, где, напомню, я на данный момент прохожу обучение, и где cogear является моим магистерским проектом. Да, пусть нам информация преподносилась в сфере математики и информатики, но все в нашем мире настолько взаимосвязано, что порой бывает трудно в это поверить.
Применив системный анализ и абстракцию в процессе создания ядра cogear² я достиг тех феноменальных открытий, которые многие из вас уже сейчас могут найти в репозитории проекта.
Запомните. Любую сложную проблему можно поделить на две и более простых. Уйдя от пресловутых JOIN в сторону кеширования, мы получаем возможность не ограничивать себя логикой реляционных БД и собрать адаптеры для работы, например, с MongoDB или Redis. Возможно все.
В который раз убеждаюсь, что с новой структурой движок, наконец-то, стал именно тем продуктом, который я когда-то задумывал (в 2009 году).
Еще один совет. Устали биться головой о стену, решая задачу? Отойдите от нее, займитесь другим. Сделайте что-то полезное в реальном мире, отдохните. На следующий день вы сможете посмотреть совершенно другим взглядом на тот же вопрос.
Я хочу донести до каждого посетителя сайта мысль о том, что в программировании крайне важным является наличие идеологии, философии и культуры. Иначе все это превращается либо в роботизированный труд, либо в кипы говнокода, либо еще во что-нибудь эдакое.
Запомните. Задумайтесь. Самая сильная мотивация идет изнутри.


Вся наша жизнь состоит с решения неких задач и проблем и когда мы сможем получать удовольствие от решения, на первый взгляд, сложных задач и проблем, мы сможем в большей мере получить удовольствие от жизни.