Quark Fusion
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Qraizer, если вы имели ввиду решение выражения типа sqrt(4) или поиск корней заданного! уравнения во время компиляции, то это никак не относится к оптимизации выражения от X или решения произвольного уравнения, где коэффициенты — переменные. кто мешает в программе определить константу, значение которой она сама и рассчитывает? не все языки, конечно, способны откомпилировать код и запустить его на рассчёт выражения, а уже потом слинковать его с результатами. Не проверял лично, есть ли такие вообще. Потому как компилятор может и не определить есть ли какие-либо внешние последствия у вызываемого кода или нет, особенно когда в нём используются внешние библиотеки. Цитата: Если у меня получилось так, что мне в программе потребуется решить квадратное уравнение, но при этом его коэффициенты являются константами, то из трёх вариантов - решить в run-time, решить на бумажке и подставить в программу результаты (фиии!), решить в compile-time - я предпочту последнее. | а как насчёт варианта «решить в run-time и подставить в программу», почему обязательно на бумажке считать? К тому же очень малую часть можно реализовать на этапе компиляции. Кстати в C шаблоны обрабатываются препроцессором, а не компилятором. И пример рассчёта констант в процессе компиляции имеет мало общего с автоматической оптимизацией кода, поскольку фактически они рассчитываются другим языком, с таким же успехом пожно влепить перед компилятором любой обработчик сриптового языка, который рассчитает выражения по предварительно заданным алгоритмам. в любом случае, если компилятор определяет какое-то выражение в цикле как константу, то он его выносит за цикл и не рассчитывает его каждый раз, хотя если вы циклически вызываете функцию, в которой есть это выражение, то тут уже надо алгоритм менять. Цитата: Заметь, выражение - это тоже константная сущность. Как в программу вобъёшь, так оно и откомпилится (калькуляторы не рассматриваем | однако нас интересует результат выражения и причём тут калькуляторы? разве eval(x) сильно отличается от function(x)? Добавлено: Цитата: Чтобы ты не сомневался в потенциале шаблонного метапрограммирования | В пользе шаблонов никто и не сомневается, вот только назначение их не в рассчёте чего-либо при компиляции, а в автоматической генерации кода. Цитата: Потом рассказывал, в каком шоке был учитель. | оффтопик: гы-гы-гы дочка в школе: «а у меня папа — математик! » Добавлено: Цитата: И PHP я вообще-то не с С++ сравнивал, раскрой глаза пошире! | XDiaBLo, вы просто сначала высказались, что Java быстрее C++, а потом что вы проверяли как она быстрее PHP, вроде как в подтверждение того, что она самая быстрая (байткод против компиляции), сложилось впечатление, что вы разделили языки на «Java» и «не-Java» Цитата: Сейчас век интернета, и я думаю перспективнее языки направленные на интернет приложения. | а какие именно осбенности языков на них направленны? Тут вопрос лишь в том, на какой платформе вам нужно писать программу, а интернет-приложение при наличии собственного сервера можно делать на чём угодно, способного вызывать внешние модули или имеющего встроенные средства для работы с сетью. Кстати, с точки зрения интернет-приложений перспективен ActionScript 3.0 (Flash9, Flex) в связке с другим языком (проще всего с Java). Т.к. Java VM автоматически клиенту не устанавливается. Добавлено: P.S. тема назыыается «Самый перспективный язык программирования», а не язык для интернет-приложений |