Горе от ума ничего там интересного нет забить и забыть
Ща усё поясню!
Это обобщение разницы между компилятором и интерпретатором. Эту разницу, надеюсь, не нужно объяснять?
Пусть у нас есть функция Ф(а,б). Представь, что это вообще ВСЕ вычисления. Где “а” - программа, а “б” - входные данные для неё.
Если мы из данных “внешней разведки” знаем, какие будут программы, но НЕ ЗНАЕМ, какие нам дадут входные данные, то ОЧЕНЬ выгодный способ подготовиться, это скомпилировать все вероятные программы, и потом, на экзамене (или в бою) просто их применять к входным данным. Это ОЧЕНЬ СИЛЬНО быстрее, что важно - по реакции системы быстрее, чем на ходу интерпретировать программу и применять её к данным.
Это одно из самых стандартных описаний “частичных вычислений”. Считаю его очень понятным. Если это не так - буду рад фидбэку и попробую еще варианты.
для продвинутых читателей напишу, что нам обычно и “а” и “б” неизвестны, но мы можем найти особенно “противные”, с точки зрения сложности счета “в бою”, варианты программ и откомпилировать их заранее - то есть для конкретных, “мерзких” “а”, вычислить СПОСОБ РЕШЕНИЯ, для разных “б”. То есть, в аналогии выше - “откомпилировать программу”. Мы получаем не результат, а способ получения результата. Это выгодно, если полученный “способ” считать легко (в бою), а готовить его - сложно и полезно сделать эту подготовку заранее.
Цикл повторяется N раз в котором делаем арифметическую прогрессию А=А+1.
Если я правильно понял, то высшие силы это видят и этот кусок кода преобразуют к одной единственной операции A=A×N.
Только это в процессе работы, а не компиляции.
Я правильно понял?))
Это ты на примере кода показываешь. А у нас вычисления, то есть данные.
Для вычислений лучше пример с инвертором. Для инвертора нужны значения синуса в известных точках. В ходе генерации сигнала вычислять их может не хватить быстродействия - поэтому синус обычно вычисляют заранее и кладут в табличку. Вот это и есть “частичные вычисления”.
А чего я так и не понял - что именно нового теперь предлагается в стандарте. Считать табличный синус можно было и раньше.
Самому!
Тут важно, в какое время считать. Иногда синус до 3 доходит. Времена не простые.
Жалко, что даже ты не верно понял. А ты всё-таки подготовленный программист.
Речь о том, что мы может построить таблицу не синусов, а программ. То есть способов вычислений. Речь идёт о том, что можно и нужно относиться к СПОСОБАМ вычислений, как к данным. Мой драгоценный коллега вам постоянно пишет о лямбда исчислении, но я, по опыту преподавания знаю, что звонкий термин часто отпугивает ученика.
Да не, чего там отпугивать. Люмбда это просто красивое слово, а на деле обычная функция. только анонимная.
это надо как-то осмыслить…
for (i=0; i < 100500; i++) { НЕТ }
в sql - хранимые процедуры, но sqlite3 этого к сожалению не умеет