Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.192] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 126 127 [128] 129 130 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#1906
,
|
|
|
|
--Ins--, прошу прощения, но таки напомню, что модули уже в C были, единицами трансляции назывались. И даже раньше, чем в ТурбоПаскаль. Вот initialization/finalization не было, и иногда это доставало. В C++ с приходом классов и это появилось, только с их же приходом оказалось, что нафиг оно и не нужно в общем-то.
Безусловно, реализация чёрного ящика единицей трансляции сиречь модулем вполне себе решение для несложных неООП случаев. Тут только два отличия нас от вас: во-первых, у нас не принято на каждый чих расширять язык, ваши модули у нас есть и без новых страниц в Стандарте; во-вторых, у нас классы - многопрофильный инструмент, а не как у вас, just is средство реализации ООП концепций, причём большей частью благодаря тем своим свойствам, которые вы осмеивали. Я вполне понимаю, что ваши классы будут неудобны там, где вы используете модули. |
|
Сообщ.
#1907
,
|
|
|
|
Цитата Qraizer @ у нас не принято на каждый чих расширять язык Сравним количество абстракций в Delphi и с++? На каждый чих он у вас изначально расширенЦитата Qraizer @ во-вторых, у нас классы - многопрофильный инструмент И это мне, кстати, не нравится. Выходит что классы, это не типы данных описывающих объекты и реализующие инкапсуляцию/наследование/полиморфизм, а просто тип данных на все случаи жизни |
|
Сообщ.
#1908
,
|
|
|
|
Цитата --Ins-- @ Цитата Qraizer @ у нас не принято на каждый чих расширять язык Сравним количество абстракций в Delphi и с++? На каждый чих он у вас изначально расширенМожно пример? Цитата И это мне, кстати, не нравится. Выходит что классы, это не типы данных описывающих объекты и реализующие инкапсуляцию/наследование/полиморфизм, а просто тип данных на все случаи жизни Класс - это тип. Правда есть еще несколько способов его использовать |
|
Сообщ.
#1909
,
|
|
|
|
Цитата D_KEY @ Класс - это тип. Правда есть еще несколько способов его использовать Нашла чем хвастаться (с) Слова "нецелевое использование" всегда носили для меня отрицательный, а не положительный смысл |
|
Сообщ.
#1910
,
|
|
|
|
Цитата --Ins-- @ Нашла чем хвастаться (с) Слова "нецелевое использование" всегда носили для меня отрицательный, а не положительный смыслНе ты ли мне говорил, что в случае необходимости получения той или иной функциональности "кинешь на форму компонент"? Собственно вот тебе и использование классов в чистом виде там, где это можно было реализовать модулями. Алсо, мне интересно, как модули влияют на пространство имен, в частности операция usesТак что как мне кажется, Дельфевому подходу до чисто модульных сущностей, как они в Питоне реализованы также далеко как и Плюсовому. |
|
Сообщ.
#1911
,
|
|
|
|
Цитата Мяут-Настоящий @ Не ты ли мне говорил, что в случае необходимости получения той или иной функциональности "кинешь на форму компонент"? Может и я, смотря что ты имеешь в виду Цитата Мяут-Настоящий @ Собственно вот тебе и использование классов в чистом виде там, где это можно было реализовать модулями. Алсо, мне интересно, как модули влияют на пространство имен, в частности операция uses Так что как мне кажется, Дельфевому подходу до чисто модульных сущностей, как они в Питоне реализованы также далеко как и Плюсовому. Брррр. Ничего не понял |
|
Сообщ.
#1912
,
|
|
|
|
зачем? где тут тип данных? и что будет, если объект вдруг не создастся? где статический контроль? Добавлено Цитата Qraizer @ В C++ с приходом классов которые от структур отличаются только дефолтным спецификатором доступа. а аж целое ключевое слово ввели... =) |
|
Сообщ.
#1913
,
|
|
|
|
Цитата korvin @ Класс - это не тип данных. Он может быть использован для создания типов данных, но это небольшая частность. Даже в Дельфи. Вот RECORD - да, тип данных.зачем? где тут тип данных? Цитата korvin @ Угу. Потому что struct дань обратной совместимости и продолжает ею быть. В Дельфи PROCEDURE тоже никуда не делось, хотя уже в TP6 стало не нужным. А class имеет больше одного значения. которые от структур отличаются только дефолтным спецификатором доступа. а аж целое ключевое слово ввели... |
|
Сообщ.
#1914
,
|
|
|
|
Цитата Qraizer @ Класс - это не тип данных. Он может быть использован для создания типов данных, но это небольшая частность. Даже в Дельфи. Вот RECORD - да, тип данных. D_KEY утверждал, что таки тип. именно в C++ причем Добавлено Цитата Qraizer @ В Дельфи PROCEDURE тоже никуда не делось, хотя уже в TP6 стало не нужным. хм... а что в Делфи является аналогом void? |
|
Сообщ.
#1915
,
|
|
|
|
Цитата korvin @ Тип, но не обязательно данных. Какие данные у интерфейса, который в С++ описывается уже 9001 раз говорилось как. D_KEY утверждал, что таки тип |
|
Сообщ.
#1916
,
|
|
|
|
Цитата Qraizer @ Класс - это не тип данных. О как! Откровение, однако... Даже стесняюсь уточняющий вопрос задать Добавлено Цитата Adil @ Какие данные у интерфейса Объект, реализующий интерфейс |
|
Сообщ.
#1917
,
|
|
|
|
Цитата --Ins-- @ Нет, не переводи стрелки - у типа, описывающего интерфейс. В С++ это абстрактный класс без данных. Тип? тип. Тип данных? нет. Объект, реализующий интерфейс |
|
Сообщ.
#1918
,
|
|
|
|
Цитата Adil @ Тип, но не обязательно данных. а чего? тип -- это множество некоторых "объектов", конечное или бесконечное, явно перечисленных, или связанных какими-то критериями. Добавлено Цитата Adil @ абстрактный класс без данных. Тип? тип. не тип. типизируют объекты, нет объектов -- нет типа |
|
Сообщ.
#1919
,
|
|
|
|
Цитата korvin @ Ну да. А объектами может быть только данные? А функция тогда - это объект какого типа данных? не тип. типизируют объекты, нет объектов -- нет типа Добавлено Цитата korvin @ Тип может описывать поведение объекта и никаким образом не относится к данным. Что мы и наблюдаем для интерфейсов. не тип. типизируют объекты, нет объектов -- нет типа |
|
Сообщ.
#1920
,
|
|
|
|
Цитата Adil @ Ну да. А объектами может быть только данные? А функция тогда - это объект какого типа данных? функционального же. например в Хаскелле функция (+) имеет тип ![]() ![]() (+) :: Num a => a -> a -> a функция id: ![]() ![]() id :: a -> a id x = x в CL все функции имеют тип FUNCTION, но можно и уточнить до (FUNCTION (NUMBER NUMBER) NUMBER) например. во многих языках (в т.ч. и Делфи, да и в C++ наверное) есть функциональные типы. Добавлено Цитата Adil @ Тип может описывать поведение объекта и никаким образом не относится к данным. Что мы и наблюдаем для интерфейсов. ты сам себе ответил Добавлено и что ты подразумеваешь тут под термином "данные"? |