Какой предмет во время обучения вам нравился меньше всего и почему?

Ответ

Менее всего увлекала философия. В контексте обучения программированию она казалась излишне абстрактной. Практическое изучение паттернов проектирования или алгоритмов было для меня гораздо продуктивнее.

Интересный параллелизм: Позже я осознал, что фундаментальные принципы разработки ПО, такие как SOLID, по своей сути являются прикладной философией, формирующей подход к созданию архитектуры.

// Абстракция, которая была бы ближе в то время:
interface DeveloperPhilosophy {
    void build();
}

class JavaDeveloperPhilosophy implements DeveloperPhilosophy {
    @Override
    public void build() {
        // Принцип: инъекция зависимостей повышает тестируемость
        System.out.println("Favor composition over inheritance.");
        System.out.println("Dependency Injection is a powerful form of IoC.");
    }
}

Ответ 18+ 🔞

А, философия, блядь... Ну, слушай, в те годы, когда я только в код вгрызался, эта вся хуйня с философией казалась мне такой же полезной, как сиськи на байке. Ну, в смысле, красиво, но нихуя не по делу. Какая нахуй метафизика, когда у тебя алгоритм сортировки пузырьком на третьем проходе глючит, а ты понять не можешь, где там у тебя off-by-one ошибка? Вот это реальная трагедия, а не "бытие определяет сознание", ёпта.

Мне тогда казалось, что паттерны проектирования — это вот оно, мясо. Или там Big O нотация — это святое. А философия... Ну, бля, пустая болтовня для тех, кто в жизни ни одного класса не написал.

Но потом, сука, приходит озарение, как пиздюлей по лбу. Сидишь ты, такой, пишешь очередной сервис, и понимаешь, что вся эта твоя "практичность" привела к такому монолиту, что самому противно в него лезть. И тут до тебя доходит, что эти ваши SOLID-принципы — это и есть та самая, блядь, прикладная философия! Просто не про жизнь и смерть, а про то, как не выстрелить себе в ногу архитектурой. Это ж чистая логика, обёрнутая в здравый смысл, чтобы твой же код через полгода тебя же не послал нахуй.

Вот смотри, как это могло бы выглядеть, если б я тогда мозги включил:

// Абстракция, которая была бы ближе в то время:
interface DeveloperPhilosophy {
    void build();
}

class JavaDeveloperPhilosophy implements DeveloperPhilosophy {
    @Override
    public void build() {
        // Принцип: инъекция зависимостей повышает тестируемость
        System.out.println("Favor composition over inheritance.");
        System.out.println("Dependency Injection is a powerful form of IoC.");
    }
}

Вот видишь? Это ж и есть философский манифест, только для программиста! "Предпочитай композицию наследованию" — это тебе не хухры-мухры, это, блядь, целое мировоззрение о том, что системы должны собираться из гибких частей, а не быть одним огромным, ебучім наследуемым пиздецом. А инъекция зависимостей? Да это же, ёпта, чистый прагматизм: не цепляйся за конкретику, работай с абстракциями, и тогда тестировать будет не больно. В рот меня чих-пых, да это же высшая мудрость, просто в другом флаконе!

Выходит, я тогда был слепой, как крот. Думал, философия — это про бородатых мужиков, которые спорят, есть ли звук, если дерево упало в лесу, а рядом никого нет. А оказалось, она, сука, повсюду. Даже в том, как ты пишешь цикл for или решаешь, выносить ли конфиг в отдельный класс. Просто раньше я этого не видел, потому что мозги были забиты синтаксисом и ошибками компиляции. А философия-то, она тихая, она ждёт, пока ты сам до неё дозреешь.