самые серьезные недостатки C и C++, на ваш взгляд?
От: Klatu  
Дата: 31.10.10 14:29
Оценка:
ну или киньте в меня готовым списком, если такой уже есть
Re: самые серьезные недостатки C и C++, на ваш взгляд?
От: neFormal Россия  
Дата: 31.10.10 14:32
Оценка: 5 (3) +7 :))) :))
Здравствуйте, Klatu, Вы писали:

K>ну или киньте в меня готовым списком, если такой уже есть


[trollmode]
отсутствие грамотных программистов..
[/trollmode]
...coding for chaos...
Re: самые серьезные недостатки C и C++, на ваш взгляд?
От: Ларик Россия  
Дата: 31.10.10 17:52
Оценка: :)
Здравствуйте, Klatu, Вы писали:

Ох сейчас холивар начну.
Отсутствие "ступеней" в стиле кода, многие пишут на плюсах, но все по разному, кто-то тупо влоб, кто-то используя темплейты и прочее, кто-то вообще "хитрости" использует, в итоге тот кто гуру видит рабочий код и говорит написано индусами, чайник видит код гуру и идет в курилку обсуждать "чо за нафик" (с) недавно было.
Сильно много свободы, а кому-то потом работать с этим.
Самая большая в мире ложь — "Я прочел и согласен с условиями пользовательского соглашения".
Re: самые серьезные недостатки C и C++, на ваш взгляд?
От: Lorenzo_LAMAS  
Дата: 31.10.10 18:28
Оценка:
Здравствуйте, Klatu, Вы писали:

K>ну или киньте в меня готовым списком, если такой уже есть


в проекте на С++, с которым приходится иметь дело, в изобилии встречаются ВСЕ имеющиеся проблемы С++, из самых популярных, конечно, это утечки памяти, повреждение памяти, работа с невалидными указателями. код изуверски перекрученный и сложный, реализует принцип: "сделаем простое сложным, сложное — невозможным". глядя на это месиво омерзительное вспоминаешь слова Plauger: "если С++ — ответ, то каким же был вопрос?". смешно, но люди, не зная толком ни С++, ни С, пишут на С++ в стиле кошмарнейшего С — т.е. даже то, что дал С++ по сравнению с С они НЕ ИСПОЛЬЗУЮТ, они неумело, коряво, на грани — пишут на С.
единственное, что успокаивает, на Java или C# у них бы тоже не взлетело
Of course, the code must be complete enough to compile and link.
Re[2]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Klatu  
Дата: 31.10.10 18:32
Оценка:
Здравствуйте, neFormal, Вы писали:

F>отсутствие грамотных программистов..


Надо работать с теми, что есть. Другой глобус вам персонально никто не подгонит
Re[3]: самые серьезные недостатки C и C++, на ваш взгляд?
От: neFormal Россия  
Дата: 31.10.10 18:43
Оценка:
Здравствуйте, Klatu, Вы писали:

F>>отсутствие грамотных программистов..

K>Надо работать с теми, что есть. Другой глобус вам персонально никто не подгонит

я, конечно, не настаиваю, но очевидным выглядит вопрос:
зачем бороться с самым большим недостатком, если можно сбежать на технологии, которые от него избавлены?.
...coding for chaos...
Re[2]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Klatu  
Дата: 31.10.10 19:14
Оценка: +4 :)
Здравствуйте, Lorenzo_LAMAS, Вы писали:

L_L>из самых популярных, конечно, это утечки памяти, повреждение памяти, работа с невалидными указателями.


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

Когда я недавно опять писал на С++, после большого перерыва, больше всех проблем меня раздражало немного другое.
— деление на include-файлы и cpp-файлы и связанный с этим гемор, костыли вроде pimpl. И необходимость постоянно писать forward declarations, или в случае с классами — declaration и definition для каждой функции. и при каждом изменении сигнатуры — бегать в два разных места. Фак мой мозг. Здравствуй, каменный век, прощайте, умные компиляторы
— полное отсутствие модульности на уровне бинарников. Экспортировать из DLL класс, чтобы использовать в другом модуле — лучше сразу забыть. Или повеситься.
Re[3]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Lorenzo_LAMAS  
Дата: 31.10.10 19:36
Оценка:
K>- деление на include-файлы и cpp-файлы и связанный с этим гемор, костыли вроде pimpl. И необходимость постоянно писать forward declarations, или в случае с классами — declaration и definition для каждой функции. и при каждом изменении сигнатуры — бегать в два разных места. Фак мой мозг. Здравствуй, каменный век, прощайте, умные компиляторы
K>- полное отсутствие модульности на уровне бинарников. Экспортировать из DLL класс, чтобы использовать в другом модуле — лучше сразу забыть. Или повеситься.

это все так, но мы как-то привыкшие это не самое поганое
Of course, the code must be complete enough to compile and link.
Re: самые серьезные недостатки C и C++, на ваш взгляд?
От: любой  
Дата: 31.10.10 20:34
Оценка: 1 (1) +2 -1
Здравствуйте, Klatu, Вы писали:

K>ну или киньте в меня готовым списком, если такой уже есть


В C авторы, видимо, основное внимание уделили тому, чтобы писать можно было как можно короче, кучу операций в одну строчку, операторы в 1-2 символа. Классический пример — копирование строки с помощью while(*p2++ = *p1++). Ну это ладно, все знают (хотя далеко не все понимают). Другие закрученные конструкции писать считается дурным тоном. А я считаю, что язык не должен содержать таких возможностей, использование которых порицаемо.

В С++ синтаксис шаблонов просто ужасен. Понятно, что это следствие их добавления к уже готовому языку. Но это очень сдерживает их применение.
художников никогда не обижал
Re: самые серьезные недостатки C и C++, на ваш взгляд?
От: dya-victor Россия  
Дата: 31.10.10 20:59
Оценка: +1
Здравствуйте, Klatu, Вы писали:

K>ну или киньте в меня готовым списком, если такой уже есть


Да все в принципе можно пережить. Не радует отсутствие полноценного рефлекшна. Ну и все проблемы, из этого вытекающие.
Re: самые серьезные недостатки C и C++, на ваш взгляд?
От: Aleх  
Дата: 31.10.10 21:02
Оценка: 1 (1)
Здравствуйте, Klatu, Вы писали:

K>ну или киньте в меня готовым списком, если такой уже есть


1. Ужасный синтаксический оверхед при использовании шаблонов (необходимость писать typename и template для вложенных классов).
2. Разделение на h и cpp
3. Необходимость предварительного объявления имен с сигнатурами (классов, функций, шаблонов).
4. Неединообразный синтаксис (typedef, using, определение постфиксных и префиксных операторов, определение чисто виртуальных методов).
Re: а тебе зачем? (-)
От: jazzer Россия Skype: enerjazzer
Дата: 01.11.10 02:15
Оценка: 1 (1)
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[2]: а тебе зачем? (-)
От: Klatu  
Дата: 01.11.10 04:59
Оценка:
Здравствуйте, jazzer, Вы писали:

Размышляю на тему создания своего велосипеда с ядерным реактором и нестираемыми шинами.
Re[2]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Klatu  
Дата: 01.11.10 07:07
Оценка:
Здравствуйте, Aleх, Вы писали:

A>1. Ужасный синтаксический оверхед при использовании шаблонов (необходимость писать typename и template для вложенных классов).

A>4. Неединообразный синтаксис (typedef, using, определение постфиксных и префиксных операторов, определение чисто виртуальных методов).

Можно про эти пункты подробнее?
Re[3]: самые серьезные недостатки C и C++, на ваш взгляд?
От: ocaml  
Дата: 01.11.10 07:08
Оценка:
Здравствуйте, Klatu, Вы писали:

K> — полное отсутствие модульности на уровне бинарников. Экспортировать из DLL класс, чтобы использовать в другом модуле — лучше сразу забыть. Или повеситься.


С этим-то какие проблемы? Почему у меня это получается и я не повесился?
avalon 1.0rc3 rev 364, zlib 1.2.3
Re[4]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Klatu  
Дата: 01.11.10 07:24
Оценка:
Здравствуйте, ocaml, Вы писали:

O>С этим-то какие проблемы? Почему у меня это получается и я не повесился?


Фокусник наверно, не иначе. Мастер фигурного хождения по граблям
Re[4]: самые серьезные недостатки C и C++, на ваш взгляд?
От: telek1024  
Дата: 01.11.10 07:24
Оценка:
Здравствуйте, ocaml, Вы писали:

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


K>> — полное отсутствие модульности на уровне бинарников. Экспортировать из DLL класс, чтобы использовать в другом модуле — лучше сразу забыть. Или повеситься.


O>С этим-то какие проблемы? Почему у меня это получается и я не повесился?


Скорее всего, тут имеется ввиду, что один и тот же код может компилироваться по разному на разных компиляторах (в том числе каждый со своей реализацией рантайма), что приведёт к бинарной несовместимости. Как следствие, тут возникают разные правила, что нельзя выделять и освобождать память в разных модулях. Нельзя модифицировать STL-контейнеры не своего модуля и пр.
Re[3]: самые серьезные недостатки C и C++, на ваш взгляд?
От: pvirk Россия  
Дата: 01.11.10 07:27
Оценка: :)
Здравствуйте, Klatu, Вы писали:

K>- полное отсутствие модульности на уровне бинарников. Экспортировать из DLL класс, чтобы использовать в другом модуле — лучше сразу забыть. Или повеситься.


Что сложного то?! Бери (h-ник и lib-ку соответствующие) и используй.
Re[5]: самые серьезные недостатки C и C++, на ваш взгляд?
От: ocaml  
Дата: 01.11.10 07:38
Оценка:
Здравствуйте, telek1024, Вы писали:

t> O>С этим-то какие проблемы? Почему у меня это получается и я не повесился?


t> Скорее всего, тут имеется ввиду, что один и тот же код может компилироваться по разному на разных компиляторах (в том числе каждый со своей реализацией рантайма), что приведёт к бинарной несовместимости. Как следствие, тут возникают разные правила, что нельзя выделять и освобождать память в разных модулях. Нельзя модифицировать STL-контейнеры не своего модуля и пр.


Ну, топикстартер не смог ясно сказать, что он имеет в виду
Просто я не вижу проблемы писать модульную программу, используя один компилятор. Хотя даже на разных языках был проект. На С++ использовался класс из dll на Delphi. Как ни странно, все работало и работает.
avalon 1.0rc3 rev 364, zlib 1.2.3
Re[5]: самые серьезные недостатки C и C++, на ваш взгляд?
От: ocaml  
Дата: 01.11.10 07:38
Оценка:
Здравствуйте, Klatu, Вы писали:

K> O>С этим-то какие проблемы? Почему у меня это получается и я не повесился?


K> Фокусник наверно, не иначе. Мастер фигурного хождения по граблям


А по-нормальному ответить нельзя?
avalon 1.0rc3 rev 364, zlib 1.2.3
Re[2]: самые серьезные недостатки C и C++, на ваш взгляд?
От: CreatorCray  
Дата: 01.11.10 07:44
Оценка: +1
Здравствуйте, Aleх, Вы писали:

A>1. Ужасный синтаксический оверхед при использовании шаблонов (необходимость писать typename и template для вложенных классов).

typename в С++0х вроде как уже вообще не надо. А нормальные компиляторы вообще давно его не требуют.

A>2. Разделение на h и cpp

Честно говоря вообще никогда не парило. Понимаю зачем это надо и пользуюсь соответственно.

A>3. Необходимость предварительного объявления имен с сигнатурами (классов, функций, шаблонов).

А в чём проблема то?

A>4. Неединообразный синтаксис (typedef, using, определение постфиксных и префиксных операторов, определение чисто виртуальных методов).

немного невнятно только с постфикс/префикс операторами ну и может pure virtual было бы лучше ключевым словом, хотя и так не напрягает. Всё остальное вменяемо
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[5]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Klatu  
Дата: 01.11.10 07:53
Оценка:
Здравствуйте, telek1024, Вы писали:

T>Скорее всего, тут имеется ввиду, что один и тот же код может компилироваться по разному на разных компиляторах (в том числе каждый со своей реализацией рантайма), что приведёт к бинарной несовместимости.


Не может, а обязательно будет.

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

T>Как следствие, тут возникают разные правила, что нельзя выделять и освобождать память в разных модулях. Нельзя модифицировать STL-контейнеры не своего модуля и пр.


Ну и что же это за модульность, если нужна куча правил, что можно и чего нельзя использовать через границу модулей?
Re[3]: а тебе зачем? (-)
От: WolfHound  
Дата: 01.11.10 08:32
Оценка:
Здравствуйте, Klatu, Вы писали:

K>Размышляю на тему создания своего велосипеда с ядерным реактором и нестираемыми шинами.

Те хочешь сделать свой язык программирования?
Тогда тебе нужно подходить с другой стороны.
1)Сформулировать требования к языку.
2)Проанализировать кучу совершенно разных языков даже тех которые казалось бы и близко не то что тебе надо. Никогда не знаешь где найдешь подсказку.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[4]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Privalov  
Дата: 01.11.10 08:38
Оценка:
Здравствуйте, neFormal, Вы писали:

F>зачем бороться с самым большим недостатком, если можно сбежать на технологии, которые от него избавлены?.


Из этого, imho, следует, что таких технологий не существует.
Re[4]: а тебе зачем? (-)
От: Klatu  
Дата: 01.11.10 09:04
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Тогда тебе нужно подходить с другой стороны.

WH>1)Сформулировать требования к языку.
WH>2)Проанализировать кучу совершенно разных языков даже тех которые казалось бы и близко не то что тебе надо. Никогда не знаешь где найдешь подсказку.

У меня написан уже целый талмуд с фичами, которые я потырил из других языков или придумал сам. Но это всё потом.

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

Такой проект уже будет представлять собой некоторую практическую ценность, потому что все еще дофига проектов, где пишут на чистом Си и мигрировать на С++ не собираются (и их во многом можно понять).
Ну а потом при помощи МП можно будет нарастить любой функционал, который потребуется.
Re[5]: а тебе зачем? (-)
От: WolfHound  
Дата: 01.11.10 09:22
Оценка: +3
Здравствуйте, Klatu, Вы писали:

K>У меня написан уже целый талмуд с фичами, которые я потырил из других языков или придумал сам. Но это всё потом.

Если фичей толмуд значит они противоречивы.

Вот тут я не понял:
K>Пока что я хочу пойти по пути минимализма. То есть сделать очень простой язык на основе C, очищенный от его недостатков, и приделать к нему возможность расширения синтаксиса. Т.е. метапрограммирование.
Или ты забиваешь на обратную совместимость с С

K>Такой проект уже будет представлять собой некоторую практическую ценность, потому что все еще дофига проектов, где пишут на чистом Си и мигрировать на С++ не собираются (и их во многом можно понять).

Или язык должен быть обратно совместимым с С.

Ты уж определись.

K>Ну а потом при помощи МП можно будет нарастить любой функционал, который потребуется.

Сделать хорошое МП очень не просто.
Чтобы МП получилось его нужно закладывать в язык с самого начала и все строить с учетом МП и при помощи МП.
Те абсолютно все должно проходить через механику МП. Иначе ничего работать не будет.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[5]: а тебе зачем? (-)
От: любой  
Дата: 01.11.10 09:38
Оценка:
Здравствуйте, Klatu, Вы писали:

...

Сделай так, что если тип параметра функции или переменной не указан — это темплейтный аргумент.
художников никогда не обижал
Re[6]: а тебе зачем? (-)
От: Klatu  
Дата: 01.11.10 09:40
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Если фичей толмуд значит они противоречивы.


Нет. Просто у меня много идей Со временем решу, какие из них по настоящему ценны.
А пока что — разумно необходимый минимум.

WH>Или ты забиваешь на обратную совместимость с С


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

WH>Чтобы МП получилось его нужно закладывать в язык с самого начала и все строить с учетом МП и при помощи МП.

WH>Те абсолютно все должно проходить через механику МП. Иначе ничего работать не будет.

Само собой.
Re[6]: а тебе зачем? (-)
От: jazzer Россия Skype: enerjazzer
Дата: 01.11.10 10:25
Оценка:
Здравствуйте, любой, Вы писали:

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


Л>...


Л>Сделай так, что если тип параметра функции или переменной не указан — это темплейтный аргумент.


Здравствуйте, опечатки
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[7]: а тебе зачем? (-)
От: любой  
Дата: 01.11.10 11:15
Оценка: 1 (1)
Здравствуйте, jazzer, Вы писали:

J>Здравствуйте, опечатки


Какие опечатки? Я считаю, что типы переменных вообще у программиста редко потребность должна возникать указывать. В основном, только у входных и выходных данных. А остальные должны выводиться автоматически.
художников никогда не обижал
Re: Давно есть список. C++ FQA
От: Mamut Швеция http://dmitriid.com
Дата: 01.11.10 11:31
Оценка: 3 (1)
Здравствуйте, Klatu, Вы писали:

K>ну или киньте в меня готовым списком, если такой уже есть


Давно есть и рекомендуется к прочтению. C++ Frequently Questioned Answers: http://yosefk.com/c++fqa/


dmitriid.comGitHubLinkedIn
Re[3]: самые серьезные недостатки C и C++, на ваш взгляд?
От: NikeByNike Россия  
Дата: 01.11.10 13:50
Оценка:
Здравствуйте, Klatu, Вы писали:

L_L>>из самых популярных, конечно, это утечки памяти, повреждение памяти, работа с невалидными указателями.


K>Ну это типично для любого языка с ручным управлением памятью. Лечится только ампутацией


С++ допускает и ручное и автоматическое управление памятью, по желанию.

K>Когда я недавно опять писал на С++, после большого перерыва, больше всех проблем меня раздражало немного другое.


Меня больше всего раздражает отсутствие чёткого владельца и внятной единой полноценной стандартной современной библиотеки.
Нужно разобрать угил.
Re[3]: самые серьезные недостатки C и C++, на ваш взгляд?
От: NikeByNike Россия  
Дата: 01.11.10 13:52
Оценка:
Здравствуйте, CreatorCray, Вы писали:

A>>3. Необходимость предварительного объявления имен с сигнатурами (классов, функций, шаблонов).

CC>А в чём проблема то?

То что компилер мог бы и сам это найти.
Нужно разобрать угил.
Re: самые серьезные недостатки C и C++, на ваш взгляд?
От: vladimir.vladimirovich США  
Дата: 01.11.10 13:57
Оценка: -1
Здравствуйте, Klatu, Вы писали:

K>ну или киньте в меня готовым списком, если такой уже есть


http://www.open-std.org/jtc1/sc22/wg21/docs/standards#14882
Re[2]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Klatu  
Дата: 01.11.10 14:59
Оценка:
Здравствуйте, vladimir.vladimirovich, Вы писали:

VV>http://www.open-std.org/jtc1/sc22/wg21/docs/standards#14882


Это как понимать? Вся спецификация языка — один сплошной недостаток?
Re[4]: самые серьезные недостатки C и C++, на ваш взгляд?
От: CreatorCray  
Дата: 01.11.10 15:01
Оценка:
Здравствуйте, NikeByNike, Вы писали:

A>>>3. Необходимость предварительного объявления имен с сигнатурами (классов, функций, шаблонов).

CC>>А в чём проблема то?

NBN>То что компилер мог бы и сам это найти.

Нет уж спасибо.
А если мне надо наружу выставить только 1 класс а остальное спрятать от того, кто мою lib будет использовать
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[5]: самые серьезные недостатки C и C++, на ваш взгляд?
От: NikeByNike Россия  
Дата: 01.11.10 15:11
Оценка:
Здравствуйте, CreatorCray, Вы писали:

A>>>>3. Необходимость предварительного объявления имен с сигнатурами (классов, функций, шаблонов).

CC>>>А в чём проблема то?

NBN>>То что компилер мог бы и сам это найти.

CC>Нет уж спасибо.
CC>А если мне надо наружу выставить только 1 класс а остальное спрятать от того, кто мою lib будет использовать

Это решается документацией
Нужно разобрать угил.
Re[5]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Klatu  
Дата: 01.11.10 15:36
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>А если мне надо наружу выставить только 1 класс а остальное спрятать от того, кто мою lib будет использовать


Спрятать? В С++??? Это наверно такая тонкая шутка...
Re[5]: самые серьезные недостатки C и C++, на ваш взгляд?
От: WolfHound  
Дата: 01.11.10 15:44
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>А если мне надо наружу выставить только 1 класс а остальное спрятать от того, кто мою lib будет использовать

Ты на C# посмотри да... Никакого предварительного объявления и что выставлять прекрасно контролируется.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[7]: а тебе зачем? (-)
От: WolfHound  
Дата: 01.11.10 15:59
Оценка:
Здравствуйте, Klatu, Вы писали:

K>Нет. Просто у меня много идей Со временем решу, какие из них по настоящему ценны.

Ну так изложи эти идеи.
Пока не ясно даже что за язык ты хочешь получить в итоге.

K>А пока что — разумно необходимый минимум.

Практика показывает что в язык нужно сразу закладывать все что собираешься делать.
Иначе получается куча уродливых нашлепок.
Так что ты уж определись что ты хочешь в язык засунуть.

K>Забиваю. По другому недостатки не выправишь.

Значит это новый язык.
Раз ты упомянул С то это сразу означает:
Отсутствие сборки мусора.
Ручное управление памятью.
Прямой доступ к памяти.

Я тебя правильно понял?

K>Но ничто не мешает сделать конвертор из C в мой язык, равно как и бинарный интероп.

На конвертор сразу забей.
Они всегда получаются весьма погаными.

WH>>Чтобы МП получилось его нужно закладывать в язык с самого начала и все строить с учетом МП и при помощи МП.

WH>>Те абсолютно все должно проходить через механику МП. Иначе ничего работать не будет.
K>Само собой.
Ну так раскажи как твое МП будет работать.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[3]: самые серьезные недостатки C и C++, на ваш взгляд?
От: vladimir.vladimirovich США  
Дата: 01.11.10 17:27
Оценка: -1
Здравствуйте, Klatu, Вы писали:

K>Это как понимать? Вся спецификация языка — один сплошной недостаток?


Именно
Re[2]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Pyromancer  
Дата: 01.11.10 17:28
Оценка:
Здравствуйте, любой, Вы писали:

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


K>>ну или киньте в меня готовым списком, если такой уже есть


Л>В C авторы, видимо, основное внимание уделили тому, чтобы писать можно было как можно короче, кучу операций в одну строчку, операторы в 1-2 символа. Классический пример — копирование строки с помощью while(*p2++ = *p1++). Ну это ладно, все знают (хотя далеко не все понимают). Другие закрученные конструкции писать считается дурным тоном. А я считаю, что язык не должен содержать таких возможностей, использование которых порицаемо.


Л>В С++ синтаксис шаблонов просто ужасен. Понятно, что это следствие их добавления к уже готовому языку. Но это очень сдерживает их применение.


К несчастью только далеко не все, кто знает что строку можно скопировать через while(*p2++ = *p1++), знают почему так делать не нужно
Re: самые серьезные недостатки C и C++, на ваш взгляд?
От: okman Беларусь https://searchinform.ru/
Дата: 01.11.10 21:26
Оценка: 3 (1)
Здравствуйте, Klatu.

Самые серъезные недостатки C и C++ ? Они лежат с обратной стороны их главных достоинств.
Эти языки настолько низкоуровневы и близки к "железу", что делают возможным написание
эффективного кода, который (с учетом достижений современных компиляторов) иногда обгоняет
написанные на ассемблере аналоги. Но именно из-за этого фактора очень часто невозможно
"просто" заниматься бизнес-логикой — приходится заботиться об атомарности доступа, писать
volatile и полагаться только на интегральные типы. Код при этом несколько теряет в
привлекательности, а хорошие библиотечные инструменты вообще сплошь состоят из макросов,
встроенных функций, ассертов и asm-вставок, не редкость также всякие language extensions,
рассчитанные на специфику платформы. Парадокс — чтобы писать эффективные программы на
C/C++, нужно отлично разбираться в нюансах работы процессоров, кэша, памяти, уметь
представлять генерируемый машинный код и затраты на его выполнение.

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

В чисто практической повседневной работе возникает масса небольших, но в совокупности
очень обременяющих вопросов — как экспортировать класс из dll-ки, не прибегая к разделению
стандартного аллокатора (чтобы не зависеть от библиотек рантайма, которые не у всех установлены),
как интегрировать в старый проект новый строковой класс с несовместимыми интерфейсами,
как гарантировать, что исключение модуля, компилированного GCC, будет корректно перехвачено в
коде, написанном на Intel C++, как реализовать паттерн Bridge и при этом не "спалиться" на
некорректном выравнивании данных или особенностях оптимизации. И еще много других.

Короче, языки "технарей", существующие будто для того, чтобы набить шишек, настрочить говнокода,
наплодить велосипедов, а затем пересесть на Java или .NET со словами "все мужики сволочи".
Re[2]: самые серьезные недостатки C и C++, на ваш взгляд?
От: voxel3d  
Дата: 01.11.10 22:18
Оценка:
Здравствуйте, okman, Вы писали:

По сути согласен с сообщением, а про паттерн "бридж" притянуто за уши. Про что угодно можно сказать, что проблемы с выравниванием данных или, что-то там с оптимизацией. И наоборот, что нет таких проблем. "Мост" ничем особенным не выделяется.
Re[8]: а тебе зачем? (-)
От: Klatu  
Дата: 02.11.10 07:51
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Ну так изложи эти идеи.

WH>Пока не ясно даже что за язык ты хочешь получить в итоге.

Мне самому пока неясно Буду развивать поэтапно.

WH>Практика показывает что в язык нужно сразу закладывать все что собираешься делать.

WH>Иначе получается куча уродливых нашлепок.
WH>Так что ты уж определись что ты хочешь в язык засунуть.

Я не сторонник водопадной модели разработки.

WH>Отсутствие сборки мусора.

WH>Ручное управление памятью.
WH>Прямой доступ к памяти.

WH>Я тебя правильно понял?


Верно. Но это касается только нижнего уровня, который я разрабатываю сейчас.

WH>Они всегда получаются весьма погаными.


Возможно. Значит, сделаю только интероп.

WH>Ну так раскажи как твое МП будет работать.


По схеме term rewriting.
Re[2]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Klatu  
Дата: 02.11.10 07:54
Оценка:
Здравствуйте, okman, Вы писали:

O>В чисто практической повседневной работе возникает масса небольших, но в совокупности

O>очень обременяющих вопросов — как экспортировать класс из dll-ки, не прибегая к разделению
O>стандартного аллокатора (чтобы не зависеть от библиотек рантайма, которые не у всех установлены),
O>как интегрировать в старый проект новый строковой класс с несовместимыми интерфейсами,
O>как гарантировать, что исключение модуля, компилированного GCC, будет корректно перехвачено в
O>коде, написанном на Intel C++, как реализовать паттерн Bridge и при этом не "спалиться" на
O>некорректном выравнивании данных или особенностях оптимизации. И еще много других.

Я имел в виду только те недостатки, которые являются недостатками в чистом виде. Как отсутствие модульности и стандарта на бинарный формат, например.
Re[3]: самые серьезные недостатки C и C++, на ваш взгляд?
От: okman Беларусь https://searchinform.ru/
Дата: 02.11.10 11:12
Оценка: 1 (1)
Здравствуйте, voxel3d.
Вы писали:

V>По сути согласен с сообщением, а про паттерн "бридж" притянуто за уши. Про что угодно можно сказать, что проблемы с выравниванием данных или, что-то там с оптимизацией. И наоборот, что нет таких проблем. "Мост" ничем особенным не выделяется.


Да, в C/C++ масса ловушек, в любую из них можно угодить.
"Мост" просто подвернулся в качестве наглядного примера того, как невинный на первый взгляд код
может стать причиной труднообнаруживаемых ошибок и непредсказуемого поведения программы.
В этом — весь C/C++, что делает его таким коварным.

Взгляните:
struct Socket
    {
    private:
        bool m_bInitialized;
        char m_Impl[SIZEOF_SOCKET_IMPL_CLASS];
    };


Вроде бы ничего подозрительного — при создании объекта Socket он инициализирует массив m_Impl объектом
Socket_Impl (реализация) с помощью placement new. Оставим пока в стороне вопросы обеспечения
корректного значения SIZEOF_SOCKET_IMPL_CLASS. Ничего не замечаете ? Как будто все в порядке.

Но если прогнать код под отладчиком, можно заметить, что m_Impl не выравнивается по границе машинного слова.
Это поведение — часть стандарта, насколько я знаю (знаю теперь, увы, не из стандарта).
MSVC размещает m_Impl по адресу, заканчивающимся 1, т.е. 0x0478C701, GCC по адресу, заканчивающимся 2 — чуть
лучше, но все равно недостаточно. Помимо того, что при таком размещении процессор вынужден обращаться к
объекту Socket_Impl по "дробному" адресу, что с машинной точки зрения расточительно, здесь есть еще одна,
намного более серъезная проблема — доступ к данным в Socket_Impl (int или DWORD, например) тоже не будет
атомарным, и функции синхронизации, такие как InterlockedExchange, не будет выполнять свою работу.

Компиляторы и статические анализаторы блаженно молчат, приложение с таким кодом будет
годами работать и не падать. До определенного времени.
Re[4]: самые серьезные недостатки C и C++, на ваш взгляд?
От: andrey.desman  
Дата: 02.11.10 13:29
Оценка:
Здравствуйте, okman, Вы писали:

O>Взгляните:

O>
O>struct Socket
O>    {
O>    private:
O>        bool m_bInitialized;
O>        char m_Impl[SIZEOF_SOCKET_IMPL_CLASS];
O>    };
O>


Конечно! Вот так надо память "выделять":
struct Socket
    {
    private:
        bool m_bInitialized;
        int m_Impl[(SIZEOF_SOCKET_IMPL_CLASS + sizeof(int) - 1) / sizeof(int)];
    };


Re[4]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Шахтер Интернет  
Дата: 02.11.10 18:45
Оценка:
Здравствуйте, okman, Вы писали:

O>Здравствуйте, voxel3d.

O>Вы писали:

V>>По сути согласен с сообщением, а про паттерн "бридж" притянуто за уши. Про что угодно можно сказать, что проблемы с выравниванием данных или, что-то там с оптимизацией. И наоборот, что нет таких проблем. "Мост" ничем особенным не выделяется.


O>Да, в C/C++ масса ловушек, в любую из них можно угодить.

O>"Мост" просто подвернулся в качестве наглядного примера того, как невинный на первый взгляд код
O>может стать причиной труднообнаруживаемых ошибок и непредсказуемого поведения программы.
O>В этом — весь C/C++, что делает его таким коварным.

O>Взгляните:

O>
O>struct Socket
O>    {
O>    private:
O>        bool m_bInitialized;
O>        char m_Impl[SIZEOF_SOCKET_IMPL_CLASS];
O>    };
O>


O>Вроде бы ничего подозрительного — при создании объекта Socket он инициализирует массив m_Impl объектом

O>Socket_Impl (реализация) с помощью placement new. Оставим пока в стороне вопросы обеспечения
O>корректного значения SIZEOF_SOCKET_IMPL_CLASS. Ничего не замечаете ? Как будто все в порядке.

Массив m_Impl не выровнен. Это грубая ошибка программиста. Язык тут не при чем, не умеешь такие вещи делать правильно -- не делай.
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re: самые серьезные недостатки C и C++, на ваш взгляд?
От: Шахтер Интернет  
Дата: 02.11.10 18:48
Оценка: 1 (1) -2 :)
Здравствуйте, Klatu, Вы писали:

K>ну или киньте в меня готовым списком, если такой уже есть


На сегодняшний день самым большим недостатком С++ является отсутствие хорошей публичной библиотеки классов для решения типичных общих задач.
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[2]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Klatu  
Дата: 02.11.10 19:04
Оценка:
Здравствуйте, Шахтер, Вы писали:

Ш>На сегодняшний день самым большим недостатком С++ является отсутствие хорошей публичной библиотеки классов для решения типичных общих задач.


А Qt?
Re[5]: самые серьезные недостатки C и C++, на ваш взгляд?
От: okman Беларусь https://searchinform.ru/
Дата: 02.11.10 19:16
Оценка:
Здравствуйте, Шахтер, Вы писали:

Ш>Массив m_Impl не выровнен. Это грубая ошибка программиста. Язык тут не при чем, не умеешь такие вещи делать правильно -- не делай.


Согласен на все 100% !
А сколько лично Вы кода написали до того, как узнали об этой особенности компиляции ?
Лично я тысяч так 20, не меньше...
Re[3]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Шахтер Интернет  
Дата: 02.11.10 19:42
Оценка:
Здравствуйте, Klatu, Вы писали:

K>Здравствуйте, Шахтер, Вы писали:


Ш>>На сегодняшний день самым большим недостатком С++ является отсутствие хорошей публичной библиотеки классов для решения типичных общих задач.


K>А Qt?


Qt это gui. К тому же, использующая свой препроцессор, что не есть гуд.
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[4]: самые серьезные недостатки C и C++, на ваш взгляд?
От: NikeByNike Россия  
Дата: 02.11.10 19:47
Оценка:
Здравствуйте, Шахтер, Вы писали:

Ш>Qt это gui. К тому же, использующая свой препроцессор, что не есть гуд.


Вообще-то это далеко не только гуй, но нормальным я бы его не назвал
Нужно разобрать угил.
Re[6]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Шахтер Интернет  
Дата: 02.11.10 19:47
Оценка: +1
Здравствуйте, okman, Вы писали:

O>Здравствуйте, Шахтер, Вы писали:


Ш>>Массив m_Impl не выровнен. Это грубая ошибка программиста. Язык тут не при чем, не умеешь такие вещи делать правильно -- не делай.


O>Согласен на все 100% !

O>А сколько лично Вы кода написали до того, как узнали об этой особенности компиляции ?

Это не особенность компиляции, а языка. Память под объект должна быть выровнена. Вобщем то это самоочевидно. Особенно для людей, знающих, что кроме x86 есть и другие процессоры.
Ещё в PDP 11/70 был trap on odd address.

O>Лично я тысяч так 20, не меньше...


Ну я едва ли вспомню сейчас. Это было так давно.
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[4]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Eugeny__ Украина  
Дата: 02.11.10 20:06
Оценка:
Здравствуйте, Шахтер, Вы писали:


Ш>>>На сегодняшний день самым большим недостатком С++ является отсутствие хорошей публичной библиотеки классов для решения типичных общих задач.


K>>А Qt?


Ш>Qt это gui. К тому же, использующая свой препроцессор, что не есть гуд.


А почему, кстати? Чем свой препроцессор не гуд? (если что, на КуТэ никогда не программил, но код на нем мне нравится радикально лучше, чем на плюсах).
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re[5]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Шахтер Интернет  
Дата: 03.11.10 00:44
Оценка:
Здравствуйте, Eugeny__, Вы писали:

E__>Здравствуйте, Шахтер, Вы писали:



Ш>>>>На сегодняшний день самым большим недостатком С++ является отсутствие хорошей публичной библиотеки классов для решения типичных общих задач.


K>>>А Qt?


Ш>>Qt это gui. К тому же, использующая свой препроцессор, что не есть гуд.


E__>А почему, кстати? Чем свой препроцессор не гуд? (если что, на КуТэ никогда не программил, но код на нем мне нравится радикально лучше, чем на плюсах).


Вообще-то Qt -- это С++. При использовании внешних средств, не встроенных в язык, обычно возникают неприятные вещи. Начиная с проблемами с раскраской кода.
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[6]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Klatu  
Дата: 03.11.10 10:51
Оценка:
Здравствуйте, Шахтер, Вы писали:

Ш>Вообще-то Qt -- это С++. При использовании внешних средств, не встроенных в язык, обычно возникают неприятные вещи. Начиная с проблемами с раскраской кода.


Пропущено "не"?
Re[5]: самые серьезные недостатки C и C++, на ваш взгляд?
От: NikeByNike Россия  
Дата: 03.11.10 11:34
Оценка:
Здравствуйте, Eugeny__, Вы писали:

E__>А почему, кстати? Чем свой препроцессор не гуд? (если что, на КуТэ никогда не программил, но код на нем мне нравится радикально лучше, чем на плюсах).


Так это и есть плюсы Только с небольшим расширением.
Нужно разобрать угил.
Re[6]: самые серьезные недостатки C и C++, на ваш взгляд?
От: ocaml  
Дата: 03.11.10 11:44
Оценка:
Здравствуйте, NikeByNike, Вы писали:

NBN> E__>А почему, кстати? Чем свой препроцессор не гуд? (если что, на КуТэ никогда не программил, но код на нем мне нравится радикально лучше, чем на плюсах).


NBN> Так это и есть плюсы Только с небольшим расширением.


Это расширение позволяет очень сильно упростить/облагородить код. Плюс еще богатая родная библиотека QT.
avalon 1.0rc3 rev 364, zlib 1.2.3
Re[7]: самые серьезные недостатки C и C++, на ваш взгляд?
От: NikeByNike Россия  
Дата: 03.11.10 11:48
Оценка:
Здравствуйте, ocaml, Вы писали:

NBN>> Так это и есть плюсы Только с небольшим расширением.


O>Это расширение позволяет очень сильно упростить/облагородить код.

Вот этого если честно не очень заметно.

O>Плюс еще богатая родная библиотека QT.


Вот это — да
Нужно разобрать угил.
Re[8]: самые серьезные недостатки C и C++, на ваш взгляд?
От: ocaml  
Дата: 03.11.10 11:57
Оценка:
Здравствуйте, NikeByNike, Вы писали:

NBN> NBN>> Так это и есть плюсы Только с небольшим расширением.


NBN> O>Это расширение позволяет очень сильно упростить/облагородить код.


NBN> Вот этого если честно не очень заметно.


А с чем сравнивать? Могу предложить плюсы с MFC против плюсов с QT Вариант "С++ и чистый WinAPI" не рассматриваю — написался на нем до изжоги.
avalon 1.0rc3 rev 364, zlib 1.2.3
Re[9]: самые серьезные недостатки C и C++, на ваш взгляд?
От: NikeByNike Россия  
Дата: 03.11.10 12:17
Оценка:
Здравствуйте, ocaml, Вы писали:

NBN>> O>Это расширение позволяет очень сильно упростить/облагородить код.


NBN>> Вот этого если честно не очень заметно.


O> А с чем сравнивать? Могу предложить плюсы с MFC против плюсов с QT Вариант "С++ и чистый WinAPI" не рассматриваю — написался на нем до изжоги.


Так надо сравнивать с хорошей С++ библиотекой. MFC — однозначно очень плохая система, WinAPI — никак не С++
Нужно разобрать угил.
Re[10]: самые серьезные недостатки C и C++, на ваш взгляд?
От: ocaml  
Дата: 03.11.10 12:21
Оценка:
Здравствуйте, NikeByNike, Вы писали:


NBN> O> А с чем сравнивать? Могу предложить плюсы с MFC против плюсов с QT Вариант "С++ и чистый WinAPI" не рассматриваю — написался на нем до изжоги.


NBN> Так надо сравнивать с хорошей С++ библиотекой. MFC — однозначно очень плохая система


Ну так я про то и спрашиваю. С чем сравнить? Сравниваем не библиотеки, а код на С++ с использованием той или иной библиотеки. Неужто найдется что-то лучшее QT?
avalon 1.0rc3 rev 364, zlib 1.2.3
Re[2]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Sni4ok  
Дата: 03.11.10 12:24
Оценка: +1
Здравствуйте, Шахтер, Вы писали:

Ш>На сегодняшний день самым большим недостатком С++ является отсутствие хорошей публичной библиотеки классов для решения типичных общих задач.


boost
Re[6]: самые серьезные недостатки C и C++, на ваш взгляд?
От: telek1024  
Дата: 03.11.10 12:47
Оценка:
Здравствуйте, Klatu, Вы писали:

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


K>Ну и что же это за модульность, если нужна куча правил, что можно и чего нельзя использовать через границу модулей?


Это конракт. В Java и .NET тоже есть условие, (О, ужас!) что эквивалентные объекты имеют один и тот же хэш. А-а-а! Как можно писать на них!?

Просто в современных языках это отдано на откуп фреймворку (Например маршаллинг managed/unmanaged в .NET), а в самом языке нет механизмов для нарушения этих правил. C++ более низкоуровневый. Там легче "выстрелить себе в ногу", но и возможности программиста выше.
Re[7]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Klatu  
Дата: 03.11.10 13:42
Оценка:
Здравствуйте, telek1024, Вы писали:

T>Это конракт. В Java и .NET тоже есть условие, (О, ужас!) что эквивалентные объекты имеют один и тот же хэш. А-а-а! Как можно писать на них!?


Не надо сравнивать жопу с пальцем. Никакой это не контракт. Стандарт вообще никак не гарантирует, что такой код у тебя будет работать, даже если ты соблюдешь все мыслимые условия. То, на что полагаешься — это особенности реализации, это undefined behavior.
Re[8]: самые серьезные недостатки C и C++, на ваш взгляд?
От: telek1024  
Дата: 03.11.10 15:36
Оценка:
Здравствуйте, Klatu, Вы писали:

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


T>>Это конракт. В Java и .NET тоже есть условие, (О, ужас!) что эквивалентные объекты имеют один и тот же хэш. А-а-а! Как можно писать на них!?


K>Не надо сравнивать жопу с пальцем. Никакой это не контракт.

Ещё какой: http://download.oracle.com/javase/6/docs/api/java/lang/Object.html#hashCode%28%29

The general contract of hashCode is:
...
If two objects are equal according to the equals(Object) method, then calling the hashCode method on each of the two objects must produce the same integer result.


K>Стандарт вообще никак не гарантирует, что такой код у тебя будет работать, даже если ты соблюдешь все мыслимые условия. То, на что полагаешься — это особенности реализации, это undefined behavior.


Это вообще к чему было сказано? Про equals? Или про бинарник, собранный разными способами? И какой именно код имелся ввиду? Я — полагаюсь на стандарты. И согласно стандарту два разных модуля могут работать вместе, если нет отклонений от стандарта. Именно поэтому можно exe-шник, собранный в Visual Studio, может прекрасно работать с DLL, собранной в Delphi. И даже память течь не будет.

А про особенности реализации, так это про всё что угодно сказать можно.
Re[11]: самые серьезные недостатки C и C++, на ваш взгляд?
От: FR  
Дата: 03.11.10 15:54
Оценка:
Здравствуйте, ocaml, Вы писали:


NBN>> Так надо сравнивать с хорошей С++ библиотекой. MFC — однозначно очень плохая система


O>Ну так я про то и спрашиваю. С чем сравнить? Сравниваем не библиотеки, а код на С++ с использованием той или иной библиотеки. Неужто найдется что-то лучшее QT?


Ну из кусочков можно собрать, например boost + wxWidgets
Re[9]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Klatu  
Дата: 03.11.10 16:05
Оценка:
Здравствуйте, telek1024, Вы писали:

T>Это вообще к чему было сказано?


Подзаряди мозги.

T>Я — полагаюсь на стандарты. И согласно стандарту два разных модуля могут работать вместе


Покажи мне место в стандарте, где это гарантируется.
Re: самые серьезные недостатки C и C++, на ваш взгляд?
От: LaptevVV Россия  
Дата: 03.11.10 19:05
Оценка:
Здравствуйте, Klatu, Вы писали:
1. сформулируй цель создания языка. Возможно — несколько. Никлаус Вирт при создании Паскаля формулировал, Страуструп при создании С++ формулировал... От цели — сильно большая разница получается.
2. Очерти область применения. От области применения — сильно разные языки получаются.
3. Сформулируй основной принцип языка. Пример С++: все, что не запрещено явно — то разрешено. Пример Оберон: все, что не разрешено явно — запрещено. Разница — колоссальная!
Например, в Яве наследование запрещается специальным ключевым словом, а в Компонентном паскале — разрешается специальным ключевым словом.
4. Четко раздели свойства языка и библиотеку. Свойства языка — это гранит, который потом сложно поправить. А библиотеку можно расширять, изменять и переписывать. В этом смысле язык должен быть минимален, а библиотека обширна.

ИМХО, пока судя по твоим постам получается, что ты собираешься создавать очередного монстра...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[7]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Ночной Смотрящий Россия  
Дата: 03.11.10 20:43
Оценка:
Здравствуйте, telek1024, Вы писали:

T>Это конракт. В Java и .NET тоже есть условие, (О, ужас!) что эквивалентные объекты имеют один и тот же хэш.


Нет такого условия в .NET и Java. Такое условие есть только у конкретной реализации словаря, да и то внешний компаратор подсунуть элементарно.
Re[7]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Шахтер Интернет  
Дата: 03.11.10 20:45
Оценка:
Здравствуйте, Klatu, Вы писали:

K>Здравствуйте, Шахтер, Вы писали:


Ш>>Вообще-то Qt -- это С++. При использовании внешних средств, не встроенных в язык, обычно возникают неприятные вещи. Начиная с проблемами с раскраской кода.


K>Пропущено "не"?


Ничего не пропущено.
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[4]: самые серьезные недостатки C и C++, на ваш взгляд?
От: enji  
Дата: 03.11.10 21:09
Оценка:
Здравствуйте, okman, Вы писали:


O>Взгляните:

O>
O>struct Socket
O>    {
O>    private:
O>        bool m_bInitialized;
O>        char m_Impl[SIZEOF_SOCKET_IMPL_CLASS];
O>    };
O>


O>Вроде бы ничего подозрительного — при создании объекта Socket он инициализирует массив m_Impl объектом

O>Socket_Impl (реализация) с помощью placement new. Оставим пока в стороне вопросы обеспечения
O>корректного значения SIZEOF_SOCKET_IMPL_CLASS. Ничего не замечаете ? Как будто все в порядке.

Замечаю. Например, у вас будет reinterpret_cast, а это как бы намекает на возможные проблемы.

Если вы нарушаете систему типов, то вы берете на себя ответственность за последствия. С++ позволяет вам это сделать, но подразумевается что у вас есть основания так делать и вы осознаете результаты.

Что мешает сделать так:

struct Socket
{
private:
  struct Impl;
  scoped_ptr<Impl> impl;
};


И только если вы сделали так, увидели что все тормозит, запустили профайлер, поняли что дело именно в конструировании объектов Socket, то можно заняться экспериментами со статическим массивом (предварительно погуглив насчет размещения объектов в памяти, struct max_aligned и т.д.)
Re[2]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Klatu  
Дата: 04.11.10 05:04
Оценка: :)
Здравствуйте, LaptevVV, Вы писали:

LVV>4. Четко раздели свойства языка и библиотеку. Свойства языка — это гранит, который потом сложно поправить.


Не согласен.

LVV>ИМХО, пока судя по твоим постам получается, что ты собираешься создавать очередного монстра...


Ну и пусть монстр. Главное — чтобы зубастый
Re[7]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Трурль  
Дата: 04.11.10 07:59
Оценка:
Здравствуйте, Шахтер, Вы писали:


Ш>Это не особенность компиляции, а языка. Память под объект должна быть выровнена. Вобщем то это самоочевидно. Особенно для людей, знающих, что кроме x86 есть и другие процессоры.


Похоже это не было самоочевидно для авторов языка и компилятора.
Re[3]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Mamut Швеция http://dmitriid.com
Дата: 04.11.10 08:02
Оценка:
LVV>>4. Четко раздели свойства языка и библиотеку. Свойства языка — это гранит, который потом сложно поправить.

K>Не согласен.


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


dmitriid.comGitHubLinkedIn
Re[3]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Трурль  
Дата: 04.11.10 08:05
Оценка:
Здравствуйте, Klatu, Вы писали:

LVV>>ИМХО, пока судя по твоим постам получается, что ты собираешься создавать очередного монстра...


K>Ну и пусть монстр. Главное — чтобы зубастый


То есть, ты тоже не знаешь, где взять PL/I.
Re[4]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Klatu  
Дата: 04.11.10 09:40
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Как только больше одного человека заложится на свойство языка, хрен ты его потом безгеморрно поправишь.


Это пока прототип. Кто на него будет закладываться?
Re[4]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Klatu  
Дата: 04.11.10 09:40
Оценка:
Здравствуйте, Трурль, Вы писали:

Т>То есть, ты тоже не знаешь, где взять PL/I.


Знаю. Кстати, не сказал бы, что этот язык так уж плох. Просто был слишком сложен для своего времени.
Re[8]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Шахтер Интернет  
Дата: 04.11.10 22:29
Оценка:
Здравствуйте, Трурль, Вы писали:

Т>Здравствуйте, Шахтер, Вы писали:



Ш>>Это не особенность компиляции, а языка. Память под объект должна быть выровнена. Вобщем то это самоочевидно. Особенно для людей, знающих, что кроме x86 есть и другие процессоры.


Т>Похоже это не было самоочевидно для авторов языка и компилятора.


Не уловил твою мысль.
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re: самые серьезные недостатки C и C++, на ваш взгляд?
От: shrecher  
Дата: 05.11.10 06:28
Оценка:
Здравствуйте, Klatu, Вы писали:

K>ну или киньте в меня готовым списком, если такой уже есть


В C++ не хватает автоматического обнуления всех членов класса при создании объекта.


class A
{
    int foo;

public:
   A() : 
   foo(0) //<<<< это должно быть автоматически
   {}


};


Не уверен, что это серьезный недостаток, сокорее неудобство.
Re[2]: самые серьезные недостатки C и C++, на ваш взгляд?
От: okman Беларусь https://searchinform.ru/
Дата: 05.11.10 07:21
Оценка:
Здравствуйте, shrecher, Вы писали:

S>В C++ не хватает автоматического обнуления всех членов класса при создании объекта.


Лучше не надо. Все-таки инициализация тоже требует затрат (пусть и микрокосмических).
Re[2]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Mamut Швеция http://dmitriid.com
Дата: 05.11.10 07:21
Оценка:
K>>ну или киньте в меня готовым списком, если такой уже есть

S>В C++ не хватает автоматического обнуления всех членов класса при создании объекта.


S>

S>class A
S>{
S>    int foo;

S>public:
S>   A() : 
S>   foo(0) //<<<< это должно быть автоматически
S>   {}


S>};
S>


S>Не уверен, что это серьезный недостаток, сокорее неудобство.


Это вообще возможно только при наличии у каждого члена класса дефолтного публичного конструктора, которого может и не быть


dmitriid.comGitHubLinkedIn
Re[2]: самые серьезные недостатки C и C++, на ваш взгляд?
От: -MyXa- Россия  
Дата: 05.11.10 07:27
Оценка:
Здравствуйте, shrecher, Вы писали:

S>В C++ не хватает автоматического обнуления всех членов класса при создании объекта.


S>

S>class A
S>{
S>    int foo;

S>public:
S>   A() : 
S>   foo(0) //<<<< это должно быть автоматически
S>   {}


S>};
S>


А если у нас по адресу переменной foo находится порт ввода-вывода и запись в него нуля означает запуск системы самоуничтожения устройства, путём подрыва динамитной шашки?
Если не поможет, будем действовать током... 600 Вольт (C)
Re[2]: самые серьезные недостатки C и C++, на ваш взгляд?
От: jazzer Россия Skype: enerjazzer
Дата: 05.11.10 07:40
Оценка:
Здравствуйте, shrecher, Вы писали:

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


K>>ну или киньте в меня готовым списком, если такой уже есть


S>В C++ не хватает автоматического обнуления всех членов класса при создании объекта.


Это не всегда нужно.
Если так уж нужно — создавай в заранее обнуленной памяти, либо, если без конструктора, используй = {}
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[3]: самые серьезные недостатки C и C++, на ваш взгляд?
От: shrecher  
Дата: 05.11.10 07:50
Оценка: +1
Здравствуйте, jazzer, Вы писали:

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


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


K>>>ну или киньте в меня готовым списком, если такой уже есть


S>>В C++ не хватает автоматического обнуления всех членов класса при создании объекта.


J>Это не всегда нужно.


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


J>Если так уж нужно — создавай в заранее обнуленной памяти, либо, если без конструктора, используй = {}


кончено все в ручную сделать возможно, но много лишних действий приходится совешать.
Re[3]: самые серьезные недостатки C и C++, на ваш взгляд?
От: shrecher  
Дата: 05.11.10 07:51
Оценка:
Здравствуйте, -MyXa-, Вы писали:

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


MX>А если у нас по адресу переменной foo находится порт ввода-вывода и запись в него нуля означает запуск системы самоуничтожения устройства, путём подрыва динамитной шашки?


Не об этом, просто обнулить память где объект будет создан, еще до вызова конструктора.
Re[4]: самые серьезные недостатки C и C++, на ваш взгляд?
От: -MyXa- Россия  
Дата: 05.11.10 09:32
Оценка:
Здравствуйте, shrecher, Вы писали:

S>Здравствуйте, -MyXa-, Вы писали:


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


MX>>А если у нас по адресу переменной foo находится порт ввода-вывода и запись в него нуля означает запуск системы самоуничтожения устройства, путём подрыва динамитной шашки?


S>Не об этом, просто обнулить память где объект будет создан, еще до вызова конструктора.


Об этом, об этом. Просто "обнулить память" может быть не так просто. Что в моём примере тебе не понятно?

А "до вызова конструктора", так это можно свой оператор new написать, чтоб обнулял. Такой в Symbian, например, есть.
Если не поможет, будем действовать током... 600 Вольт (C)
Re[5]: самые серьезные недостатки C и C++, на ваш взгляд?
От: shrecher  
Дата: 05.11.10 10:40
Оценка: 1 (1) -1
Здравствуйте, -MyXa-, Вы писали:


S>>Не об этом, просто обнулить память где объект будет создан, еще до вызова конструктора.


MX>Об этом, об этом. Просто "обнулить память" может быть не так просто. Что в моём примере тебе не понятно?


Чесно говоря, не понятно, почему это сложно обнулить память до создания объекта?
посути дела, нужно чтобы компилятор реализовывал что-то вроде

конструкция вида
A a;

преврашается что
void *a = getmem(sizeof(A)); //получили кусок памяти либо malloc, либо "sub ESP" если на стеке
memset( a, 0, sizeof(A) ); // зануляем
ctor( A, a) // вызываем конструктор


кроме memset это ничем от текущей c++ реализации не отличается. Если объект сверх большой (что редко), то нужно какая-нибудь опция запрещения memset для данного класса.


MX>А "до вызова конструктора", так это можно свой оператор new написать, чтоб обнулял. Такой в Symbian, например, есть.


Во-первых, объект может быть создан на стеке. В томже Symbian это сильно не преветствуется как раз по причне своего new. Во-вторых, написание new/delete требует услий, увеличивает количество кода, повышает шансы сделать ошибки.
Re[2]: самые серьезные недостатки C и C++, на ваш взгляд?
От: Eugeny__ Украина  
Дата: 05.11.10 11:32
Оценка: -1 :)
Здравствуйте, shrecher, Вы писали:

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


K>>ну или киньте в меня готовым списком, если такой уже есть


S>В C++ не хватает автоматического обнуления всех членов класса при создании объекта.


Сейчас тебе объяснят, что обнуление — жуть какая дорогущая операция, а потому всегда все надо делать вручную, и только когда нужно.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re[6]: самые серьезные недостатки C и C++, на ваш взгляд?
От: CreatorCray  
Дата: 05.11.10 12:20
Оценка: -2
Здравствуйте, shrecher, Вы писали:

S>Чесно говоря, не понятно, почему это сложно обнулить память до создания объекта?

А зачем?

S>Во-вторых, написание new/delete требует усилий

Для обнуляющего new колво "усилий" просто потрясает.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[3]: самые серьезные недостатки C и C++, на ваш взгляд?
От: CreatorCray  
Дата: 05.11.10 12:20
Оценка: +2
Здравствуйте, Eugeny__, Вы писали:

E__>Сейчас тебе объяснят, что обнуление — жуть какая дорогущая операция, а потому всегда все надо делать вручную, и только когда нужно.

Скорее что "платишь только за то, что заказал"
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[4]: самые серьезные недостатки C и C++, на ваш взгляд?
От: FR  
Дата: 05.11.10 17:22
Оценка: 1 (1)
Здравствуйте, shrecher, Вы писали:

S>В очень многих случаях это нужно и полезно, т.к повышает надежность кода. Где эта фича снижает производительность, можно было бы ввести какую-нибудь "pragama", которая бы отключала обнуление памяти для указанного класса.


В D довольно удобно сделано, переменные по умолчанию всегда инициализируются, чтобы этого не происходило нужно явно присваивать им void:

int x = void;


http://www.digitalmars.com/d/2.0/declaration.html#VoidInitializer
Re[5]: а тебе зачем? (-)
От: x-code  
Дата: 05.11.10 20:27
Оценка:
Здравствуйте, Klatu, Вы писали:

K>У меня написан уже целый талмуд с фичами, которые я потырил из других языков или придумал сам. Но это всё потом.


А можно ознакомиться?
Re[7]: самые серьезные недостатки C и C++, на ваш взгляд?
От: LR  
Дата: 05.11.10 21:27
Оценка:
Здравствуйте, CreatorCray, Вы писали:

S>>Чесно говоря, не понятно, почему это сложно обнулить память до создания объекта?

CC>А зачем?

Для того, что бы избавиться от проблемы неинициализированых филдов, например указателей.

ASSERT(parameter != NULL);


Вот эта вещь в С++ смысла не имеет, потому что неинициализированые указатели съедают весь профит. Зато в джаве или дотнет это и подобное превращается фактически в контракт и примерно вдвое-втрое сокращает время отладки. Например ассерт на входе, на выходе и в дебаге можно выполнить юнит-тест — продакшн код тестирующий сам себя. В С++ это практически недоступно из за отсутствия очистки памяти и слабой языковой поддержки.
Материал из Википедии — свободной энциклопедии, -_*
Re[8]: самые серьезные недостатки C и C++, на ваш взгляд?
От: CreatorCray  
Дата: 05.11.10 21:53
Оценка: +1
Здравствуйте, LR, Вы писали:

LR>Для того, что бы избавиться от проблемы неинициализированых филдов, например указателей.

Гм. А что мешает их нормально инициализировать?

LR>Зато в джаве или дотнет это и подобное превращается фактически в контракт и примерно вдвое-втрое сокращает время отладки.

Смешное в этом то, что я не помню когда последний раз у меня был баг с неинициализированной переменной.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[9]: самые серьезные недостатки C и C++, на ваш взгляд?
От: LR  
Дата: 06.11.10 02:14
Оценка:
Здравствуйте, CreatorCray, Вы писали:

LR>>Для того, что бы избавиться от проблемы неинициализированых филдов, например указателей.

CC>Гм. А что мешает их нормально инициализировать?

Не что, а кто. Другие люди, которым лень заниматься такой мелочевкой. Чем больше проект, тем нужнее ассерты и тем больше вероятность, что ктото будет игнорировать подобные правила. Если на проекте около сотни коммитеров, то RAII уже не поможет.

LR>>Зато в джаве или дотнет это и подобное превращается фактически в контракт и примерно вдвое-втрое сокращает время отладки.

CC>Смешное в этом то, что я не помню когда последний раз у меня был баг с неинициализированной переменной.

Ты вероятно имеешь дело только со своим кодом
Материал из Википедии — свободной энциклопедии, -_*
Re[6]: о разработке нового языка
От: Klatu  
Дата: 06.11.10 04:17
Оценка:
Здравствуйте, x-code, Вы писали:

XC>А можно ознакомиться?


Это по большей части бессистемные обрывки мыслей, которые еще надо привести к удобочитаемому виду.

Например, одна из идей — полностью выбросить из языка глобальные и статические переменные. Вместо этого использовать механизм контекстов, которые хранят разделяемые данные. Контекст можно инициировать в вызове функции, и все вложенные вызовы функций с этого места и глубже по стеку имеют доступ к данным этого контекста. Аналогично можно привязать контекст к объекту, и все принадлежащие к тому же контексту объекты и их методы будут иметь доступ к разделяемым данным.
Re[7]: о разработке нового языка
От: FR  
Дата: 06.11.10 05:27
Оценка:
Здравствуйте, Klatu, Вы писали:

K>Например, одна из идей — полностью выбросить из языка глобальные и статические переменные.


Зло только мутабельные глобальные переменные.
Re[8]: о разработке нового языка
От: Klatu  
Дата: 06.11.10 05:36
Оценка: :))
Здравствуйте, FR, Вы писали:

FR>Зло только мутабельные глобальные переменные.


А что, переменные разве бывают какие-то другие кроме мутабельных?
Re[9]: о разработке нового языка
От: Jolly Roger  
Дата: 06.11.10 06:00
Оценка: :)))
Здравствуйте, Klatu, Вы писали:

K>А что, переменные разве бывают какие-то другие кроме мутабельных?


В дельфи бывают. Есть там такое футуристическое изобретение — мутабельная константа
"Нормальные герои всегда идут в обход!"
Re[10]: о разработке нового языка
От: hattab  
Дата: 06.11.10 10:46
Оценка:
Здравствуйте, Jolly Roger, Вы писали:

JR> K>А что, переменные разве бывают какие-то другие кроме мутабельных?


JR> В дельфи бывают. Есть там такое футуристическое изобретение — мутабельная константа


Только в том случае, если ты сам эту фичу включишь. По дефолту она выключена. Это послабление сделано было для тех, кому секцию инициализации (явную в дельфях и не явную в турбо-паскале) лень использовать.
avalon 1.0rc3 rev 366, zlib 1.2.3
Re[11]: о разработке нового языка
От: Jolly Roger  
Дата: 06.11.10 11:10
Оценка:
Здравствуйте, hattab, Вы писали:

H>Только в том случае, если ты сам эту фичу включишь.


Да я как-бы в курсе, но это, однако, не отменяет её футуристичности И ненужности, ибо банальная глобальная переменная полностью перекрывает её функционал, не выходя при этом за грань логики
"Нормальные герои всегда идут в обход!"
Re[12]: о разработке нового языка
От: hattab  
Дата: 06.11.10 11:38
Оценка:
Здравствуйте, Jolly Roger, Вы писали:

JR> H>Только в том случае, если ты сам эту фичу включишь.


JR> Да я как-бы в курсе, но это, однако, не отменяет её футуристичности И ненужности, ибо банальная глобальная переменная полностью перекрывает её функционал, не выходя при этом за грань логики


Ну, с футуристичностью согласен, да Но вот разница между глобальными переменными и типизированными константами все же есть. Глобальные переменные (да и переменные вообще) в дельфях не поддерживают инициализации при объявлении, а вот те константы поддерживают
avalon 1.0rc3 rev 366, zlib 1.2.3
Re[13]: о разработке нового языка
От: Jolly Roger  
Дата: 06.11.10 11:46
Оценка:
Здравствуйте, hattab, Вы писали:

H>Но вот разница между глобальными переменными и типизированными константами все же есть. Глобальные переменные (да и переменные вообще) в дельфях не поддерживают инициализации при объявлении, а вот те константы поддерживают


Вот те здрасте Это с какой версии?

var A: integer = 25;


7-я отлично принимает Я, правда, с более поздними не знаком, а более ранние не помню Вы, часом, с локальными не спутали?
"Нормальные герои всегда идут в обход!"
Re[14]: о разработке нового языка
От: hattab  
Дата: 06.11.10 12:58
Оценка:
Здравствуйте, Jolly Roger, Вы писали:

JR> H>Но вот разница между глобальными переменными и типизированными константами все же есть. Глобальные переменные (да и переменные вообще) в дельфях не поддерживают инициализации при объявлении, а вот те константы поддерживают


JR> Вот те здрасте Это с какой версии?


JR>
JR> var A: integer = 25;
JR>


JR> 7-я отлично принимает Я, правда, с более поздними не знаком, а более ранние не помню Вы, часом, с локальными не спутали?


Возможность инициализировать глобальные переменные появилась только во второй версии Delphi. Именно поэтому такие футуристические константы были возможны
avalon 1.0rc3 rev 366, zlib 1.2.3
Re[10]: самые серьезные недостатки C и C++, на ваш взгляд?
От: CreatorCray  
Дата: 06.11.10 16:54
Оценка:
Здравствуйте, LR, Вы писали:

LR>>>Для того, что бы избавиться от проблемы неинициализированых филдов, например указателей.

CC>>Гм. А что мешает их нормально инициализировать?
LR>Не что, а кто. Другие люди, которым лень заниматься такой мелочевкой.
Скипидарные клизмы спасут человечество.

LR>>>Зато в джаве или дотнет это и подобное превращается фактически в контракт и примерно вдвое-втрое сокращает время отладки.

CC>>Смешное в этом то, что я не помню когда последний раз у меня был баг с неинициализированной переменной.
LR>Ты вероятно имеешь дело только со своим кодом
Есть ещё команда в US, так что нет, не только.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[11]: самые серьезные недостатки C и C++, на ваш взгляд?
От: LR  
Дата: 07.11.10 08:15
Оценка:
Здравствуйте, CreatorCray, Вы писали:

LR>>Ты вероятно имеешь дело только со своим кодом

CC>Есть ещё команда в US, так что нет, не только.

Вы там что, всё только с нуля пишете и со сторонними проектами не работаете ?
Материал из Википедии — свободной энциклопедии, -_*
Re[10]: самые серьезные недостатки C и C++, на ваш взгляд?
От: -MyXa- Россия  
Дата: 07.11.10 10:54
Оценка: -2
Здравствуйте, LR, Вы писали:

LR>Если на проекте около сотни коммитеров, то RAII уже не поможет.


Позвольте осведомиться, после какого точного количества "коммитеров" RAII уже окончательно перестаёт им помогать?
Если не поможет, будем действовать током... 600 Вольт (C)
Re[11]: самые серьезные недостатки C и C++, на ваш взгляд?
От: LR  
Дата: 07.11.10 14:42
Оценка:
Здравствуйте, -MyXa-, Вы писали:

LR>>Если на проекте около сотни коммитеров, то RAII уже не поможет.


MX>Позвольте осведомиться, после какого точного количества "коммитеров" RAII уже окончательно перестаёт им помогать?


Значение зависит от управления проектом. Например есть ли у руководителя проектом возможность отбирать коммитеров или нет. В некоторых компаниях на проектах работают чуть не одни только родственники топ-менеджеров
Материал из Википедии — свободной энциклопедии, -_*
Re[8]: самые серьезные недостатки C и C++, на ваш взгляд?
От: telek1024  
Дата: 08.11.10 15:42
Оценка: :)
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, telek1024, Вы писали:


T>>Это конракт. В Java и .NET тоже есть условие, (О, ужас!) что эквивалентные объекты имеют один и тот же хэш.


НС>Нет такого условия в .NET и Java. Такое условие есть только у конкретной реализации словаря, да и то внешний компаратор подсунуть элементарно.


Ни о словаре, ни о компараторе речи небыло.
А само условие есть: http://download.oracle.com/javase/6/docs/api/java/lang/Object.html#hashCode%28%29
Re[10]: самые серьезные недостатки C и C++, на ваш взгляд?
От: telek1024  
Дата: 08.11.10 15:46
Оценка: -1 :)
Здравствуйте, Klatu, Вы писали:

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


T>>Это вообще к чему было сказано?


K>Подзаряди мозги.


Не вырывай фразу из контекста.

T>>Я — полагаюсь на стандарты. И согласно стандарту два разных модуля могут работать вместе


K>Покажи мне место в стандарте, где это гарантируется.


Весь стандарт.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.