powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Язык D как альтернатива C++0x
25 сообщений из 166, страница 5 из 7
Язык D как альтернатива C++0x
    #36940400
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Портируется элементарно, неудобно только приведение типов по другому писать
вместо (char*)__var нужно cast(char*)__var

И немного другая семантика массивов (внимательно в 1.0 и 2.0 в функции передаются по разному - или по ссылке или по значению).

Пётр Седов, исходники понимаются впроде в любом Юникоде, не только UTF-8.
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #36940624
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonА по поводу "устаревшей кодировки" вы очень сильно ошибаетесь. Готов спорить на любое количество коньяку, что 1251 еще не раз появится в вашей и моей жизни в самый неподходящий момент. Де-факто в ней работают сотни-тысяч БД вместе с загрузками-выгрузками, CSV, сетевыми протоколами и проч. Про глобальный интер/рунет я вообще молчу.вот реально, +1.
имхо, все эти utf - проблемы китайцев и прочих юговосточных, зачем нам то эти проблемы? мы в 256 символов совершенно нормально вписываемся )))
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #36941104
Пётр Седов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 mayton:
maytonLepsikзлые языки говорят 64-битный софт на 15% быстрее на 64-битной ОС
Думаю - вранье.
Если спросить у Google-а «Firefox 64 bit», то выскакивает ссылка:
http://li.qosys.info/post90910383/ Также, на 15% быстрее декодирование JPEG на Windows x64 с помощью IJG’s JPEG library
Возможно, Lepsik это имел в виду.

2 Siemargl:
SiemarglПётр Седов, исходники понимаются впроде в любом Юникоде, не только UTF-8.
Это приятно, но не вижу смысла хранить исходники в UTF-16. В исходниках же английские буквы в основном, хранить в UTF-8 будет в 2 раза экономнее.

Да и вряд ли я буду что-то серьёзное на D писать. По-моему, язык с обязательной (или добровольно-принудительной, как в D) сборкой мусора не сможет похоронить C++.

2 egorych:
egorychmaytonА по поводу "устаревшей кодировки" вы очень сильно ошибаетесь. Готов спорить на любое количество коньяку, что 1251 еще не раз появится в вашей и моей жизни в самый неподходящий момент. Де-факто в ней работают сотни-тысяч БД вместе с загрузками-выгрузками, CSV, сетевыми протоколами и проч. Про глобальный интер/рунет я вообще молчу.вот реально, +1.
имхо, все эти utf - проблемы китайцев и прочих юговосточных, зачем нам то эти проблемы? мы в 256 символов совершенно нормально вписываемся )))
Что, VCL не поддерживает Unicode? (здесь должен быть дразнящий смайлик с высунутым языком)
Использование стандартных Unicode-ных кодировок (UTF-8, UTF-16), по-моему, упрощает жизнь как разработчикам, так и пользователям.
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #36941134
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пётр СедовЕсли спросить у Google-а «Firefox 64 bit», то выскакивает ссылка:
http://li.qosys.info/post90910383/ Также, на 15% быстрее декодирование JPEG на Windows x64 с помощью IJG’s JPEG library
Мы с вами, коллеги как это ни прискорбно (тоже) часто становимся жертвами маркетинговых уловок. Какой смысл вкладывает реклама в "64bit"? Я не знаю! Регистры с разрядностью 64-бит были еще в Pentium-1 MMX (если мне не изменяет память это 1993 год). Гордый лэйбл можно было уже тогда клеить на софтваре и спекулировать этим. Спросите у создателей Огнелиса, благодаря чему было достигнуто ускорение производительности при декодировании JPEG. Расришение доступной памяти? Я не верю. Не соответствует моим представлениям об алгоритмах декодирования картинок. Использование инструкций SSE4 ? Может быть. Это уже похоже на правду. Но при чём здесь 64 бит?

Короче вот такие пирожки....
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #36941289
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пётр СедовЧто, VCL не поддерживает Unicode?теперь поддерживает принудительно, не сказать, что это каким-то образом упростило мою жизнь, скорее наоборот, всплыл баг, который я пока не знаю, как победить.
Пётр Седов(здесь должен быть дразнящий смайлик с высунутым языком)вот так он пишется: ":-Ь" )))
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #36941309
pszMyNick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
хотя бы при том, что в 64-бит режиме больше регистров доступно по сравнению с x86
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #36941672
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pszMyNickmayton,
хотя бы при том, что в 64-бит режиме больше регистров доступно по сравнению с x86
Тоже похоже на правду. Тогда надо указать нечто вроде "x64_64". Это по смыслу другое обозначение. И более корректное.
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #36942512
pszMyNick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Насколько я знаю Intel позиционирует 64-битную архитеруру как расширешие x86 и обозначают её в связи с этим в основном как x86_64 или даже x86e, вообщем какой-то оффтоп уже пошёл... =)
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #36955255
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В х64 вдвое больше регистров процессора, что дает оптимизатору существенную выгоду, например при работе с вычислениями с массивами. Недавно в форуме по Дельфи проверили затык и GCC и VC на таком примере.

Наткнулся на баг оптимизации GC в D. Операции освобождения памяти LRU не дают отпустить массив после расширения.
пример
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
import std.stdio;
import std.date;

void f0()
{
	wstring a;

	foreach(i;  0  .. 100_000_000)
	{
  		a ~= " "w;
  	}
}

void main()
{
	auto r = benchmark!(f0)( 2 );
	writeln(r, "ms");
}


Тем не менее, D гораздо симпатичнее Go.
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #36958490
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наткнулся на казус для меня, но может быть кому то интересно.

Существует проект портирования Qt для D

Надеюсь, обошлись без moc =)
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #36958492
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот какую новость откопал!

Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes Nov 09 2010:
Just got word from my editor that TDPL has been approved for translation
in Russian.

Andrei
TDPL = The D Programming Language, библия для D
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #36958517
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglВот какую новость откопал!переведут, почитаем, а как же ))
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #36958824
алчность
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglНаткнулся на казус для меня, но может быть кому то интересно.

Существует проект портирования Qt для D

Надеюсь, обошлись без moc =)
ну если там moc ещё нужен будет, то нафик такой :D
интересно, обошлись ли без сборщика мусора
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #36962628
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
алчностьSiemarglНаткнулся на казус для меня, но может быть кому то интересно.

Существует проект портирования Qt для D

Надеюсь, обошлись без moc =)
ну если там moc ещё нужен будет, то нафик такой :D
интересно, обошлись ли без сборщика мусора
Бе сборщика мусора в D2 никак. Более того, delete объявили deprecated и пилят баги GC.
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #36962635
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglБе сборщика мусора в D2 никак. Более того, delete объявили deprecated и пилят баги GC.
А что ж так ?
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #36962658
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravSiemarglБе сборщика мусора в D2 никак. Более того, delete объявили deprecated и пилят баги GC.
А что ж так ?Там идейные чуваки. Хотят сделать реальный GC.

Я еще пока не понял, хорошо GC или плохо. Для мейнстрима вроде хорошо. Для понимающих недостатки людей, которые правильно пользуют вроде бы тоже....
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #36962675
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что такое реальный GC ?

Я так понимаю что если народ хочет получить time-critical
язык то нужно либо отказаться от GC, либо усложнить его
работу настолько, что его тюннинг станет неотъемлемой
частью любого проекта, так-же как и настройка планов
работы SQL-курсоров в Oracle.
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #36969195
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemarglалчностьпропущено...

ну если там moc ещё нужен будет, то нафик такой :D
интересно, обошлись ли без сборщика мусора
Бе сборщика мусора в D2 никак. Более того, delete объявили deprecated и пилят баги GC.
Извиняюсь за частичный ввод в заблуждение.

Убирают delete, но для желающих навсегда остается std.c.stdlib.malloc

(Навеяно обсужением Go.vs.Python.vs.D )
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #37045515
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересная новинка, построенная полностью возможностями языка memoize

Готовый кэш вычислений и чего-угодно.

На С++ это приходится делать вручную.
Книжка советов по оптимизации С++.
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #37045670
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglИнтересная новинка, построенная полностью возможностями языка memoize

Готовый кэш вычислений и чего-угодно.

На С++ это приходится делать вручную.

Почему приходится?
Ничего не мешает сделать в C++ шаблон, который бы можно было вызывать так:
Код: plaintext
1.
2.
int fact(int);
auto fast_fact = memoize( 10 , fact, _1);
cout << fast_fact( 1 );
Это не просто, но возможно.
А вот здесь обсуждается вариант попроще: http://lists.boost.org/Archives/boost/2009/01/147447.php
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #37045703
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglИнтересная новинка, построенная полностью возможностями языка memoize

Готовый кэш вычислений и чего-угодно.

На С++ это приходится делать вручную.
Книжка советов по оптимизации С++.
Извините, а зачем нужны такие оптимизации если мы теряем реинтерабальноть? Ни один программист не догадается по сигнатуре функции что она имеет кучу побочных эффектов. static на изменяемые данный - самый лучший способ получить невоспроизводимый глюк.
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #37045773
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav, где теряем? На D сделано через шаблоны.
Причем была возможность сделать их pure, но потеряли бы в удобстве.

На шаблон С++ я бы посмотрел.
Фишка в том, что это со многими другими фичами (Pipes, interpocess, unittest) попадает в stdlib.
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #37045781
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemarglpetrav, где теряем? На D сделано через шаблоны.
Причем была возможность сделать их pure, но потеряли бы в удобстве.

На шаблон С++ я бы посмотрел.
Фишка в том, что это со многими другими фичами (Pipes, interpocess, unittest) попадает в stdlib.
Я код D не очень понял, если честно.

Но в С++ коде данные кешируются в нескольких static переменных. Что будет если такую функцию вызывать из нескольких потоков?

А если добавить туда мьютекс - так его блокировка тоже не мгновенный процесс.
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #37046257
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravНо в С++ коде данные кешируются в нескольких static переменных. Что будет если такую функцию вызывать из нескольких потоков?

А если добавить туда мьютекс - так его блокировка тоже не мгновенный процесс.
В данном случае вполне можно хранить свой кеш в каждом потоке (через TLS) - тогда не нужна блокировка.
...
Рейтинг: 0 / 0
Язык D как альтернатива C++0x
    #37046267
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyВ данном случае вполне можно хранить свой кеш в каждом потоке (через TLS) - тогда не нужна блокировка.
К сожалению использование TLS тут имеет ряд проблем. Положим мы разрабатываем функцию из сигнатуры и логики которой прямо следует ее реинтерабельность.

У TLS тут начинаются проблемы. Количество элементов в массиве TLS ограничено. Если мы начинаем насиловать такие приемы, да еще и на шаблонах, вы не боитесь переполнения массива указателей в TLS ?

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

Прямо внутри ее? Но это будет проверка, что индекс в TLS мы уже получили. Плюс сами функции доступа к TSL сколько времени занимают?

По выходу из потока данные все же лучше бы удалить. Как ?

Шедевральное решение всех проблем в boost::thread_specific_ptr<>. Там operator->() осуществляет поиск указателя по списку всех указателей переменных которые используют boost::thread_specific_ptr<>. Да, просто цикл по списку внутри operator->()...
...
Рейтинг: 0 / 0
25 сообщений из 166, страница 5 из 7
Форумы / C++ [игнор отключен] [закрыт для гостей] / Язык D как альтернатива C++0x
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]