Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [D] Язык программирования D 
:(
    Опции темы
$tatic
Дата 31.7.2008, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: нет
Всего: 22



Кто чего хорошего может об этом перспективном языке сказать?
PM MAIL   Вверх
kemiisto
Дата 31.7.2008, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



Очередная попытка "облагородить" C++. Cборщик мусора, модули, отказ от препроцессора, множественного наследования...

Цитата($tatic @  31.7.2008,  19:33 Найти цитируемый пост)
перспективном языке

Вряд ли он перспективный. Из "облагороженных" потомков С++ Вам должны быть прекрасно известны два языка, за которыми стоят крупные корпорации и не менее крупные сообщества разработчиков. В D особой нужды никто не испытывает. 

P.S. А пишут то о нём конечно красиво! smile 
Цитата(http://dprogramming.ru/d/)

Язык D - мощь современного объектно-ориентированного языка и низкоуровневость C. Или можно сказать так: язык D - логическая целостность и простота Java плюс широкие возможности языка C.



--------------------
PM MAIL WWW GTalk Jabber   Вверх
bars80080
Дата 31.7.2008, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: нет
Всего: 315



kemiisto, ты знаешь, что эсперанто не допускает дублирования букв?
PM MAIL WWW   Вверх
$tatic
Дата 31.7.2008, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: нет
Всего: 22



kemiisto, имеются в виду Java и C#? Если так, то у них тоже можно найти ряд недостатков, из-за которых D выглядит лучше.
PM MAIL   Вверх
kemiisto
Дата 31.7.2008, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



2 bars80080
Если Вы про мой ник, смотрел в словаре.

2 $tatic
Цитата($tatic @  31.7.2008,  20:51 Найти цитируемый пост)
имеются в виду Java и C#?

Угадал! smile 

Цитата($tatic @  31.7.2008,  20:51 Найти цитируемый пост)
Если так, то у них тоже можно найти ряд недостатков, из-за которых D выглядит лучше.

"Огласите весь список!" smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
$tatic
Дата 31.7.2008, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: нет
Всего: 22



Цитата(kemiisto @  31.7.2008,  21:18 Найти цитируемый пост)
"Огласите весь список!"

Применительно к разработке 3D-игр (мне это ближе):
  •  наличие рантайма с JIT - во многих случаях замедляет работу программы, для высокопроизводительных графических движков весьма критично;
  •  в Java нет перегрузки операторов - сложно работать с математикой (матрицы, векторы, кватернионы);
  •  .NET существует только под Windows, Mono значительно медленнее;
  •  высокоуровневость и, как следствие, неудобство при работе с памятью напрямую (важно для быстродействия);
  •  Garbage Collector повышает расход памяти (неиспользуемые объекты какое-то время лежат в памяти) и замедляет программу (в D сборщик мусора использовать необязательно, т.к. ручное управление в данном случае эффективнее);
  •  отсутствие шаблонов (дженерики заменяют их не в полной мере);
  •  все методы виртуальные (замедление работы) - в D компилятор автоматически распознаёт необходимость виртуализации.

В общем D призван заменить C++ в области высокопроизводительных и низкоуровневых приложений, а Java и .NET служат для других задач и в своих нишах C++ неплохо заменяют.
PM MAIL   Вверх
kemiisto
Дата 31.7.2008, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



Цитата($tatic @  31.7.2008,  23:38 Найти цитируемый пост)
наличие рантайма с JIT - во многих случаях замедляет работу программы, для высокопроизводительных графических движков весьма критично;

Не думаю. Тогда б не было XNA Framework и XNA Game Studio.

Цитата($tatic @  31.7.2008,  23:38 Найти цитируемый пост)
в Java нет перегрузки операторов - сложно работать с математикой (матрицы, векторы, кватернионы);

В .NET есть!

Цитата($tatic @  31.7.2008,  23:38 Найти цитируемый пост)
.NET существует только под Windows, Mono значительно медленнее;

Игры тоже существуют только под Windows. За редким исключением.

Цитата($tatic @  31.7.2008,  23:38 Найти цитируемый пост)
высокоуровневость и, как следствие, неудобство при работе с памятью напрямую (важно для быстродействия);

Опять же, существование XNA говорит о том, что проигрыш в производительности не так велик.

...

Цитата($tatic @  31.7.2008,  23:38 Найти цитируемый пост)
В общем D призван заменить C++ в области высокопроизводительных и низкоуровневых приложений, а Java и .NET служат для других задач и в своих нишах C++ неплохо заменяют.

При этом D никогда уже не сможет занять ни первую, ни вторую нишу. Это ж ясно как день. С++ и Java/C# там крепко сели. imho


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Lazin
Дата 1.8.2008, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: нет
Всего: 154



в D очень развитые возможности для метапрограммирования, спасибо Александресску smile 
но вообще я больше всего рассчитываю на новый стандарт С++ smile 
PM MAIL Skype GTalk   Вверх
kemiisto
Дата 1.8.2008, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



Цитата(Lazin @  1.8.2008,  08:45 Найти цитируемый пост)
но вообще я больше всего рассчитываю на новый стандарт С++

Да, я тоже на него рассчитываю. Может, наконец то, сложность языка С++ станеть столь огромной, что разработчики посмотрят в сторону языков с более продуманным дизайном. С++ — слишком большой и сложный язык. Я не знаю ни одного человека, который возьмётся утверждать, что он знает его полностью. А можно ли в такой ситуации доверять языку?

Lazin, по Вашему опыту, сколько в среднем требуется лет, чтобы изучить С++?


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Lazin
Дата 1.8.2008, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: нет
Всего: 154



как будто я его до конца знаю... smile 
вот недавно, например, узнал, что если написать 2 строковых константы подряд они объединяются в одну
Код

printf("Hello" " world");

напечатает 
Код

Hello  world

прикольно  smile 
PM MAIL Skype GTalk   Вверх
kemiisto
  Дата 1.8.2008, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



Lazin, а смысл такой языковой "фичи"? Ну, да ладно, впрочем. Бог с ним с С++. Вернемся к нашим... smile 

$tatic, у Вас, судя по всему, есть опыт программирования на D. Ну и как Вы сами оцените язык ы целом?

Это сообщение отредактировал(а) kemiisto - 1.8.2008, 21:49


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Lazin
Дата 1.8.2008, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: нет
Всего: 154



Цитата(kemiisto @  1.8.2008,  21:48 Найти цитируемый пост)
а смысл такой языковой "фичи"

смысл в макросах:
Код

std::cout << "error in function: "__FUNCTION__ << std::endl;

удобно очень smile 
хотя вернемся к D... кто нибудь умеет на нем программировать?
PM MAIL Skype GTalk   Вверх
$tatic
Дата 2.8.2008, 18:51 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: нет
Всего: 22



kemiisto, к сожалению опыта пока нет - нет возможности DMD последней версии скачать :( А хотелось бы на нём 3D-движок затеять.
PM MAIL   Вверх
volte
Дата 2.8.2008, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 30.6.2008

Репутация: нет
Всего: нет



А по рейтингу TIOBE Programming Community Index, этот язык довольно стабильно движется вверх.

Это сообщение отредактировал(а) volte - 2.8.2008, 21:10
PM MAIL   Вверх
kemiisto
  Дата 2.8.2008, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



volte, во первых этот рейтинг... Ну, вообщем, он ни о чём ровным счётом не свидетельствует.
Да и к тому же: клац!
Цитата

История с раскруткой D на tiobe хорошо известна. 
Методика подсчета популярности была проста (сейчас они её немного "усовершенствовали"): в поисковике набирается запрос "X programming".
Однажды "D programming" начал выдавать офигительное количество ссылок и, естественно, рейтинг D стремительно взлетел ввысь. Но некоторые заинтересовались этими ссылками. И с удивлением обнаружили, что после первого десятка страниц все они ведут на багзилу. Умные парни догадались вставить в каждый файл исходников "/* The D programming language ...*/".
Ну, и с названием D повезло. 
По просьбам трудящихся tiobe исключет "3-D Programming" из статистики D, зато туда попадает 
"Thomas D.Programming in Ruby"


Вот так то.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
volte
Дата 3.8.2008, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 30.6.2008

Репутация: нет
Всего: нет



Цитата(kemiisto @ 2.8.2008,  21:45)
История с раскруткой D на tiobe хорошо известна. 
Методика подсчета популярности была проста (сейчас они её немного "усовершенствовали"): в поисковике набирается запрос "X programming".
Однажды "D programming" начал выдавать офигительное количество ссылок и, естественно, рейтинг D стремительно взлетел ввысь. Но некоторые заинтересовались этими ссылками. И с удивлением обнаружили, что после первого десятка страниц все они ведут на багзилу. Умные парни догадались вставить в каждый файл исходников "/* The D programming language ...*/".
Ну, и с названием D повезло. 
По просьбам трудящихся tiobe исключет "3-D Programming" из статистики D, зато туда попадает 
"Thomas D.Programming in Ruby"

я сомневаюсь, что только продвижение языка D, является активным, а остальные языки ни каких шагов не проявляют. И другие с грешками. что насчёт рейтинга, то во многих статьях идёт ссылка именно к TIOBE, а это наверное не пустозвон, а проверенно и их рейтингом следует принимать во внимание если не как факт, то как один из самых уважаемых мнений.
PM MAIL   Вверх
kemiisto
Дата 3.8.2008, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



Цитата(volte @  3.8.2008,  20:55 Найти цитируемый пост)
я сомневаюсь, что только продвижение языка D, является активным, а остальные языки ни каких шагов не проявляют.

Возможно.

Цитата(volte @  3.8.2008,  20:55 Найти цитируемый пост)
во многих статьях идёт ссылка именно к TIOBE

Я таких не видел, а если б увидел, что по этому рейтингу в статье судят о популярности ЯП, сразу б читать перестал.
 
Цитата(volte @  3.8.2008,  20:55 Найти цитируемый пост)
следует принимать во внимание если не как факт, то как один из самых уважаемых мнений

Нет, нет! Как раз таки надо принимать этот рейтинг как факт, т.е. количество запросов "x programming" по различным x. Но не более того. Любые попутки какой-либо иной интерпретации как минимум спорны. 

Это сообщение отредактировал(а) kemiisto - 3.8.2008, 20:44


--------------------
PM MAIL WWW GTalk Jabber   Вверх
volte
Дата 3.8.2008, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 30.6.2008

Репутация: нет
Всего: нет



Цитата

Я таких не видел, а если б увидел, что по этому рейтингу в статье судят о популярности ЯП, сразу б читать перестал.

из источников был www.linuxcenter.ruwww.opennet.ruwww.rsdn.ru (это лишь те которые я часто использую) и другие...
Цитата

Любые попутки какой-либо иной интерпретации как минимум спорны. 

интерпретировать результаты TIOBE... зачем? они сами признаются, что меряют информационный шум, а не востребованность. тем более как говорится, плохие измерения лучше отсутствия таковых.

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

Добавлено через 6 минут и 55 секунд
А сам язык выглядит вполне съедобно smile. Кончено в нем нет кардинально новых решений, но заложенные возможности не разочаровывают. Но хотелось бы еще посмотреть его быстродействие в сравнении с с++ smile 
PM MAIL   Вверх
kemiisto
  Дата 3.8.2008, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



Цитата(volte @  3.8.2008,  23:18 Найти цитируемый пост)
интерпретировать результаты TIOBE... зачем? они сами признаются, что меряют информационный шум, а не востребованность

 smile И я о том же!

Цитата(volte @  3.8.2008,  23:18 Найти цитируемый пост)
плохие измерения лучше отсутствия таковых

Ох, знаете, очень, ну очень, спорный тезис. Спорный не только в рамках информатики. Имея некоторое отношение к научному сообществу (к химическому правда), уверяю Вас: то, что Вы написали - предмет постоянных споров. Есть некий метод, не дающий 100%-х результатов, но использовать альтернативные методы не представляется возможным по причине их отсутствия или высокой (не обязательно дененжной, а вычислительной, например) стоимости. Стоит ли пользовать такой метод? Нужны ли данные, достоверность которых неочевидна? Тут не всё так однозначно. Признаться, я ещё и сам для себя до конца не решил, чью сторону занять. 

Цитата(volte @  3.8.2008,  23:18 Найти цитируемый пост)
тенденции за длительный период

А за эту информацию будьте любезны кругленькую сумму! Нехорошо. Капиталисты, блин...  smile 

P.S. Прошу прощенья за  smile , но просто не мог не высказаться.

Добавлено через 5 минут и 58 секунд
Цитата(volte @  3.8.2008,  23:18 Найти цитируемый пост)
Но хотелось бы еще посмотреть его быстродействие в сравнении с с++

Пожалуйста!
Очень интересный сайт!

Это сообщение отредактировал(а) kemiisto - 3.8.2008, 22:37


--------------------
PM MAIL WWW GTalk Jabber   Вверх
$tatic
Дата 4.8.2008, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: нет
Всего: 22



kemiisto, только лучше имхо брать компилятор DMD.
PM MAIL   Вверх
volte
Дата 4.8.2008, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 30.6.2008

Репутация: нет
Всего: нет



Судя по тестам, D вполне подойдёт для постепенного вытеснения С++ в новых проектах smile 
PM MAIL   Вверх
Любитель
Дата 4.8.2008, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: нет
Всего: 92



Цитата(kemiisto @  1.8.2008,  21:48 Найти цитируемый пост)
а смысл такой языковой "фичи"?

Мультилайн-запись строк в первую очередь:
Код

const char* s = "aaa\n"
                         "bbb";

Предполагается, что aaa и bbb очень длинны.


--------------------
PM MAIL ICQ Skype   Вверх
source777
Дата 4.8.2008, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 2
Всего: 56



Цитата($tatic @  31.7.2008,  22:38 Найти цитируемый пост)
 Garbage Collector повышает расход памяти (неиспользуемые объекты какое-то время лежат в памяти) и замедляет программу (в D сборщик мусора использовать необязательно, т.к. ручное управление в данном случае эффективнее);
По правде говоря, Garbage Collector вызывается либо когда заканчивается ОЗУ, либо когда завершается программа, либо вручную, так что ничего он не замедляет кроме завершения работы приложения разве что... Все критичные к освобождению ресурсов места по прежнему управляются вручную при помощь Dispose да using.


Цитата($tatic @  31.7.2008,  22:38 Найти цитируемый пост)
высокоуровневость и, как следствие, неудобство при работе с памятью напрямую (важно для быстродействия);
C каких пор работать с памятью напрямую стало удобно? Да и вообще подобные утверждения дурно пахнут преждевременной оптимизацией...

Цитата($tatic @  31.7.2008,  22:38 Найти цитируемый пост)
все методы виртуальные (замедление работы) - в D компилятор автоматически распознаёт необходимость виртуализации.
Это только для Java и только по умолчанию, ставь кл.слово final и метод даже в Java не будет виртуальным.


Про остальные пункты уже сказали...

На мой взгляд единственным "недостатком" осталось, то что в C# шаблоны - динамические, а в D - статические. Но тут уж вопрос спорный, что лучше?

Цитата(volte @  3.8.2008,  22:18 Найти цитируемый пост)
тем более как говорится, плохие измерения лучше отсутствия таковых.
Говорится:
Уж лучше голодай, чем что попало есть, и лучше будь один, чем вместе с кем попало. (с) Омар Хайям
Во много раз лучше отсутсвие всяких рейтингов, чем присутсвие такого бреда как Tiobe...


Это сообщение отредактировал(а) source777 - 4.8.2008, 14:53


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
$tatic
Дата 4.8.2008, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: нет
Всего: 22



source777
Цитата(source777 @  4.8.2008,  15:53 Найти цитируемый пост)
C каких пор работать с памятью напрямую стало удобно? Да и вообще подобные утверждения дурно пахнут преждевременной оптимизацией...

Возможно, но при работе с 3D (OpenGL) это имхо приходится делать немного чаще.
PM MAIL   Вверх
source777
Дата 4.8.2008, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 2
Всего: 56



Цитата($tatic @  4.8.2008,  16:17 Найти цитируемый пост)
Возможно, но при работе с 3D (OpenGL) это имхо приходится делать немного чаще. 
Я не спец по играм, но на мой взгляд не там ты узкие места ищешь, оптимизация прямого доступа к памяти давно уж потеряла актуальность... 
Тут скорее надо упор делать на скорость работы с вещественными типами, это гораздо более узкое место, чем доступ к памяти.


P.S. Кстати хочется отметить, что D -  весьма хорошая замена С++ для тех кто ещё до сих пор пользуется этим самым С++. Ну а для тех, кто уже перешёл на .NET | Java, он никаких существенных преимуществ не даёт. + ему не хватает крупной компании в роли двигателя, если у Java есть Sun, у C# - MS & Novell, то у D только Digital Mars, этого маловато чтобы раскрутиться для полноценной конкуренции. 


Это сообщение отредактировал(а) source777 - 4.8.2008, 20:59


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
$tatic
Дата 4.8.2008, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: нет
Всего: 22



Цитата(source777 @  4.8.2008,  21:44 Найти цитируемый пост)
Я не спец по играм, но на мой взгляд не там ты узкие места ищешь, оптимизация прямого доступа к памяти давно уж потеряла актуальность... 

Ну, во-первых, приходится сортировать и обсчитывать объекты огромных современных игровых уровней. При сортировке оптимизация крайне желательна, т.к. это сильно влияет на фпс.
Во-вторых, существует потребность быстро загружать данные с диска в память видеокарты (есть даже пейпер Fast Texture Transfers), а это проще всего сделать, если маппить подготовленный на видеокарте буфер и напрямую читать в него файл с диска (OpenGL), либо маппить файл в память с помощью команд ОС.
Если принять во внимание технологию мегатекстур, то там крайне важно быстро считывать данные из файла мегатекстуры, т.к. её невозможно загрузить целиком.
Быстрый расчёт вещественных чисел, разумеется, тоже важен, в D также есть для этого все средства, включая встроенный x86-ассемблер.
Вот как альтернатива C++ язык D очень хорош, по крайней мере у него я вижу только два недостатка - мало литературы и куча плюсовых проектов.
PM MAIL   Вверх
$tatic
Дата 9.8.2008, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: нет
Всего: 22



Цитата(source777 @  4.8.2008,  15:53 Найти цитируемый пост)
По правде говоря, Garbage Collector вызывается либо когда заканчивается ОЗУ, либо когда завершается программа

Откуда такие сведения?
По моим наблюдениям (профайлинг в NetBeans Profiler) Garbage Collector в циклическом приложении периодически включается и подбирает созданные в цикле объекты. Это хорошо видно по пилообразному графику потребления памяти. GC активируется примерно каждые 5 секунд.
PM MAIL   Вверх
source777
Дата 9.8.2008, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 2
Всего: 56



Цитата($tatic @  9.8.2008,  15:57 Найти цитируемый пост)
Откуда такие сведения?

Согласно Рихтеру:
Цитата

Методы Finalize вызываются при завершении сбора мусора, который происходит в результате одного из пяти следующих событий. 

  •  Заполнение поколения 0 приводит к запуску сборщика мусора. Это событие намного чаще остальных приводит к вызову метода Finalize, так как является естественным следствием создания новых объектов во время работы кода приложения. 
  •  Явный вызов статического метода Collect объекта System. GC Код может явно запросить сбор мусора у CLR. Хотя Microsoft настоятельно не  рекомендует так поступать, порой принудительный сбор мусора имеет смысл. 
  •  Windows сообщает о нехватке памяти Для общего мониторинга  системной памяти CLR использует Win32-функции CreateMemoryResourceNotification и QueryMemoryResourceNotification. Если Windows сообщает о нехватке  памяти, CLR запускает сбор мусора, чтобы освободить нерабочие объекты и  уменьшить рабочий набор процесса. 
  •  Выгрузка домена приложения CLR Выгружая домен приложения, CLR  считает, что ни один объект в нем не является корнем, и выполняет сбор мусора всех поколений. 
  •  Закрытие CLR CLR завершает работу после нормального завершения  работы процесса (в отличие от внешнего завершения, например диспетчера задач). При этом CLR считает, что в процессе нет корней, и вызывает метод Finalize для всех объектов в управляемой куче. Учтите, что CLR не пытается сжать или освободить память, потому что процесс завершается, a Windows освобождает всю занятую им память. 



Т.е. в случае твоего приложения, это вариант, когда приложение беспрерывно создаёт новые объекты... Если бы ты вынес процедуру создания объектов из цикла, то сборшик мусора не проявил бы активности...



--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
$tatic
Дата 9.8.2008, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: нет
Всего: 22



source777, это понятно, но меня интересуют именно игры, а там, естественно, всё зациклено... Но интересно тогда, чем процесс сборки мусора в JRE отличается от такового в CLR.
PM MAIL   Вверх
source777
Дата 9.8.2008, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 2
Всего: 56



Цитата($tatic @  9.8.2008,  21:00 Найти цитируемый пост)
source777, это понятно, но меня интересуют именно игры, а там, естественно, всё зациклено...
А что там зациклено то? Ты для каждой прорисовки заново все объекты создаёшь что ли? Не легче ли создать все нужные объекты при загрузке уровня, а потом уже ими "управлять"?

Добавлено через 42 секунды
P.S. Про JRE не знаю, жди джавистов...


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
$tatic
Дата 10.8.2008, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: нет
Всего: 22



source777, понятно, что большинство "тяжелых" объектов не меняется, но циклически могут создаваться мелкие рабочие объекты... Также следует помнить о динамических подгрузках уровня.
PM MAIL   Вверх
QryStaL
Дата 14.8.2008, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005

Репутация: нет
Всего: 32



Цитата($tatic @  31.7.2008,  22:38 Найти цитируемый пост)
наличие рантайма с JIT - во многих случаях замедляет работу программы, для высокопроизводительных графических движков весьма критично;

Зайдите на сайт www.visual3d.net, посмотрите демки, ознакомьтесь с возможностями...


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
source777
Дата 14.8.2008, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 2
Всего: 56



$tatic, ты пытаешься найти проблемы там где их нет, и делаешь вид что нашёл не утруждая себя ознакомлением с мат.частью, это бессмыслено и при таком подходе тебе никакой ЯП не поможет, ибо "серебряной пули" нет. Тем более что в твоём вопросе уже разобрались профессионалы 3D-программирования, у них получилось, насколько я помню, что Managed DirectX + C# на 20-30% медленнее, чем DirectX + C++. 
C XNA насколько я понял дела обстоят ещё лучше, поэтому на твоём месте надо разобраться сначала в вопросе, а потом уж проводить сравнения.


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
$tatic
Дата 15.8.2008, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: нет
Всего: 22



source777, ну значит скорость работы D+DX примерно на 10% выше, чем C#+XNA
PM MAIL   Вверх
UnrealMan
Дата 16.8.2008, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 722
Регистрация: 30.3.2006

Репутация: нет
Всего: 32



Цитата($tatic @  31.7.2008,  19:33 Найти цитируемый пост)
Кто чего хорошего может об этом перспективном языке сказать? 

Он уже несколько лет всего лишь "перспективный язык", этим всё сказано smile

Добавлено через 6 минут и 42 секунды
Кстати, что касается быстродействия, то вы не забывайте, что в C++09 будет поддержка семантики перемещения (пока что отсутствие таковой в C++ - это, IHMO, единственный серьёзный минус, негативно сказывающийся на производительности).
PM MAIL   Вверх
maggot
Дата 16.9.2008, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 15.1.2007

Репутация: нет
Всего: нет



Цитата(kemiisto @ 1.8.2008,  17:43)
Цитата(Lazin @  1.8.2008,  08:45 Найти цитируемый пост)
но вообще я больше всего рассчитываю на новый стандарт С++

Да, я тоже на него рассчитываю. Может, наконец то, сложность языка С++ станеть столь огромной, что разработчики посмотрят в сторону языков с более продуманным дизайном. С++ — слишком большой и сложный язык. Я не знаю ни одного человека, который возьмётся утверждать, что он знает его полностью. А можно ли в такой ситуации доверять языку?

Lazin, по Вашему опыту, сколько в среднем требуется лет, чтобы изучить С++?

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

И дизайн там вполне продуманный за исключением, конечно, макросов и некоторых других анахронизмов.

Время изучения языка С++ зависит от начальной подготовки обучаемого и от его способностей.
Есть такие, которые даже Си выучить не могут.
Я считаю, за год можно не напрягаясь выучить. Это если не пытаться поставить рекорд, но и просто не отвергать С++ как язык программирования.

Если интересно узнать своё знание С++, можно пройти тест на Brainbench. Вообще они стоят денег, тк сайт буржуйский.
Но вот, там есть бесплатный тест http://www.brainbench.com/xml/bb/common/te...xml?testId=2752

PS А вообще будущее за функциональными ЯП. smile  Но оно не так скоро наступит (((
PM MAIL   Вверх
kemiisto
  Дата 17.9.2008, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



Цитата(maggot @  17.9.2008,  00:00 Найти цитируемый пост)
Так рассуждают люди, которые не смогли осилить С++.

Так рассуждают люди, которых бог/судьба/... миловал(а), и их путь в мире программирования проходит в стороне от шумной магистрали C/C++/Java. Люди эти ни сколько об этом не жалеют, а даже, напротив, ... Ладно, оставим эту избитую тему...


Цитата(maggot @  17.9.2008,  00:00 Найти цитируемый пост)
На самом деле, с новым стандартом туда добавят многое, чего не хватало в текущем.
И дизайн там вполне продуманный за исключением, конечно, макросов и некоторых других анахронизмов.

Одно другому не мешает? Видимо при принятии предыдущего стандарта дизайн продумать не удалось, коль скоро "добавят многое, чего не хватало"? Почему же, Вы надеетесь, что в этот раз, всё будет продумано?

Цитата(maggot @  17.9.2008,  00:00 Найти цитируемый пост)
А вообще будущее за функциональными ЯП.

За чем, простите? smile 

Цитата(UnrealMan @  16.8.2008,  13:03 Найти цитируемый пост)
Кстати, что касается быстродействия, то вы не забывайте, что в C++09 будет поддержка семантики перемещения

Ба! Как же раньше удавалось писать программы без этой штуки?! Это хоть что за зверь такой?

Это сообщение отредактировал(а) kemiisto - 17.9.2008, 01:15


--------------------
PM MAIL WWW GTalk Jabber   Вверх
nerezus
Дата 16.11.2008, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Цитата

Судя по тестам, D вполне подойдёт для постепенного вытеснения С++ в новых проектах
 Безусловно.
Только вот придется библиотеки ВСЕ переписывать. Перепишешь мне на D все используемые мной библиотеки для C++? )
Начни, пожалуйста, с Qt. И документацию тоже)


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Suliman
Дата 14.3.2013, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 24.7.2011

Репутация: нет
Всего: нет



Кстати открылся официальный русский сайт языка программирования D http://dlang.ru/
PM MAIL   Вверх
ТарасАтавин
Дата 30.11.2013, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 26.8.2013

Репутация: нет
Всего: нет



Цитата(kemiisto @  31.7.2008,  19:13 Найти цитируемый пост)
и низкоуровневость C.
Хоть бы что нибудь одно что ли выбрали: или низкоруовневость, или c, а то получается:
- Это кто к нам пришёл?
- Я мистер Рочестер гвардеец кардинала.

Добавлено @ 13:48
Цитата(kemiisto @  31.7.2008,  19:13 Найти цитируемый пост)
D - логическая целостность и простота Java плюс широкие возможности языка C.
Уж или логическая целостность и простота, или джавы, где логика на столько рядом не валялась, что конструкторы есть, а деструкторов нет.

Добавлено @ 13:53
Цитата($tatic @  31.7.2008,  22:38 Найти цитируемый пост)
 высокоуровневость и, как следствие, неудобство при работе с памятью напрямую (важно для быстродействия);
Уровень кодов как раз низкий.

Добавлено через 9 минут и 4 секунды
Цитата(kemiisto @  31.7.2008,  23:00 Найти цитируемый пост)
Игры тоже существуют только под Windows. За редким исключением.
Не только, а даже. И появились за долго до идеи написать виндоус.

Добавлено через 11 минут и 9 секунд
Цитата(kemiisto @  1.8.2008,  17:43 Найти цитируемый пост)
С++ — слишком большой и сложный язык.
Не знаю ни одного языка проще.


Это сообщение отредактировал(а) ТарасАтавин - 30.11.2013, 13:53


--------------------
Не так всё плохо, как оно есть на самом деле.
PM MAIL   Вверх
drug007
Дата 20.8.2014, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Понекромансю  smile 

Цитата(UnrealMan @  16.8.2008,  12:03 Найти цитируемый пост)
Он уже несколько лет всего лишь "перспективный язык", этим всё сказано

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


Цитата(maggot @  16.9.2008,  23:00 Найти цитируемый пост)
PS А вообще будущее за функциональными ЯП. smile  Но оно не так скоро наступит ((( 

D очень хорошо сочетает императивщину и функциональщину. По мне так в нем проще и быстрее прочувствовать прелесть функциональщины оставаясь в привычном С++ подобном мире. Плюсам тут D, кстати, не догнать по определению, ибо иммутабельность если еще можно как-то к плюсам прикрутить, то транзитивность const и immutable уже не прикрутишь не сломав код.

Цитата(nerezus @  16.11.2008,  11:38 Найти цитируемый пост)
Только вот придется библиотеки ВСЕ переписывать. Перепишешь мне на D все используемые мной библиотеки для C++? )

D практически в совершенстве владеет линковкой с сишными библиотеками, биндингов не нужно. Поддержка плюсов ограничена, но присутствует. Вот недавно добавили поддержку неймспейсов и будут прикручивать поддержку шаблонов. Так что биндинги будут все проще и проще. По шаблонам плюсы просто "ниочем" в сравнении с D. Я, собственно, плюсовые шаблоны стал понимать после дишных.  smile 

Цитата(nerezus @  16.11.2008,  11:38 Найти цитируемый пост)
Начни, пожалуйста, с Qt. И документацию тоже)

Qt с их мок-компилятором и всей своей жирностью как бе намекает, что в дизайне языка (я про плюсы) изначально много пробелов. И биндинги к куте непростая вещь в связи с этим. GTK в этом плане рулит. А документацию можно родную использовать.

Цитата(ТарасАтавин @  30.11.2013,  13:46 Найти цитируемый пост)
Уж или логическая целостность и простота, или джавы, где логика на столько рядом не валялась, что конструкторы есть, а деструкторов нет.

А зачем деструкторы, если используется ГЦ, в котором время сборки мусора не детерминировано? Там финализаторы вроде как есть.

Цитата(ТарасАтавин @  30.11.2013,  13:46 Найти цитируемый пост)
Не знаю ни одного языка проще.

Плюсы сложны как раз в своей непродуманности. Они как ящик с инструментом на все случаи жизни. Причем порой инструменты дублируют друг друга частично, иногда конфликтуют и их куча. Отсюда сложность языка, которой можно было бы избежать.
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Добро пожаловать в раздел "Другие языки" форума Vingrad!

Void
Void

Раздел посвящён различным языкам программирования, для которых (в силу невысокой популярности) нет отдельного раздела (GPSS, Lua, MATLAB, Ada, Forth, Smalltalk, Tcl, REXX, AWK и др.)

  • Обязательно следуйте правилам Форума.
  • Пожалуйста, прочитайте и следуйте рекомендациям по работе в разделе и навигации по Форуму.
  • Для вставки текстов исходных кодов используйте подсветку синтаксиса из выплывающего списка Код в форме ответа. Если Ваш язык в списке не представлен, то используйте тег: [code=ваш_язык]код[/code], например, [code=ada]код[/code]. Если в будущем подсветка синтаксиса для указанного языка будет реализована, исходный код преобразится.
  • Помните, один вопрос - одна тема.

Приятного времяпрепровождения! С уважением, Void, kemiisto .

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Другие языки | Следующая тема »


 




[ Время генерации скрипта: 0.1724 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.