powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Математика в программировании
25 сообщений из 79, страница 1 из 4
Математика в программировании
    #36988279
Доброго часа!

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

Но речь пойдёт не об этом. Оная мысль довольно быстро перетекла в другую: а как дело обстоит в области моей профессиональной деятельности, а именно в корпоративной разработке? И как ни странно, я пришёл к выводу, что в этой области преобладает преимуществнно гуманитарный подход. "Огуманитариваться" разработка на мой взгляд начала с приходом ООП, когда начали использоваться объекты - структуры, удобные для человека, но абсолютно бесполезные с точки зрения машины. К тому же дающие массу накладных расходов (особенно если это не просто объект, а реализация класса с целой вереницей предков). Далее, по мере усложнения разрабатываемых программ начали придумывать паттерны - шаблонные комбинации объектов, предназанченные для решения каких-то типовых задач. Я ничего не имею против паттернов, как эдакого сплава опыта многих программистов, удобного способа научиться на чужих ошибках, не наступать на сотни грабель и не изобретать десятки велосипедов. Проблема в том, что изыскивались эти паттерны методом проб и ошибок, часто проявляющихся очень поздно и стоящих очень дорого. При применении паттернов многие программисты сталкиваются с нечёткостью их определений. Что должно входить в каждый класс, входящий в паттерн, в контексте данной конкретной задачи? Какой паттерн наиболее целесообразен при решении данной конкретной задачи? Особенно часто эти вопросы возникают у начинающих программистов. И даже если два опытных программиста начинают решать одну и ту же задачу с применением одного и того же паттерна код у них может получиться разный, как небо и земля, потому что каждый будет иметь своё представление, что например должно входить в модель, а что - в контроллер, должна вьюха иметь возможность напрямую взаимодейтсвовать с моделью или нет (пример касается MVC паттерна). Те же Фаулер и Банда Четырёх, признанные авторитеты в ООП, не дают чётких ответов на эти вопросы. Их описания паттернов имеют характер более рекомендаций, чем строгих определений. Нигде я не видел, чтобы эти вопросы анализировались с позиций строгой математики.

Аналогичная ситуация с методологиями разработки. Замечательная идея сразу спроектировать систему, а потом её реализовывать в виде кода раз за разом разбивается о суровую реальность, где системный инженер просто не в состоянии предусмотреть всех нюансов, которые могут возникнуть при реализации архитектуры, заложенной им. Нет, я не говорю, что примеров успешного проектирования нет. Но соотношение успехов к провалам в данном вопросе ИМХО заставляет задуматься. Под провалами я тут понимаю в т.ч. и успешно реализованный проект, где код в конечном счёте значитеьно расходится с моделью, или модель допиливалась уже походу кодирования. Из-за того, что нет внятных механизмов анализа систем приходится выполнять массу работы, направленной на тестирование программ. При этом объём таких работ иногда может превышать трудозатраты на написание системы.

Даже в тех областях, где есть вполне применимый математический аппарат, он просто не используется. Для примера, РБД опираются на подобный аппарат. Но многие ли программисты применяют его при проектировании БД и написании запросов?

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

Что вы думаете по этому поводу? Может быть уже есть какие-то языки, подходы, методики разработки, платформы, фрэймворки, позволяющие поставить огромный багаж математических знаний, накопленных человечеством за столетия, на службу программисту?
...
Рейтинг: 0 / 0
Математика в программировании
    #36988286
P.S.: прошу прощения, если мои мысли показались кому-то слишком пространными, а их изложение - слишком объёмным.
...
Рейтинг: 0 / 0
Математика в программировании
    #36988379
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Писатель КодовЧто вы думаете по этому поводу? Может быть уже есть какие-то языки, подходы, методики разработки, платформы, фрэймворки, позволяющие поставить огромный багаж математических знаний, накопленных человечеством за столетия, на службу программисту?

есть, например ф-е программирование.

без знания матана, на ф-х языках можно писать с той же успешностью что и на ООП-языках. но со знанием матана, там есть где разгуляться.
...
Рейтинг: 0 / 0
Математика в программировании
    #36988590
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бертран Мейер пытается использовать аксиоматическое описание классов при проектировании.
есть еще другие формальные методы разработки.
...
Рейтинг: 0 / 0
Математика в программировании
    #36989013
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шаблоны - это в некотором роде музей. Музей концептуальных решений. Скажу честно. Я пытался НАСИЛЬНО впихнуть в свои проекты шаблоны фасада и бриджа, но это ничем не закончилось. Я после этого свой собственный исходник стал хуже понимать. Поэтому стоит больше осматриваться по сторонам и исходить из целевой аудитории разработчиков. Кто сможет подхватить и поддержать, а главное - ПОНЯТЬ шаблон. Да и сам по себе процесс внедрения шаблона - очень спорный. У разработчиков нет единого взгляда на собственно результат. Сколько их в проекте - столько и мнений. И все - правильные. И нет экономического обоснования их внедрять. Или я не знаю расчётной формулы полезного эффекта от их внедрения.

По поводу зубодробительного матана, чёткости строгости e.t.c. Разработка ПО тесно связана с физикой реального мира. Это машина Неймана с конкретными физ. характеристиками. С лагами, шумящим характером загрузки CPU, гистерезисным поведением жёсткого диска, со странным поведением памяти и кешей разных уровней. Если быть дотошным и стоить мат.модель всего этого, то на написание простейшего бизнес-процесса вы потратите всю жизнь. Поэтому многими явлениями и эффектами программисты просто пренебрегают так-же как и физик может учитывать или не учитывать "лунную гравитацию" и "солнечный ветер" в своих экспериментах. Многие явления просто нереально посчитать или найти о них подробную информацию. Приходится исходить из модели чёрного ящика и строить гипотезы относительно того, что находится внутри.
...
Рейтинг: 0 / 0
Математика в программировании
    #36990032
Писатель Кодовогромный багаж математических знаний, накопленных человечеством за столетия, на службу программисту?

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

Все что нужно изучить программисту - это некоторые разделы дискретной математики (автоматы, графы, булеву алгебру и что-то там еще не помню даже что). Ну и арифметику - + - / *.

И все.

Миф про то, что лучшее место выучиться программированию - это ВМК или Мехмат МГУ - полная ерунда
(достаточно посмотреть на программы обучения - насколько редкостная ахинея читается студентам).

Computer science тоже идет в сад.
Спольски об этом хорошо написал вот тут:

http://local.joelonsoftware.com/wiki/%D0%A1%D0%BE%D0%B2%D0%B5%D1%82_%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%B0%D0%BC_%D0%B8%D0%B7%D1%83%D1%87%D0%B0%D1%8E%D1%89%D0%B8%D0%BC_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%83%D1%8E_%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D1%83
...
Рейтинг: 0 / 0
Математика в программировании
    #36990053
Вообще существует клише, что программист - это математик, имеет и должен иметь мышление математика.
На самом деле это не так.
Программист - это больше лингвист. Переводчик на машинный язык.

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

А всякие гениоты, вроде Ландау - да, они могут быть гениями, и находить просто невероятные решения
простых задач, но одна проблема - они это не смогут записать (реализовать как минимум в коде), два - их
хрен кто потом сможет понять. Потому гениальных физиков и математиков - в аналитики, а за кодерами
можно сразу в Иняз топать. Все равно их, молодежь, заново всему учить надо будет.
...
Рейтинг: 0 / 0
Математика в программировании
    #36990055
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про паскальВообще существует клише, что программист - это математик, имеет и должен иметь мышление математика.
На самом деле это не так.
Программист - это больше лингвист. Переводчик на машинный язык.

И лучший способ отбора программистов - это дать им задание что-то написать на естественном языке.
Если человек хорошо и структированно излагает свои мысли на бумаге - у него есть отличный
шанс быть хорошим как минимум кодером.Кстати да, тоже где-то читал, что программизмъ по внутреннему способу мышления примерно одинаков с написанием худ. произведений, всякое там грамотное изложение, построение структуры и т.д.
...
Рейтинг: 0 / 0
Математика в программировании
    #36990075
Писатель Кодов, боян. Была книжка такая "Доказательное программирование", давно. Рассматривался аппарат формального вывода программ.
А твой огромноый багаж (если такой есть) это твя общая культура, не парься.


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

Все что нужно изучить программисту - это некоторые разделы дискретной математики (автоматы, графы, булеву алгебру и что-то там еще не помню даже что). Ну и арифметику - + - / *.

И все.

Зачем дискретная математика? И зачем не помню даже что? Кликать контрольчики на формочки можно без арифметики, уметь читать тоже не надо (есть обучающие видюшки), про всякую #ню вроде музыки с литературой ваще молчу. Жрать можно руками. А нахрен сдалось мыться? Энто вредно.
...
Рейтинг: 0 / 0
Математика в программировании
    #36990115
УнрегистередА нахрен сдалось мыться? Энто вредно.

Ты в школе минимум четыре года долбил тригонометрию в самых извращенных формах и решал системы линейных уравнений. А в ВУЗе - решал дифуры аналитическим методом.

И? Пять лет - коту под хвост - ты ни разу эти знания так и не применил на практике.

Культура говоришь?

При том, бьюсь об заклад, такие слова как inversion of control и dependency injection - тебя до сих пор ставят в тупик.

Так что надо было в школе изучать? Еще один метод определения точки пересечения медианы с
биссектрисой или азы формальной логики?
...
Рейтинг: 0 / 0
Математика в программировании
    #36990191
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 01.12.2010 12:07, Писатель Кодов wrote:

> Аналогичная ситуация с методологиями разработки. Замечательная идея сразу
> спроектировать систему,


> Даже в тех областях, где есть вполне применимый математический аппарат, он
> просто не используется. Для примера, РБД опираются на подобный аппарат. Но
> многие ли программисты применяют его при проектировании БД и написании запросов?

Ну, думаю что по крайней мере половина. Или все успешные программисты РБД.


> Что вы думаете по этому поводу?

+1. Да только особенно в разработке ПО никаких мат. методологий и методик
не существует.

Ну и математика во многих местах двигалась в тех направлениях, где нужно
было что=то сделать БЕЗ компьютеров. Аналитически.
Вычислительные подходы к решению задач порой просты, тупы и прямолинейны,
в противоположность математике.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Математика в программировании
    #36990215
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv> Что вы думаете по этому поводу?

+1. Да только особенно в разработке ПО никаких мат. методологий и методик
не существует.

есть. алгебраическое проектирование класса есть, ат лист
...
Рейтинг: 0 / 0
Математика в программировании
    #36990216
tchingizMasterZiv> Что вы думаете по этому поводу?

+1. Да только особенно в разработке ПО никаких мат. методологий и методик
не существует.

есть. алгебраическое проектирование класса есть, ат лист

Пруфлинк?
...
Рейтинг: 0 / 0
Математика в программировании
    #36990217
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а по русски?
...
Рейтинг: 0 / 0
Математика в программировании
    #36990223
tchingizа по русски?

Если ты про вот это, то это полная ерунда (притянутая за уши), в которой от математики лишь слова "аксиома" и "алгебра".:
http://www.realcoding.net/dn/docs/ClassDesign.pdf


Пруфлинк - это proof link - ссылка на пример реального применения (чтоб тебя понимали верно).


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

Это был пример применения математической логики (про релейные схемы).

Потому ты можешь или дать ссылку на статью (про реальное применение в промышленности), или пояснить словами, зачем оно надо.
...
Рейтинг: 0 / 0
Математика в программировании
    #36990230
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1
на проектирование по контракту не надо давать прулинки?
2
Specification Case Studies in RAISE, Springer 2002,
FACIT series ISSN 1431-9683.
Глава 5 система отслеживания сбора налогов Вьетнама
...
Рейтинг: 0 / 0
Математика в программировании
    #36990232
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это надо, что бы ошибки отлавливать не в дебагере, кликая мышкой, а на более ранних стадиях разработки, а еще лучше - не допускать их.
...
Рейтинг: 0 / 0
Математика в программировании
    #36990237
tchingiz1
на проектирование по контракту не надо давать прулинки?
Нет, потому что там и близко нет математического аппарата

tchingiz2
Specification Case Studies in RAISE, Springer 2002,
FACIT series ISSN 1431-9683.
Ок, почитаем. Хотя выглядит это все сомнительно
...
Рейтинг: 0 / 0
Математика в программировании
    #36990240
tchingizэто надо, что бы ошибки отлавливать не в дебагере, кликая мышкой, а на более ранних стадиях разработки, а еще лучше - не допускать их.

Прямо интрига. Человеческие невнимательность, глупость и невежество можно побороть чудо математическим аппаратом?
Это-же нобелевка. Каждый год - и так лет 15 подряд.
...
Рейтинг: 0 / 0
Математика в программировании
    #36990244
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про паскальtchingiz1
на проектирование по контракту не надо давать прулинки?
Нет, потому что там и близко нет математического аппарата

система аксиом - это матаппарат.

Про паскальtchingiz2
Specification Case Studies in RAISE, Springer 2002,
FACIT series ISSN 1431-9683.
Ок, почитаем. Хотя выглядит это все сомнительно
уже положили в свободный доступ
ftp://ftp.iist.unu.edu/pub/RAISE/case_studies/
...
Рейтинг: 0 / 0
Математика в программировании
    #36990254
tchingizПро паскальпропущено...

Нет, потому что там и близко нет математического аппарата

система аксиом - это матаппарат.

Аксиома - это фигня, не требующая доказательств. Это не матаппарат, это как раз то, что матаппарат
осилить вообще не может, потому вынужден принимать без доказательства,
но на что вынужден опираться. Не надо ляля, нас этому еще в школе научили.
...
Рейтинг: 0 / 0
Математика в программировании
    #36990259
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ссылку на статью (про реальное применение в промышленности),
ссылки из которых можно выбрать реальное применение в промышленности
ftp://ftp.iist.unu.edu/pub/techreports/

Кстати, геометрия, не считалась математикой, до тех пор, пока не начаал применятья в промышленности? или уже считалась?


это русские проекты
http://www.unitesk.com/content/category/9/25/60/
...
Рейтинг: 0 / 0
Математика в программировании
    #36990260
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про паскальtchingizпропущено...

система аксиом - это матаппарат.

Аксиома - это фигня, не требующая доказательств. Это не матаппарат, это как раз то, что матаппарат
осилить вообще не может, потому вынужден принимать без доказательства,
но на что вынужден опираться. Не надо ляля, нас этому еще в школе научили.
до свидания, спасибо за сотрудничество
...
Рейтинг: 0 / 0
Математика в программировании
    #36990262
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я при случае расскажу Гильберту и Кантору, что они занимались фигней.
...
Рейтинг: 0 / 0
Математика в программировании
    #36990266
tchingizссылку на статью (про реальное применение в промышленности),
ссылки из которых можно выбрать реальное применение в промышленности
ftp://ftp.iist.unu.edu/pub/techreports/

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

tchingizэто русские проекты
http://www.unitesk.com/content/category/9/25/60/


Ок, спасибо, хоть что-то интересное. Почитаем обязательно.

Только я надеюсь это не про линейное "программирование" (вроде Симплекс-метода или Монте-Карло) читать про реализацию еще одного математического метода на ЭВМ для отвлеченных прикладных задач - не сильно хочется.
...
Рейтинг: 0 / 0
25 сообщений из 79, страница 1 из 4
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Математика в программировании
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]