На днях я наткнулся на довольно старый пост Usenet от Linus Torwalds. Это печально известное сообщение «Вы полны бычьего ****», когда он защищает свой выбор использования простой C для Git над чем-то более современным.Абстракция или нет?
В частности, this post заставило меня задуматься о огромном количестве слоев абстракции, которые накапливают один над другим, где я работаю. Mine - это среда Windows .Net. Я должен сказать, что мне нравится C# и среда .Net, это действительно облегчает большинство вещей.
Теперь я исхожу из совершенно другого фона, сделанного из технологий Unix, таких как C, и множества языков или скриптов; для меня, также, ООП - это только одна, а не всегда лучшая парадигма программирования. Я часто борюсь (в рабочем виде, конечно!) с моими коллегами (в частности), потому что они, похоже, «любая проблема может быть решена с помощью дополнительного уровня абстракции», в то время как я больше занимаюсь «поддержанием ее простой» школы. Я думаю, что существует очень иной ментальный подход к проблемам, который, возможно, происходит от воздействия различных культур.
Как очень простой пример, для первого проекта, который я здесь сделал, мне нужна была некоторая конфигурация для приложения. Я создал класс из 10 строк для загрузки и анализа файла txt, который должен быть расположен в корневом каталоге программы, содержащем пары ключ/значение, разделенные двоеточием, по одному в строке. Это сработало.
В конце концов, чтобы стандартизировать подход к проблеме конфигурации, теперь у нас есть библиотека, которая будет размещаться на каждом компьютере, на котором запущена каждая настроенная программа, которая вызывает службу, которая при запуске загружает xml, который содержит ссылки на другие xmls, по одному на приложение, которые содержат сами конфигурации.
Теперь оно расширяемо и составлено из фантастических многоразовых абстракций, поставщиков и всех, но я все же думаю, что если мы когда-нибудь действительно повторим его часть, со временем, чтобы это сделать, мы можем сделайте необходимый код с самого начала или скопируйте/прошлый старый код и измените его.
Что вы думаете об этом? Можете ли вы указать какую-то интересную ссылку на проблему?
Благодаря
Что вы хотите сказать? Вы спрашиваете конкретно об этом коде конфигурации? –
Опросы общественного мнения должны быть wiki сообщества. – 2010-02-17 15:16:43
Добавление слоев абстракции * это * сохранение его просто. Точка дополнительной абстракции - это упрощение вещей на другом уровне. –