[image]

Ищем идеальный язык :D

 
+
-
edit
 

Balancer

администратор
★★★★★
Сабж. Требования (не в порядке приоритета):

1. Автоматический рулёж памятью.
2. Экономное обращение с памятью операционной системы.
3. Высокое быстродействие (нативный или байтовый JIT-код).
4. Жёсткая типизация.
5. Строгий синтаксис.
6. Неизбыточный синтаксис (минимум лишней писанины).
7. Развитые библиотеки - сеть, регулярные выражения, GUI.
8. Автоматическое распараллеливание задач
9. Полноценная межплатформенность хотя бы на уровне исходников.

Ваши кандидатуры? :)

Примеры:
Java
- хорошо по 1, 4..7, 9
- умеренно по 3, 8
- отвратительно по 2

C++
- хорошо по 2, 3, 6
- умеренно по 4, 7, 9
- отвратительно по 1, 5, 8

Форт
- хорошо по 2, 3, 9
- отвратительно по остальным :)

Интересуют в первую очередь функиональные языки из-за пункта 8.
   
Это сообщение редактировалось 03.12.2005 в 10:29
+
-
edit
 

Balancer

администратор
★★★★★
По скорости/памяти/объёму кода.

Прекрасный синтетический бенч по куче языков, с возможностью попарного сравнения. Вот общий топ: Computer Language Benchmarks Game

Вот, для примера, сравнение Java и G++ - Computer Language Benchmarks Game
   
US Сергей-4030 #02.12.2005 21:22
+
-
edit
 

Сергей-4030

исключающий третье
★★
Насколько я понимаю, веса коэффициентов разные. В частности, без пункта 7 язык и рассматривать смысла нет. А это автоматически сужает круг поисков к "только широко распространенным языкам". Которые уже и так рассмотрены. Ну, может еще стоит C# рассмотреть.

ЗЫ И, кстати, PHP5 тоже совсем не лишний кандидат! ;)
   
RU Balancer #03.12.2005 10:38  @Сергей-4030#02.12.2005 21:22
+
-
edit
 

Balancer

администратор
★★★★★
Сергей-4030> Насколько я понимаю, веса коэффициентов разные.

Да. Но можно пока им всем приписать по единичке :)

Сергей-4030> В частности, без пункта 7 язык и рассматривать смысла нет. А это автоматически сужает круг поисков к "только широко распространенным языкам".

Не только. Взять тот же O'Caml. Язык весьма нераспространён, но в Gentoo-репозитории под него и GUI есть, и PCRE, и развитые tcp/ip-средства.

>Которые уже и так рассмотрены. Ну, может еще стоит C# рассмотреть.

Специально для него сейчас добавл 9-й пункт, который вчера упустил. С его учётом C# становится не шибко красивым (Mono под Linux сильно его ограничивает) перед тем же Java.

Кстати, Computer Language Benchmarks Game

Mono better : JDK -server better
Full CPU Time Memory Use Code Lines
3:13 14:2 8:8


Т.е. с учётом переносимости проигрышь по скорости получается капитальный...

Сергей-4030> ЗЫ И, кстати, PHP5 тоже совсем не лишний кандидат! ;) [»]

Да, по совокупности может набрать определённый процент очков.

Придётся формализовать задачу: ищется в первую очередь кандидат для замены Java в написании игрового сервера LineageII. Это MMORPG. Десятки тысяч активных объектов, до тысяч игроков (Java на реальном железе сейчас тянет только до нескольких сотен), активное взаимодействие объектов.

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

Вторая задача - написание небольших автономных GUI-приложений.

PHP плохо вписывается и в первую и во вторую категорию :)
   

Lerm

втянувшийся
Balancer, 03.12.2005 10:38:03:
Придётся формализовать задачу: ищется в первую очередь кандидат для замены Java в написании игрового сервера LineageII. Это MMORPG. Десятки тысяч активных объектов, до тысяч игроков (Java на реальном железе сейчас тянет только до нескольких сотен), активное взаимодействие объектов.
[»]
 


А может не надо? :) Насколько я понимаю, Java полностью устраивает как язык, есть только сомнения в производительности?

Можно попробовать JDK от других производителей - попробуй JRockit от BEA Systems. Версии 1.4 у них были заметно быстрее чем Sun-овская машина, 1.5 медленней на элементарных тестах, но на реальных больших задачах я эту версию не гонял. Бесплатная, разрабатывается с сотрудничестве с Intel (и потому существует только для x86/x86-64/Itanium и Windows/Linux)
   

Lerm

втянувшийся
Да, и может задуматься всё-таки об оптимизации движка, а не смене языка? ;)
   
+
-
edit
 

Balancer

администратор
★★★★★
Lerm> Можно попробовать JDK от других производителей - попробуй JRockit от BEA Systems.

code text
  1.  # esearch JRockit
  2. [ Results for search key : JRockit ]
  3. [ Applications found : 1 ]
  4.  
  5. *  dev-java/jrockit-jdk-bin [ Masked ]
  6.       Latest version available: 1.5.0.03
  7.       Latest version installed: [ Not Installed ]
  8.       Size of downloaded files: 189,382 kB
  9.       Homepage:    http://commerce.bea.com/products/weblogicjrockit/5.0/jr_50.jsp
  10.       Description: BEA WebLogic's J2SE Development Kit, version 5.0
  11.       License:     jrockit


Есть такое. Можно будет попробовать. Не знал, что появились "сторонние" 1.5 :)

Lerm> 1.5 медленней на элементарных тестах, но на реальных больших задачах я эту версию не гонял.

sun java 1.5 стала, похоже, заметно быстрее.
   
Это сообщение редактировалось 16.12.2005 в 16:28
+
-
edit
 

Balancer

администратор
★★★★★
Lerm> Да, и может задуматься всё-таки об оптимизации движка, а не смене языка? ;) [»]

Да я этим непрерывно уже пару месяцев занимаюсь. Но, то ли алгоримического опыта не хватает, то ли задача нетривиальная... Сейчас в "Компьютерном" освещу новой темой :)
   
RU helicopter #20.01.2006 00:01
+
-
edit
 

helicopter

втянувшийся

Ну самый лучший язык программирования, язык всех времён и народов - это Ассемблер !
   
+
-
edit
 

digger

аксакал

8) - этo врoде функция не языкa, a кoмпилятoрa , нaдo нaйти пoдxoдящий. Пo скoрoсти , прoстoте нaписaния и пoртaбельнoсти ANSI C впереди всеx, с типизaцией и aвтoмaтическим менеджментoм пaмяти прoблемы.
   

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru