НовостиСобытияКонференцииФорумыIT@Work
Идеи и практики автоматизации:

Блог

Самый шустрый язык программирования

Сергей Бобровский
27.01.2012 10:43:25

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

Победила реализация Фортрана от Intel. Приблизиться к ней не смог вообще никто, даже GNU C и GNU C++ (и что еще более удивительно, чистый Си немножко проиграл "плюсам").
На четвертом месте язык Applied Type System, про который я к стыду своему слышу в первый раз. Представляет он систему автоматического доказательства теорем, расширенную средствами прикладного программирования. Почему так шустр, даже не знаю, но активно применяется для системного программирования.

Пятое место давно шлифуемой Ada немудрено, а вот 6-7-е места Java -- отличный аргумент против унылого мнения "java тормозит".

Даже Pascal и C# Mono сильно от Java отстают, в полтора-два раза! В отношении Паскаля это совсем странно. Причина, видимо, в активно развивающихся промышленных технологиях оптимизации кода, ориентированных на поддержку в первую очередь виртуальных машин.

Довольно быстро работают функциональные Lisp и F#, относительно несильно отстает и JavaScript. А вот классические скрипт-языки Lua, Ruby, Python и PHP тормозят уже в 30-50 раз.

Резюме.
Если пишем под линуху нагрузочную математическую прогу -- однозначно Фортран.
Если обычная логика -- Си/С++.
Специализированные и встраиваемые системы -- ADA.
Низкоуровневый системный код -- ATS.
Корпоративные системы -- Java.
Что-то легковесное-скриптовое -- JavaScript.

Комментариев: 16

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии

Igor
27.01.2012 17:23:35

"Если пишем под линуху нагрузочную математическую прогу -- однозначно Фортран.
Если обычная логика -- Си/С++.
Специализированные и встраиваемые системы -- ADA.
Низкоуровневый системный код -- ATS.
Корпоративные системы -- Java.
Что-то легковесное-скриптовое -- JavaScript. "

Не полностью согласен.
Похоже, автор давно не писал математических программ.

1 -4. C/C++ и их специализированные варианты.
5. Или Java, или PHP.
6. Согласен.

DKomissarov
27.01.2012 20:08:08

Корпоративные системы на PHP smile:)

Igor
28.01.2012 11:53:12

Да, а почему нет? Примеры попросите? Сейчас, чтобы не искать долго, на ум пришли достаточно известные (в узких кругах) проекты на "чистом" LAMP: "Управление договорами", УправДок, Senayan. Вполне рабочие проекты.

Еще кто с чем работал - последнее время мне также, конечно, Java встречается (Alfresco, Dcm4chee, Nuxeo).

Встречались проекты вообще без сервера приложений и WEB-сервера, только Linux+MySQL. При этом весь функционал отдается на откуп клиентской части, для которой уместны Python или C++ (либо любой другой язык программирования, либо их смесь, при наличии вменяемой библиотеки, такой как Qt). В качестве яркого примера можно привести "Самсон-Виста".

Примечание: кто прется от Windows, везде выше Linux можно заменить на нее.

Igor
28.01.2012 13:22:14

О! Еще вспомнил. SugarCRM - чистый LAMP.
Вот тут про нее подробно:

http://www.ibm.com/developerworks/ru/library/l-SugarCRM_part1/
http://www.ibm.com/developerworks/ru/library/l-sugarcrm_02/
http://www.ibm.com/developerworks/ru/library/l-sugarcrm_03/
http://www.ibm.com/developerworks/ru/library/l-sugarcrm_04/index.html

Igor
28.01.2012 13:26:01

И на Java есть примеры ИС хорошие: OpenBravo, ADempiere.

Так что все зависит от вкуса и квалификации разработчика. Хорошую ИС можно на различных платформах написать.

Skynin
30.01.2012 14:11:38

Цитата
Хорошую ИС можно на различных платформах написать.

На PHP - не напишешь. Только простенькую, для "малого бизнеса", и то вопрос.

На питоне и то лучше ситуация, есть OpenERP, хотя тоже, сравнивая ее только функциональность видно что она для малого бизнеса. Подозреваю что и даже в таком виде - при нагрузке будет очень медленная.

Андрей Губанов
03.02.2012 17:06:10

Feng Office на PHP сделано. Мой специалист, занимающийся анализом СПО систем СЭД, сказал, что он лучше, чем Alfresco. Сделан лучше, потому что области применения пакетов, хоть и пересекаются, но различны.

Skynin
27.01.2012 20:40:59

У Вас какое-то глубоко неверное представление если поставили или между Java и PHP smile:D
Java или C# (.NET)
PHP или Python или Ruby

Соленое с красным не сравнивают.

Насчет С++ - то оправдано его применение в:
многотиражных продуктах
больших и с жесткими требованиями к эффективности выполнения программ (если малые то и С стоит рассматривать)

Ada - при высоких требованиях к надежности ПО. Например при разработке ПО для бортовых авиационных систем.

Igor
28.01.2012 10:04:41

Java на стороне сервера допустимо сравнить с PHP.

Мнение сугубо личное.

Почему упомянули .NET, непонятно. Это фреймворк, привязанный к одному производителю. Как и язык C# (.NET или Mono). Если помнится, производителей я не упоминал. А хотелось бы говорить о вещах универсальных.

Skynin
30.01.2012 14:08:10

А при чем тут - один или много производителей?

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

Насчет примеров CRM на PHP - то любая CRM по сложности уступает другим системам в бизнесе.
Другое дело что мода-потребность в CRM появилась не так давно, и как правило уже есть работающая система которой просто не хватает CRM, - почему бы отдельную не поставить?

И примеры ERP вы не те привели. Нужно отличать коробочное ПО от заказного. На Java коробочные ERP - редки. Java используется либо для расширения их, коробочных, функциональности, либо вообще для разработки заказного, или малотиражного бизнес ПО. PHP тут никак конкурент.

Дядя Илья
30.01.2012 01:39:33

За исключением PHP в целом согласен...
И похоже автор статьи давно не заглядывал в последние релизы библиотек к Си & С++ ...
Что касаемо Lisp, то тут,, как говорится, весьма и весьма спорная ситуация... Больно уж узкоспециализированный инструмент.

29.01.2012 22:20:14

А у меня почему-то не открывается самая первая ссылка в посте ("Вот этот ресурс")

30.01.2012 21:47:18

Да, похоже, что сайт The Computer Language Benchmarks Game не выдержал наплыва посетитетей PC Week/RE smile:)

Андрей Губанов
03.02.2012 17:10:28

Сайт доступен. Название сайта характерное

Ubuntu : Intel® Q6600® one core
Computer Language Benchmarks Game [[ Help ]]

smile:)

Igor
30.01.2012 10:59:16

Автор уже упомянул, что, дескать, реализация такой-то фирмы эффективнее. А мне хотелось бы усилить тезис о реализациях. Вот тут http://linuxdoc.pp.ru/files/MS_History.pdf красочно описано, как одна из компаний делает язык программирования из стандартного де-юре проприетарным де-факто объектом. Добавил бы только, что подобным "грешат" все производители как проприетарных, так и открытых продуктов. Маловероятно, что приложение, собранное с помощью продукта одного производителя, без радикальных переделок пойдет на других средствах разработки.

Даже проект, скажем, на С++ с использованием Qt, вообще говоря, нельзя просто перекомпилировать, чтобы получить версию приложения для другой ОС (в нашем случае пришлось "вручную" переделать локализацию).

Т.о., автор неправ в одном основополагающем моменте. Сейчас надо говорить не о языках программирования, а о системах разработки приложений.

30.01.2012 14:29:46

Начал писать комментарий, а в результате получил отдельный пост : http://www.pcweek.ru/ecm/blog/idea/2335.php

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии