Здравствуйте, CreatorCray, Вы писали:
C>>Почему оверкил? Фреймворк достаточно поставить один раз. CC>Ну так все равно надо ставить.
Надо, если он еще не был установлен.
C>>А в семерке так и вообще — идет в стандартной поставке. CC>Какой процент рынка у семёрки?
Больше, чем у Линукс уже.
gandjustas wrote:
>>> S> Чего не хватает? >>> Например, reflection и serialization. ПРавда, ни того ни другого нормально в Qt появиться н >>> смогут по вполне понятным причинам > S>Эта хрень нужна лишь ленивым людям, которым лень написать соответствующие функции. > Шеридан, епт, мы же о возможностях говорим. > Где же эти возможности?
Еще раз: Сериализация предназначена для тех, кому лениво написать нормальное сохранение и чтение объекта. Таким людям пофиг что с
полезными данными сохраняется куча бреда. Вобщем не нужно такое там.
> в программировании Вы полный профан (это не оскорбление, это факт, который Вы сами неоднократно
> констатировали), соответственно все Ваши цепочки рассуждений не могут основываться на Вашем опыте
> программирования, соответственно они должны основываться на определенного рода стастике
> использования.
Проясни тогда каким образом это является ответом сразу на два вопроса:
а) Почему ты не выполнил домашнее задание?
б) При чем тут списки? Речь идет не о сравнении продуктов а о возможности их написания на qt.
S> > Шеридан, епт, мы же о возможностях говорим. S> > Где же эти возможности?
S> Еще раз: Сериализация предназначена для тех, кому лениво написать нормальное сохранение и чтение объекта. Таким людям пофиг что с S> полезными данными сохраняется куча бреда. Вобщем не нужно такое там.
[капитан очевиность: on]
Cериализация — и есть нормальное созранение и чтение объекта.
Сериализация (в программировании) — процесс перевода какой-либо структуры данных в последовательность битов. Обратной к операции сериализации является операция десериализации — восстановление начального состояния структуры данных из битовой последовательности.
Сериализация используется для передачи объектов по сети и для сохранения их в файлы.
[капитан очевиность: off]
Для С++ в полном объеме нереализуемо. Тебе Шеридан советую читать http://wiki.shelek.ru/index.php/C%2B%2B_сериализация_данных — там коротенько описано, каки проблемы возникают при попытке «лениво написать нормально сохоанение и чтение объектов»
Кстати, хотелось бы еще узнать, какой бред сохраняется при сериализации.
Mamut wrote:
> S> Еще раз: Сериализация предназначена для тех, кому лениво написать нормальное сохранение и > чтение объекта. Таким людям пофиг что с S> полезными данными сохраняется куча бреда. Вобщем не > нужно такое там.
> Cериализация — и есть нормальное созранение и чтение объекта. > Кстати, хотелось бы еще узнать, какой бред сохраняется при сериализации.
Извиняюсь, не совсем точно я написал. Я против обычной сериализации, точнее против того, что обычно в наличии. А бред, который я
имел ввиду — это тот мусор, состоящий (вследствии универсальности) из всевозможных имен всевозможных структур, сквозь который
нет-нет проглядывает полезная информация.
Я считаю, что лучший способ сохранить состояние объекта — это последовательно записать в файл только нужные переменные. И
работать быстрее будет, и файл размером на порядок меньше будет.
Здравствуйте, Sheridan, Вы писали:
S>Mamut wrote:
>> S> Еще раз: Сериализация предназначена для тех, кому лениво написать нормальное сохранение и >> чтение объекта. Таким людям пофиг что с S> полезными данными сохраняется куча бреда. Вобщем не >> нужно такое там.
>> Cериализация — и есть нормальное созранение и чтение объекта. >> Кстати, хотелось бы еще узнать, какой бред сохраняется при сериализации. S>Извиняюсь, не совсем точно я написал. Я против обычной сериализации, точнее против того, что обычно в наличии. А бред, который я S>имел ввиду — это тот мусор, состоящий (вследствии универсальности) из всевозможных имен всевозможных структур, сквозь который S>нет-нет проглядывает полезная информация. S>Я считаю, что лучший способ сохранить состояние объекта — это последовательно записать в файл только нужные переменные. И S>работать быстрее будет, и файл размером на порядок меньше будет.
>> в программировании Вы полный профан (это не оскорбление, это факт, который Вы сами неоднократно
>> констатировали), соответственно все Ваши цепочки рассуждений не могут основываться на Вашем опыте
>> программирования, соответственно они должны основываться на определенного рода стастике
>> использования.
S>Проясни тогда каким образом это является ответом сразу на два вопроса: S>а) Почему ты не выполнил домашнее задание? S>б) При чем тут списки? Речь идет не о сравнении продуктов а о возможности их написания на qt.
S>Я считаю, что лучший способ сохранить состояние объекта — это последовательно записать в файл только нужные переменные. И S>работать быстрее будет, и файл размером на порядок меньше будет.
criosray wrote:
> S>Я считаю, что лучший способ сохранить состояние объекта — это последовательно записать в файл > только нужные переменные. И S>работать быстрее будет, и файл размером на порядок меньше будет. > > Вы не правильно считаете. Садитесь — два.
Ты не умеешь думать о чем-то кроме модных направлений и технологий. Твоя оценка переходит в зрительный зал.
Здравствуйте, Sheridan, Вы писали:
S>gandjustas wrote:
>> Ух ты. И как ты узнаешь что ты десериализуешь? S>Точно также, как и узнаю, что буду сериализовать.
Ну да, когда сериализуешь ты знаешь конкретный тип (хотя в С++ и с этим сложности), а когда десериализуешь, то у тебя только массив байт и все.
Так как ты узнаешь что десериализуешь?
Здравствуйте, gandjustas, Вы писали:
G>Здравствуйте, Sheridan, Вы писали:
S>>gandjustas wrote:
>>> Ух ты. И как ты узнаешь что ты десериализуешь? S>>Точно также, как и узнаю, что буду сериализовать. G>Ну да, когда сериализуешь ты знаешь конкретный тип (хотя в С++ и с этим сложности), а когда десериализуешь, то у тебя только массив байт и все. G>Так как ты узнаешь что десериализуешь?
Здравствуйте, yuriylsh, Вы писали:
M>>Но поделка кривая — это да Y>За последние пару лет единственная проблема, с которой столкнулся — это то что CCC не ставился из-за... обновленной версии Mfc80.dll
Еще одно доказаельство, что такие программы нельзя писать на C++
Re[6]: Коробочные продукты на .NET (НЕ для программистов/адм
Здравствуйте, CreatorCray, Вы писали:
CC>Ну ниасилили они написать нормальный на анменеджед, наиндусили на менеджед. CC>Одну проблему (обусловленную криворукостью) исправили, другую (тоже впрочем от кривых рук) — добавили. CC>Шило на мыло. CC>У всех знакомых у кого ATI карты родной контрол cентер не стоит — посносили нафиг.
Вот только почему уйма народа судет о производительности .net по этой индусской программе? На C++ тоже есть море такого-же отвратительного софта и ничего. Здесь ещё пытались сравнивать скорость применения фильтра gimp и paint.net, какой в этом смысл, когда все зависит от используемго алгоритма? Как их можно сравнивать, даже не заглядывая в исходник?
gandjustas wrote:
>>> Ух ты. И как ты узнаешь что ты десериализуешь? > S>Точно также, как и узнаю, что буду сериализовать. > Ну да, когда сериализуешь ты знаешь конкретный тип (хотя в С++ и с этим сложности), а когда > десериализуешь, то у тебя только массив байт и все. Так как ты узнаешь что десериализуешь?
Мда, дотнет явно людям на пользу не идёт
Сохраняются данные в каком-то порядке. Значит в том-же порядке их надо и читать. Это же элементарно.
Здравствуйте, Sheridan, Вы писали:
S>Мда, дотнет явно людям на пользу не идёт S>Сохраняются данные в каком-то порядке. Значит в том-же порядке их надо и читать. Это же элементарно.
class Base
{
// ...virtual vector<byte> Serialize()=0;
}
class Derived1 : public Base
{
// ...virtual vector<byte> Serialize()
{
// ...
}
}
class Derived2 : public Base
{
// ...virtual vector<byte> Serialize()
{
// ...
}
}
// Где-то в одном месте программы...
Base* pObj = GetSomeObject();
vector<byte> v = pObj->Serialize();
ЗаписатьБайтыВХранилище(v);
// Где-то в другом месте программы
vector<byte> v = ПолучитьБайтыИзХранилища();
Base* pObj = CreateSomeObject(v); // <- Вот тут и засада
Не будем обращать внимание на очевидный ляп в виде возврата указателя из функции. А вот скажи-ка мне, как функция CreateSomeObject поймет, какой именно объект лежит у нас в виде байтов? Base? Derived? Derived2? DerivedN, где N может принимать весьма немалые размеры? Просвети нас, сирых дотнетчиков!
... << RSDN@Home 1.2.0 alpha 4 rev. 1217>>
Re[7]: Коробочные продукты на .NET (НЕ для программистов/адм
Здравствуйте, jenyavb, Вы писали:
CC>>Ну ниасилили они написать нормальный на анменеджед, наиндусили на менеджед. CC>>Одну проблему (обусловленную криворукостью) исправили, другую (тоже впрочем от кривых рук) — добавили. CC>>Шило на мыло. CC>>У всех знакомых у кого ATI карты родной контрол cентер не стоит — посносили нафиг.
J>Вот только почему уйма народа судет о производительности .net по этой индусской программе? На C++ тоже есть море такого-же отвратительного софта и ничего.
Ну, так на C/C++ еще и горы приличного софта есть, в отличии от...
J>Здесь ещё пытались сравнивать скорость применения фильтра gimp и paint.net, какой в этом смысл, когда все зависит от используемго алгоритма? Как их можно сравнивать, даже не заглядывая в исходник?
Ну так в чем проблема? Исходники доступны, сравни. Ты вправду думаешь, что реализацию одного алгоритма можно осуществить с такими девиациями от генеральной линии, что оно будет сливаться чуть не на порядок? Не, если делать это специально, тогда конечно да... Более того, Paint.NET не спасает даже двуядерный проц (реализация в Paint.NET параллелится, в отличии от GIMP)
Здравствуйте, Sheridan, Вы писали:
S>gandjustas wrote:
>>>> Ух ты. И как ты узнаешь что ты десериализуешь? >> S>Точно также, как и узнаю, что буду сериализовать. >> Ну да, когда сериализуешь ты знаешь конкретный тип (хотя в С++ и с этим сложности), а когда >> десериализуешь, то у тебя только массив байт и все. Так как ты узнаешь что десериализуешь?
S>Мда, дотнет явно людям на пользу не идёт S>Сохраняются данные в каком-то порядке. Значит в том-же порядке их надо и читать. Это же элементарно.
Здравствуйте, Sheridan, Вы писали:
S>За последнее время я вижу игры написаные при помощи опенгл на порядки чаще чем игры написаные при помощи директХрень. Домашнее S>задание: понять — почему так.
Дай угадаю — DirectX не работает под linux, поэтому ты не видишь игр, кроме тех, которые у тебя уже есть.
Здравствуйте, Cadet, Вы писали:
C> S>Мда, дотнет явно людям на пользу не идёт C> S>Сохраняются данные в каком-то порядке. Значит в том-же порядке их надо и читать. Это же элементарно.
C>
//skip
C> // Где-то в одном месте программы...
C> Base* pObj = GetSomeObject();
C> vector<byte> v = pObj->Serialize();
C> ЗаписатьБайтыВХранилище(v);
C> // Где-то в другом месте программы
C> vector<byte> v = ПолучитьБайтыИзХранилища();
C> Base* pObj = CreateSomeObject(v); // <- Вот тут и засада
C>
C> Не будем обращать внимание на очевидный ляп в виде возврата указателя из функции. А вот скажи-ка мне, как функция CreateSomeObject поймет, какой именно объект лежит у нас в виде байтов? Base? Derived? Derived2? DerivedN, где N может принимать весьма немалые размеры? Просвети нас, сирых дотнетчиков!
Да вы все сирые и убогие и не понимаете. Вся, абсолютно вся, сериализация должна сводиться исключительно к
cout << a << b << c;
cin >> a >> b >> c;
Потому что в природе ничего, кроме POD'ов и встроеных примитивов не существует вообще. Потому что also sprach Scheridan