Re[7]: Оптимизация и т.п.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.02.03 17:52
Оценка:
Здравствуйте, work69, Вы писали:

AVK>>... Интерфейс это максимально абстрагированный интерфейс доступа к чему либо. ...

W> Непробовал толковые словари писать? У тя определенно талант.
W>Твое определение интерфейса просто супер — "интерфейс — это интерфейс"!
W>Емко... Внушает...
W>

К сожалению здесь есть путаница в терминах. Интерфейсом называется собственно элемент языка и рантайма и им же называется набор точек доступа к классу. Нормальных эквивалентов я подобрать не могу, а поскольку здесь я все таки не словарь пишу, то написал так намеренно, надеюсь кому надо меня поняли.
... << RSDN@Home 1.0 beta 6 (np: тихо) >>
AVK Blog
Re[10]: Будут ли шаблоны и множественное наследование в CLR?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.02.03 18:08
Оценка:
Здравствуйте, VladD2, Вы писали:

AVK>>Нет, макросы это слишком примитивно.


VD>Эта та самая кодогенерация при компиляции о которой ты говорил.


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

VD>Конечно можно можн все тоже самое сделать на полиморфизме (интерфейсах или делегатах принемающих в качестве параметра object-ы), но это приведет к сильному подению производительности и трудно уловимым рантайм ошибкам.


Влад, это мне напоминает разговор немого с глухим. Не надо мне доказывать что шаблоны это хорошо. Я с этим не спорю. Я говорю о другом — шаблоны можно зделать гибче, дав им возможность манипулирования не только типами, а любой сущностью CodeDOM. Именно CodeDOM
, а не исходниками программы, как в случае макросов.
... << RSDN@Home 1.0 beta 6 (np: тихо) >>
AVK Blog
Re[8]: Оптимизация и т.п.
От: killer_  
Дата: 18.02.03 18:55
Оценка:
Здравствуйте, AndrewVK, Вы писали:

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


AVK>>>... Интерфейс это максимально абстрагированный интерфейс доступа к чему либо. ...

W>> Непробовал толковые словари писать? У тя определенно талант.
W>>Твое определение интерфейса просто супер — "интерфейс — это интерфейс"!
W>>Емко... Внушает...
W>>

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


Данная фраза — свидетельство некоторой закомплексованности мышления.
Это тоже самое что сказать что в словосочетаниях "кресло-качалка" и "кресло-кровать" — слово "кресло"
имеет принципиально другой смысл. Не надо пытаться провести раздел — мир един и понятие
интерфейса едино и не меняется в зависмости от словосочетания в котором оно употребляется
(Юзер интерфейс, аппаратный интерфейс и т.д и т.п.). Говоря в терминах ООД словосочетания вроде "Юзер интерфейс" и т.п являются терминальными классами одного базового абстрактного класса — "интерфейс". (Эко завернул-то )
Понятие интерфейса всегда сводится к одному и тому же — это уровень абстракции представляющий собой систему соглашений и средств для взаимодействия каких либо сущностей. Суть вседа одна.
Зри в корень.(С)Козьма Прутков
Найди всему начало и ты многое поймешь.(С)Козьма Прутков
Re[9]: Оптимизация и т.п.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.02.03 19:32
Оценка:
Здравствуйте, killer_, Вы писали:

K>Данная фраза — свидетельство некоторой закомплексованности мышления.


Не судите да не судимы будете.

K>Это тоже самое что сказать что в словосочетаниях "кресло-качалка" и "кресло-кровать" — слово "кресло"

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

Надо читать весь топик. Существует кроме того некая сущность интерфейс, представленная в MSIL.
Так что не стоит меня учить.
... << RSDN@Home 1.0 beta 6 (np: тихо) >>
AVK Blog
Re[8]: Будут ли шаблоны и множественное наследование в CLR?
От: WolfHound  
Дата: 18.02.03 21:35
Оценка:
Здравствуйте, Tom, Вы писали:

VD>>Полнейшая ерунда.

VD>>Никаких осложнений при отладке нет. Это проверено тем же С++. На заре С++ были проблемы с отладчиками, но сегодня таких проблем нет и шалблоны прекрасно отлаживаются.
Tom>Проверено на C++ что проблемм куча. Как ты думаешь сколько примерно займёт на экране 800*600 сообщение об ошибке выданное gcc на какую нибудь ошибку в классе map<string, string>. Пол экрана идёт только перечисление класса.
Незнаю как у вас в GCC а у нас в VS7 все просто
std::map<DWORD, T_RefStrong<C_Device> >

e:\work\!!!!!!!!!!!!!\OPCServer\DeviceHost\C_Device.cpp(23): error C2679: binary '=' : no operator found which takes a right-hand operand of type 'T_RefStrong<P_Type>' (or there is no acceptable conversion)
        with
        [
            P_Type=C_Device
        ]
e:\work\!!!!!!!!!!!!!\OPCServer\DeviceHost\C_Device.cpp(35): error C2440: 'initializing' : cannot convert from 'T_RefStrong<P_Type>' to 'C_DeviceItem *'
        with
        [
            P_Type=C_Device
        ]
e:\work\!!!!!!!!!!!!!\OPCServer\DeviceHost\C_Device.cpp(41): error C2679: binary '=' : no operator found which takes a right-hand operand of type 'T_RefStrong<P_Type>' (or there is no acceptable conversion)
        with
        [
            P_Type=C_DeviceItem
        ]
e:\work\!!!!!!!!!!!!!\OPCServer\DeviceHost\C_Device.cpp(66): error C2440: 'initializing' : cannot convert from 'T_RefStrong<P_Type>' to 'C_DeviceItem *'
        with
        [
            P_Type=C_Device
        ]
e:\work\!!!!!!!!!!!!!\OPCServer\DeviceHost\C_Device.cpp(88): error C2440: 'initializing' : cannot convert from 'T_RefStrong<P_Type>' to 'C_DeviceItem *'
        with
        [
            P_Type=C_Device
        ]

std::map<DWORD, T_RefStrong<C_Device_> >

Compiling...
C_Device.cpp
e:\work\!!!!!!!!!!!!!\OPCServer\DeviceHost\C_Device.h(9) : error C2065: 'C_Device_' : undeclared identifier
e:\work\!!!!!!!!!!!!!\OPCServer\DeviceHost\C_Device.h(9) : error C3203: 'T_RefStrong' : class template invalid as template argument for template parameter '_Ty', expected a real type
e:\work\!!!!!!!!!!!!!\OPCServer\DeviceHost\C_Device.cpp(23) : error C2440: '=' : cannot convert from 'int' to 'C_DeviceItem *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
e:\work\!!!!!!!!!!!!!\OPCServer\DeviceHost\C_Device.cpp(35) : error C2440: 'initializing' : cannot convert from 'int' to 'C_DeviceItem *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
e:\work\!!!!!!!!!!!!!\OPCServer\DeviceHost\C_Device.cpp(41) : error C2679: binary '=' : no operator found which takes a right-hand operand of type 'T_RefStrong<P_Type>' (or there is no acceptable conversion)
        with
        [
            P_Type=C_DeviceItem
        ]
e:\work\!!!!!!!!!!!!!\OPCServer\DeviceHost\C_Device.cpp(66) : error C2440: 'initializing' : cannot convert from 'int' to 'C_DeviceItem *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
e:\work\!!!!!!!!!!!!!\OPCServer\DeviceHost\C_Device.cpp(88) : error C2440: 'initializing' : cannot convert from 'int' to 'C_DeviceItem *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast


И трейсить можно если вдруг чего совсем не понял.

Tom>ЗЫ: В принципе если шаблоны упростят и так как нет множественного наследования, то не всё так плохо

И чего плохого в МН? А шаблоны не упращать надо, а развивать. И вобще типизированые макросы хочу!
... << RSDN@Home 1.0 beta 5 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[10]: Будут ли шаблоны и множественное наследование в CLR?
От: WolfHound  
Дата: 18.02.03 21:35
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Заметьте. Среди людей наезжающих на шаблоны (ну или пытающихся свести их достоинства только к увеличению производительности) все не имели большого опыта работы с шаблонами. А все кто успешно использовал шаблоны в С++ ждут их пояления в Шарпе. Это явно не спроста.


Жду очень жду.

ЗЫ Мой опыт С++ программирования говорит что шаболны сокращают обьем текста в разы, а читабельность и перформанс возрастают на порядок.
... << RSDN@Home 1.0 beta 5 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[11]: Будут ли шаблоны и множественное наследование в CLR?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 19.02.03 06:53
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>ЗЫ Мой опыт С++ программирования говорит что шаболны сокращают обьем текста в разы, а читабельность и перформанс возрастают на порядок.


В С++. В шарпе такого сильного эффекта не будет, хотя в чем то съэкономить и получится.
... << RSDN@Home 1.0 beta 6a (developer build)>>
AVK Blog
Re[10]: Будут ли шаблоны и множественное наследование в CLR?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 19.02.03 06:53
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А все кто успешно использовал шаблоны в С++ ждут их пояления в Шарпе. Это явно не спроста.


Вот этого я и боюсь. Народ начнет по старой привычке лепить шаблоны даже туда где они нафик не нужны.
... << RSDN@Home 1.0 beta 6a (developer build)>>
AVK Blog
Re[9]: Оптимизация и т.п.
От: Lloyd Россия  
Дата: 19.02.03 07:31
Оценка:
Здравствуйте, killer_, Вы писали:

K>Это тоже самое что сказать что в словосочетаниях "кресло-качалка" и "кресло-кровать" — слово "кресло"


Гы, плохой пример.
Мне бы больше понравилось сравнение морской свинки и свинки(болезни).
Re[11]: Будут ли шаблоны и множественное наследование в CLR?
От: WolfHound  
Дата: 19.02.03 17:35
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Вот этого я и боюсь. Народ начнет по старой привычке лепить шаблоны даже туда где они нафик не нужны.

Не думаю что с народом который ДЕЙСТВИТЕЛЬНО хорошо использовал такое произойдет.
... << RSDN@Home 1.0 beta 5 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[12]: Будут ли шаблоны и множественное наследование в CLR?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 19.02.03 19:31
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH> Не думаю что с народом который ДЕЙСТВИТЕЛЬНО хорошо использовал такое произойдет.


Хотелось бы надеятся, но практика показывает что если что то можно сделать неправильно то это обязательно сделают неправильно. Иначе к чему такие драконовские ограничения в джаве придумали.
... << RSDN@Home 1.0 beta 6 (np: тихо) >>
AVK Blog
Re[13]: Будут ли шаблоны и множественное наследование в CLR?
От: _wqwa США  
Дата: 21.02.03 09:16
Оценка:
Здравствуйте, AndrewVK, Вы писали:

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


WH>> Не думаю что с народом который ДЕЙСТВИТЕЛЬНО хорошо использовал такое произойдет.


AVK>Хотелось бы надеятся, но практика показывает что если что то можно сделать неправильно то это обязательно сделают неправильно. Иначе к чему такие драконовские ограничения в джаве придумали.


Хороший язык программирования (и платформа тоже) должны предоставлять ПОБОЛЬШЕ возможностей. А то нелогично получается... Ограничили всех, потому что те, кто чегой-то не доучил могут напортачить...
RSDN@Home
Кто здесь?!
Re[14]: Будут ли шаблоны и множественное наследование в CLR?
От: Аноним  
Дата: 21.02.03 09:56
Оценка:
Здравствуйте, _wqwa, Вы писали:

W>Хороший язык программирования (и платформа тоже) должны предоставлять ПОБОЛЬШЕ возможностей. А то нелогично получается... Ограничили всех, потому что те, кто чегой-то не доучил могут напортачить...


Неправда. Хорошая среда программирования вовсе не должна "предоставлять ПОБОЛЬШЕ возможностей". Она должна предоставлять возможности, потребные для решения круга задач, на которые она рассчитана, адекватно условиям, в которых эти задачи решаются. В прикладном программировании очень существенна технологичность — соответственно, многие возможности, скажем, Си++ остаются неиспользованными (и за использование их нужно расстреливать). В других задачах — наоборот, можно, как это уже здесь назвали, "творить чудеса на шаблонах и переопределяя операторы".
Re[14]: Будут ли шаблоны и множественное наследование в CLR?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 21.02.03 10:51
Оценка:
Здравствуйте, _wqwa, Вы писали:

W>Хороший язык программирования (и платформа тоже) должны предоставлять ПОБОЛЬШЕ возможностей.


С такой точки зрения ассемблер идеальный язык, а скрипты не имеют права на существование. Но на самом деле это нетак. Следовательно предпосылка неверна.
... << RSDN@Home 1.0 beta 6a (developer build)>>
AVK Blog
Re[15]: Будут ли шаблоны и множественное наследование в CLR?
От: WolfHound  
Дата: 21.02.03 18:11
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Неправда. Хорошая среда программирования вовсе не должна "предоставлять ПОБОЛЬШЕ возможностей". Она должна предоставлять возможности, потребные для решения круга задач, на которые она рассчитана, адекватно условиям, в которых эти задачи решаются. В прикладном программировании очень существенна технологичность — соответственно, многие возможности, скажем, Си++ остаются неиспользованными (и за использование их нужно расстреливать). В других задачах — наоборот, можно, как это уже здесь назвали, "творить чудеса на шаблонах и переопределяя операторы".


И за какие это возможность С++ надо расстреливать???Поясни пожалуйса.

ЗЫ Представся
... << RSDN@Home 1.0 beta 5 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[15]: Будут ли шаблоны и множественное наследование в CLR?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 23.02.03 10:30
Оценка:
Здравствуйте, Аноним, Вы писали:

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


W>>Хороший язык программирования (и платформа тоже) должны предоставлять ПОБОЛЬШЕ возможностей. А то нелогично получается... Ограничили всех, потому что те, кто чегой-то не доучил могут напортачить...


А>Неправда. Хорошая среда программирования вовсе не должна "предоставлять ПОБОЛЬШЕ возможностей". Она должна предоставлять возможности, потребные для решения круга задач, на которые она рассчитана, адекватно условиям, в которых эти задачи решаются.


Звучит как: "возможностей не должно быть много, возможностей должно быть столько, сколько нужно для того, для чего нужно". Прям санскритская загадка.

А>В прикладном программировании очень существенна технологичность — соответственно, многие возможности, скажем, Си++ остаются неиспользованными (и за использование их нужно расстреливать).


Потрясающе! Это что же за прикладное программирование на некотором языке, где нельзя использовать возможности этого языка? Да ещё и под страхом смертной казни. Да, и если можно, то нельзя ли перечислить "нетехнологичные" для прикладного программирования возможности C++.

ИМХО, за неиспользование возможностей C++ (.Net, Java — нужное вписать), действительно, надо "расстреливать".

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


По-вашему, "остальное программирование" не является прикладным? Очень интересно. Кстати, и что такое "прикладное программирование" в Вашем понимании?

Уважаемый Аноним, определитесь, пожалуйста, с семантикой терминов, которыми вы оперируете.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[15]: Будут ли шаблоны и множественное наследование в CLR?
От: _wqwa США  
Дата: 23.02.03 14:57
Оценка:
Здравствуйте, AndrewVK, Вы писали:

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


W>>Хороший язык программирования (и платформа тоже) должны предоставлять ПОБОЛЬШЕ возможностей.


AVK>С такой точки зрения ассемблер идеальный язык, а скрипты не имеют права на существование. Но на самом деле это нетак. Следовательно предпосылка неверна.


Не совсем. Возможностью(выделенное в цитате) я имел в виду и удобство проектирования(тут асм не совсем катит) и возможности настраиваемой кодогенирации (всеми здесь любимые шаблоны) и простота парсинга текста (перл) и освобождение от менеджмента памяти (ява, шарп) и т.д.
Очевидно, что не может быть языка со всеми этими (и другими) возможностями одновременно.
И ассемблер -- не идеальный язык (как Вы сами и догадались ).
Следовательно опровержение предпосылки несостоятельно.
RSDN@Home
Кто здесь?!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.