Re[13]: D1.0 и D2.0
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 22.06.07 17:44
Оценка: 1 (1)
Здравствуйте, _nn_, Вы писали:

__>Я понимаю, что приведедния string -> invariant string не существует.

__>Вопрос почему?
__>И как тогда idup работает ?

Потому что invariant гарантирует, что объект никогда не измениться. Если бы приведение string -> invariant string существовало, то можно было бы сделать так:
class ValueHolder {
  this( invariant(char)[] value ) {
    v_ = value;
  }
  invariant(char)[] value() { return v_; }

  private invariant(char)[] v_;
}

char[] str = "abcd";
auto v = new ValueHolder( str );
// Теперь v ожидает, что он всегда будет хранить ссылку на значение "abcd".
str ~= ", oops!";
// А на самом деле v.value теперь равен "abcd, oops!" вместо "abcd".


idup же возвращает копию, которая никогда не меняется. IIRC, кто-то в форуме digitalmars.D показал, что idup для одного значения всегда возвращает один и тот же указатель, т.е. лишнего копирования нет.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[14]: D1.0 и D2.0
От: _nn_  
Дата: 22.06.07 17:52
Оценка:
Здравствуйте, eao197, Вы писали:

E>Здравствуйте, _nn_, Вы писали:


__>>Я понимаю, что приведедния string -> invariant string не существует.

__>>Вопрос почему?
__>>И как тогда idup работает ?

E>Потому что invariant гарантирует, что объект никогда не измениться. Если бы приведение string -> invariant string существовало, то можно было бы сделать так:

E>
E>class ValueHolder {
E>  this( invariant(char)[] value ) {
E>    v_ = value;
E>  }
E>  invariant(char)[] value() { return v_; }

E>  private invariant(char)[] v_;
E>}

E>char[] str = "abcd";
E>auto v = new ValueHolder( str );
E>// Теперь v ожидает, что он всегда будет хранить ссылку на значение "abcd".
E>str ~= ", oops!";
E>// А на самом деле v.value теперь равен "abcd, oops!" вместо "abcd".
E>


E>idup же возвращает копию, которая никогда не меняется. IIRC, кто-то в форуме digitalmars.D показал, что idup для одного значения всегда возвращает один и тот же указатель, т.е. лишнего копирования нет.


Вопросов нет
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[8]: D1.0 и D2.0
От: FR  
Дата: 01.07.07 03:20
Оценка:
Здравствуйте, eao197, Вы писали:


E>Я несколько раз ему это говорил и прямым текстом спрашивал, планируется ли вообще какая-нибудь пауза в развитии языка. Но мне он не отвечал. Зато он придерживается такой линии: есть типа стабильный D1.0 и для создания production кода и использования в реальных проектах нужно брать именно D1.0.


E>Его понять можно. Так же самая константность, точнее ее отсутствие -- это такой косяк, который хорошо бы исправить. И раз уж он решил добавить в язык константность, так пусть делает это раньше. Тем более, что многие из D community очень восторженно приветствуют такой ход событий и так же указывают: "мол чего народ баламутишь, есть D1.0, пользуйся им".


E>Радует, что я там не один такой, кто говорит, что пора бы уже заниматься продвижением D, а не развитием. Так что есть шансы, что к нам будут больше прислушиваться.


Кстати багфиксы вышли паралельно и для 1.x и для 2.x если и дальше так же будет, то 1.x вполне можно будет пользоватся.
Re[9]: D1.0 и D2.0
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 01.07.07 06:03
Оценка: +1
Здравствуйте, FR, Вы писали:

E>>Радует, что я там не один такой, кто говорит, что пора бы уже заниматься продвижением D, а не развитием. Так что есть шансы, что к нам будут больше прислушиваться.


FR>Кстати багфиксы вышли паралельно и для 1.x и для 2.x если и дальше так же будет, то 1.x вполне можно будет пользоватся.


Так в том-то и дело, что программирование в D1.0 будет сильно отличаться от программирования в D2.0. Поэтому при переходе с D1.0 на D2.0 придется сильно перерабатывать то, что будет написано на D1.0. И, если финальный D2.0 появится через годик-другой, то на D1.0 будет написано слишком много чтобы просто так заниматься портированием на D2.0.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[5]: D1.0 и D2.0
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.07.07 22:37
Оценка:
Здравствуйте, _nn_, Вы писали:

__>Поэтому единственный вариант это заняться разработкой идеального языка на благо всего RSDN-а


Это место уже занято .
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: D1.0 и D2.0
От: Cyberax Марс  
Дата: 02.07.07 23:17
Оценка: :))) :))) :))) :)
Здравствуйте, VladD2, Вы писали:

__>>Поэтому единственный вариант это заняться разработкой идеального языка на благо всего RSDN-а

VD>Это место уже занято .
Причем Обероном.
Sapienti sat!
Re[10]: D1.0 и D2.0
От: FR  
Дата: 12.08.07 01:49
Оценка:
Здравствуйте, eao197, Вы писали:

E>Так в том-то и дело, что программирование в D1.0 будет сильно отличаться от программирования в D2.0. Поэтому при переходе с D1.0 на D2.0 придется сильно перерабатывать то, что будет написано на D1.0. И, если финальный D2.0 появится через годик-другой, то на D1.0 будет написано слишком много чтобы просто так заниматься портированием на D2.0.


D2 все интереснее становится, вот добавили практически compile time reflection: http://www.digitalmars.com/d/traits.html
Re[11]: D1.0 и D2.0
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 12.08.07 07:53
Оценка:
Здравствуйте, FR, Вы писали:

E>>Так в том-то и дело, что программирование в D1.0 будет сильно отличаться от программирования в D2.0. Поэтому при переходе с D1.0 на D2.0 придется сильно перерабатывать то, что будет написано на D1.0. И, если финальный D2.0 появится через годик-другой, то на D1.0 будет написано слишком много чтобы просто так заниматься портированием на D2.0.


FR>D2 все интереснее становится, вот добавили практически compile time reflection: http://www.digitalmars.com/d/traits.html


Там уже народ нашел несколько недочетов и неудобств. Так что можно ожидать, что со временем этот механизм traits станет еще мощнее. Да и будет переименован с __trait на что-то более "цивильное".


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[12]: D1.0 и D2.0
От: FR  
Дата: 06.10.07 10:39
Оценка: 1 (1)
Здравствуйте, eao197, Вы писали:

D решил немного лицом к C++ повернутся http://www.digitalmars.com/d/cpp_interface.html
Re[13]: D1.0 и D2.0
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 06.10.07 11:06
Оценка: :)
Здравствуйте, FR, Вы писали:

FR>D решил немного лицом к C++ повернутся http://www.digitalmars.com/d/cpp_interface.html


[:\/\/\/\/:]
Я раньше: http://www.rsdn.ru/forum/message/2683188.1.aspx
Автор: eao197
Дата: 06.10.07


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re: Ой, чо с D деется-то!?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 18.10.07 07:35
Оценка:
Очередные вести с полей

В свежей статье Function Hijacking Mitigation Вальтер Брайт рассказал о новых подходах к разрешению перегрузки функций/методов, которые реализуются в D 2.0 (например, Overload Set поддерживаются в недавно вышедшей версии DMD 2.006).


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[11]: D1.0 и D2.0
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.10.07 19:14
Оценка:
Здравствуйте, FR, Вы писали:

FR>D2 все интереснее становится, вот добавили практически compile time reflection: http://www.digitalmars.com/d/traits.html


Ёоо!

С таким синтаксисом С++ и правда можно заткнуть за пояс. Ну, хотя бы в области шифрования исходников. Маразм крепчал.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Ой, чо с D деется-то!?
От: c-smile Канада http://terrainformatica.com
Дата: 23.10.07 03:29
Оценка: +2
Здравствуйте, eao197, Вы писали:

E>Очередные вести с полей


E>В свежей статье Function Hijacking Mitigation Вальтер Брайт рассказал о новых подходах к разрешению перегрузки функций/методов, которые реализуются в D 2.0 (например, Overload Set поддерживаются в недавно вышедшей версии DMD 2.006).


Вальтеру изменяет чувство меры... D по количеству фич превысил некий разумный предел. Честно говоря это уже новогодняя ёлка, а не язык.

Эта константность... может она конечно теоритичесмки полна но в общем-то простой C++::const вызывает недопонимание, а уж это фейрверк final, const and invariant ...

А scope(exit), scope(success) и scope(failure) вместе с try, catch and finally как-то с содроганием воспринимается ...

По моему мнению, конечно.
Re[3]: Ой, чо с D деется-то!?
От: alexeiz  
Дата: 23.10.07 04:04
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Вальтеру изменяет чувство меры... D по количеству фич превысил некий разумный предел. Честно говоря это уже новогодняя ёлка, а не язык.


CS>Эта константность... может она конечно теоритичесмки полна но в общем-то простой C++::const вызывает недопонимание, а уж это фейрверк final, const and invariant ...


CS>А scope(exit), scope(success) и scope(failure) вместе с try, catch and finally как-то с содроганием воспринимается ...


Согласен. У меня сложилось похожее впечатление. Хотя, если интересно, ты можешь сказать это Волтеру лично. Он сюда частенько заходит.
Re[3]: Ой, чо с D деется-то!?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 23.10.07 05:14
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, eao197, Вы писали:


E>>Очередные вести с полей


E>>В свежей статье Function Hijacking Mitigation Вальтер Брайт рассказал о новых подходах к разрешению перегрузки функций/методов, которые реализуются в D 2.0 (например, Overload Set поддерживаются в недавно вышедшей версии DMD 2.006).


CS>Вальтеру изменяет чувство меры... D по количеству фич превысил некий разумный предел. Честно говоря это уже новогодняя ёлка, а не язык.


+1
Более того, это елка, которую не перестают наряжать

CS>Эта константность... может она конечно теоритичесмки полна но в общем-то простой C++::const вызывает недопонимание, а уж это фейрверк final, const and invariant ...


Где-то месяца полтора назад, когда я еще пытался следить за обсуждениями D в news-группе digitalmars.D, Вальтер начал заводить разговор о том, что final -- это уже черезчур. Мол, как-то сложноватенько получается.

Но вообще мне вся эта бодяга с созданием все более и более лучшего языка уже надоела. Слежу за новыми релизами и анонсами, но не более того.

CS>А scope(exit), scope(success) и scope(failure) вместе с try, catch and finally как-то с содроганием воспринимается ...


CS>По моему мнению, конечно.


Твое мнение не слишком отличается от моего. Хотя scope(exit) мне лично нравился. Не нравились другие вещи: например, жесткое разделение на value и reference типы (из-за чего некоторые шаблоны представляют из себя сплошной static if).


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[3]: Ой, чо с D деется-то!?
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.10.07 11:26
Оценка: +2
Здравствуйте, c-smile, Вы писали:

CS>Вальтеру изменяет чувство меры... D по количеству фич превысил некий разумный предел. Честно говоря это уже новогодняя ёлка, а не язык.


Это все от того, что у него изначально небыло концепции языка. Вместо этого он именно что занимается наряжением елки, т.е. добавлением фич. Когда язык проектируют под идеи, то фичи получаются сбалансированными и язык выглядящим целостно и не противоречиво. А когда фичи приклеивают к безидейному телу (главная идея Ди, как я понимаю, было создать С++ с человеческим лицом), то получается ёлка.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Ой, чо с D деется-то!?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 23.10.07 12:21
Оценка:
Здравствуйте, VladD2, Вы писали:

CS>>Вальтеру изменяет чувство меры... D по количеству фич превысил некий разумный предел. Честно говоря это уже новогодняя ёлка, а не язык.


VD>Это все от того, что у него изначально небыло концепции языка. Вместо этого он именно что занимается наряжением елки, т.е. добавлением фич. Когда язык проектируют под идеи, то фичи получаются сбалансированными и язык выглядящим целостно и не противоречиво. А когда фичи приклеивают к безидейному телу (главная идея Ди, как я понимаю, было создать С++ с человеческим лицом), то получается ёлка.


По моим впечатлениям, идеи у Брайта есть и под них он свой язык и проектирует. Проблема в том, что идеи у него не кончаются и их все он пытается в язык запихнуть. Потому-то язык так еще ни разу стабильного состояния и не достиг. А все, что лично мне нужно было от D -- это стабилизации где-то на версии 1.007.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[4]: Ой, чо с D деется-то!?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 23.10.07 13:31
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Это все от того, что у него изначально небыло концепции языка. Вместо этого он именно что занимается наряжением елки, т.е. добавлением фич. Когда язык проектируют под идеи, то фичи получаются сбалансированными и язык выглядящим целостно и не противоречиво. А когда фичи приклеивают к безидейному телу (главная идея Ди, как я понимаю, было создать С++ с человеческим лицом), то получается ёлка.


Это, кстати, проблема не только конкретного компилятора, но еще и многих open source проектов.
... << RSDN@Home 1.2.0 alpha rev. 716>>
AVK Blog
Re[5]: Ой, чо с D деется-то!?
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.10.07 14:51
Оценка: +1
Здравствуйте, eao197, Вы писали:

E>По моим впечатлениям, идеи у Брайта есть и под них он свой язык и проектирует. Проблема в том, что идеи у него не кончаются и их все он пытается в язык запихнуть. Потому-то язык так еще ни разу стабильного состояния и не достиг. А все, что лично мне нужно было от D -- это стабилизации где-то на версии 1.007.


Ты меня уж извини, что я снова упомяну Немерле. Ладно?

Так вот давай сравним языки. Фактически, если отбросить работу с указателями, то Ди не имеет ничего что нельзя было бы сделать на Немерле. Причем почти всегда решение на Немерле будет красивее.

При этом все фичи Немерле были (в общем виде конечно) заложены еще при в работы над языком. Ди же подбирается к тем же "окопам" только сейчас.

На мой взгляд очевидно, что такое положение дел определяется тем, что общего видения у автора Ди не было. И то что называется Ди сейчас — это результат эволюции языка и роста знаний автора.

Возможно если он возьмется делать новый язык, ну, скажем E, то у него все плучится.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Ой, чо с D деется-то!?
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.10.07 14:51
Оценка: +1
Здравствуйте, AndrewVK, Вы писали:

AVK>Это, кстати, проблема не только конкретного компилятора, но еще и многих open source проектов.


Я бы сказал, что это вообще общея проблема многих проектов. Зачастую люди просто желают добра, но единой концепции у них нет (или знаний).
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.