Re[13]: Так ли хороша математическая нотация?
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 05.08.11 11:14
Оценка:
Здравствуйте, Кодёнок, Вы писали:

Кё>Здравствуйте, Undying, Вы писали:


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


Ну если ты такой любитель аналогий, то считай, что математическая нотация это маммалии, а языки программирования это приматы. Конечно, приматы имеют много специфических особенностей, на которые делает упор при их изучении. Но это никоим образом не выводит приматов из числа маммалий.
Re[13]: Так ли хороша математическая нотация?
От: Undying Россия  
Дата: 05.08.11 11:24
Оценка:
Здравствуйте, Кодёнок, Вы писали:

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


В этом и заключается разница между инженерным и математическим мышлением. Инженерное мышление оперирует реальными сущностями, которые при необходимости упрощаются до математических абстракций. А математическое мышление оперирует только абстракциями. Поэтому инженерный язык всегда много богаче, чем используемый в рамках этого инженерного языка математический язык.
Re: Так ли хороша математическая нотация?
От: Евгений Акиньшин grapholite.com
Дата: 05.08.11 11:27
Оценка: 9 (1)
Здравствуйте, Chrome, Вы писали:

C>Вопрос в том, стоит ли близость к математической нотации рассматривать как преимущество синтаксиса языка программирования.


Так даже математики не хотят ей пользоваться: вот статья от автора пакета Mathematica — одной из самых навороченных прог для математиков, про историю мат нотации, где в частности обсуждается вопрос, почему ее не стоит использовать для математических пакетов

http://www.stephenwolfram.com/publications/recent/mathml/
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[17]: Так ли хороша математическая нотация?
От: Undying Россия  
Дата: 05.08.11 11:40
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Программирование это раздел математики. Любая программа, любой алгоритм это математический объект с четко очерченными формальными условиями. Поэтому мы просто никуда и не выходили за пределы математики. Структуры данных, языки программирования, алгоритмы, матрица 1024x768 хранящая цвета и представляющся собой экран пользователя это все математические объекты.


Программа не содержит самого главного — условия задачи. Имея на руках только код программы невозможно определить правильно ли она работает. Т.е. код это лишь часть программистского языка, которая позволяет записать решение задачи, но не позволяет записать условие задачи. Код, да, формально является математическим языком, но программистский язык как целое — нет.
Re[14]: Так ли хороша математическая нотация?
От: Кодёнок  
Дата: 05.08.11 11:58
Оценка: +1
Здравствуйте, Mystic, Вы писали:

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


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

Зачем мне классифицировать именно так, а не иначе? Мне не нужно считать ЯП частью математики. Мне нужно наоборот: чтобы ЯП со своими противоречиями в спецификациях и багами в реализациях шли налево, а математика со своей непротиворечивостью и корректностью шла направо.

Твоя классификация не имеет практической ценности. Не говоря уж о том, что она просто слабая: если бы B ∈ A, то сайты, собирающие A (статьи математиков), принимали бы и B (статьи программистов), что не так — далеко не каждую статью о ЯП пустят в математический журнал, какой бы широчайшей направленности он не был.
Re[18]: Так ли хороша математическая нотация?
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 05.08.11 12:01
Оценка:
Здравствуйте, Undying, Вы писали:

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


Конечно, анализ требований не является частью математики. Но как только задача формализована, т. е. описана в терминах, не допускающих двусмысленного толкования, мы перемещается в область математики. Например, написать процедуру, сортирующую массив данных, это строго формальное описание. Хорошее ТЗ тоже представляет собой формальное описание задачи. Ну и код может быть использован для записи условия задачи, например, мы можем таким образом написать тесты, которые должна будет пройти будущая программа. Ну и все вопросы, которые задавались ранее, например, какую структуру данных выбрать, зачастую задаются уже после формальной постановки задачи. Более того, искать ответы на них до офрмальной постановки задачи может привести к ошибкам.
Re[15]: Так ли хороша математическая нотация?
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 05.08.11 12:13
Оценка:
Здравствуйте, Кодёнок, Вы писали:

Кё>Мне не нужно считать ЯП частью математики. Мне нужно наоборот: чтобы ЯП со своими противоречиями в спецификациях и багами в реализациях шли налево, а математика со своей непротиворечивостью и корректностью шла направо.


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

Кё>Твоя классификация не имеет практической ценности. Не говоря уж о том, что она просто слабая: если бы B ∈ A, то сайты, собирающие A (статьи математиков), принимали бы и B (статьи программистов), что не так — далеко не каждую статью о ЯП пустят в математический журнал, какой бы широчайшей направленности он не был.


Потому что это больше относится к прикладным вопросам и не имеет математической новизны.
Re[14]: Так ли хороша математическая нотация?
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 05.08.11 12:26
Оценка: +2
Здравствуйте, Undying, Вы писали:

U>В этом и заключается разница между инженерным и математическим мышлением. Инженерное мышление оперирует реальными сущностями, которые при необходимости упрощаются до математических абстракций. А математическое мышление оперирует только абстракциями. Поэтому инженерный язык всегда много богаче, чем используемый в рамках этого инженерного языка математический язык.


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

Легко доказать, что в балансовой ведомости сумма активов должна равняться сумме пассивов. И все, для математика задача решена и неинтересна. Но если бухгалтер прийдет в налоговую и скажет: я доказал, что актив равен пассиву, то ему там просто рассмеются ему в лицо. Нужен конкретный расчет.
Re[16]: Так ли хороша математическая нотация?
От: Кодёнок  
Дата: 05.08.11 12:34
Оценка: :)
Здравствуйте, Mystic, Вы писали:

M>Любая наука содержит ровно столько науки, сколько в ней математики. Посему твое стремление равносильно тому, чтобы вывести программирование за границы науки


Рекомендую почитать по философии науки нечто более серъезное, чем чьи-то древние афоризмы. Определения науки никоим образом не зиждятся на математике. У не-ученого нумеролога математики хоть отбавляй, а у биолога, описывающего редкие виды жуков как-то не очень.
Re[17]: Так ли хороша математическая нотация?
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 05.08.11 12:48
Оценка:
Здравствуйте, Кодёнок, Вы писали:

Кё>Здравствуйте, Mystic, Вы писали:


Кё>Рекомендую почитать по философии науки нечто более серъезное, чем чьи-то древние афоризмы. Определения науки никоим образом не зиждятся на математике. У не-ученого нумеролога математики хоть отбавляй, а у биолога, описывающего редкие виды жуков как-то не очень.


Собственно говоря, Поппер. Любая научная теория должна выдавать проверяемые следствия. А что это значит? Значит для заданных входных данных должен существовать способ вычислить некоторые выходные данные. Процесс этот должен быть формальным, понимаем всеми одинаково. А это и есть математика (математическая модель).

У нумеролога в лучшем случае есть математическая модель. В лучшем потому что иногда там есть махинации, которые придумываются на ходу для подгонки результата. Например, вычисляются 100 параметров, а в интерпретации участвуют 10 субъективно выбранных. Это уже не научная теория, не математика. Также нумеролога не заботит строгая проверка теории.

В случае биолога, то в данном случае это просто сбор фактического материала для проверки других гипотез/теорий. Математика там тривиальная, на ней просто нет смысла заострять внимание.
Re[18]: Имре Лакатош
От: Qbit86 Кипр
Дата: 05.08.11 12:53
Оценка: 9 (1)
Здравствуйте, Mystic, Вы писали:

M>Собственно говоря, Поппер.


Поппер — попса :) Читайте Имре Лакатоша.
Глаза у меня добрые, но рубашка — смирительная!
Re[19]: Так ли хороша математическая нотация?
От: Undying Россия  
Дата: 05.08.11 14:09
Оценка:
Здравствуйте, Mystic, Вы писали:

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


Написать систему мониторинга транспорта. Опиши, пожалуйста, требования строго формально на математическом языке. Ты вообще в жизни сколько ТЗ видел написанных строго формально и на математическом языке? Я правильно понимаю, что ни одного?

M>Хорошее ТЗ тоже представляет собой формальное описание задачи. Ну и код может быть использован для записи условия задачи, например, мы можем таким образом написать тесты, которые должна будет пройти будущая программа.


Все что показывают тесты это то, что если на вход подать 2 и 2, то на выходе должно быть 4. О том что должно случиться, если подать на вход 3 и 6 тесты ничего сказать не могут. Соответственно условием задачи тесты не являются и близко.
Re: Так ли хороша математическая нотация?
От: Шахтер Интернет  
Дата: 05.08.11 14:47
Оценка:
Здравствуйте, Chrome, Вы писали:

Обсуждать хороша ли математическая нотация, не будучи профессиональным математиком не стоит. Выглядит смешно.

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

Далее, исторически, языки программирования начали формироваться в то время, когда и вычислительные, и графические возможности компьютеров были весьма скомными. Отсюда ASCII арт, и линейный язык.
Но сейчас ситуация другая. Так вполне возможно, что в недалёком будующем появятся графические языки программирования, более похожие на математическую нотацию.
Будет это хорошо или плохо -- чтобы оценить вкус пудинга, надо его попробовать.
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[2]: Так ли хороша математическая нотация?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 05.08.11 15:00
Оценка:
Здравствуйте, Шахтер, Вы писали:

Ш>Далее, математическая нотация создана для решения определённых задач. Языки программирования решают другие задачи -- они должны быть понятны не только человеку, но и компьютеру. Последнее требование, учитывая весьма скудные вычислительные возможности у них -- очень ограничительное.


Ш>Далее, исторически, языки программирования начали формироваться в то время, когда и вычислительные, и графические возможности компьютеров были весьма скомными. Отсюда ASCII арт, и линейный язык.

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

То есть, появятся языки программирования решающие те же задачи, что и математическая нотация?
Ce n'est que pour vous dire ce que je vous dis.
Re[20]: Так ли хороша математическая нотация?
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 05.08.11 15:31
Оценка:
Здравствуйте, Undying, Вы писали:

U>Здравствуйте, Mystic, Вы писали:


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


U>Написать систему мониторинга транспорта. Опиши, пожалуйста, требования строго формально на математическом языке. Ты вообще в жизни сколько ТЗ видел написанных строго формально и на математическом языке? Я правильно понимаю, что ни одного?


Ты понимаешь математику достаточно узко. Среди всего обилия математической литературы только у Бурбаки была задача строгого формального изложения всей математики. А так обычно хватает уровня, когда строгая формализация является делом техники и может быть легко проделана. Соотвестсвенно, большая часть получаемых ТЗ было на этом уровне. При этом вовсе не обязательно использовать математическую символику, простого русского/английского достаточно. Например, для примера заходим на vworker и смотрим первое что попалось:

I need a script/app written that will keep files from many directories (and subdirectories) sync'd from an FTP server to a local machine.

The script needs to allow a "ini file" that will list the directories to scan for new files. The script must then enter those directories in order and search all subdirectories for files that do not exist on the local machine. When they do not exist, the script should download the files. There will be multiple "ini" files used and run on various cron schedules.

The machine that will be running the script will be running Ubuntu x64 server 10.x

The script/app can be written in any language you choose although perl is preferred.


Где здесь могут быть сложности с формализацией???

M>>Хорошее ТЗ тоже представляет собой формальное описание задачи. Ну и код может быть использован для записи условия задачи, например, мы можем таким образом написать тесты, которые должна будет пройти будущая программа.


U>Все что показывают тесты это то, что если на вход подать 2 и 2, то на выходе должно быть 4. О том что должно случиться, если подать на вход 3 и 6 тесты ничего сказать не могут. Соответственно условием задачи тесты не являются и близко.


procedure TestSum();
var
  A, B, C: Integer;
begin
  A := GetRandomPositiveInt();
  B := GetRandomPositiveInt();
  C := CalcSum(A, B);
  Assert(A + B = C);
end;
Re[21]: Так ли хороша математическая нотация?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 05.08.11 15:57
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Среди всего обилия математической литературы только у Бурбаки была задача строгого формального изложения всей математики.


Это далеко от действительности. История попыток формального изложения всей математики имеет долую историю от Кантора до Гёделя.
Ce n'est que pour vous dire ce que je vous dis.
Re[21]: Так ли хороша математическая нотация?
От: Undying Россия  
Дата: 05.08.11 16:05
Оценка:
Здравствуйте, Mystic, Вы писали:

M>

I need a script/app written that will keep files from many directories (and subdirectories) sync'd from an FTP server to a local machine.

M>The script needs to allow a "ini file" that will list the directories to scan for new files. The script must then enter those directories in order and search all subdirectories for files that do not exist on the local machine. When they do not exist, the script should download the files. There will be multiple "ini" files used and run on various cron schedules.

M>The machine that will be running the script will be running Ubuntu x64 server 10.x

M>The script/app can be written in any language you choose although perl is preferred.


Что в этом описании математического? Что нам даст то, что мы начнем считать, что это описание является математическим?

M>Где здесь могут быть сложности с формализацией???


Что делать при невозможности прочитать файл? Что делать при отсутствии директории заданной в ini-файле? Что делать при отсутствии места на диске?

M>>>Хорошее ТЗ тоже представляет собой формальное описание задачи.


И таких ТЗ в реальности никто не видел, т.к. написание такого ТЗ будет более трудозатратно, чем решение задачи.

U>>Все что показывают тесты это то, что если на вход подать 2 и 2, то на выходе должно быть 4. О том что должно случиться, если подать на вход 3 и 6 тесты ничего сказать не могут. Соответственно условием задачи тесты не являются и близко.


M>
M>procedure TestSum();
M>var
M>  A, B, C: Integer;
M>begin
M>  A := GetRandomPositiveInt();
M>  B := GetRandomPositiveInt();
M>  C := CalcSum(A, B);
M>  Assert(A + B = C);
M>end;
M>


Вот ты утверждаешь, что:

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


Если математический подход более общий, то когда я завел речь о тестировании тебя как математика должно было интересовать подход покрывающий тестирование любой задачи. Вместо этого ты приводишь подход, который возможно применить только в самых примитивных случаях и невозможно в общем случае. А в общем случае тестирование сводится к подстановке набора входных параметров и сравнение эталонного значения с значением на выходе. Соответственно о поведении системы при произвольном значении входных параметров тесты ничего сказать не могут, т.к. эталона для этого случая нет.
Re[3]: Так ли хороша математическая нотация?
От: Шахтер Интернет  
Дата: 05.08.11 17:31
Оценка:
Здравствуйте, Don Reba, Вы писали:

DR>Здравствуйте, Шахтер, Вы писали:


Ш>>Далее, математическая нотация создана для решения определённых задач. Языки программирования решают другие задачи -- они должны быть понятны не только человеку, но и компьютеру. Последнее требование, учитывая весьма скудные вычислительные возможности у них -- очень ограничительное.


Ш>>Далее, исторически, языки программирования начали формироваться в то время, когда и вычислительные, и графические возможности компьютеров были весьма скомными. Отсюда ASCII арт, и линейный язык.

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

DR>То есть, появятся языки программирования решающие те же задачи, что и математическая нотация?


Нет.
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[14]: Так ли хороша математическая нотация?
От: samius Япония http://sams-tricks.blogspot.com
Дата: 05.08.11 18:24
Оценка: +1
Здравствуйте, Undying, Вы писали:

U>Здравствуйте, Кодёнок, Вы писали:


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


U>В этом и заключается разница между инженерным и математическим мышлением. Инженерное мышление оперирует реальными сущностями, которые при необходимости упрощаются до математических абстракций. А математическое мышление оперирует только абстракциями.

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

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

Маршруты троллейбуса мы можем описать либо вот такой сущностью G(V,E,...), а в языке программирования описание такой сущности со всей спецификой будет вряд ли менее нескольких килобайт текста.
Ну и какая нотация богаче?
Re[4]: Так ли хороша математическая нотация?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 05.08.11 22:55
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, Курилка, Вы писали:


LVV>>>Основания сомневаться еще и такие:

LVV>>>Обучение начинающих программистов лучше проводить на языке, имеющем родную лексику.
LVV>>>То есть для русскоязычных начинающих лучше учиться на русском языке.
К>>Согласно чему лучше? Есть весомые статистически значимые исследования?
К>>Ну и утверждается, что мат. нотация всем неродная целиком, так?
LVV>1. Есть конкретный опыт конкретных учителей.
Сколько? Один? Два? Десять? А они уверены что с другим языком было бы по-другому?

LVV>2. Есть наш опыт обучения первокурсников

См выше.

LVV>3. Для начинающих математическая нотация — не родная. Даже факториал — многие ли знают определение?

Что за глупости? У нас в универе матан, дискретная математика и алгебра с геометрией были с самых первых занятий. А вот нотация паскаля была как раз "неродной" для многих.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.