На самом деле нет никакой “магии” в программировании! Нет и не может быть. Точно так же как нет её ни в чем, что связано с наукой. А тот, кто утверждает, что в программировании существует какая-то магия, ничего не понимает ни в магии, ни в программировании.
Однако, в отношении программирования всё-таки допустимо употребление термина “магия”. Почему?
Потому что само программирование практически лежит в нематериальной области: мысль, алгоритм, программа, текст, код – это все электрические импульсы и заряды, а то и вообще “сияние чистого разума” программиста. При этом программист через свои программы (так же, впрочем, как и пользователь – через программы, написанные программистами) может воздействовать не только на программные или компьютерные (нематериальные) объекты, но и на любые материальные объекты – посредством программно управляемых устройств и механизмов.
А ведь “магия” в классическом определении и есть воздействие нематериального мира на мир материальный (и нематериальный тоже). Вот в этом смысле (и только в этом!) – допустимо говорить о возможном употреблении термина “магия” применительно к программированию. Только в смысле воздействия на материальный мир из области нематериального.
И это совсем не тот, распиаренный для невежественных дурачков смысл, который всем пихают великие “гуру-коучеры” от программирования: что якобы программа или компьютер вдруг сами что-то сделают или додумают за пользователя так, что глупец и неуч сможет написать правильную программу, или что неправильно написанная программа вдруг сама “волшебным образом” заработает как надо.
Нет! Такого не бывает и не будет никогда. Это всё “реальные истории” программистов-недоучек или сказки поп-коучей для недоучек – чтобы завлекать их на свои курсы – и всё.
Конечно же, нам очень хочется мечтать о магии, очень хочется чтобы что-то само “по щучьему велению” сделалось за нас, однако, все это – из области сказок: закон сохранения энергии никто не отменял…
У начинающих программистов также может создаться впечатление, что в программировании “есть что-то магическое”, но это – ровно до того момента, пока они сами не стали профессионалами и не разобрались, как работает та или иная функция. Точно так же можно подозревать “что-то магическое” и в собственном смартфоне, и в обычном автомобиле, да хоть в дверном замке – пока не понимаешь, как он устроен и функционирует.
Разумеется, не стоит забывать, что даже для разработки программ сейчас создаются всё более новые и совершенные программы, которые пытаются искать в программах не только синтаксические, но и логические ошибки, оптимизировать код (если только он правильно написан!), подсказывать ввод следующих команд. Но… насколько часто вам помогают своими подсказками программы набора текста (клавиатуры) в ваших смартфонах, особенно вам надо написать не банальное “Привет-Пока”, а сложный текст? То-то! Программа не может быть умнее (именно умнее!) человека. Информированнее, быстрее – да. Но и только.
Вспомните, насколько сложно в сказках получить магическую помощь от хитрого и недоброго джинна, насколько опасно подписывать договоры с нечистой силой: всегда какая-нибудь мелочь окажется неучтённой и в самый неподходящий момент сыграет свою решающую, строго зловредную роль. Точно так же и в программировании: хочешь халявы – получишь в лоб, расслабишься и не учтешь чего-то – жди беды… Магия? Почему бы и нет? 🙂
Кстати, гораздо чаще о “магии” настоящие программисты говорят в смысле “чёрной магии” – когда делаешь всё правильно, проверяешь программу 100 раз, исправляешь, переписываешь, гоняешь её в отладчике, а она, зараза – “не хочет” работать (@&%#&%!!!!!!) – вот тут уж точно без “черной магии” не обошлось!.. 🙂
Поделиться:
Пишите нам в комментариях, какие элементарные или кажущиеся таковыми, вопросы из различных областей человеческих знаний вам хотелось бы разобрать: