Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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
1-35807
demisen
2002-08-30 11:32
2002.09.12
Main Form


1-35703
kmc
2002-09-02 14:51
2002.09.12
Как сделать печать в файл?


1-35708
jcrush
2002-09-02 11:38
2002.09.12
МАСТЕРА !!! в RichEdit1 нужно найти и подсчитать сколько слов


1-35737
EugenCFG
2002-08-30 12:05
2002.09.12
Подскажите, какой функцией заменить строку в файле?


4-35945
eruc
2002-07-21 18:36
2002.09.12
Drag & Drop ??? what ???





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский