Чи є докази того, що використання динамічних мов впливає на продуктивність?


25

Мені цікаво, чи існують якісь експерименти, які показують існування або відсутність кореляції між використанням динамічної мови (наприклад, Python, Ruby або навіть мов, які працюють на платформі Java, такі як Groovy, Clojure) над статична мова (наприклад, C / C ++) та різниця в продуктивності.


3
Емпіричне порівняння C, C ++, Java, Perl, Python, Rexx та Tcl для програми пошуку / обробці рядків - це хороший та класичний папір, що охоплює багато практичних аспектів програмного забезпечення (включаючи продуктивність).
залежний

6
Як динамічна Java?
svick

5
У мене виникають труднощі в сприйнятті цього питання як онтопічного, але оскільки він просить спеціально для експериментів, це повинно бути добре. Будь ласка, зберігайте відповіді суворо.
Рафаель

1
Я раніше задав це точне запитання програмістам: programmers.stackexchange.com/questions/10032/… , сподіваюся, ви отримаєте кращі відповіді, ніж я.
Вінстон Еверт

3
Це питання, над яким дослідники повинні насправді працювати. Я вважаю це темою.
Дейв Кларк

Відповіді:


11

Хоча я не знаю про дослідження продуктивності, були дослідження щодо розуміння. Філіп Вадлер збирав посилання на статті на цю тему: дивіться цю публікацію та цю .


3
На перший погляд, все це, мабуть, стосується функціональних та імперативних, а не статичних проти динамічних.
sepp2k

Окрім коментаря seepp2k, використання цих досліджень Вадлером є саме небезпекою емпіричної науки: несправним узагальненням!
Удай Редді,

8

Зокрема, на продуктивність роботи Ханенберг досліджував вплив на час розробки, коли те саме завдання було реалізовано в Java (статична) проти Groovy (динамічна). Їх результати були описані в наступній роботі:

Статичні та динамічні системи типу: емпіричне дослідження взаємозв'язку між типами і часом розвитку , 2011.

Були також проведені дослідження впливу статичного / динамічного набору тексту на підтримку програмного забезпечення. Це зовсім недавній документ на цю тему:

Емпіричне дослідження впливу статичного набору тексту на технічне обслуговування програмного забезпечення , 2014 рік

Автори також опублікували попередню роботу з тієї самої області, включаючи цю (також вказану в одному з посилань, про які говорив Суреш):

Чи покращують системи статичного типу ремонтопридатність програмних систем? Емпіричне дослідження , 2012 р. (PDF доступно)

Крім того, якщо ви збираєтесь займатися цією темою дослідження, майте на увазі, що однією з ключових проблем тут є визначення продуктивності - і як саме ви збираєтесь її вимірювати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.