Pull to refresh
35
0
Send message
Нет, две полоски будут при наличии детекторов.

Сколько не сталкиваюсь в обсуждении эксперимента с щелями — каждый раз одно и тоже. Много слов — что бы навести магию и мистику. И в результате получить ничего.


Почему никогда не обсуждают как устроен детектор. Вот реально — НИКОГДА.


Что вообще этот МИФИЧЕСКИЙ детектор из себя представляет?


А что если детектор в щели есть — но просто не включен, тупо провода, оптоволокно или ещё что там может быть, просто не подключены никуда. Что будет с дифракционной картиной?


И как вообще этот детектор работает? Может он тупо поглощает фотон, а потом излучает совершенно другой? А т.к. он будет переизлучён за щелями — собственно и получаем что и должны получить — никакой дифракции.


К вам никакой претензии не имею. Просто реально достало. 100 раз читаешь обсуждения и всегда одно и тоже. Магия, расщепляющаяся вселенная и прочий бред.


А вот то место где реально происходит "как бы" парадокс — детектор. Вот никто просто в упор это не видит.


Дошло до абсурда — детектор азм есть наблюдатель! А кто наблюдает — человек! Алилуя. Давай строить куча бредо-теорий.

но в общем то знать инструмент которым так или иначе пользуешься полезно

Так в том и вопрос и проблема одновременна.


Химера говорит на твоём языке. Я как программист понимаю химеру. Я понимаю математическую абстракцию реализованную в программе.


Но на практике часто тебе кидают чистую математику. Чистые математические абстракции написанные на "древнеарамейском" ))). На которые я смотрю и ничего не понимаю. И делаю вывод что я такое никогда не применял в программировании. И прекрасно без этого справляюсь.

Нет, не аксиома

Вот тут написано что это аксиома.


Я не математик, но честно говоря не вижу ещё более простое математическое определение которое доказывало бы утверждение "от перемены мест слагаемых сумма не меняется."


А как символьные вычисления работают-то?

да вы правы. Я опустился до уровня процессора. И арифметически логического устройства.


Но никто не мешает сделать программу которая будет оперировать абстракциями, тупо пропускать через блоки if-else стринги и получать на выходе такой же стринг.


И только человек может этот стриг определить как математическую формулу.


Но в таком варианте сам компьютер как раз не оперирует математической формулой. В АЛУ она не участвует.


Компьютер просто одну картинку превращает в другую на выходе. И только человек интерпретирует эту картинку как формулу.


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

Есть чистая математика. Но заставить её работать на компьютере не получится. Не работает процессор с математическими абстракциями. Вот и появляются промежуточные науки как натянуть сову на глобус как заставить работать математическую формулу в процессоре с приемлемой точность.


К какому разделу эта наука принадлежит? К математике? К программированию?


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

Так же можно парировать что в общем то программа в общем служит часто одной цели

Ваша утверждение базируется на рассмотрении одной программы. И оно очевидно. Каждая конкретная программа будет делать только то что в ней запрограммировано, одна цель (цели), и не более.


Я же рассматриваю все программы и математические теоремы одновременно. И на этом базирую различие между этими классами.


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


В то время как в математике этот закон есть. Вся математика предназначена для одной цели. Нахождение закономерностей. Нахождение любых закономерностей где угодно. Многие "сумасшедшие" математики придумывают свои вселенные со своими законами и ищут там математические закономерности.
Как бы выглядела вселенная в которой п равнялось бы 4? И подобное.


Математика это слишком широкое определение и, как видно, для каждого свое.

Да. И современное программирование это тоже от веба до mobile, от эмбедит до софта, от геймдева до квантмеха и ещё куча всего.


Собственно получаем две огромные кучи которые тут и там начинаю приравнивать друг другу, т.к. начинают сравнивать частности.


Я же, в дискуссии, пытаюсь предложить варианты различий всей кучи. Опять же дискуссия ради поболтать, не более )

Ну это аксиома. Т.е. недоказательные утверждения. Они настолько логичны что не требуют доказательств. Вообще все теоремы доказываются на основании других теорем. А вот начало этой доказательной цепочки это как раз аксиомы.


И да вы не докажете ваш пример "коммутативность сложения" а по простому "от перемены мест слагаемых сумма не меняется" с точки зрения математики. Математика говорит так есть и всё тут. Опять же с помощью чисел вы можете доказать только какой то предел. Вплоть до бесконечности не получится.


Зачем тут бесконечная точность?

Про бесконечную точность я говорю исходя из того что математика предоставляет нам формулы. Которые оперирую переменными. Подставляй любое число (хоть бесконечность), и формула выдаст правильный ответ. Ну или должна выдать.


Программирование в свою очередь оперирует с конкретными числами. И предел точности работы программы будет всегда в пределе точности этих чисел.


Я просто декламирую отличие математики от программирования. А то тут в процессе дискуссии постоянно поднимается вопрос про их тождественности.
Вот я и ищу фундаментальные отличия.

а любая программа доказывает некоторую теорему.

Наверно это вырвано из контекста, но приведённая в данном виде вызывает некоторое недоумение.


Честно говоря я не уверен что на земле существует реальная программа доказывающая теорему. Ну т.е. последовательно выполнение операторов процессора.


Потому как программа это компьютер. А он работает с переменными конечной точности.


Математические доказательства никогда не оперирует числами, а оперирует абстракциями в виде переменных. x,y и прочее.
Все операции проводятся над этими абстракциями что бы получить в конечном счёте математическую формулу, которая может обеспечить бесконечную точность. Т.к. не оперирует цифрами, а абстракциями.


Кстати это ещё одно фундаментальное отличие программы от математики. Программа всегда будет выполнятся на процессоре и оперировать с переменными конечной точности.


Математика всегда будет оперировать абстракциями бесконечной точности. Т.к. точности как таковой у них и не будет. Нет чисел, нет точности либо точность бесконечная.


Процессоры не работают с абстракциями, они работают с битами.


Не знаю может квантовые работают?

Что то я дописался до того, что доказательство теорем с многостраничной записью это есть программа. Если рассматривать каждый шаг доказательства как шаг программы.


Уроборос какой то )))


Ладно добавим ещё одно фундаментальное отличие, но уже математики.
Любое доказательство теоремы, собственно любая математическая единица служит только 1 цели. Нахождение природной зависимости в числах. Фундаментального закона. Свойства нашей вселенной или вообще всех вселенных. Придумайте как сами это назвать.


Целью же программы может быть абсолютно любая. Или вообще без цели.

Как-то у вас с аргументацией удачно получилось, непротиворечиво

Профдеформация )

Можно долго спорить где и как пересекаются программирование и математика. С разных углов они либо похожи, либо одно и тоже, либо разные вещи.


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


И это:


Как не странно результатом программирования будет программа.
И главная особенность программы — это то что она состоит из последовательно выполняющихся шагов.


Результатом математики будет теорема и следующая из неё формула.


Отсюда любой шаг программы — может быть как раз математической, формулой. Т.е. шаг может быть как раз той самой математикой.


Получается что программирование может включать в себя математику как шаг программы. В тоже время по этому принципу математика не будет является программированием.


Опять же шаги это как правило вызов готовых функций, в которых и реализована математика. Поэтому программист напрямую не работает с математикой а только с её результатами.


Это как например человек использует автомобиль, но это не делает его конструктором автомобилей.


И да. Оппонент сразу может придраться к моему определению математики. Мол простои использование теорем в качестве инструмента для получения результата. В данном случае такая писанина как не странно будет похожа на программирование. Только записанная на листе бумаге. Последовательное выполнение шагов с использованием формул теорем для получения конечного результата. Точно также как это бы делала программа.

Вы применили крайность. А крайности как правило не валидны.


Понятно что любой человек в той или иной степени оперирует каким то объёмом информации у себя в памяти. Иначе это и не человек вообще.


Вся разница в количестве и разновидности этой информации.


И программисту для выполнения работы требуется запредельное количество специфической информации. Это алгоритмы, коды, абстракции.


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


Вот вы привели другие примеры информации. Например есть люди которым легко даются языки. Или люди актёры, которые запоминают сценарий фильма, пьесы.


Они тоже тренируют свой мозг. И если это им нравится, то им легко даётся манипулирование информацией специфичного для себя класса.


Как я уже говорил много раз. Все способности — это желание изучать конкретную информацию. А уж что тебе нравится или нет — это уже матушка природа и батюшка геном решают.

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


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


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


И да всё это относится к сложным проектам. В программировании есть куча задач линейных. Те же формошлёпства. Там подход линейный, мозг практически не загружается, и ты просто отдыхаешь на таких задачах.

С геймдевом вообще не пересекался, но со всем остальным наверно со всем.


Разве в геймдеве сейчас не рулят движки? Юнити там разные. Где игрописатели фактически только API движков дёргают.


Хотя если новый движок писать, то согласен там прилично математики, например туже физику земного притяжения описать. Полёт стрелы там и прочего. Или геометрию пространства.
Но разве это реализуют с нуля? Наверняка уже написано 100500 библиотек которые реализуют всю эту физику.

Так я и не спорю что в математику всё входит.
И все программисты пользуются в той или иной мере математикой.


Собственно это даже не обсуждается.


Однако вопрос пользуются ли программисты математикой постоянно возникает. И даже в этой статье есть.


И что бы на него ответить — надо определить какой то критерий.
И этот критерий будет чисто субъективный.


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


Однако дискуссия нас привела к выводу — что не бывает скорее всего из за того что все алгоритмы уже реализованны в библиотеках.


А программистам только и остаётся что просто пользоваться результатами тех или иных алгоритмов.

Но вот именно вы знаете математику в этом случае

Я только знаю что делает алгоритм. Но как он это делает? Я пытался разобраться. Но просто прочитав это — я понял что этого не достаточно. И так как мне это не надо было просто бросил.


Мне была достаточна абстракция — подаю на вход числа, получаю на выходе.


А вот дальше эти числа уже использовались в вышестоящем алгоритме.
Который я уже реализовывал сам. И математики по моим внутренним убеждениям там не было.


Хорошо пусть будет логика. Да логику я использую всюду. Собственно программирование без логики не может быть. А вот без математики ))) Тут как раз и ведём дискуссию, может или нет.

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


Я под математику поставил использование "жёстких" математических теорем и формул.


Например я упомянул алгоритм эллиптических кривых


Я это отношу как раз к математике. Однако я это использую в своей работе. Просто я беру функцию где реализована вся эта математика и просто пользуюсь результатами. И т.к. я сам не реализовываю эту математику — то считаю что я не пользуюсь математикой. Но получается что я пользуюсь только результатами математики ))) Как минимум мне надо знать о существовании таких алгоритмов и где о ни используются.


Опять же вы пишите что в соей работе используете мат анализ. Но реализуете ли вы алгоритмы этого анализа? Или просто используете готовые функции? Глупо писать свою реализацию cos() или sin(), когда можно просто вызвать функцию.


И так как в библиотеках есть практически всё, то в типичной программе нету математики. Только вызов функций. И архитектура программы.


Современные абстракции в программировании задрали процесс программирования слишком высоко. Туда где математики не осталось.


Жёсткая математика, нативная, будет только в чём то новом. Что крайне редко встречается и большинство программистов не встречают за всю свою IT карьеру.

Думаю этот вопрос не имеет смысла. Т.к. для его ответа нужно устанавливать какую то черту, до — программирование. После — математика. Опять же если эта не черта а широкая область, то в этой области это будет какая то химера — матепрограммировани или программатика ))


Шутка.


Получается что это чистая субективщина.


Но опять же изначально вопрос стоял — нужна ли математика для современного программиста. И на этот вопрос может ответить только опыт. Статистика.


Моя статистика мне показывает что я не помню когда я использовал что то из высшей математики в проектах. Я постоянно встречаю такое мнение.


Но проекты от этого не перестают быть сложными. Их сложность в абстракциях. Тысячи функций складываются в абстракции. Всё это нужно держать в голове и уметь ими манипулировать.


Это как с мозгом. Работа одного нейрона — примитивна. Не будем рассматривать биохимию нейрона как клетки. Алгоритмически нейрон примитивен. Есть куча дендритов и аксон. Суммарный сигнал на дендритах превышает уровень срабатывания нейрона, сигнал уходит в аксон.


Но миллиарды этих простейших автоматов строят такие абстракции — что весь человеческий мозговой потенциал до сих пор не может разобраться как это работает в целом.

Вопрос сколько времени нужно находится в состоянии когда мозг пухнет. Вот вы привели пример 2 дня.


У программиста такое состоянии собственно каждый рабочий день. Десятилетия подряд.


Поэтому я и писал — что неподготовленный человек на это не способен. А так же на это не способен человек которому не нравится программирование. Даже если ему предложить 1$ миллион и он будет напрягаться изо всех сил, ничего не получится.


Сужу по себе. Когда мой мозг не хочет вникать в проект как бы я не напрягался я только заработаю головную боль. Просто смотришь в код, пытаешься понять что было 5 минут назад, не помнишь и просто лезешь в какой нибудь youtube.


В такие моменты лучше просто день потерять. Выспаться хорошо. И стартовать сначала.


И кстати очень часто попадаешь в полосу, когда выжимаешь себя за день, ничего не сделал, а делать надо, следующий день такой же потому как вчера себя выжал. И так по крупицам плетёшься вперёд.


Могу сказать что продуктивность у одного и того же человека может отличатся на 1000% за одну и туже работу в зависимости от твоего состояния и нравится ли тебе проект.


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


Разумеется это не относится к молодым парням. Среди них есть небольшой процент которым нравится IT. И они только начинают свой путь. Разумеется этот процент небольшой так же как и раньше.

Если по простому, когда приступаешь к работе, открываешь проект, то начинается работа по загрузке этого проекта в мозг. Быструю память. У программистов есть даже понятия — погрузиться в контекст или выпасть из контекста.


Пока ты не в контексте — то на проект смотришь как на египетские иероглифы. Но спустя час, пробежавшись по десяткам — сотням функций, уже примерно представляешь как работает кусок программы в котором ты находишься.


Так вот. Ты должен находится в контексте, по идеи все 8 часов работы. На практике — думаю у человека поедет крыша от такой работы. Поэтому это разбавляют всякими… переговорами. У некоторых ничего не делание переговоры занимают целый рабочий день )


Однако если тебе интересно — то ты можешь находится в контексте и 18 часов. Если не интересно — то вообще не сможешь погрузится. Мозг будет сопротивляться настолько что ты впадёшь в прострацию.


Отсюда кстати я смотрю с умилением на десятки тысяч "войтиВайти". Люди просто не понимают на что они подписываются. И раз до модных времён они так и не связали свою жизнь с IT, значит это не их. Их мозг просто не будет способен на многочасовой контекст.


И да у "настоящих" программистов проработавших по 20 лет, не войти в контекст — сплошь и рядом. И ты тратишь неделю на простенькую задачу при этом изнасиловав свой мозг и чувствую себя как будто ты разгружал вагоны. Это всякое легаси, индуский код, да и просто звёзды не сошлись или ты встал не стой ноги.
Поэтому программист это очень тяжёлый труд, и к старости лучше им не быть.


И написал я это к тому, что бы задать вопрос. А где у гуманитариев происходит примерно такой же экспирианс?


Но опять же — гуманитарии, это очень расплывчатое понятие. Без конкретных определений вопрос не имеет смысла. А с конкретными скорее всего потеряет актуальность как риторический.

Я про это и написал. В математику вообще всё можно запихнуть при желании и программирование целиком. Куча споров идёт только потому что никто из спорщиков не дал изначально чётких определений критериев вокруг которых ведутся споры.


И по этому сам вопрос может звучать глупо — нужна ли математика программисту. С одной стороны да, потому как всякие сложение или умножение уж точно используется.


Но где та грань где математика считается используемая по умолчанию, а где считается что программист уже не использует математику.


Программист использует формулу площади круга, но когда смотрит на доказательства теоремы Ферма ему кажется что он смотрит на египетские иероглифы. Где грань?


Я привёл эту грань с моей точки зрения как практика по программированию. Разумеется эта не истина в последней инстанции, а только мнение.

Information

Rating
6,737-th
Registered
Activity