Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

С++ Builder - что это???

5.7K
17 августа 2004 года
ZEREN
13 / / 04.08.2004
Это как Делфи для Паскаля??
И смогу ли я, умеючи программировать на С++, сходу писать програмы под Винды с помощию этого пакета программ. С учётом, что программировать на Делфях у меня получилося с первых пяти минут. Пробовал Визуал С++, ничего не понял...
ТАК ЧТО ТАКОЕ С++ БИЛДЕР???
И стоит ли мне начинающему пытаться писать с его помощию программы??? а еслим стоит, то какой пакет посоветуете...
315
17 августа 2004 года
Nick_M
399 / / 29.05.2003
Цитата:
Originally posted by ZEREN
Это как Делфи для Паскаля??
И смогу ли я, умеючи программировать на С++, сходу писать програмы под Винды с помощию этого пакета программ. С учётом, что программировать на Делфях у меня получилося с первых пяти минут. Пробовал Визуал С++, ничего не понял...
ТАК ЧТО ТАКОЕ С++ БИЛДЕР???
И стоит ли мне начинающему пытаться писать с его помощию программы??? а еслим стоит, то какой пакет посоветуете...


C++ Builder - это интегрированная среда разработки. Если программировать на Дельфях получилось с первых пяти минут, то в Билдере получиться (если знать Си++) с первых 10 )).
В первом приближении - Дельфи и Билдер - одно и то-же. Отличие только в языке программирования. Дельфи - Object Pascal, Билдер - C++.

8.5K
17 августа 2004 года
Macr0s
3 / / 17.08.2004
Действительно, как zeren, заметил, это "как делфи для паскаля" - это интегрированная среда разработки (IDE) а-ля Делфи (фирма то одна делала - Borland/Inprise) но гораздо глючнее!!

Если чел хочет научиться программировать на С/С++ то это ИМХО неплохое начало, но не больше. Серьёзные программы глючат... Особенно если их писать на Блиндере. Да и вряд ли пользователю понравится исполняемый файл размером 2 мега. Его конечно можно упаковать(UPX, PeCompact, Obsidium etc.), но от глюков с распределением памяти это не избавит.

Короче, как начинающему советую попробовать. Изучишь HelloWorld, функции, классы, директивы компилятора...
но как только захочешь писать серьёзный проект, то пересаживайся на Microsoft Visual C++. в пользу последнего говорит ещё и то, что операционку писала тоже мелкософт (Мелкософт для Мелкософта пакостить не будет)

З.Ы.
Давным-давно, кажется в прошлый вторник я читал (где - в упор не помню) что такие глюки с Блиндером из-за того, что он использует недокументированные функции Виндоуза. А они меняются от версии к версии (чуть ли не от билда к билду) и не могут не глючить ;)

З.З.Ы
коод, который на деБилдере будет работать точно так, как его написали:

char** buf;
long double i;
while(true)
{
i=pow(i,i);
buf=new char*[10000000];
for(int c=0;c<10000000;c++)
buf=new char[100000];
}
294
18 августа 2004 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by Macr0s
Если чел хочет научиться программировать на С/С++ то это ИМХО неплохое начало, но не больше. Серьёзные программы глючат... Особенно если их писать на Блиндере. Да и вряд ли пользователю понравится исполняемый файл размером 2 мега. Его конечно можно упаковать(UPX, PeCompact, Obsidium etc.), но от глюков с распределением памяти это не избавит.



Пользователям сейчас до... гм... лампочки, 2 метра или 20. Об этом, кстати, Мелкомягкие в первую очередь позаботились. Сколько Хрюшка на Вашем диске места занимает? А глюков в распределении памяти в основном много от низкой культуры программирования некоторых товарищей. Согласен, в этом есть частично и "вина" Борланд, которая разработала библиотеку классов со столь мощной инкапсуляцией всех "сантехнических процессов" работы Windows. По вине _чисто_ компилятора билдеровские проги теряют память не больше висуально-сишных.

Цитата:
но как только захочешь писать серьёзный проект, то пересаживайся на Microsoft Visual C++. в пользу последнего говорит ещё и то, что операционку писала тоже мелкософт (Мелкософт для Мелкософта пакостить не будет)


И шо? Нет, вы-таки видели, что у него получилось? Я вас умоляю...
Кстати, давно замечено, что продукты от Microsoft так же не дружат с операционками от Microsoft, как и "продукты третьих фирм".

Цитата:

З.З.Ы
коод, который на деБилдере будет работать точно так, как его написали:

char** buf;
long double i;
while(true)
{
i=pow(i,i);
buf=new char*[10000000];
for(int c=0;c<10000000;c++)
buf=new char[100000];
}



Опять-таки, и шо? Кто ж так память выделяет? Одна из концепций C++ — программист сам заботится о выделении и освобождении памяти, чем не доволен -- пиши на себя жалобу. Кстати, в примере получается, что горе-программер потребовал 931 Гб памяти, и, не отдав назад, требует ещё столько же (цикл бесконечный). У кого столько будет? Или я смысл примера не понял? Поясните.

8.5K
18 августа 2004 года
Macr0s
3 / / 17.08.2004
Цитата:
Пользователям сейчас до... гм... лампочки, 2 метра или 20. Об этом, кстати, Мелкомягкие в первую очередь позаботились. Сколько Хрюшка на Вашем диске места занимает?


у меня 2000 стоит, ХР не уважаю.

Цитата:
А глюков в распределении памяти в основном много от низкой культуры программирования некоторых товарищей.


могу даже признаться, что у меня тоже много глюков с распределением памяти, но я с этим борюсь при помощи Баундс Чекера

Цитата:

Согласен, в этом есть частично и "вина" Борланд, которая разработала библиотеку классов со столь мощной инкапсуляцией всех "сантехнических процессов" работы Windows. По вине _чисто_ компилятора билдеровские проги теряют память не больше висуально-сишных.


не согласен...
научен горьким опытом..
в принципе я сам недавно(года полтора) пересел с блиндера на визл но пересел из-за того, что мой проект на деБилдере стал сжирать всю память (она выделялсь в конструкторе) после перекомпиляции (ресурсы прилинковать надо было). после локализации ошибки помогла замена new на LocalAlloc. но появилась та же ошибка в другом месте но везде new на LocalAlloc не заменишь простым Search&Replace'ом...
тот же самый код, откомпиленый в Визл Студии (ну после очистки от VCL) прекрасно работает у меня по сей день.

Цитата:
Кстати, давно замечено, что продукты от Microsoft так же не дружат с операционками от Microsoft, как и "продукты третьих фирм".


не согласен...
Сервис паки - да, чем старше версия - тем больше тормозит, но посмотрите на тот же офис, который замечательно работает у меня около года (Win2k SP3, на которой дома работаю, я именно столько не трогал, а последний раз переставлял, когда деБилдер заглючил до BSOD, после - даже диск с дебилдером не трогал, так и лежит на полке в дальнем углу).
а по поводу компиляторов и линкеров от мелкософта - никто лучше не напишет компилятор оптимизированный под данную операционку, чем тот, кто написал эту операционку. (© не помню чей, но это не только моё мнение)

Цитата:
Кто ж так память выделяет? ... Или я смысл примера не понял?


хм.. не думал, что будет так непонятно... у деБилдера глюки с памятью, так? моя цитата:

Цитата:
коод, который на деБилдере будет работать точно так, как его написали


таким образом смысл кода - показать моё отношение к билдеру..

Найдите мне где-нибудь комерческий проект, написаный на деБилдере, чтоб он не глючил и не тормозил. Делфи - да, пожалуёста, шароваршики это любят (после дизассемблирования оч. трудно разобраться в листинге), но не билдер!

напоследок:
бывает, что надо быстро что-то проверить, а ничего под рукой нету. приходится ляпать простенький проект. на Визл Студии быстро ничего делать не получается... поэтому я запускаю билдер (да, я его не люблю, очень нелюблю). недавно надо было проанализировать протокол... в чужой сетке тулз никаких специальных (сниффер, сканер) не поюзаешь пришлось писать проксик. на билдере это сделать - 2 пальца... (форма, ServerSocket, ClientSocket и ваши волосы мягкие и шелковистые) а вот на визле...
но это не противоречит моему мнению: мелкие проекты, обучение - вот для этого деБилдер - самое оно. но только не для более-менее серьёзных программ.

415
18 августа 2004 года
SLA
274 / / 08.08.2003
Выскажу и я свое ИМХО.

1.
Программы, написанные на Visual C++ с использованием MFC ничуть НЕ ЭКОНОМИЧНЕЕ (в смысле размера скомпилированных программ) чем программы написанные на Borland C++. Просто все нужные для их (VC MFC) работы библиотеки входят в состав Windows. А Борланд не может позволить себе такую роскошь, вот и приходится таскать нужные борландовские библиотеки вместе с программами. Мелкомягких ведь не уговоришь включить в поставку Виндовс все борландовские *.BPL и *.DLL файлы...

2.
Еще аргумент в пользу Борланд:
Вам приходилось видеть Microsoft .NET Framework и язык C# ?
Так вот, .NET Framework - это _ПОБЕДА_ технологий Борланд над технологиями Микрософт. Разрабатывать .NET Framework Микрософту помогает создатель Дельфи, и поэтому .NET Framework практически КАК ДВЕ КАПЛИ ВОДЫ похож на Борландовский VCL.

Иногда некоторые люди говорят: "Микрософт всегда был сторонником компактного кода. Они делают не так, как Борланд. Они делают лучше." Ничего подобного! Они сами признали преимущество и удобство библиотек в стиле VCL, и взяли их на вооружение, выкинув на свалку истории MFC и WinAPI.

3.
To ZEREN:
Не слушай людей, ругающих C++Builder.
ДА, C++Builder - это Дельфи на C++. Если ты знаком с Дельфи, то и в C++Builder ты будешь чувствовать себя как рыба в воде. Пользуйся на здоровье.
8.6K
18 августа 2004 года
Unykhaim
1 / / 18.08.2004
Уважаемы SLA, хочу немного поспорить насчет вашего высказывания по поводу API. С этим я в корне не согласен. Если более подробно рассмотреть скажем тот же класс окна, что в Билдере не возможно из - за прилинковки obj файлов - тока Делфи, то окажется, что оно строится на АПИ, тоже могу сказать по поводу некоторых визуальных компонентов(например Button, Edit, и т.д.). Здесь имеет место все таже инкапсуляция. Это классы, которые облегчают програмисту работу и ничего более. (Об этом можно узнать на втором курсе инста или покопавщись в Делфи, на крайний случай можно прогнать простенький проект дебагером).
Что касается размера эксешника, могу лишь сказать - почитай RSDN, там хорошо освещен данный вопрос(просто влом ща искать :) ). Его суть сводится к тому, что простой проект(без использования VCL), а точнее его эксешник можно сделать размером около 20 кило(если не ошибаюсь это про консольный), который не будет требовать дополнительных библеотек.
Про утечку памяти - в основном кривые руки програмистов, не хочу ни кого обидеть и заранее прошу прощенье, но так уж бывает, сам не идеален. Основной косяк - неправильный порядок вызова деструкторов(кстати это отдельный разговор в некоторых случаях заместо деструктора вызывается конструктор). В большой проге(листов на двести - триста) за этим довольно трудно следить. Тут уже никто не виноват. Макрос, насчет выделения памяти через new ниче сказать не могу, не вникал в данную проблему. Еще раз извеняюсь если кого - либо обидел, не хотел. Это моя точка зрения на данный вопрос.
PS. MSVC больше подходит для создания серьезных проектов.
415
18 августа 2004 года
SLA
274 / / 08.08.2003
Цитата:
Originally posted by Unykhaim
простой проект(без использования VCL), а точнее его эксешник можно сделать размером около 20 кило(если не ошибаюсь это про консольный), который не будет требовать дополнительных библеотек.



Однажды я написал на Билдере EXEшник размером 4 Кб, причем это НЕ консольное приложение, а оконное. На голом WinAPI.

В свою очередь, я тоже прошу прощения, если я кого-то обидел. Просто у меня душа не выдерживает, когда кто-то начинает беспочвенно поливать грязью Билдер. (А еще я сегодня в ударе :))

Я прекрасно понимаю, что C++Builder опирается на WinAPI. И даже приложения для .NET Framework в итоге (после JIT-компиляции) превращаются в код, опирающийся на WinAPI.

Сейчас я попробую объяснить, что я имел ввиду, говоря "выкинув на свалку истории MFC и WinAPI". Возьмем к примеру язык C#. На нем крайне неудобно работать с функциями WinAPI. Потому что этот язык сделан для программирования под платформу .NET Framework, а платформа .NET Framework (что-то вроде VCL) призвана ВЫТЕСНИТЬ программы, написанные на win32. Перескажу цитату, которую я вычитал где-то на сайте Микрософт:
"Мы планируем полностью перейти с win32 на .NET Framework, причем этот процесс мы планируем провести гораздо быстрее, чем переход с win16 на win32".

Теперь понятно, что я имел ввиду? WinAPI в будущем будет использоваться восновном только самим Windows, и получит такой статус, каким сейчас обладает Assembler.
Если вы думаете что я бред несу, тогда прочитайте вот эту статью и думайте сами:

"Языки программирования через сто лет"
(часть 1): http://www.computerra.ru/hitech/35042/
(часть 2): http://www.computerra.ru/hitech/35107/

246
18 августа 2004 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by SLA

1.
Программы, написанные на Visual C++ с использованием MFC ничуть НЕ ЭКОНОМИЧНЕЕ (в смысле размера скомпилированных программ) чем программы написанные на Borland C++. Просто все нужные для их (VC MFC) работы библиотеки входят в состав Windows. А Борланд не может позволить себе такую роскошь, вот и приходится таскать нужные борландовские библиотеки вместе с программами. Мелкомягких ведь не уговоришь включить в поставку Виндовс все борландовские *.BPL и *.DLL файлы...



Это даже не первое, первое - непонятно вообще каким боком VC++ - Visual. Визуальной разработкой там и не пахнет. Да, есть пара левых мастеров для генерации кода, но это по сравнению с тем, что можно сделать с IDE BCB(имеется ввиду написание экспертов и т.д.).

По поводу размера кода - согласен, не на много он и больше получается в BCB. Сам (к слову Я вообще не программист) пишу программы на голом API от 4 кб (оооочень редко). В VCLx0.bpl около 120 компонент и нет ничего страшного таскать ее с собой.
Главное отличие BCB от VC++, то что ты на BCB писать и на голом API и прикрутить любую ООП библиотеку (помимо OVL, MFC которые и так есть)и главное пользоваться преймуществом среды RAD - компонентами, а на VC++ API и MFC(кстати довольно убогая либа).

Цитата:

2.
Еще аргумент в пользу Борланд:
Вам приходилось видеть Microsoft .NET Framework и язык C# ?
Так вот, .NET Framework - это _ПОБЕДА_ технологий Борланд над технологиями Микрософт. Разрабатывать .NET Framework Микрософту помогает создатель Дельфи, и поэтому .NET Framework практически КАК ДВЕ КАПЛИ ВОДЫ похож на Борландовский VCL.


Почему помогает?! Вроде он там главный. И бабок по слухам за доступ MS к технологиям Borland отвалили 125 млн.$. Вот NET и похожа на Delphi.

Цитата:

To ZEREN:
Не слушай людей, ругающих C++Builder.
ДА, C++Builder - это Дельфи на C++. Если ты знаком с Дельфи, то и в C++Builder ты будешь чувствовать себя как рыба в воде. Пользуйся на здоровье.

V
Согласен + по моему мнению VC++ - отстой полный.

3
18 августа 2004 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by GIZMO
Главное отличие BCB от VC++, то что ты на BCB писать и на голом API и прикрутить любую ООП библиотеку (помимо OVL, MFC которые и так есть)и главное пользоваться преймуществом среды RAD - компонентами, а на VC++ API и MFC(кстати довольно убогая либа).


Такой узкий кругозор...
А выражения...
"голый API" - это из раздела порно?
"любая ООП библиотека" - это что за зверь?
OVL, кстати, пишется как OWL.

Кроме того, никто не мешает тебе использовать с VC++ другие оконные библиотеки, например WTL или Qt, MicroWindows, PicoWindows и д.р.

Я не буду хвалить или ругать что-то. Лично мне все равно, где писать. Для меня IDE - это расширенный блокнот, а не культ. Я использую VisualStudio, я довольно хорошо её знаю и она меня УСТРАИВАЕТ.

Ругать и спорить о IDE сейчас уже НЕ МОДНО!

P.S. Опять кто-то бросил гавно на вентилятор и всех понесло... Закрывайте ветку.

294
19 августа 2004 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by Macr0s

у меня 2000 стоит, ХР не уважаю.


И это правильно.

Цитата:

Сервис паки - да, чем старше версия - тем больше тормозит, но посмотрите на тот же офис, который замечательно работает у меня около года (Win2k SP3, на которой дома работаю, я именно столько не трогал, а последний раз переставлял, когда деБилдер заглючил до BSOD, после - даже диск с дебилдером не трогал, так и лежит на полке в дальнем углу).

Почитай про совместимость вот здесь. В примере использована 1С, но в Акцессе от Мелкомягких совершенно та же картина.

Цитата:

А по поводу компиляторов и линкеров от мелкософта - никто лучше не напишет компилятор оптимизированный под данную операционку, чем тот, кто написал эту операционку. (© не помню чей, но это не только моё мнение)


Так вот: по последним испытаниям компиляторов Борланд оптимизировал лучше, чем Мелкомягкие Висуальные. Оба оптимизируют неидеально, но Борланд всё-таки лучше. Кстати, создание объектов у него происходит значительно (порой в разы) быстрее, чем у Висуальных. Вспомню линк -- приведу.

Цитата:

Найдите мне где-нибудь комерческий проект, написаный на деБилдере, чтоб он не глючил и не тормозил. Делфи - да, пожалуёста, шароваршики это любят (после дизассемблирования оч. трудно разобраться в листинге), но не билдер!


Поверьте, я видел грандиозные проекты, написанные на Билдере, и при этом нормально работающие. В широкой продаже их нет, потому как были сделаны на заказ.
Как учит нас товарищ Microsoft, не бывает тормозных программ, бывают медленные компьютеры. Впрочем, тормоза при работе билдеровских программ не замечены. Медленнее, конечно, чем на голом АПИ, но это издержки использования ООП-технологий.

И на последок: Почему в тебя проги на билдере не освобождают выделенную память, а у меня освобождают?
И ещё более напоследок: Программисты на Мелкомягких Висуальных мне напоминают пользователей Макинтошей. И те, вопреки фактам, и другие сидят и гордятся, что они крутые, а остальные -- суксь и мастдай.

294
19 августа 2004 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by Plisteron
быстрее, чем у Висуальных. Вспомню линк -- приведу.


А ведь вспомнил, блин! :D

621
19 августа 2004 года
Бешеный кролик
151 / / 23.03.2004
2 MacRos

А вы могли бы привести примеры, когда Builder допускает именно глюки с памятью? (Я заволоновался). Ваш код не катит, т.к. там очевидная вина программиста.
621
19 августа 2004 года
Бешеный кролик
151 / / 23.03.2004
А кто грамотно прокомментирует вот эту цитату из статьи Plisteron'а:

"Казалось бы, вывод о самом эффективном компиляторе напрашивается сам собой - это Borland Builder C++. Но не стоит спешить. Многие разработчики указывают на ошибки при формировании кода у Borland Builder (в частности, при использовании ссылок его поведение становится непредсказуемым). Кроме того, Borland Builder C++ явно наследует многое от Delphi (один модификатор вызова метода DYNAMIC чего стоит), в результате чего при компилировании абсолютно правильного С++ кода могут возникать ошибки (например, отсутствие множественного наследования для VCL-классов; а все потомки от TObject являются VCL-классами)."?

Действительно ли поведение Builder'a может быть непредсказуемым? Кто-нибудь с этим сталкивался?
294
19 августа 2004 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by Бешеный кролик
А кто грамотно прокомментирует вот эту цитату из статьи Plisteron'а:

"Казалось бы, вывод о самом эффективном компиляторе напрашивается сам собой - это Borland Builder C++. Но не стоит спешить. Многие разработчики указывают на ошибки при формировании кода у Borland Builder (в частности, при использовании ссылок его поведение становится непредсказуемым). Кроме того, Borland Builder C++ явно наследует многое от Delphi (один модификатор вызова метода DYNAMIC чего стоит), в результате чего при компилировании абсолютно правильного С++ кода могут возникать ошибки (например, отсутствие множественного наследования для VCL-классов; а все потомки от TObject являются VCL-классами)."?

Действительно ли поведение Builder'a может быть непредсказуемым? Кто-нибудь с этим сталкивался?


1. Статья не моя.
2. Но я прокомментирую. Все непредсказуемости сгенерированного Билдером кода, с которыми я сталкивался, были следствием ошибок программистов, писавших в этом самом Билдере. Хотя, конечно, тот факт, что VCL для C++Builder написан не с чистого листа, а просто перенесён из Дельфей -- безусловный минус. А то, что потомки TObject являются VCL-классами -- это, как гравитационная постоянная в физике, постулат ООП; действительно, кем являться потомку VCL-класса?

Косяк в том, что Билдер предоставляет очень дружественныю среду разработки и мощную библилотеку классов, поэтому, чтобы начать программировать в Билдере, можно иметь квалификацию ниже, чем необходимую для программирования в Висуальных Сях. Но язык-то один: C++. Причём, в отличие, например, от Ada, позволяющий программисту многие вольности, считая, что программисту виднее, и, в отличие, например, от Visual Basic, не прощающий ошибки. Начинающий программист выбирает C++ Builder (Visual C++ слишком сложный), где-то ошибается, прога глючит, программер всё валит на компилятор. Отсюда и легенда про глючные и неглючные компиляторы.

Кстати, как-то в ФИДО (fido7.ru.c-cpp) был навороченный тест на глючность компилеров C++. С шаблонами и классами. Победил Visual C++ 6.0 (т.е. наибольшее количество косяков было у него), на втором месте Borland C++ 5.5 (именно этот компилер в Билдере используется), на последнем месте -- Intel C++ 6.5.

8.5K
19 августа 2004 года
Macr0s
3 / / 17.08.2004
Ммммда, не думал, не знал ( ;) ) что так далеко зайдёт...
Вообще-то на вкус и цвет в принципе товарищей мало и я извинаюсь, что навязываю своё мнение. просьба не бить ногами. по голове.
а информация интересная... на досуге подумаю...
246
19 августа 2004 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by Green

Такой узкий кругозор...



Я не программист (см. выше, читай внимательней...)

Цитата:

А выражения...
"голый API" - это из раздела порно?



Имелось ввиду просто API.

Цитата:

"любая ООП библиотека" - это что за зверь?
OVL, кстати, пишется как OWL.



"Любых ООП библиотек" у меня куча валяется, если честно Я ими не пользуюсь.
Кстати, OVL - признаю затупил.

Цитата:

Кроме того, никто не мешает тебе использовать с VC++ другие оконные библиотеки, например WTL или Qt, MicroWindows, PicoWindows и д.р.



А этому и в BCB никто не помешает.

Цитата:

Я не буду хвалить или ругать что-то. Лично мне все равно, где писать. Для меня IDE - это расширенный блокнот, а не культ. Я использую VisualStudio, я довольно хорошо её знаю и она меня УСТРАИВАЕТ.

Ругать и спорить о IDE сейчас уже НЕ МОДНО!


Хвалить и ругать можно, но ненужно просто так путать людей.

Цитата:

Опять кто-то бросил гавно на вентилятор и всех понесло... Закрывайте ветку.


Да вместо этого можно было привести реальные доводы в пользу VC++ или против BCB.
Глюки против BCB не катят т.к. тебе уже неоднократно говорили, что это руки и голова которая им покоя не дает(по собственному опыту говорю...).
Размер EXE тоже.
"Серьезность" проекта это вообще бред и как это мерить в кг, в кол. строк кода?. И чего Ты такого "серьезного" написал на VC++ уж не MS Word (единственная полезная, удобная т. е. "серьезная" программа от MS в моеи убогом представлении о "серьезности").:D Ну а если нет, тогда непонятно, что мешает (Тебе, мне, ему) писать "Сурьезный" проект на BCB. У меня в соседнем помещении сидит чел у которого программа по управлению ППР на BCB - реальная, на производстве в несколько десятков кв. км, сотни тысяч ед. оборудования, 7 тыс. чел. персонала.

Т.е. минусов нет давай считать плюсы:
Например - в BCB есть такое хорошее расширение языка как __property, так оно мне нравится (и удобно очень). А в VC++ уж не #pragma data_seg()?
:)

3
19 августа 2004 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by GIZMO

"Любых ООП библиотек" у меня куча валяется, если честно Я ими не пользуюсь.


Так что это такое?

Цитата:
Originally posted by GIZMO

Да вместо этого можно было привести реальные доводы в пользу VC++ или против BCB.


А зачем? Каждый хвалит свой насест.

Цитата:
Originally posted by GIZMO

Глюки против BCB не катят т.к. тебе уже неоднократно говорили, что это руки и голова которая им покоя не дает(по собственному опыту говорю...).


Не понял фразы.
Кстати, что выведет такая прога, скомпилированная в BCB:

Код:
#include <iostream>

template <class T>
size_t func(T& ptr)
{ return sizeof T; }

int main()
{
    std::cout << func("12345") << std::endl;
    return 0;
}


А такой код:
Код:
#include <iostream>

template<class T>
struct A
{
    enum {val=0};
};

template<int N>
struct A<char[N]>
{
    enum {val=N};
};

int main()
{
    std::cout << A<char[5]>::val << std::endl;
    return 0;
}


И в заключении такой код
Код:
#include <iostream>

template<class T, class U>
class B
{
public:
    enum{val=0};
};

template<class T>
class B<class T, int>
{
public:
    enum{val=1};
};

int main()
{
    std::cout << B<int,int>::val << std::endl;
    return 0;
}


У меня нет BCB. Проверьте и скажите, пожалуйста, мне.

Цитата:
Originally posted by GIZMO

И чего Ты такого "серьезного" написал на VC++ уж не MS Word (единственная полезная, удобная т. е. "серьезная" программа от MS в моеи убогом представлении о "серьезности").


Это вопрос ко мне?
Ок. Загляни сюда r-tt.com
Почти все написано на VC++, за исключением того, что под Linux.

Цитата:
Originally posted by GIZMO

:D Ну а если нет, тогда непонятно, что мешает (Тебе, мне, ему) писать "Сурьезный" проект на BCB.


1. Смотри примеры перечисленные выше.
2. Я не знаю, как писать дрова в BCB.

Я не собираюсь спорить, что лучше. Мне удобнее VС++. Почему, я уже указал.

Цитата:
Originally posted by GIZMO

Т.е. минусов нет давай считать плюсы:
Например - в BCB есть такое хорошее расширение языка как __property, так оно мне нравится (и удобно очень). А в VC++ уж не #pragma data_seg()?
:)


Что за зверь?
Объясни и я покажу, что без него можно обойтись. :D
Пойми, лучше то, что ближе к стандарту.

376
19 августа 2004 года
Absolut
220 / / 22.11.2002
Вот всегда такие философские вопросы развивают грандиозную полемику ... А смысла-то от них никакого ... Это как смысл жизни искать.
294
20 августа 2004 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by Absolut
Вот всегда такие философские вопросы развивают грандиозную полемику ... А смысла-то от них никакого ... Это как смысл жизни искать.


Точно.

Модераторы!!!! АУ!!!! Пожалуйста, закройте ветку, пока не началось!

1.6K
22 августа 2004 года
Grom2025
82 / / 20.03.2003
Цитата:
Originally posted by Plisteron

Точно.

Модераторы!!!! АУ!!!! Пожалуйста, закройте ветку, пока не началось!



Действительно! Каждому свое...
Грин прав в Билдере писать драйвера как то не удобно, только потому, что примеров достать негде (правда?)!!!

!!! Однако скажу Грину: Грин, что ты лезешь ко всем со своими мелкими придирками... я тут форум почитал-почитал и в каждой теме твоя насмешка, только вот ничего полезного, почему то ,сказать не хочешь(:)!!!(IMHO) ps. если пишешь дрова, подскажи плиз как написать драйвер под девайс (самодельный) на USB (не важно на чем писать)).

3
22 августа 2004 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Grom2025

!!! Однако скажу Грину: Грин, что ты лезешь ко всем со своими мелкими придирками... я тут форум почитал-почитал и в каждой теме твоя насмешка, только вот ничего полезного, почему то ,сказать не хочешь(:)!!!(IMHO)


1. Я веду беседу только в тех темах, в которых разбираюсь, т.о. про "каждую тему" ты загнул.
2. В моем представлении полезное - это не кусок кода для "списывания", а небольшие маяки для самостоятельного нахождения ответа. Что полезного ты хотел услышать от меня в этой теме? Если что-то в моих ответах задевает твоё самолюбие, можешь их не читать. Если что-то в моих ответах противоречит твоему мнению, ты вполне можешь возразить, но приготовься отстаивать свою точку зрения конкретными фактами и доводами.
3. Дальнейшее выяснение межличностных отношений перенеси в приват, не думаю, что кому-то интересно это читать.

Цитата:
Originally posted by Grom2025

ps. если пишешь дрова, подскажи плиз как написать драйвер под девайс (самодельный) на USB (не важно на чем писать)).


Я писал драйвера под LPT и FS, под USB не писал, но в этом нет ничего сложного. Поставь себе DDK, если он у тебя еще не стоит, и найди там соотв. пример. Примеры в DDK вполне сностные.
Если размер драйвера не имеет строго ограничения по размеру, то можно воспользоваться Driver Studio от Numega.

246
23 августа 2004 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by Green

2. Я не знаю, как писать дрова в BCB.


Я вообще не знаю как писать дрова, но недавно наткнулся на сайт где человек рекламировал ДУ к ПК и все у него было написано на BCB. Плюс в конторе где Я раньше работал люди собирали различные приборы заводили их на ПК и как Ты уже догадался все было писано на Билдере.

3
23 августа 2004 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by GIZMO

Я вообще не знаю как писать дрова,


Тогда зачем говорить о том, в чем не разбираешься.

Цитата:
Originally posted by GIZMO

но недавно наткнулся на сайт где человек рекламировал ДУ к ПК и все у него было написано на BCB. Плюс в конторе где Я раньше работал люди собирали различные приборы заводили их на ПК и как Ты уже догадался все было писано на Билдере.


А с чего ты взял, что необходимо каждый раз писать свой драйвер?

246
23 августа 2004 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by Green

Тогда зачем говорить о том, в чем не разбираешься.



Затем, что если GIZMO не умеет писать дрова и если

Цитата:
Originally posted by Green

2. Я не знаю, как писать дрова в BCB.


то это не значит, что их нельзя писать на BCB.

3
23 августа 2004 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by GIZMO


Затем, что если GIZMO не умеет писать дрова и если

то это не значит, что их нельзя писать на BCB.



Ну и?
Какова конечная идея твоего повествования?
Ты пытаешься убедить меня отойти от VS в пользу BCB в силу того, что на BCB ВОЗМОЖНО тоже можно писать драйвера?
На японском тоже возможно можно писать стихи (хайку), ну и? Японский круче, чем русский? Будем говорить на японском?

В чем смысл этих твоих постов?
Так, ляпнуть? Показать, что BCB круче VS или хотя бы не хуже, на основе того, что ты где-то что-то слышал? Ну флаг тебе в руки, я спорить не буду, мой выбор сделан и уже давно и не в пользу BCB. Почему не в пользу него объясню людям, которые не одержимы дурной мыслью "BCB - cool, VS - suxx".
Я могу перечислить и положительные стороны BCB, но для меня эта положительность не столь важна, а где-то и сомнительна.

P.S. Мне кто-нибудь расскажет о результатах компиляции и выпонения приведенного мною выше кода, точнее трех различных вариантов?

368
23 августа 2004 года
rostyslav
629 / / 13.07.2004
http://www.soldatov.net/

кроме этого, книга Солдатова о драйверах, тоже неплохая (IMHO)

BCB хорошая среда разработки, но действительно большие проекты (>1000 модулей) на нем писать не стоит, компилятор архи медленный.

"BCB - cool, VS - suxx"

такое и обратное может сказать, только начинающий программист.
358
23 августа 2004 года
moonmike
423 / / 18.10.2002
BCB....VS....все лажа=)Поставил себе Dev-C++ и wxWidjet. Третий день любуюсь. Код писать нет ни желания ни необходимости. Имхо, я постиг ДАО програмиста=)
1.6K
23 августа 2004 года
Grom2025
82 / / 20.03.2003
Цитата:
Originally posted by Green
Кстати, что выведет такая прога, скомпилированная в BCB:
Код:
#include <iostream>

template <class T>
size_t func(T& ptr)
[12]{ return sizeof T; }

int main()
{
[16]    std::cout << func("12345") << std::endl;
    return 0;
}



Ответ: ничего не выведет т.к. поругалась
[C++ Warning] Unit1.cpp(16): W8030 Temporary used for parameter 'ptr' in call to 'func<char *>(char * &)'
[C++ Error] Unit1.cpp(12): E2108 Improper use of typedef 'T'
[C++ Error] Unit1.cpp(12): E2109 Not an allowed type


Цитата:

А такой код:
Код:
#include <iostream>

template<class T>
struct A
{
    enum {val=0};
};

template<int N>
struct A<char[N]>
{
    enum {val=N};
};

int main()
{
    std::cout << A<char[5]>::val << std::endl;
    return 0;
}



Ответ: '5' (вывело без кавычек).

Цитата:

И в заключении такой код
Код:
#include <iostream>

template<class T, class U>
class B
{
public:
    enum{val=0};
};

template<class T>
class B<class T, int>
[19]{
public:
    enum{val=1};
[22]};

int main()
{
    std::cout << B<int,int>::val << std::endl;
    return 0;
}



Опять поругалась:

[C++ Error] Unit1.cpp(19): E2434 Template declaration missing template parameters ('template<...>')
[C++ Error] Unit1.cpp(19): E2430 Number of template parameters does not match in redeclaration of 'B<T,int>'
[C++ Error] Unit1.cpp(22): E2428 Templates must be classes or functions

2.6K
24 августа 2004 года
php_error
40 / / 22.08.2004
Насчот Windows 2000 она плохо работает с сетю, а если точнее то тормозит проверено при поиске файлов на удальоной машыне, XP нет. Насчот Билтера и памяты я думаю укаждой программы есть свои плюсы и минусы. Насчот комерческого проекта на билтере могу ответить TuneUp Utilities 2004 написана на ном одной с Немейких компаний.
246
24 августа 2004 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by Green


Ну и?
Какова конечная идея твоего повествования?
Ты пытаешься убедить меня отойти от VS в пользу BCB в силу того, что на BCB ВОЗМОЖНО тоже можно писать драйвера?


Нет. Это Ты пытаешься запутать человека который спросил про BCB. Про драйвера имелось ввиду, что корову молоком удивить легче чем аргументом - "А Я пишу драйвера на VC++".

Цитата:
Originally posted by Green

На японском тоже возможно можно писать стихи (хайку), ну и? Японский круче, чем русский? Будем говорить на японском?


Про японцев...
А то, что Ты зашел на форум по программированию на BCB и пытаешься убедить людей на BCB не писать, тоже что и убедить японцев не есть рис.

Цитата:
Originally posted by Green

В чем смысл этих твоих постов?
Так, ляпнуть? Показать, что BCB круче VS или хотя бы не хуже, на основе того, что ты где-то что-то слышал? Ну флаг тебе в руки, я спорить не буду, мой выбор сделан и уже давно и не в пользу BCB. Почему не в пользу него объясню людям, которые не одержимы дурной мыслью "BCB - cool, VS - suxx".
Я могу перечислить и положительные стороны BCB, но для меня эта положительность не столь важна, а где-то и сомнительна.


Не Я не слушал, Я поставил VC++, помаялся, поставил BCB, после этого снес VC++.

Цитата:
Originally posted by Green

P.S. Мне кто-нибудь расскажет о результатах компиляции и выпонения приведенного мною выше кода, точнее трех различных вариантов?


Ну вот тебе и раз! А кто-то говорил, что знает плюсы BCB, при этом кто-то другой всего лишь, что-то, где-то слышал (не много запятых Я поставил?).

Ладно спорить заканчиваю. Обещаю обязательно прочитать еще одно гневное письмо (но только одно).

Желаю успеха в четверг вечером. Главное, чтобы чехов поменьше на поле вышло!

3
24 августа 2004 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by GIZMO

Нет. Это Ты пытаешься запутать человека который спросил про BCB.
<skip>


Не буду отвечать. Вода это всё, ненужная, безосновательная и бесполезная.

Цитата:
Originally posted by GIZMO

Ну вот тебе и раз! А кто-то говорил, что знает плюсы BCB, при этом кто-то другой всего лишь, что-то, где-то слышал (не много запятых Я поставил?).


Я знаю не только плюсы, но и минусы, и данными примерами показал минусы компилятора BCB.
Grom2025, спасибо за ответ. Как понимаете, все три примера соответствуют стандарту С++ и должны прекрасно компилиться и работать (что и происходит в VC++ 7.1). Раз код не скомпилился, значит, компилятор BCB не соответствует стандарту. Но есть некоторые положительные подвижки: раньше второй пример так же не компилировался, сейчас, как видим, скомпилировался и выдает правильный ответ.

1.6K
24 августа 2004 года
Grom2025
82 / / 20.03.2003
Цитата:
Originally posted by Green

Я знаю не только плюсы, но и минусы, и данными примерами показал минусы компилятора BCB.
Grom2025, спасибо за ответ. Как понимаете, все три примера соответствуют стандарту С++ и должны прекрасно компилиться и работать (что и происходит в VC++ 7.1). Раз код не скомпилился, значит, компилятор BCB не соответствует стандарту. Но есть некоторые положительные подвижки: раньше второй пример так же не компилировался, сейчас, как видим, скомпилировался и выдает правильный ответ.



А вот и насчет первого примера...

Код:
template <class T>
size_t func(T ptr)
{
  return sizeof(T); // вот тут скобочки добавились
}

int main()
{
    std::cout << func("12345") << std::endl;
    Sleep(10000);
    //return 0;
}

Скомпилировался... и выдал '4'
А всего-то скобочки поставил... (Кстати, как это раньше не компилялся... если я использую очень даже старую версию Билдера 5 без патчей и пр...)
294
25 августа 2004 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by Grom2025


А вот и насчет первого примера...
Код:
template <class T>
size_t func(T ptr)
{
  return sizeof(T); // вот тут скобочки добавились
}

int main()
{
    std::cout << func("12345") << std::endl;
    Sleep(10000);
    //return 0;
}

Скомпилировался... и выдал '4'
А всего-то скобочки поставил... (Кстати, как это раньше не компилялся... если я использую очень даже старую версию Билдера 5 без патчей и пр...)


Угу... Афаир, у Кернигана и Ритчи в книге (давным-давно читал), да и в книге Страуструпа (тоже давным-дывано), везде пишется именно sizeof(T), т.е. со скобочками. А в примере для Visual C++ мы скобочек не наблюдаем. Получается, это Visual C++ не соответствует стандартам? ;) ;) ;) ;)

3
25 августа 2004 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Grom2025

А вот и насчет первого примера...
Код:
template <class T>
size_t func(T ptr)
{
  return sizeof(T); // вот тут скобочки добавились
}

int main()
{
    std::cout << func("12345") << std::endl;
    Sleep(10000);
    //return 0;
}

Скомпилировался... и выдал '4'
А всего-то скобочки поставил... (Кстати, как это раньше не компилялся... если я использую очень даже старую версию Билдера 5 без патчей и пр...)



Уважаемый, ты извратил мой пример!
В моем примере передача идет по ссылке:

size_t func(T[COLOR=red]&[/COLOR] ptr)

В итоге и результат неверный. Верный результат 6.

На счет sizeof я, наверное, действительно ошибся, т.к. в стандарте:

sizeof unary-expression
sizeof ( type-id )

В моем примере имеет место вариант с type-id, но это не столь грубая ошибка.
Так, что выдает мой неизвращенный пример (пусть будет sizeof(T) )?

Для злорадствующего Plisteron открою одну тайну: ни один компилятор не соответствует стандарту в полной мере. Хотя, есть утверждения что Comeau соответствует стандарту на все 100%, но я сомневаюсь.
И все же компилятор от VC++7.1 более соответствует стандарту, о чем свидетельствуют приведенные мной примеры.

1.6K
26 августа 2004 года
Grom2025
82 / / 20.03.2003
Цитата:
Originally posted by Green

Уважаемый, ты извратил мой пример!
В моем примере передача идет по ссылке:

size_t func(T[COLOR=red]&[/COLOR] ptr)

В итоге и результат неверный. Верный результат 6.



Простите, действительно извратил...

С [COLOR=red]&[/COLOR] выдает


[C++ Error] Unit1.cpp(18 ): E2357 Reference initialized with 'const char *', needs lvalue of type 'const char *'
[C++ Error] Unit1.cpp(18 ): E2342 Type mismatch in parameter 'ptr' (wanted 'const char * &', got 'const char *')

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог