Форум: "Потрепаться";
Текущий архив: 2002.09.12;
Скачать: [xml.tar.bz2];
ВнизВот и Delphi 7 подоспела. Найти похожие ветки
← →
kull (2002-08-08 13:25) [40]
> evgeg
Скомпилится, если есть все необходимые библиотеки, чего не скажешь о Delphi...
← →
evgeg (2002-08-08 13:32) [41]> kull
MS часть стандрта не поддерживает, часть поддерживает криво. Про библиотеки не понял, что вы хотели сказать.
← →
kull (2002-08-08 14:01) [42]
> MS часть стандрта не поддерживает, часть поддерживает криво.
> Про библиотеки не понял, что вы хотели сказать.
Какую часть он не поддерживает (например)?
Да и не в этом дело, что кто-то не поддерживает стандарт.
Главное что он (стандарт) существует. MS не поддерживает - найдем того, кто поддерживает. Хотя я сомневаюсь что MS поменял синтаксис языка.
← →
evgeg (2002-08-08 14:39) [43]> Главное что он (стандарт) существует. MS не поддерживает - найдем того, кто поддерживает.
Ищите, ищите..
← →
kull (2002-08-08 14:45) [44]
> Ищите, ищите..
Значит все-таки MS поддерживает стандарт...
← →
Suntechnic (2002-08-08 16:04) [45]>evgeg © (08.08.02 13:21)
>> А затем что если на С написать приложение следуя стандарту ANSI C, то оно скомпилится и под Unix и под Linux и под Windows.
>Под Unix то оно скомпилится скорее всего. А вот под Windows -- как повезет.
>MS часть стандрта не поддерживает, часть поддерживает криво.
Хватит трёпом заниматься. Конкретный примерчик можно?
← →
evgeg (2002-08-08 17:13) [46]> Хватит трёпом заниматься.
Раздел здесь такой. Для трепа.
> Конкретный примерчик можно?
Можно.
http://www.rsdn.ru/forum/message.asp?mid=78024&only
http://www.rsdn.ru/forum/message.asp?mid=77438
http://www.rsdn.ru/forum/message.asp?mid=73854
http://www.rsdn.ru/forum/message.asp?mid=74316 (вообще здорово)
← →
kull (2002-08-08 17:51) [47]
> evgeg © (08.08.02 17:13)
1. я говорил про ANSI C, а не С++
2. MFC здесь не причем, что и вообще что это за стандарт такой MFC (Microsoft Foundation Class).
3. Я имею ввиду синтаксис языка.
То что компилятор падает или выдает ошибки где все впорядке - это проблеммы компилятора.
а вот пример для Delphi (язык тот же Object Pascal)
Попробуйте скомпилить этот код в Delphi c версией ниже Delphi6:
{$MESSAGE "just hint"}
Попробуйте скомпилить этот код в Delphi c версией ниже Delphi4:
var
a: array of Integer;
← →
evgeg (2002-08-08 18:00) [48]> 1. я говорил про ANSI C, а не С++
Вы, значит, решили не пользоваться ООП?
> 2. MFC здесь не причем, что и вообще что это за стандарт такой
> MFC (Microsoft Foundation Class).
А кто говорит про MFC?
> 3. Я имею ввиду синтаксис языка.
К чему вы это говорите?
> То что компилятор падает или выдает ошибки где все впорядке -
> это проблеммы компилятора.
Вы для чего собираетесь программы писать? Для того, чтобы их использовать, наверное? Без компилятора вы этого не сможете сделать.
> а вот пример для Delphi (язык тот же Object Pascal)
> Попробуйте скомпилить этот код в Delphi c версией ниже Delphi6:
> {$MESSAGE "just hint"}
> Попробуйте скомпилить этот код в Delphi c версией ниже Delphi4:
> var a: array of Integer;
Дельфи не поддерживает совместимость сверху вниз по версиям. Ну и что?
← →
vuk (2002-08-08 18:03) [49]А совместимости сверху вниз нет и никто ее не обещал. Да и не только в Object Pascal все так обстоит.
← →
kull (2002-08-08 18:10) [50]
> vuk © (08.08.02 18:03)
> А совместимости сверху вниз нет и никто ее не обещал.
Так вот это и называется - отсуствие стандарта.
А совместимость есть для синтаксических конструкций в С.
← →
Suntechnic (2002-08-08 18:16) [51]>evgeg © (08.08.02 17:13)
Сорри, у меня сейчас нет времени с головой влазить в описанные проблемы(я ингода всё-таки ещё и работаю :)), единственное, что мгу сказать сразу это по последней проблеме с оператором new. Действительно в интерпретации Microsoft этот оператор не выкидывает исключение, а возвращает просто 0. Хотя такого же результата можно добиться и от стандартного C++, если параметром оператора new передавать no_exception(я точно не уверен в названии, надо уточнить в литературе, но времени нет).
Более того, я сам вам могу привести гораздо худшие отклонения от стандарта, но делать этого не буду поскольку нахожусь на другой баррикаде :).
В любом случае если придерживаться стандартного С++ и писать под разные платформы, то на эти "фичи" от Микрософт вы наврядли нарвётесь.
← →
vuk (2002-08-08 18:29) [52]>Так вот это и называется - отсуствие стандарта.
Ничего подобного. В С++ для разных версий наблюдается то же самое. В ранних версиях не было много чего из того, что там есть сейчас. Или хотите сказать, что на C++ тоже стандарта нет? ;o)
← →
evgeg (2002-08-08 18:30) [53]> А совместимость есть для синтаксических конструкций в С.
Нету у C совместимости сверху вниз! Попробуйте volatile или
комментарий // использовать в младших версиях.
> В любом случае если придерживаться стандартного С++ и писать под разные платформы, то на эти "фичи" от Микрософт вы наврядли нарвётесь.
Как это не нарвусь? Вот напишу new, рассчитывая, что он исключение возбудит, как по стандарту положено, и все:
придется потом сначала долго разбираться, откуда
мистическим образом возникает Assecc Violation, потом
долго все эти new выковыривать.
← →
Suntechnic (2002-08-08 19:10) [54]>evgeg © (08.08.02 18:30)
>Вот напишу new, рассчитывая, что он исключение возбудит, как по стандарту положено, и все
Читай опять:
>Хотя такого же результата можно добиться и от стандартного C++, если параметром оператора new передавать no_exception
И твоя проблема решена.
← →
evgeg (2002-08-08 19:16) [55]> Suntechnic
Имеется в виду случай переноса приложения с какой-либо другой ОС на Windows. Т. е. приложение изначально пишется под другой ОС в соответсвии со стандартом. Откуда заранее знать, что будет работать под Windows, а что не будет?
← →
Suntechnic (2002-08-08 19:20) [56]>evgeg © (08.08.02 19:16)
Ладно, не будем спорить. Nobody is perfect.
Применительно к конкретной проблеме с оператором new можно поступить так как я говорил и это будет работать под любую платформу.
А в остальном конечно можно нарваться на камни где угодно, но таких "узких" мест очень мало поэтому мы тут и ведём речь о стандарте.
← →
iZEN (2002-08-08 22:11) [57]Помниться, больше года назад, когда вышел JBuilder6, в нём уже был встроен UML-рефакторинг исходного кода -- имагемап с гиперссылками между элементами. Изображение можно было генерировать прямо по исходникам и сохранять понравившиеся участки диаграмм в .PNG для документирования проекта, не вылезая из среды.
Кто видел -- оценил!
← →
vuk (2002-08-08 22:17) [58]Я видел. Это далеко не UML. С виду - да, похоже.
← →
iZEN (2002-08-08 22:20) [59]Для vuk © (08.08.02 22:17).
Почему же? Диаграммы пакетов уже не относятся к UML?
← →
vuk (2002-08-08 22:22) [60]Относятся, но там-какие-то несоответствия были. Сейчас уже точно не помню...
← →
Keymaster (2002-08-08 22:35) [61]Люди..... я чё-то не совсем пойму, КАК это
на Object Pascal нет стандарта?????????????
а дядя Вирт что сделал???
← →
vuk (2002-08-08 22:53) [62]Дядя Вирт Object Pascal не занимался. Он занимался Pascal, Modula-2, Oberon...
← →
iZEN (2002-08-08 23:31) [63]Не волнуйтесь, Keymaster!
До сих пор нет стандарта на Java, Python, PHP, Perl и кучу других языков программирования.
Но это по большому счёту никого не волнует.
Да, и ещё, хоть и есть стандарты языков C/C++, но ISO должно пересматривать их каждые 5 лет, если не ошибаюсь.
Синтаксис Java практически не менялся с 1995 года; изменялись только библиотеки, что есть большооой плюс в плане перехода между версиями.
Беда Object Pascal -- это его неустанно "развивающийся" синтаксис от версии к версии Delphi. Конечно, также VCL "развивается", значительно изменяясь: Borland -- "бог" Object Pascal/VCL. Ничего уж сам не попишешь (кроме компонентов), иначе отстанешь от такого вот прогресса.
Вопрос не в тему.
Интересно, а VCL в D7 всё также несинхронизированная (не защищённая в многонитиевых приложениях)? Для Java вопрос уже давно решён -- базовые библиотеки JRE полностью синхронизированные, благо позволяет сам синтаксис языка.
← →
drpass (2002-08-09 00:04) [64]На данной стадии (когда разработкой систем программирования занимается фактически один разработчик) отсутствие стандарта для Object Pascal - большое благо. Сравните Паскаль начала 90-х и современный. От версии к версии в Паскале появляется все больше тех возможностей, которыми хвалятся программисты С++ - начиная от динамической объектной модели и заканчивая такими приятными мелочами, как перегрузка функций.
Да и какой смысл в стандарте? Переносимость, что ли? Где вы видели серьезные программы, написаные только со средствами, соответствующими стандарту ANSI C++? Можно сделать какую-то убогую утилитку, которая будет прекрасно компилироваться на любой платформе. Точно так же, можно и на Паскале, не уходя от Виртовского "стандарта", писать переносимые программы. А толку от этого? Что сейчас можно написать без использования дополнительных библиотек?
А по поводу совместимости версий: код, написанный в D2, в 99.9% случаев может быть скомпилирован в D6 без проблем. Значит, с совместимостью все в порядке.
← →
Igorek (2002-08-09 00:26) [65]Главное - это сохранение совместимости снизу вверх. Вот бы еще сверху вниз...
← →
kull (2002-08-09 01:39) [66]
> drpass © (09.08.02 00:04)
Хорошо конечно, что добавляются новые возможности в язык, никто не спорит.
Но вот только поддерживает этот язык один Borland.
Object Pascal борланд развивает куда душе его угодно, опять же жуткая завязка и зависимось от COM технологии (хотя интерфейсы очень удобная штука и могут без COM обойтись). Отсюда как я уже говорил слабая поддержка CORBA (а может и других полезных вещей о которых я не знаю). Я посещал тут одну конференцию, так там представители консорциума OMG так и заявили:
"Как не печально, но из-за того что Delphi не имеет сложившегося стандарта языка, если не де юро, то хотя бы де факто, как это имеет место с С++, Java и пр. поддержка CORBA в Delphi весьма поверхносна."
← →
vuk (2002-08-09 01:45) [67]to iZEN:
>Интересно, а VCL в D7 всё также несинхронизированная
Я думаю, что в этом отношении вряд ли что изменилось. По большому счету это требует переделки всей VCL, что разрушит ту самую совместимость снизу вверх, о которой здесь уже столько сказано, поскольку приведет к другой логике работы. Хотя в будущих версиях возможно многое... Намекнули даже на возможность мультикастинга событий... :o)
to drpass:
>От версии к версии в Паскале появляется все больше тех
>возможностей, которыми хвалятся программисты С++ - начиная от
>динамической объектной модели и заканчивая такими приятными
>мелочами, как перегрузка функций.
Ну вот, всплыл еще одни миф. Он называется "C++ - праматерь всех языков". Активно поддерживается фанатиками C++, особенно начинающими (они обычно этим и хвалятся). :o)
>А по поводу совместимости версий: <...>Значит, с совместимостью
>все в порядке.
Вот-вот. Совместимость снизу ввех - она обычно везде присутствует...
to Igorek:
>Главное - это сохранение совместимости снизу вверх. Вот бы еще
>сверху вниз...
Это возможно только тогда, когда язык не развивается. Любые расширения языка разрушают цепочку совместимости.
← →
vuk (2002-08-09 01:55) [68]to kull:
>опять же жуткая завязка и зависимось от COM технологии
Мы как-то с уважаемым iZEN на эту тему бодались. :o) Пришли, если не ошибаюсь, к тому, что от COM зависимости все-таки нет.
>поддержка CORBA в Delphi весьма поверхносна
Согласен, но почти точно так же верно подобное утверждение насчет Java и COM/DCOM. То есть у любой технологии, у любого языка есть свои преимущества и недостатки. Идеальных средств не бывает...
← →
kull (2002-08-09 01:59) [69]
> Ну вот, всплыл еще одни миф. Он называется "C++ - праматерь
> всех языков". Активно поддерживается фанатиками C++, особенно
> начинающими (они обычно этим и хвалятся). :o)
А разные есть фанатики, есть и фанатики Delphi.
С++ конечно не мера для всех языков, просто он популярен, и к тому же почему-то широко поддерживается. Об этом стоит, как мне кажется, задуматься.
← →
kull (2002-08-09 02:12) [70]
> Согласен, но почти точно так же верно подобное утверждение
> насчет Java и COM/DCOM. То есть у любой технологии, у любого
> языка есть свои преимущества и недостатки. Идеальных средств
> не бывает...
COM/DCOM - это детище от Microsoft, а он же у нас - "пуп земли".
А вот технологией CORBA (с которой пытается конкурировать DCOM,COM+ и т.п.) занимается целое сообщество фирм, куда MS, помоему, не собирается вступать (а если и собирается, то неохотно).
← →
Bron (2002-08-09 08:17) [71]ASSEMBLER-RULEZ!!!!!!!!!!!!!!!
← →
vuk (2002-08-09 08:45) [72]to kull:
>Об этом стоит, как мне кажется, задуматься.
Ну, уж так исторически сложилось. Хотя многие считают, что это мода. :o)
>А вот технологией CORBA <...>
Это я как бы... в курсе... :o)
← →
Anatoly Podgoretsky (2002-08-09 09:09) [73]Igorek © (09.08.02 00:26)
Главное - это сохранение совместимости снизу вверх. Вот бы еще сверху вниз...
Это означает, что в каждой новой версии, потихоньку изымаем из языка что нибудь из младщих версий, пока не дойдем до нуля, хорошее предложение.
← →
Igorek (2002-08-09 10:20) [74]2 Anatoly Podgoretsky © (09.08.02 09:09)
Нет. Просто надо делать так: оставляем возможность для расширения. Причем старший компилятор будет воспринимать неизвестные конструкции как Unknown. А младший - нормально. Ну и плагины к компилятору добавлять потом просто. Младший сам все компилит, а старший - с помощью плагинов. Но во втором случае производительность ниже. На самом деле это частичная совместимость сверху вниз. Наверно можно придумать и полную. Например вместе с компилятором поставлять его генератор и файл синтаксиса. Тогда при расширении языка просто заставить покупать новый синтаксис. Тоже частичная получается. Наверное полная в принципе невозможна без урезания расширенной функциональности.
← →
Сергей Орлик (2002-08-13 14:12) [75]Здравствуйте,
Что касается поддержки CORBA в Delphi/Kylix, Borland делает акцент на клиентскую составляющую (хотя элементы серверной поддержки тоже присутствуют - на уровне BOA). При этом в Delphi Вы можете использовать, например, даже новый Native Messaging, предварительная версия которого включена в только что вышедший Borland Enterprise Server 5.1.
Кстати, на семинарах в Интерфейс (28 августа) и Софтлайн (3-го сентября) я вместе с Андреем Аристарховым буду показывать новую версию Borland InterOp Demo, Где во всю из Delphi используется CORBA для работы с EJB. Дельфийский клиент при этом использует ClientDataSet и Data Controls для работы с данными.
Так что - доюро пожаловать на семинары, я с удовольствием отвечу на вопросы.
С уважением,
Сергей Орлик
менеджер по продуктам
Borland
Россия, СНГ, Прибалтика
← →
kull (2002-08-13 16:04) [76]
> Сергей Орлик (13.08.02 14:12)
Как же, был я на этих семинарах, там то мне насчет отсуствия стандартов и намекнули...
Нет если С++Builder использовать, то проблем с CORBA намного меньше чем с Delphi.
← →
vedmed (2002-08-13 16:05) [77]Кто-нибудь знает "Delphi Language Enhancements" из http://community.borland.com/article/0,1410,28972,00.html это только в .NET версии или также для WIN32?
← →
vuk (2002-08-13 16:11) [78]Насколько я понимаю, это только для .net
Кстати вот одна из причин переименования языка в Delphi Language.
Пространства имен, вложенные классы и т.п. - это уже совсем не Pascal...
← →
Ученик (2002-08-13 16:18) [79]А дата начала продаж известна ?
← →
iZEN (2002-08-14 10:11) [80]А как насчёт обещанных EJB-коннекторов? Без использования CORBA достучаться до J2EE-серверов уже возможно?
Страницы: 1 2 3 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.09.12;
Скачать: [xml.tar.bz2];
Память: 0.63 MB
Время: 0.011 c