Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.192] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 120 121 [122] 123 124 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#1816
,
|
|
|
|
че ж эту возможность не включили в классы, а то они и так почти "всесильны", а были б совсем универсальны =) Добавлено 1) более весомые средства инкапсуляции есть? 2) не паясничаю, обычное требование к модулю =) |
|
Сообщ.
#1817
,
|
|
|
|
Цитата korvin @ че ж эту возможность не включили в классы, а то они и так почти "всесильны", а были б совсем универсальны =) Да вообще выкинуть C++ и не париться с такой глупостью, как ключевые слова, брейнфак же есть! |
|
Сообщ.
#1818
,
|
|
|
|
вот про всесильность классов спаясничал, да, простите =)
|
|
Сообщ.
#1819
,
|
|
|
|
Цитата korvin @ 1) более весомые средства инкапсуляции есть? В чистом C инкапсуляция - слово чуждое. В чистом C++ запиливаем нормальные решения. Цитата korvin @ 2) не паясничаю, обычное требование к модулю =) Формализуй все нормальные требования к модулю в таком случае. |
|
Сообщ.
#1820
,
|
|
|
|
Цитата Мяут-Настоящий @ Да вообще выкинуть C++ и не париться с такой глупостью, как ключевые слова, брейнфак же есть! не ну смотри, для интерфейсов классы годятся, для абстрактных классов годятся, никаких доп. ключевых слов в принципе не нужно, а для чистого неймспейса уже не подходят =/ |
|
Сообщ.
#1821
,
|
|
|
|
Цитата korvin @ не ну смотри, для интерфейсов классы годятся, для абстрактных классов годятся, никаких доп. ключевых слов в принципе не нужно, а для чистого неймспейса уже не подходят =/ Интуитивно не возникает мысли, что управление пространствами имен - средство, лежащее над классами? Добавлено Ты еще скажи, что class для организации циклов не годиться |
|
Сообщ.
#1822
,
|
|
|
|
Цитата Мяут-Настоящий @ Формализуй все нормальные требования к модулю в таком случае. зачем все, модуль обязан формировать пространство имен, если я подключаю два файла-модуля Foo и Bar, которые экспортируют функции с одинаковыми сигнатурами. то у меня должен быть способ разрулить это дело и юзать без проблем обе функции. кстати в чистом Си инкапсуляция не меньше С++-ной -- все те же .c, компилируемые в .o, скрывающие реализацию и .h предоставляющие интерфейс. в C++ как раз менее инкапсулирован в виду того, что описание класса (а также часто шаблонов) полностью находится в .h/.hpp Добавлено Цитата Мяут-Настоящий @ Интуитивно не возникает мысли, что управление пространствами имен - средство, лежащее над классами? учитывая, что классы сами тоже образуют пространство имен, не не возникает. |
|
Сообщ.
#1823
,
|
|
|
|
Цитата korvin @ учитывая, что классы сами тоже образуют пространство имен, не не возникает. Если рассматривать, что все блоки { } образуют пространства имен, то namespace и class представляется небольшим уточняющим дополнением =) Цитата korvin @ зачем все, модуль обязан формировать пространство имен, если я подключаю два файла-модуля Foo и Bar, которые экспортируют функции с одинаковыми сигнатурами. то у меня должен быть способ разрулить это дело и юзать без проблем обе функции. Ну тогда причем весь сыр-бор из-за id? |
|
Сообщ.
#1824
,
|
|
|
|
Цитата Мяут-Настоящий @ 1) Если рассматривать, что все блоки { } образуют пространства имен, то namespace и class представляется небольшим уточняющим дополнением =) 2) Ну тогда причем весь сыр-бор из-за id? 1) ну да, я уже показывал, что на одной лямбде можно далеко уехать =) 2) хз, я просто показал, что средства модульности в делфи ортогональны парадигмам, используемым в языке, можно хоть в ООП, в структурном программировании писать, свойство модульности не изменится |
|
Сообщ.
#1825
,
|
|
|
|
В C нету чистых модулей
|
|
Сообщ.
#1826
,
|
|
|
|
Цитата Мяут-Настоящий @ В C нету чистых модулей ![]() как и в C++, тем не менее .c -> .o -- реализация, .h -- интерфейс |
|
Сообщ.
#1827
,
|
|
|
|
korvin, это не модули, а средства раздельной компиляции.
|
|
Сообщ.
#1828
,
|
|
|
|
offtop кстати к вопросу синтаксического различия ссылочных типов и типов-значений, вот где меня бесит отсутствие синтаксического различия, так это в старом досовом фокспро (не помню как в мс выжал фокспре) отсутствие синтаксического различия между полями таблицы и переменными. когда в базе около 100 таблиц и 200 фокспрошных скриптов, добавить поле в таблицу становится серьезной проблемой. вот где реальный ппц =) Добавлено Цитата Мяут-Настоящий @ korvin, это не модули, а средства раздельной компиляции. ![]() я и не говорил, что модули. это средство инкапсуляции =) |
|
Сообщ.
#1829
,
|
|
|
|
Цитата Alexander N @ Например в модуле описан класс и переменная этого класса. У последней поля надо инициализировать. А одно поле - указатель на динамическую память, которая нужена во время всей работы программы, а потом надо ее освободить. Как ты это реализуешь без initializatioт/fanalization секций? Через одно место если только... В конструкторе и деструкторе этого класса, это же очевидно, даже Васе, который только начал изучать С++ Добавлено Да какая разница где они вызываюца, у тебя же это поле класса, как вы на делфи то пишете через жопу все... пипец просто... Добавлено Глобальных данных модуля, ты хотел сказать? ну так static в С++ никто не отменял пока, ежели чего, хотя я к таким данным отношусь с опаской, и у меня сразу же возникает желание, обернуть все это дело как минимум в какой нить синглтон, или же вообще уйти от глобальной переменной, потому как это первый признак плохого дизайна... Добавлено Вернее, было бы сказать глобальной переменной в пределах видимости модуля. |
|
Сообщ.
#1830
,
|
|
|
|
Цитата KILLER @ Глобальных данных модуля, ты хотел сказать? ну так static в С++ никто не отменял пока, ежели чего, хотя я к таким данным отношусь с опаской, и у меня сразу же возникает желание, обернуть все это дело как минимум в какой нить синглтон, или же вообще уйти от глобальной переменной, потому как это первый признак плохого дизайна... т.е. syslog, cron и прочие демоны по-твоему -- признак плохого дизайна? ядро ОС с его сервисами (планировщик, менеджер памяти и т.п.) -- тоже признак плохого дизайна? =) (static тут не при чем кстати, просмотри мой код и мяута, там нет нигде static) |