Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
Siemargl Тут беда в том, что указатель на функцию, возвращающую указатель на функцию, плохо читается и в трезвом состоянии Я бы вообще предложил подумать над тем, что усложнение текста программы не является плюсом. Александреску наверное такой гуру, что его это не касается. А ведь усложнение текста ведет к увеличению времени, требуемого для понимания программы. Их ведь не только писать приходится, но и понимать то, что написал кто-то, кого уже нельзя спросить - что он тут хотел выразить. Так ли хорошо вводить в язык все новые и новые фичи? Может быть, для совершенствования редко используемых вещей лучше не изменять язык широкого применения? Синтаксическая сложность текста - одна из трудностей при изучении кода. Вторая сложность (бОльшая, на мой взгляд) - что за увеличением сложности языка, расширением стандартных библиотек, стоит необходимость в более светлых головах. Не знаю как в столицах, а у нас например переизбытка в них нет. Программы же пока надо и сопровождать и расширять и дорабатывать. И опять же, чем меньше народу может писать на языке, тем менее популярен и применим будет этот язык. Когда в стандарт из boost вносят shared_ptr - это понятно. А вот скажем вносить в стандарт C++ (или в STL) из того же boost функционал по обработке изображений вряд ли хорошая идея. В STL надо вносить то, что широко применяется. D получается экзотичным языком на мой взгляд, не конкурирующим с С++, а уходящим дальше от него, и он не видится мне массовым языком, все-таки массовое должно быть довольно простым. А С++ уже довольно не прост, и без изучения, кроме С++ и MSDN, книг типа Саттера наверняка будет применяться с косяками, это уже на его (С++) уровне сложности. На D будут писать те, кого порадует изучение его прибамбасов. А реальность заставит находить тех, кто есть в наличии, и выбирать то, на чем они смогут писать - С++. И получилось у меня, отвечая на вопрос топика, что D не альтернатива ни С++, ни С++0х как его следующей версии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 09:58 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
egorychSiemarglНо оверхед - т.е потеря скорости, тут не вносится. Чисто компилятивный изыск.а как у них с потерями скорости при компиляции шаблонов? Никак. Все же однозначно компилируется. Процесс компиляции сильно быстрее чем в С++ (заголовков нет), скорость выполнения программ - мало нашел тестов, в тех что нашел - чуть медленнее gcc. Оптимизатор у Брайта никогда не был топовым. teo609, C++ непростой язык. D пытаются создать немного проще, чем C++. Но поскольку основные парадигмы совпадают, в общем он по сложности такой же. Единственное, исходники STL в реализации D должны проще выглядеть =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 10:11 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
Siemargl wrote: > Единственное, исходники STL в реализации D должны проще выглядеть =) Блин, если и там есть STL, не буду его использовать. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 10:50 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
MasterZiv, Там Фобос =) Про переписывание STL на D Александреску писал, что в лоб красивше не вышло. Потому библиотека другая, без итераторов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 11:00 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
Siemargl wrote: > Там Фобос =) > > Про переписывание STL на D Александреску писал, что в лоб красивше не > вышло. Потому библиотека другая, без итераторов. Тогда другое дело. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 11:19 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
SiemarglMasterZiv, Там Фобос =) А вместо boost-а Демос ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 11:21 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
SiemarglалчностьНо синтаксис С++ не чуть не уступает: Код: plaintext 1. Это массив указателей, а не указатель на массив, как первые два примера )))))) В данном примере array это и массив указателей, и указатель на массив одновременно. Интерпретация зависит от контекста кода, в котором используется этот идентификатор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 14:16 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
Siemarglалчность в таких случаях говорят "палка на 2х концах", с одной стороны - синтакс С++ жутко выглядит, с другой - указатели на функции невозможно спутать с какими-либо другими указателями, даже находясь в нетрезвом состоянии ) Тут беда в том, что указатель на функцию, возвращающую указатель на функцию, плохо читается и в трезвом состоянии ( Та ладно. Давным давно можно делать так: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 15:45 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
Ну вот. Первое расстройство. Пример генерации ряда Фиббоначи не хочет компилиться. И я не могу в исходниках Фобоса найти, почему =( Т.е. синтаксис шаблонов не слаще. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. hello_fib.d(8): Error: template std.range.take(R) if (isInputRange!(R) && !hasSlicing!(R)) cannot deduce template function from argument types !()(int,Recurrence!(fun,int,2u)) hello_fib.d(8): Error: foreach: _error_ is not an aggregate type Пошел дочитывать книжку про Танго на 200стр окромя 200стр доки =( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 21:39 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
MasterZiv Siemargl wrote: > Единственное, исходники STL в реализации D должны проще выглядеть =) Блин, если и там есть STL, не буду его использовать. Вы не любите кошек? Вы просто не умеете их готовить! :D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 21:48 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
Офф/2 Anatoly Moskovsky Та ладно. Давным давно можно делать так: Точно. я так и делал, пока компилятор не загнулся. Точнее, один компилятор (Watcom) и один линкер (optlink) на такой вот конструкции =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 22:29 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
алчность Интересно, а такое можно на шаблонах организовать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Нашел способ проще ( Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 23:12 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
Siemargl Точно. я так и делал, пока компилятор не загнулся. Точнее, один компилятор (Watcom) и один линкер (optlink) на такой вот конструкции =) Ну во-первых в том топике не "конструкция" а сообщение об ошибке без примера кода. Во-вторых, из той ошибки никак не следует что typedef с прототипами вместо указателей не будет работать в Watcom'е. Хотя действительно не все компиляторы поддерживают такой синтаксис. Но мейнстримные - поддерживают, а этого достаточно. А для остальных всегда можно переписать так: Код: plaintext 1. 2. 3. 4. А как будет на D инлайновая декларация для указателя на функцию, возвращающую указатель на функцию? Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 02:12 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskySiemargl Точно. я так и делал, пока компилятор не загнулся. Точнее, один компилятор (Watcom) и один линкер (optlink) на такой вот конструкции =) Ну во-первых в том топике не "конструкция" а сообщение об ошибке без примера кода. Во-вторых, из той ошибки никак не следует что typedef с прототипами вместо указателей не будет работать в Watcom'е. Там 4 вложенных map<>. Проблема не в синтаксисе, а в переполнении буфера компилятора - слишком длинно разворачивается конструкция. Anatoly Moskovsky А как будет на D инлайновая декларация для указателя на функцию, возвращающую указатель на функцию? Код: plaintext 1. 2. 3. 4. Именно. А на массив Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 10:26 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
blinded wrote: > Вы не любите кошек? > Вы просто не умеете их готовить! :D Да умею я их готовить. Просто как не приготовь, такое Г получается, что тошнит. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 11:18 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
MasterZiv, на вкус и цвет советчиков нет, один любит арбуз, другой свиной хрящик... Может я конесно чего-то е понимаю, но меня stl устаривает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 11:27 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
SiemarglНу вот. Первое расстройство. Пример генерации ряда Фиббоначи не хочет компилиться. И я не могу в исходниках Фобоса найти, почему =( Т.е. синтаксис шаблонов не слаще. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Нашел причину - Александреску активно переписывает этот модуль (range.d) в текущей версии - слишком новаторский и пока нерабочий. Кстати заказал его книжку по D на Амазоне =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2010, 14:34 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
SiemarglНашел причину - Александреску активно переписывает этот модуль (range.d) в текущей версии - слишком новаторский и пока нерабочий. Кстати заказал его книжку по D на Амазоне =) Ааа, для. Скомпилил, взяв range.d из предыдущей версии =) И даже такое Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2010, 18:59 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
teo609Я бы вообще предложил подумать над тем, что усложнение текста программы не является плюсом Надо же, откуда иногда те же мысли приходят... Хоть и понимаю, что в топике пишут в основном любители сложных языковых конструкций, но все же... Один из инженеров Google Один из ведущих инженеров Google — Роб Пайк (Rob Pike) — выступил на конференции O'Reilly Open Source Convention (OSCON) и выразил мнение корпорации о современных языках разработки и месте C++ и Java в них. Он отозвался об этих индустриальных китах очень негативно, назвав их многословными, чрезмерно сложными и неадекватными к применению в решении задач современной компьютерной инфраструктуры. "Я думаю, что эти языки слишком сложны для использования, слишком трудны для понимания, слишком замысловаты. Они очень многословны, их сложность, громоздкость и непонятность возрастают со временем", — заявил Роб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2010, 19:08 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
teo609 На D будут писать те, кого порадует изучение его прибамбасов. А реальность заставит находить тех, кто есть в наличии, и выбирать то, на чем они смогут писать - С++. И получилось у меня, отвечая на вопрос топика, что D не альтернатива ни С++, ни С++0х как его следующей версии. Если D будет обеспечивать кодогенерацию, достаточно низкоуровневую чтобы писать драйверы оборудования и части ОС, сопрягаться по способу передачи аргументов с другими языками и технологиями - то он будет конкурировать с C/С++. Если нет - то это обычный язык коих уже очень много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2010, 09:38 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
maytonteo609 На D будут писать те, кого порадует изучение его прибамбасов. А реальность заставит находить тех, кто есть в наличии, и выбирать то, на чем они смогут писать - С++. И получилось у меня, отвечая на вопрос топика, что D не альтернатива ни С++, ни С++0х как его следующей версии. Если D будет обеспечивать кодогенерацию, достаточно низкоуровневую чтобы писать драйверы оборудования и части ОС, сопрягаться по способу передачи аргументов с другими языками и технологиями - то он будет конкурировать с C/С++. Если нет - то это обычный язык коих уже очень много. С этим вопросов нет, транслируется в обычный код, почти как Сишный, но с вызовами функций при операциях с массивами итп. Совместим полностью с С , COM , и частично с С++ . Но поддерживает пока только x86 платформу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 16:11 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
Siemargl Нашел способ проще ( Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ! после _TRACE2 - это опечатка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 13:12 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
алчность! после _TRACE2 - это опечатка?не, так они в D шаблонные функции вызывают, их пугает конструкция _TRACE2< int >( i ); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 13:34 |
|
||
|
Язык D как альтернатива C++0x
|
|||
|---|---|---|---|
|
#18+
egorychалчность! после _TRACE2 - это опечатка?не, так они в D шаблонные функции вызывают, их пугает конструкция _TRACE2< int >( i ); Да. Целая дискуссия была по поводу ограниченности конструкций templX < x < 3 >, потому решили использовать круглые скобки. Но в большинстве случаев компилятор D позводяет опускать и ! и тип и вызов метода шаблона. Всегда, когда определенность однозначна. А там однозначность достигается специализациями и типов и значений и умолчаниями и еще десятком способов ) Например, вместо templateMethod!(templParam).templateMethod(var) можно писать templateName(var). Пока я завязал с подробностями в D, пока не получу и не почитаю манифест Александреску (TDPL), как они это задумывали. А читать исходники стандартной библиотеки Фобос (замена STL) тяжело себя заставить (хотя выглядит проще чем STL). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 13:51 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=36741028&tid=2019165]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 291ms |
| total: | 441ms |

| 0 / 0 |
