Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чем лучше объектный C++ , чем С, для простых прог? С++ 
:(
    Опции темы
MAKCim
Дата 3.10.2008, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

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



Цитата(UnrealMan @  3.10.2008,  11:50 Найти цитируемый пост)
Перепиши этот код на C.


Код

struct SomeClass
{
    ResourceHandle m_handle;
};

int use_resource(struct SomeClass *object)
{
...
}

int SomeClassInit(struct SomeClass *object)
{
    return object->m_handle = acquire_resource();
}

int SomeClassDestroy(struct SomeClass *object)
{
    return release_resource(object->m_handle);
}

void f()
{
    struct SomeClass x;
    struct SomeClass y;
    if (SomeClassInit(&x))
    {
        return;
    }
    if (SomeClassInit(&y))
    {
        goto destroy_x;
    }
    if (use_resource(&x))
    {
        goto destroy_y;
    }
    if (use_resource(&y))
    {
        goto destroy_y;
    }
destroy_y:
    SomeClassDestroy(&y);
destroy_x:
    SomeClassDestroy(&x);
}


Добавлено @ 12:17
Цитата(UnrealMan @  3.10.2008,  11:50 Найти цитируемый пост)
А ты что-нибудь посложнее Hello World на своём C программировал?

если это действительно вопрос, а не стеб, то да  smile 


Цитата(UnrealMan @  3.10.2008,  11:50 Найти цитируемый пост)
Я так понял, ты теперь отказываешься от этого своего супер-аргумента "раз без шаблонов можно выжить, значит они не нужны"?

отнюдь
просто аналогия не верна
бомж и не бомж - слишком ортогональные понятия  smile 
тут больше подходит аналогия есть машина и нет машины
во втором случае я могу взять такси  smile 


Цитата(UnrealMan @  3.10.2008,  11:50 Найти цитируемый пост)
Когда речь заходит о фанатах, я в первую очередь вспоминаю о том, что фанатизм, как и всякое помешательство, свидетельствует скорее о психических отклонениях у человека, 

фанаты бывают разные
и зачастую уровень знаний фаната, так же как и любителя, превосходит оный т. н профессионала  smile

Добавлено через 11 минут и 20 секунд
UnrealMan
давай все же на личности не переходить
или по-другому ты дискуссию вести не умеешь?

Это сообщение отредактировал(а) MAKCim - 3.10.2008, 12:19


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
NebelDT
Дата 3.10.2008, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Не ожидал что мне столько народу ответит, пасиб! smile

Добавлено через 4 минуты и 11 секунд
Не ожидал что мне столько народу ответит, пасиб! smile 
PM MAIL WWW YIM   Вверх
UnrealMan
Дата 3.10.2008, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(MAKCim @ 3.10.2008,  13:09)
Цитата(UnrealMan @  3.10.2008,  11:50 Найти цитируемый пост)
Перепиши этот код на C.


Код

struct SomeClass
{
    ResourceHandle m_handle;
};

int use_resource(struct SomeClass *object)
{
...
}

int SomeClassInit(struct SomeClass *object)
{
    return object->m_handle = acquire_resource();
}

int SomeClassDestroy(struct SomeClass *object)
{
    return release_resource(object->m_handle);
}

void f()
{
    struct SomeClass x;
    struct SomeClass y;
    if (SomeClassInit(&x))
    {
        return;
    }
    if (SomeClassInit(&y))
    {
        goto destroy_x;
    }
    if (use_resource(&x))
    {
        goto destroy_y;
    }
    if (use_resource(&y))
    {
        goto destroy_y;
    }
destroy_y:
    SomeClassDestroy(&y);
destroy_x:
    SomeClassDestroy(&x);
}

А каким чудом функция, вызвавшая f, узнает, что за ошибка произшла? Будем считать, что существует по меньшей мере две причины, по которой захват ресурса не может быть выполнен успешно, и то же самое будет в отношении использования use_resource. Нужно, чтобы в функции, вызывающей f, можно было распознать тип ошибки (т.е. конкретную причину сбоя).

Кстати, нулевой handle обычно свидетельствует о неудачном захвате ресурса, так что в if-ах следовало бы добавить отрицание.

Цитата(MAKCim @  3.10.2008,  13:09 Найти цитируемый пост)
тут больше подходит аналогия есть машина и нет машины
во втором случае я могу взять такси  

C больше походит на детский трёхколёсный велосипед, нежели на такси. Такси в определённом плане может быть ещё удобней, чем личное авто, ибо все тяготы, связанные с управлением машиной, уходом за ней, прохождением техосмотра и т.д. возьмут на себя специальные работники, осуществляющие и обслуживающие такого рода перевозки, а не пассажир, которому надо просто доехать из точки A в точку B. Это определённо не про C-программистов.

Цитата(MAKCim @  3.10.2008,  13:09 Найти цитируемый пост)
и зачастую уровень знаний фаната, так же как и любителя, превосходит оный т. н профессионала

Зачастую этого уровня знаний хватает только на разжигание дурацких холиваров на форумах.

Цитата(MAKCim @  3.10.2008,  13:09 Найти цитируемый пост)
давай все же на личности не переходить
или по-другому ты дискуссию вести не умеешь?

Ты, видимо, привык путать личную тягу к извращениям с потребностями других людей. При таких обстоятельствах дискуссия не может не затрагивать обсуждение личностей. Давай-ка посмотрим, с чего начался разговор.

Цитата(MAKCim @  30.9.2008,  14:08 Найти цитируемый пост)
я даже больше скажу, и для сложных программ С++ не лучше  

Если б ты добавил "лично для меня не лучше", к тебе б претензий не было. Ну, нравится тебе извращаться со всеми этими макросами, void* и goto, извращайся дальше сколько угодно. Но тебе зачем-то понадобилось провокационно такое уточнение опустить и снизвести тему в холивар:

Цитата(MAKCim @  30.9.2008,  14:08 Найти цитируемый пост)
(можете начинать набрасываться на меня) 

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

Это сообщение отредактировал(а) UnrealMan - 3.10.2008, 14:20
PM MAIL   Вверх
nerezus
Дата 3.10.2008, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата

фанаты бывают разные
 Признак фанатизма - необъективность. А необъективность мешает правильно оценить вещи. Как следствие - неверно принятое решение по заданным критериям оценки.


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


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

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



Цитата(UnrealMan @  3.10.2008,  14:09 Найти цитируемый пост)
А каким чудом функция, вызвавшая f, узнает, что за ошибка произшла?

а, ну тут просто описка
функция должна int возвращать (или любым другим способом сигнализировать об ошибке)


Цитата(UnrealMan @  3.10.2008,  14:09 Найти цитируемый пост)
Кстати, нулевой handle обычно свидетельствует о неудачном захвате ресурса, так что в if-ах следовало бы добавить отрицание.

опять описка

главное, что общая идея в коде прослеживается

Цитата(UnrealMan @  3.10.2008,  14:09 Найти цитируемый пост)
C больше походит на детский трёхколёсный велосипед, нежели на такси. Такси в определённом плане может быть ещё удобней, чем личное авто, ибо все тяготы, связанные с управлением машиной, уходом за ней, прохождением техосмотра и т.д. возьмут на себя специальные работники, осуществляющие и обслуживающие такого рода перевозки, а не пассажир, которому надо просто доехать из точки A в точку B. Это определённо не про C-программистов.

аналогия раскрывается следующем образом
машина = шаблоны
нет машины = С
есть машина = С++
возьму такси = сделаю по-другому
в итоге и в первом случае, и во втором я доеду до пункта Б = решить задачу
 smile 

Цитата(UnrealMan @  3.10.2008,  14:09 Найти цитируемый пост)
Зачастую этого уровня знаний хватает только на разжигание дурацких холиваров на форумах.

это тонкий намек или мне кажется?

Цитата(UnrealMan @  3.10.2008,  14:09 Найти цитируемый пост)
Но тебе зачем-то понадобилось провокационно такое уточнение опустить и снизвести тему в холивар:

в холиварах тоже нужно вести себя корректно

Цитата(UnrealMan @  3.10.2008,  14:09 Найти цитируемый пост)
Выдавать свои личные мазохистские предпочтения за всеобщие, а потом обижаться при переходе на личности - это, видимо, и есть правильный подход к ведению дискуссий, по-твоему?

ну вот опять переход на личности
во-первых, почему мои предпочтения - мазохистские?
извини, но пока всемирный вопрос на тему сабжа никто не проводил и результатов у нас нет
во-вторых, ты только что сам начал выдавать свои взгляды за всеобщие  smile 
в-третьих, я твой уровень знаний/профессионализм/... ни прямо, ни косвенно не затрагивал
да, возможно я резок, но резок по сабжу, а не по отношению к другим
мы все-таки в религиозных войнах

Добавлено через 1 минуту и 37 секунд
Цитата(nerezus @  3.10.2008,  14:14 Найти цитируемый пост)
Признак фанатизма - необъективность. А необъективность мешает правильно оценить вещи. Как следствие - неверно принятое решение по заданным критериям оценки. 

это к чему?
определение фанатизма?


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
nerezus
Дата 3.10.2008, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата

это к чему?
определение фанатизма?
 Нет. Его отрицательные качества.

Кстати недавно привели пример, у тебя кода при переписывании стало больше в несколько раз.


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


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

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



Цитата(nerezus @  3.10.2008,  16:08 Найти цитируемый пост)
Кстати недавно привели пример, у тебя кода при переписывании стало больше в несколько раз. 

от этого он стал менее понятным?


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
UnrealMan
Дата 3.10.2008, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(MAKCim @  3.10.2008,  15:47 Найти цитируемый пост)
а, ну тут просто описка

Просто описка? А на то, что размер кода станет ещё больше, мы внимания не обращаем? smile 

Цитата(MAKCim @  3.10.2008,  15:47 Найти цитируемый пост)
аналогия раскрывается следующем образом
машина = шаблоны
нет машины = С
есть машина = С++
возьму такси = сделаю по-другому
в итоге и в первом случае, и во втором я доеду до пункта Б = решить задачу

Равноценной замены шаблонам в C нет. Более совершенной замены - тем более. Так что не надо тут преувеличивать насчёт такси: максимум, на что ты сможешь рассчитывать, это на трёхколёсный велосипед, позаимствованный у девочки Маши, либо на свои собственные ножки.

Цитата(MAKCim @  3.10.2008,  15:47 Найти цитируемый пост)
во-первых, почему мои предпочтения - мазохистские?

Потому что повышенная трудоёмкость (читай затратность по человеческим ресурсам) предлагаемых тобой изворотов очевидна. Если ты готов спорить с очевидным, то с тобой в принципе невозможно о чём-то договориться. К счастью, я и не собираюсь лично тебя в чём-то убеждать. Я тут ради собственного развлечения и ради тех, кто с очевидными вещами спорить не любит.

Стремление выбрать из двух способов достижения цели наиболее затратный - это мазохизм. Для серьёзных коммерческих проектов такой мазохизм убыточен.

Цитата(MAKCim @  3.10.2008,  15:47 Найти цитируемый пост)
извини, но пока всемирный вопрос на тему сабжа никто не проводил и результатов у нас нет

И вопросы проектирования крупных программных систем конечно же никто никогда не рассматривал. В каменном веке живём.

Цитата(MAKCim @  3.10.2008,  15:47 Найти цитируемый пост)
во-вторых, ты только что сам начал выдавать свои взгляды за всеобщие  

Что ж, я рад, что до этого высказывал только всеобщие взгляды smile
А теперь, пожалуйста, приведи пример, где в предыдущем посте я несправедливо начал выдавать свои взгляды за всеобщие smile 

Цитата(MAKCim @  3.10.2008,  15:47 Найти цитируемый пост)
в-третьих, я твой уровень знаний/профессионализм/... ни прямо, ни косвенно не затрагивал

Насчёт косвенности это ты зря упомянул. Немногим ранее ты написал следующее:

Цитата(MAKCim @ 1.10.2008,  09:27)
Цитата(bsa @  1.10.2008,  08:23 Найти цитируемый пост)
Я, лично, считаю, что прикладной софт нужно писать на С++ - сильная экономия времени.

я считаю, что одинаково
главное, чтобы человек был профессионал в своем деле  smile

Между строк тут так и читается: "а если у вас получается не одинаково, то никакие вы не профессионалы в C".

Конечно, тут можно было бы упрекнуть меня в вольной интерпретации, однако же эта твоя пафосная фраза без приведённого мной подтекста, теряет всякий смысл. Тут уж что-то одно: либо человек, который не в силах вести разработку на C так же эффективно, как на C++, недостаточно профессионал в C, либо ты просто ляпнул что-то не то.
 
Цитата(MAKCim @  3.10.2008,  15:47 Найти цитируемый пост)
мы все-таки в религиозных войнах

Мне довелось участвовать в десятках религиозных спорах, причём религиозных в прямом смысле, т.к. предметом обсуждения в них было "христианство vs атеизм". Честно говоря, поражён, до чего уровень твоих аргументов похож на оный у христиан. Ты, случаем, не один из них?
 smile 

Цитата(MAKCim @  3.10.2008,  17:23 Найти цитируемый пост)
от этого он стал менее понятным? 

Его как минимум сложнее читать и модифицировать.
PM MAIL   Вверх
nerezus
Дата 3.10.2008, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата

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


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


Опытный
**


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

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



Цитата(MAKCim @  3.10.2008,  08:18 Найти цитируемый пост)
о вкусах не спорят

ну за стандарт вкуса принимают обычно не вкус небольшой доли извращенцев (которая всегда присутствует в обществе), а вкусы большинства нормальных пиплов  smile 
а большинство нормальных пиплов предпочитают день потерять (досконально изучить хороший но сложный инструмент), а потом за пять минут долететь (писать совместимые программы гораздо быстрее, проще и эффективнее)
Цитата(MAKCim @  3.10.2008,  08:18 Найти цитируемый пост)
сразу видно, что тут на С мало кто программировал

не волнуйтесь, мы и на ассемблере лабаем  smile 
Цитата(MAKCim @  3.10.2008,  08:18 Найти цитируемый пост)
давайте список, буду отвечать

да я уже раза 3 его давал
1. типобезопасность
2. решение 1. путем создания макросов которые:
   2a. неотлаживаемы в принципе
   2b. непозволяют конкурентное использование разных библиотек в силу конфликта имен и несовместимости
Цитата(MAKCim @  3.10.2008,  08:18 Найти цитируемый пост)
я сам был раньше фанатом С++
пока не понял, что он того не стОит

-- А вы детей любите?
-- Нет...
-- Ааааа, вы просто готовить их правильно не умеете!!!
 smile 

Так и скажите, что вам просто лень изучать сложный инструмент  smile

Добавлено через 3 минуты и 8 секунд
Цитата(nerezus @  3.10.2008,  10:03 Найти цитируемый пост)
Ненавижу C++ за сложность(неоправданную). 

она оправдана близостью к железу



--------------------
user posted image
PM MAIL   Вверх
vinter
  Дата 3.10.2008, 17:33 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


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

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



Цитата(J0ker @  3.10.2008,  18:22 Найти цитируемый пост)
ну за стандарт вкуса принимают обычно не вкус небольшой доли извращенцев (которая всегда присутствует в обществе), а вкусы большинства нормальных пиплов 

вкусовых стандартов не существует  smile 

MAKCim, сразу видно соскчилсмя по РВ  smile 
Цитата(UnrealMan @  3.10.2008,  18:08 Найти цитируемый пост)
Ты, случаем, не один из них?

ты считаешь быть христианином это что-то плохое?


--------------------
Мой блог
PM MAIL WWW   Вверх
J0ker
Дата 3.10.2008, 17:44 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(MAKCim @  3.10.2008,  14:47 Найти цитируемый пост)
аналогия раскрывается следующем образом
машина = шаблоны
нет машины = С
есть машина = С++
возьму такси = сделаю по-другому
в итоге и в первом случае, и во втором я доеду до пункта Б = решить задачу

нет, батенька
во втором случае вам на камазе привезут набор запчастей, свинченных с разных автомобилей и на карете скорой помощи доставят таксиста с инсультом
ваша задача будет - собрать из несовместимых запчастей машину, нарисовать на ней шашечки, а затем откачать таксиста - вот тогда возможно вас куда-то и отвезут... и не важно, что самолет уже трое суток как улетел  smile

Добавлено через 3 минуты и 52 секунды
Цитата(vinter @  3.10.2008,  17:33 Найти цитируемый пост)
вкусовых стандартов не существует

а я и не писал, чтосуществует, я писал "принимается"
это вопрос рациональности, а не искусства

Цитата(vinter @  3.10.2008,  17:33 Найти цитируемый пост)
ты считаешь быть христианином это что-то плохое? 

скорее глупое
слепая вера - один из анти-паттернов  smile 


--------------------
user posted image
PM MAIL   Вверх
vinter
Дата 3.10.2008, 17:58 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


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

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



Цитата(J0ker @  3.10.2008,  18:44 Найти цитируемый пост)
скорее глупоеслепая вера - один из анти-паттернов

на самом деле ты уже не прав, да и разговор это оффтопный. Надо понимать, что не все верующие фанатики, и уж тем более не все крещенные христьяне являются фанатиками.
Если кто-то чего-то непонимает и не признает, это не значит, что этого нет.

Добавлено через 1 минуту и 59 секунд
Цитата(J0ker @  3.10.2008,  18:44 Найти цитируемый пост)
это вопрос рациональности

рациональности во вкусе быть не может. Я люблю пиццу. Но это не рационально, по твоей теории я ирроционален, а так большинство этого мира. Значит рациональность граничит с иррациональностью, что делат их неразличимыми в данном контексте.


--------------------
Мой блог
PM MAIL WWW   Вверх
Любитель
Дата 3.10.2008, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(J0ker @  3.10.2008,  17:22 Найти цитируемый пост)
она оправдана близостью к железу

Сложность С++ оправдана близостью к железу?! Сложность С++ ничем не оправданна - это просто исторический факт. А С что дальше от железа что ли  smile 

Цитата(J0ker @  3.10.2008,  17:44 Найти цитируемый пост)
скорее глупое
слепая вера - один из анти-паттернов  

Ну уж до такого можно было бы и не опускаться ;) Давай не будем отходить от "технических" вопросов smile


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


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


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

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



Цитата

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


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

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


 




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


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

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