Исследовательский материал по производительности

При обсуждении, какую платформу использовать для каких приложений (в частности, мы обсудили С++, java, С# и f #), мы попытались найти научные исследования качества производительности (стоимость владения на самом деле) аналогичных приложений, построенных на разных платформах/с использованием вышеупомянутых языки. Кто-нибудь знает о таких исследованиях?

EDIT: Я вижу, что некоторые из них отметили, что запрошенный вид исследований не существует/не может быть выполнен. Поэтому я подумал, что уточню, так как исследование, которое я прошу, является исполняемым (и я знаю, что уже прочитал один опрос, но забыл источник)

Я не прошу исследования, которое дает заключение о том, какая платформа/язык будет самым продуктивным "молотом" для любого "гвоздя". Я прошу провести повторный поиск, который дал набор предикаций (как и все исследования), например. вид платформы HW, вид приложения с сопоставимыми компетенциями в персонале, исследует инструменты (в частности, язык) и их влияние на производительность. Я не пытаюсь начать религиозную войну, поэтому я не прошу мнения людей, а научное исследование качества:)

Ответ 1

Здесь исследование С++ vs Java.

Здесь полунаучное исследование Python/Django vs. С#.

И здесь один на Java против С# против Ada.

Независимо от того, какие языки вы хотите сравнить, выполните поиск Google

study of [LanguageX] vs [LanguageY]

и посмотрите, что вы можете получить.

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

Ответ 2

Это не наука, но она основана на 28-летнем бизнесе, наблюдая и участвуя в командах, которые использовали огромный спектр технологий, от сборки до длинного списка языков более высокого уровня, плюс, конечно, ектения методологического серебра-пули-дю-jours:

То, что действительно влияет на производительность, - ваши люди - в частности, насколько они хороши, и насколько они хороши.

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

Ответ 3

У вас уже есть ответ на этот вопрос в вашем проекте.

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

Если вы создаете веб-приложение, сильно подумайте о Ruby. Если вы делаете толстый клиент, настоятельно рекомендуем С#. Если вы просто пытаетесь заработать деньги на консалтинге, используйте Java.

Ответ 4

Был там, сделал это. Это то, из чего сделаны религиозные войны (в некоторых местах); -)

Я очень сомневаюсь, что вы сможете прийти к окончательному решению независимо от того, насколько хорошо вы исследуете предмет. На всех "платформах", о которых вы упомянули выше, есть много качеств, и в конце концов, в зависимости от того, куда вы направляетесь, вам придется идти на компромисс.

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

Ответ 5

Я сомневаюсь, что вы найдете убедительные исследования на этом уровне.

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

Это не проблема для исследователей, одна из которых для менеджеров.

Ответ 6

Научные исследования? Я тоже так не думаю. Они исходили из опыта и FUD через Интернет. Кроме того, каждый поставщик (IBM, M $, Oracle..) будет иметь собственную историю производительности, основанную на их "повторном поиске". Вы можете найти что-то полезное на исследовательском сайте PWC инновационная технология PWC

Ответ 7

Я считаю, что если это будет чисто производительность, команда разработчиков приложений, работающих на С++, будет менее успешной, чем команда, работающая на С# или Java. Почему: управление памятью, утечка памяти, длительные ошибки указателя, неприятные ошибки и сбои, которые необходимо исправить, и т.д. Я даже не собираюсь говорить что-то о F # (есть ли сообщество разработчиков F #, к которым могут обратиться ваши программисты?), Итак, я сузил ваш выбор до Java или С#. И это, насколько я пойду.

Ответ 8

Производительность зависит от приложения. Для конкретного приложения есть четкие приемы и несоответствия при использовании разных языков программирования или шаблонов. Например, использование объектно-ориентированного кода вместо процедурного кода имеет четкую прирост производительности для большого программного обеспечения. Аналогично, для разных приложений существует несколько шаблонов/анти-шаблонов. Языки сценариев имеют явное преимущество производительности программиста. Я нашел эту статью, которая сравнивает некоторые языки программирования для разных задач.

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.56.2977&rep=rep1&type=pdf

Ответ 9

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

http://www.qsm.com/?q=resources/function-point-languages-table/index.html