В своем курсе CS50 профессор Малан в течение одной из лекций наглядно демонстрировал что такое программирование - он усадил несколько добровольцев из аудитории и они вместе делали бутерброд (или сАндвич, кому как угодно). На просторах интернета еще много было видео про отцов-программистов, которые делали так же бутерброды по инструкции своих детей. Суть подхода везде была такова, что программирование - это составление четких инструкций для компьютера к исполнению, которые он не может интерпретировать как-то иначе. Как мне кажется, эта концепция хороша, но для скриптов или для разбора отдельных методов/функций, но не для создания программ в целом. Мне захотелось найти более общую метафору для программирования.
(Рассуждения приведены относительно языка Java)
Представим, что мы строим здание. Если конкретнее - жилой многоквартирный дом. Из чего он состоит? Любому зданию нужны фундамент и каркас - это основа. Как это соотнести с программированием - наверняка вы слышали о таком слове, как фремворк, которое почти дословно можно перевести как каркас. Каркас может отличаться в зависимости от требований застройщика, особенностней окружающей среды, температурного режима, а также бюджета. Дом можно построить на фундаменте из свай, железобетонной плите, стены можно сделать из кирпича, пеноблока и т д. Точно так же для программы можно выбрать основу - Spring для приложения, Cucumber/JUnit для автотестов.
После каркаса нас интересуют этажи. Как обстоят дела с ними - для начала до строительства архитектор создает чертеж типового этажа жилого дома, а потом строители уже по чертежу воспроизводят один и тот же этаж раз за разом (в надежде на изменения) столько, сколько требуется. В программировании есть понятие класса и объекта - вот наглядный пример этих сущностей. Класс - тот самый чертеж от архитектора, а сами этажи - это объекты или экземпляры класса.
Комментарии 0
Войдите, чтобы оставить комментарий