Я слышал "динамическое" изменение во время выполнения? Что это такое? - PullRequest
0 голосов
/ 05 марта 2011

я слышал, что эти (скажем, например, Groovy) языки имеют возможность изменять имя переменной или вызывать методы динамически во время выполнения!Что вы имели в виду под динамическими языками?И какова реальная необходимость изменения каких-либо значений во время выполнения?Разве это не приводит к путанице, потому что во время выполнения, если вы изменяете какое-либо значение (или ваши константы программирования меняют что-либо), тогда зачем нужна компиляция (поскольку он решает и подтверждает, что эти значения будут использованы, тогда смысламеняем его динамически)?И я знаю, что должно быть что-то полезное, так что только люди ввели эти понятия!

Я думаю, я ясно понимаю свой вопрос!И мне нужно краткое объяснение:)

1 Ответ

1 голос
/ 05 марта 2011

Три очка:

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

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

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

...