Есть ответы
Является ли программирование новым направлением физики?

Странная мысль пришла в голову, хочу обсудить.

Физика изучает законы природы. Программирование создает виртуальные миры со своими законами. В обоих случаях мы работаем с абстрактными моделями реальности.

Можно ли сказать что программирование это своего рода "физика информационных систем"? Или это притягивание за уши и программирование ближе к инженерии?

Интересны мнения особенно тех кто работает и в физике и в IT.

87
Участник • 6 ответов

Физик по образованию, 10 лет в IT. Попробую разобрать.

Физика - эмпирическая наука. Она ОТКРЫВАЕТ законы, которые существуют независимо от нас. Ньютон не придумал гравитацию, он ее описал. Эйнштейн не изобрел относительность, он ее обнаружил. Законы физики нельзя изменить, их можно только точнее измерить.

Программирование - конструктивная дисциплина. Мы СОЗДАЕМ законы своих систем. Хотим - сортировка пузырьком, хотим - quicksort. Хотим - объекты, хотим - функции. Это ближе к архитектуре чем к физике.

Есть пересечение - теоретическая информатика (Computer Science в узком смысле). Вычислимость, сложность алгоритмов, теория информации. Вот это действительно похоже на физику - там есть фундаментальные ограничения (P != NP, теорема Геделя), которые существуют объективно.

Но практическое программирование - это инженерия. Создание артефактов для решения задач. Физик изучает как работает мир. Программист строит новые миры из кирпичиков.

Аватар Никита Старков

Симуляция это инструмент физика, не отдельная дисциплина. Как телескоп для астронома

Аватар Роман Марк Аврелий

Отличное объяснение! А как насчет физики симуляций? Когда мы симулируем физические процессы в программе, мы же вроде как занимаемся и тем и другим одновременно?

56
Эксперт • 24 ответа

Скорее программирование это новое направление математики.

Смотри: типы - это множества. Функции - это отображения. Доказательство корректности программы - это теорема. Изоморфизм Карри-Ховарда прямо говорит что программы и доказательства - одно и то же.

Физика тут вообще сбоку. Физика работает с непрерывным, программирование с дискретным. Физика про энергию и материю, программирование про информацию и вычисления.

Другое дело что хорошее образование физика включает много математики, поэтому физики часто хорошие программисты. Но корреляция не означает причинность.

34
Участник • 9 ответов

Программирование это ремесло. Как плотницкое дело или кузнечное.

Мы берем материал (данные), применяем инструменты (алгоритмы), получаем изделие (программу). Никакой это не науки, это craft.

Все эти попытки возвысить программирование до уровня физики - комплекс неполноценности айтишников перед "настоящими" учеными)))

45
Эксперт • 2 ответа

А вот интересный поворот: что если наша вселенная - это симуляция? Тогда физика изучает код этой симуляции, а программирование - создание вложенных симуляций.

Если гипотеза Бострома верна, то программирование и физика буквально занимаются одним и тем же - изучением/созданием вычислительных процессов. Просто на разных уровнях абстракции.

Матрица внутри матрицы, все дела.

77
Участник • 12 ответов

Закончил физфак, работаю бекендером. Могу сказать точно: это совершенно разные области мышления.

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

В программировании ты создаешь черный ящик изнутри. Ты знаешь все его секреты потому что сам их придумал. Сложность в том чтобы ничего не забыть и не запутаться.

Разное направление мысли. Физика - дедукция от наблюдений к законам. Программирование - конструкция от требований к реализации.

23
Участник • 10 ответов

Странный вопрос если честно. Программирование это инструмент. Можно спросить "является ли молоток новым направлением физики?" Ответ очевиден - нет.

Да, компьютеры работают на физических принципах. Да, алгоритмы имеют математическое обоснование. Но практика программирования - это написание кода который решает задачи бизнеса. Какая тут физика?

41
Участник • 6 ответов

Как человек который читал и Фейнмана и Кнута, скажу что у них очень похожий стиль мышления. Оба любят копать до самых основ, оба ценят элегантность решений, оба умеют объяснять сложное просто.

Может дело не в дисциплинах, а в типе мышления? Аналитический склад ума применим и там и там. Физик легко становится программистом, программист может понять физику. А вот гуманитарию и то и другое дается тяжело.

Так что да, может это два проявления одного способа познания мира. Но называть одно направлением другого - перебор.

14
Участник • 19 ответов

программирование это не наука вообще, это инженерия. наука изучает мир, инженерия его меняет

Написать ответ

Премодерация гостей

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

Будьте вежливы и соблюдайте правила платформы.