Программирование без математики

Аватар пользователя СПбДмитрий

Собираюсь завтра прочитать в г. Ломоносов небольшую лекцию "Программирование без математики". 

В ней мы постараемся коротко и ясно показать, что такое 1) программа, 2) математика и 3) программирование без математики.

Начнём с программы.

1. Программа

Изобретатель программы, русский просветитель и петербуржец С.Н. Корса́ков, так описал своё изобретение:

Письменность стала первой главной основой общества. Программа станет второй главной основой общества и совершенной второй письменностью (1832, Корсаков). 

Слова Корсакова сбылись наполовину - программа прочно заняла место "второй главной основы общества". Будущее программы - стать "совершенной второй письменностью". Не для себя, а для общества.

  • Программа - это совершенная вторая письменность.

Программа всегда оставалась письменностью, как Золушка всегда оставалась собой: в своей комнате, на кухне, незнакомкой на балу и невестой на своей свадьбе с принцем. 

Сейчас программа в третьем состоянии - незнакомка на балу. Вот и давайте с ней познакомимся.

Письменность - первая главная основа общества. Она позволила обществу накапливать и передавать знания самого разного вида, и обеспечила все современные блага.  

Благодаря письменности мы живём в городах, ездим на машинах, покупаем еду и товары в магазинах, одеты не в звериные шкуры и собрались сегодня 23 января 2025 года в библиотеке им. Рубакина.

У письменность есть много прекрасных свойств, кроме одного - она никогда не была совершенной.

  • Совершенство - это соединение слова и дела.

Когда всё, что можно сказать о каком-то предмете, оказывается выполнено, или совершено, - такая вещь называется "совершенной".

Письменность не соединяет слово и дело, поэтому не даёт совершенства.

Программа соединяет и даёт.

Распишем рождение совершенства по ступеням:

  1. Дело описывает речь. Речь - это слово.
  2. Речь отражается в расчёт. Каждая мысль - в своё выражение расчёта. Отражённый расчёт - это "втора", "второй голос", "двухголосье".
  3. Расчёт разбирается в столбцы узлов, записанные ямками. Ямки + столбцы = ямцы.
  4. Ямцы управляют работой умственной машиной.
  5. Умственная машина выполняют описанную умственную работу - обработку сведений.  Слово превращается в дело.

Раньше совершение слова и совершенство  письменности обеспечивал человек.

Теперь человеку стала помогать программа.

Давайте кратко рассмотрим пример самой первой программы, созданной Семёном Николаевичем Корсаковым в Петербурге в 1829-1834 годах - Гомеоскоп, или по-русски Знакозор.

Распишем рождение совершенства по ступеням:

  1. Дело описывает речь. Речь - это слово.
  2. Речь отражается в расчёт. Каждая мысль - в своё выражение расчёта. Отражённый расчёт - это "втора", "второй голос", "двухголосье".
  3. Расчёт разбирается в столбцы узлов, записанные ямками. Ямки + столбцы = ямцы.
  4. Ямцы управляют работой умственной машиной.
  5. Умственная машина выполняют описанную умственную работу - обработку сведений.  Слово превращается в дело.

Раньше совершение слова и совершенство  письменности обеспечивал человек.

Теперь человеку стала помогать программа.

Давайте кратко рассмотрим пример самой первой программы, созданной Семёном Николаевичем Корсаковым в Петербурге в 1829-1834 годах - Гомеоскоп, или по-русски Знакозор.

(продолжение - на лекции завтра, и здесь, но позже.)

Авторство: 
Авторская работа / переводика
Комментарий автора: 

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

Комментарии

Аватар пользователя Kasapius
Kasapius(6 лет 4 недели)

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

ПС. Что то мне вспомнилась советский отдел бухгалтерии на предприятии - множества столов, женщин, счёты, папки дело. 

Здравствуйте, я 1С. ФНС 

Аватар пользователя СПбДмитрий
СПбДмитрий(10 лет 4 месяца)

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

Здравствуйте из любой библиотеки ))  

Аватар пользователя Kasapius
Аватар пользователя СПбДмитрий
СПбДмитрий(10 лет 4 месяца)

Это любопытный вопрос, но начнём мы с другого. ИИ - на десерт, или "заверните с собой". 

Аватар пользователя MikaP11o
MikaP11o(6 лет 3 недели)

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

С приветом к вам, действующий инженер по разработке программного обеспечения.

Аватар пользователя tmp
tmp(4 года 7 месяцев)

1С, ведь, это не только бухгалтерия

Аватар пользователя Kasapius
Kasapius(6 лет 4 недели)

Именно мой друг. Заменяет огромное количество работников. А много вещей делает самостоятельно даже без участия бухгалтера или начотдкадров или склад.

Аватар пользователя predessor
predessor(7 лет 11 месяцев)

Главное в программировании - не написать программу, а отладить для конкретных условий применения.

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

Тут и естественному интеллекту не так уж и просто, а ИИ просто не сможет уделить этому много времени.

Да и не понимает он теток, для которых пишется программа.

Аватар пользователя balmer
balmer(8 лет 2 месяца)

Программирование без математики и без выполнения программы на компьтере smile31.gif

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

Аватар пользователя Nigger
Nigger(11 лет 5 месяцев)

Собираюсь завтра прочитать в г. Ломоносов небольшую лекцию "Программирование без математики". 

А на какую аудиторию это рассчитано?
Совсем юных гуманитариев?
Им будет это интересно? 

Аватар пользователя СПбДмитрий
СПбДмитрий(10 лет 4 месяца)

От 10 до 75. Ожидается равномерное распределение возрастов. Постараюсь соответствовать. 

Аватар пользователя И-23
И-23(10 лет 4 месяца)

И Вам тоже вопрос: что такое математика?

Аватар пользователя NOT
NOT(14 лет 1 месяц)

Программа или алгоритм?

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

smile1.gif

Аватар пользователя wertwerter
wertwerter(12 лет 9 месяцев)

А зачем алгоритм?

Задача разделяется на мелкие блоки, пишутся ф-ии, потом все собирается.

Зачем алгоритм? )))

Аватар пользователя Yana Hazina
Yana Hazina(6 лет 7 месяцев)

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

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

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

Аватар пользователя Aysman
Aysman(10 лет 5 месяцев)

Аватар пользователя Fvwm
Fvwm(14 лет 2 недели)

А зачем алгоритм?

Согласен, скрипач не нужен, ибо:

Задача разделяется на мелкие блоки, пишутся ф-ии, потом все собирается.

задача сама себя разделяет, функции сами себя пишут... а алгоритм? а алгоритм в этой схеме на хер не нужен smile9.gif

Аватар пользователя wertwerter
wertwerter(12 лет 9 месяцев)

Алгоритм можно составить только для типовой задачи.

Аватар пользователя Fvwm
Fvwm(14 лет 2 недели)

Алгоритм можно составить только для типовой задачи.

час от часу... во-первых обратите внимание на мою толстую шутку юмора по поводу возвратной частицы "-ся"

во-вторых, что значит "можно"? то есть можно и не составлять? тогда зачем силы тратить?

и почему только для типовой? и в какой момент задача становится на столько "типовой", что удостаивается чести быть отмеченной алгоритмом?

Аватар пользователя wertwerter
wertwerter(12 лет 9 месяцев)

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

Аватар пользователя Fvwm
Fvwm(14 лет 2 недели)

Мы с Вами о каких-то разных алгоритмах разговариваем.

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

Аватар пользователя NOT
NOT(14 лет 1 месяц)

smile1.gif

Зачот! 

Аватар пользователя fest
fest(8 лет 2 недели)

программа = логика

Аватар пользователя NOT
NOT(14 лет 1 месяц)

Полагаю, что программа это лишь перевод (в философском смысле) алгоритма в машинные коды. 

Аватар пользователя MikaP11o
MikaP11o(6 лет 3 недели)

Практически: программа в широком смысле - это пригодное для автоматического получения исполняемого кода представление алгоритма. Кстати, не обязательного непосредственно исполняемого "на железе", то есть именно машинных кодов. Примеры последнего - Java и Python: в обоих случаях исходные тексты вообще говоря преобразуются в некое промежуточное представление, которое уже исполняется виртуальной машиной. Хотя оба могут быть докомпилированы до машкодов.

Итого: при наличии компилятора и исходный текст - программа.

Аватар пользователя NOT
NOT(14 лет 1 месяц)

Я, в общем, именно про это и говорю!

У меня незаконченное высшее по программированию, и потом я занимался философскими аспектами перевода как «отображения отображений».даже статью нацарапал для «Вопросов философии».

Так что смиренно полагаю, что немного вопрос понимаю.

smile1.gif

Аватар пользователя MikaP11o
MikaP11o(6 лет 3 недели)

Да я буквально в целях терминологического уточнения: не в машинные коды. Или, как минимум - не непосредственно. Считайте, что докопался до столба.

Но я это делал исключительно из лучших побуждений, правда-правда! smile378.gif

Аватар пользователя NOT
NOT(14 лет 1 месяц)

Понял-понял! 

Вы абсолютно правы! 

Я потом перечитал-увидел, что неточно сформулировано, но уже поздно править было.

Аватар пользователя Географ глобус пропил

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

Аватар пользователя Kasapius
Kasapius(6 лет 4 недели)

За исключением специфических программ специально для математиков и физиков. Например при полёте в космос главные математики.

Аватар пользователя Oblomus
Oblomus(2 года 3 месяца)

Не только, написание простейшей игры в 3D, уже требует хотя бы базового знания. Формулы объемных фигур - шара, куба и тп не сможешь выразить для компьютера не применяя математику (готовые движки не в счет). В 2D проще, но и там даже простейшие расчеты никто не отменял.

Аватар пользователя Географ глобус пропил

В школьной программе же есть стереометрия

Аватар пользователя Oblomus
Oblomus(2 года 3 месяца)

В школьной программе smile3.gif
Как преподающий предмет "Информатика" в учреждении среднего технического образования, и имея выборку только за последние полгода могу вам сказать следующее:

Поступающие дети даже в табличном редакторе не работали, и не знают что это такое. Это не говоря уже о том чтобы рассчитать сумму выручки при продажах за месяц (цена и количество известны) даже на листочке. Они просто тупо не могут подумать, как это рассчитать, то есть, какая должна быть формула (формула? а это еще что за НЁХ?). И это при том, что каждый ходит по одному разу в день магазин возле дома.

И это выпускники 9-х классов. И это - математика базового уровня.

Когда спрашиваешь их - а что вы делали на уроках информатики? Ее преподавать начинают сейчас, судя по учебникам, с третьего ТБМ класса! За 6 лет ведь можно чему-то научиться.

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

smile14.gif

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

Аватар пользователя Географ глобус пропил

Слышал, что в России в 2024 при поступлении на средне-техническое образование был какой-то неимоверный конкурс и поэтому значительная часть поступила на платное.

Аватар пользователя Barmaglo
Barmaglo(10 лет 8 месяцев)

В школьной программе же есть стереометрия

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

Аватар пользователя Географ глобус пропил

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

Аватар пользователя Barmaglo
Barmaglo(10 лет 8 месяцев)

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

Чтобы залезть в учебник, надо хотя бы знать, что оно там есть и как называется... Иначе придется, либо консультироваться со знающими людьми, либо перелопачивать все учебники начиная с 3 класса.

А то вон, автор статьи решил, что можно одной философией заменить все математические знания в программировании.

Напоминает мне другого философа, который требовал создать вместо нормальной физики - суверенную физику. Дугин - вроде бы.

Аватар пользователя Географ глобус пропил

ИМХО, у многих философов существует комплекс неполноценности перед реальной научной работой, который они сублимируют преувеличением необходимости знания философии

Аватар пользователя MikaP11o
MikaP11o(6 лет 3 недели)

Матрицы 3х3, ну еще обратную матрицу нужно уметь считать.

Технически матрица поворота-масштабирования-сдвига - это 4х4-матрица специального вида.

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

Аватар пользователя MikaP11o
MikaP11o(6 лет 3 недели)

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

Это вам не трассировка лучей в динамической сцене с движущимися в общем смысле слова объектами - низменной наукой пусть авторы движков морочатся!

Аватар пользователя mse
mse(8 лет 7 месяцев)

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

Аватар пользователя Географ глобус пропил

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

Аватар пользователя mse
mse(8 лет 7 месяцев)

Если "чужую идею", то это не программист, а кодер. Большая разница.

Аватар пользователя MikaP11o
MikaP11o(6 лет 3 недели)

Например, отрисовка линии условного терминатора и зоны зари на картфоне в ГИС "Панорама" - это научная работа? А чтобы в высочайших приполярных областях это тоже работало?

Задача, на самом деле, элементарная для студента, знакомого с курсом аналитической геометрии. То есть буквально для закончившего 1 курс некоторых факультетов.

Аватар пользователя Манкубус
Манкубус(9 лет 2 месяца)

Как по Вашему мнению - возможно описать/создать алгоритмы коллективного поведения децентрализованной самоорганизующейся системы без использования математики и ее методов? ))) Часто в быту это называют "роевым интеллектом"...))) Я бы не стал  так принижать ее роль в программировании.. )))

Аватар пользователя Географ глобус пропил

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

Грубо говоря, для описания взаимодействия двух биллиардных шаров достаточно школьного курса, а поведение большого числа шаров можно описывать натурфилософски (хотя есть теория биллиарда Синая) 

Аватар пользователя Yana Hazina
Yana Hazina(6 лет 7 месяцев)

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

Писание программ по алгоритмам не предполагает математики.

Аватар пользователя Aysman
Aysman(10 лет 5 месяцев)

на phpconf у Marcus`a спросили как они используют php в google. Он ответил, что у них есть страничка, через которую они пиццу заказывают, так вот она написана на php

Аватар пользователя BDima
BDima(10 лет 5 месяцев)

Для формошлепов, извините фронтендеров так-то и не надо. Бэкендеру неплохо уже представлять себе, хотя бы, что такое сложность алгоритма и как она прикидывается. Ну а программируя обработку данных нейросетями, вполне себе неплохо представлять и как это все работает и что такое все эти метрики. Нет, можно и без этого (и даже многие инфоцыгане в достоинство курсов по нейросетям своих это ставят), но это уже из области "техномагии" будет - не прошло такое заклинание, будем пробовать вот это. У меня старший параллельно изучает вышку и нейросети, вполне себе и производные и линейна алгебра нужны и понятно для чего. Это не касаясь 

В принципе проблема есть при изучении высшей математики перед переходом к предметной области, нихрена бывает непонятно - нафига вот это вот все. Я вот помню в матане на первом курсе не понимал - ну нахрена раскладывать некую функцию в ряд Фурье, а пошла теория колебаний, да нелинейные системы с гармониками - и стало как-то проясняться smile1.gif

Да и понятие "программист" довольно изменилось. 20 лет назад приносят чемодан - АЦП 3-канальный по COM-порту с компом промышленным Husky 16 под MS-DOS общается, вот, дохнет комп, тыжпрограммист, перепиши   пром.компа программу на  КПК с  Palm OS, а то через месяц - в поля, катодную защиту трубопроводов тестировать, а новый прибор стоит 10 000 ойро (ну вот так вот ТЗ было сформулировано). Ну, источник  напряжения, тестер,  программку для перехвата общения по COM-порту написал, протокол обмена расколол (Das ist unmoglich! писала наивная немчура из Weilekes GmbH smile1.gif), API Palm OS изучил, книжку по катодной защите трубопроводов прочитал, в предметную область - въехал, программу написал по вечерам в свободное от работы время за $1000 и за месяц и, что характерно, работала несколько лет нормально в полях в тысячах км от цивилизации! Математики,правда, совсем малость  была - как усреднять и выбросы отбрасывать, да  переменное напряжение мерить. Интересно, как нынешние манагеры от программирования расписали бы эту задачу - какой коллектив и бюджет бы вышел smile1.gif

Аватар пользователя tehdir
tehdir(5 лет 9 месяцев)

 Мне поздно,76. Похоже ИИ писал.

Страницы