Исследовательский материал по производительности
При обсуждении, какую платформу использовать для каких приложений (в частности, мы обсудили С++, 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