Этот случай из жизни я уже когда-то рассказывал, но повторюсь - вдруг кто не слышал.
Давно это было. Я только начинал изучать программирование. Сижу, значит, что-то пишу. И тут заходит в гости приятель и видит, что я что-то делаю за компьютером. Спрашивает: что делаешь? Отвечаю: программу пишу. Он, с удивлением и радостью: так это что, просто печатать текст, и всё?
Забавно. Но люди почему-то видят только то, что хотят видеть. Или то, что им показывают. Но почти никто не пытается понять глубинный смысл происходящего.
Да, программировать - это просто печатать (писать) буквы. Лев Толстой, Достоевский, Шекспир - они тоже всего лишь писали буквы. Также как писать картины - это всего лишь водить кистью по холсту.
Впрочем, есть и другая сторона медали. Научиться программировать (то есть понять, как писать программы) может каждый. Это всего лишь вопрос получения навыков. Ведь немногие знают, как работает двигатель внутреннего сгорания, но это не мешает им уметь ездить на автомобиле.
Также как научиться писать может любой, и сегодня это умеют почти все. Но это - лишь инструмент. Каждый умеет держать в руке молоток и топор, но не каждый может срубить дом (я сказал “срубить”, а не “построить”, потому что раньше это слово употреблялось очень часто, ну во всяком случае, в наших краях).
Поэтому и научиться программировать может каждый, а вот СОЗДАВАТЬ хорошие программы дано не всем.
Однако это вовсе не значит, что изучать программирование должны лишь избранные. Наоборот, я убеждён, что знание основ программирования не помешают никому. Человек любой специальности, а в особенности инженерной, может использовать программирование для решения каких-то своих повседневных задач, тем самым автоматизируя рутинные операции и облегчая себе жизнь и работу.
Если вы в состоянии написать пошаговую инструкцию, например, о том, как пройти к вашему дому, то вы можете написать и программу для компьютера.
Самое сложное в программировании - это не язык программирования, а именно проектирование - описание задачи, которую необходимо решить, разбиение большой задачи на несколько маленьких (то есть выделение небольших проблем, из которых состоит большая проблема), продумывание структуры программы, создание объектной модели и т.п. Но это уже другая история…
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.