Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];

Вниз

Принципиальные отличия писания программ в C++ Builder и MVS C++   Найти похожие ветки 

 
Ghg   (2002-10-10 09:55) [0]

Собственно сабж.

Могу описать поподробнее. Писал на Delphi, теперь хочется попробовать на C++. Так вот на чем писать удобнее, проще, есть ли ограниченияу одного по сравнения с другим?

Если уже обсуждалось дайте ссылку.

С наилучшими ...


 
Dimka Maslov   (2002-10-10 10:30) [1]

Смотря что ты собираешся писать. GUI приложения или вспомогательные библиотеки? В первом случае лучше конечно билдер, во втором - мелкомягкие си. Особой разницы между ними нет, но иногда возникают проблемы при компиляции программ, отлаженных в другой среде.


 
NeyroSpace   (2002-10-10 10:34) [2]

Есть аналогичное желание.
мелкософт связка MSVC - VB
борланд C++ - Delphi
А еще проги на MSVC используют библиотеку MFC (если не ошиб.).
Она встроена во все Windows и поэтому дает ощущение, что проги на MSVC маленькие.
Если не нужны проблемы с написанием ну очень системных прог, то лучше MSVC.
А если нужно использовать наработки на *.PAS, то BС++ в самый раз.


 
Johnny Smith   (2002-10-10 11:43) [3]

Нет в жизни счастья! :)))
Около года назад пришлось мне столкнуться с Сями. До этого я их в глаза, конечно, видел (лет шесть назад баловался, будучи на 4 курсе), но чтобы так!
Короче, нужна была внешняя библиотека для Оракла. Идея была в принципе логичная: написать и отладить ее на ANSI C (кроссплатвормный язык типа!) с помощью MSVC для виндового Оракла, а потом перекомпилить под Солярку на gcc.
Ага. Щаз. Во-первых, некоторых функций, существующих в MSVC, на gcc нет. Причем ни одна б... в MSDNе не указала, принадлежит ли такая-то функция стандарту ANSI C.
Ладно, хрен с ним. Нашел другие функции. Откомпилял. Заработало. Но неправильно. То есть откомпиленная на MSVC работает правильно, а на gcc - нет!
Полтора дня убил, чтобы найти глюк. Так вот, это был безобидный участок кода, доп. проверка условия, которая в принципе была не очень нужна. Закомментарил. Перекомпилял на gcc. Тогда заработало правильно.
Так что... Выбор, что юзать при написании Сишных и С++ных программ - вопрос стратегический. Напишешь на одном - фиг на другом перекомпиляешь.


 
Странник   (2002-10-10 11:45) [4]

MSVC - суть есть не полный стандарт С++.
т.е. исходник, который нормально компилируется в GNU (UNIX, Linux), в Borland C++ & other POSIX compliant compilers совсем не обязательно пройдет для мелкомягкого С++ и наоборот.
В общем - очередной выпендреж Мелкософта - мол, а мы и здесь не такие, как все.
А "формочки" клепать в VC - мазохизм.


 
Johnny Smith   (2002-10-10 12:35) [5]

2Странник © (10.10.02 11:45)
А "формочки" клепать в VC - мазохизм.
В общем, да.
Если уж писать на VC - то на чиcтых WinAPI. Ведь, как я погляжу, НИ ОДИН серьезный проект, выполненный на VC, не юзает MFC.


 
KSergey   (2002-10-10 14:05) [6]

> Johnny Smith © (10.10.02 12:35)

Интересно было бы спросить: а MS Word - это серьеный проект?

> Особой разницы между ними нет, но иногда возникают проблемы
> при компиляции программ, отлаженных в другой среде.

Я правда может не совсем вас понимаю, тут видимо смотря какими средствами пользоваться.
Если использовать просто как компилятор с Си (возможно ++) - то может и да, хотя, конечно, вполне легко наткнуться и на нюансы, как у Johnny Smith. Но это все же "нюансы".
Если использовать только Win API - тогда наверое тоже примерно все равно, оно ни к чему не привязано, понятно: вызывай себе и вызывай интерфейсные ф-ции в нужном порядке (а к стати: собственно в этом программизм ведь и заключается, пожалуй! о! инетерсно, оказывается ничего сложного.. Ну разве что иногда не в том порядке вызываешь - ну дак опять же сам виноват ;).
А вот если говорить о тех библиотеках поддержки, что с ними поставляются - то тут уже ну никакой совместимости в принципе. С VC++ идет MFC, и весь интструментарий предназначен для облегчения его использования, с C++ Builder идет VCL (надеюсь). Т.е. по сути это дельфи, но на Си. Ну в нюансами конечно опять же, но примерно так. Т.е. тут уже ни о какой взаимозаменяемости речь принципиально не идет.


 
Дмитрий Баранов   (2002-10-10 14:24) [7]

Насчет GUI-приложений в VC - есть мнение, что у этих засранцев в MS есть своя библиотека a-la Builder, но для внутреннего пользования, и народу они ее не отдают... Ну вот откройте MS SQL Enterprise Manager, или офис поновее - такие контролы на MFC, имхо, затрахаешься писать. Вообще стиль MFC-шных приложений видно за версту - взгляните на ErWin :) Ядро мощное, но интерфейс - корявый-прекорявый.


 
Странник   (2002-10-10 14:54) [8]

> KSergey © (10.10.02 14:05)
Повторюсь.
Различия Мелкософтовского С++ и всех остальных (я ведь ни слова не сказал о библиотеках) иногда доходят до абсурда.
Еще 18 лет назад в реализации С от Кернигана-Ричи, равно как и потом в ANSI-C, была возвожность использовать массивы нулевой длины - попробуй в MSVC C++ 6.0 - фигу с маком, только в .net реализовали - и то с оговоркой.
И это только один из многих примеров.


 
qube   (2002-10-10 14:59) [9]

Откуда такое единодушие в критике Microsoft, просто поразительно.
Компилятора С++, который бы полностью соответствовал новому стандарту языка, просто нет. Одни не поддерживают аругментов шаблонов по умолчанию, в других счетчик цикла, объявленный внутри for, виден снаружи, и т.д., и т.п.


 
Странник   (2002-10-10 15:17) [10]


> соответствовал новому стандарту языка

стандарт C принят так давно, что об этой дате только в летописях.
ANSI-С++ немного позже, но тоже очень давно.


 
qube   (2002-10-10 15:23) [11]

Последний действующий стандарт, в к-м ввели namespace"ы и проч., был принят относительно недавно, в 1997-м, кажется. И ни один компилятор полностью требования последнего стандарта не выполняет.


 
Suntechnic   (2002-10-10 16:21) [12]

Иногда почитаешь местные форумы и прямо диву даёшься. Тот тут вопрос возникает типа "а какие серьёзные продукты на Делфи написаны?", а то вдруг народ заявлет, что "НИ ОДИН серьезный проект, выполненный на VC, не юзает MFC" :))). Может я чего то пропустил в этом мире? Расскажите тогда мне на чём их всё-таки пишут эти "серьёзные проекты" :).

А вообще техника в руках дикаря это кусок железа, будь то Делфи, Билдер или VC. Я уже неоднократно здесь говорил, что матерятся на VC только те кто его не знает. И "формочки" там "клепать" точно такой же мазохизм, как и где бы то ни было в другом месте. Их просто надо уметь клепать вот и всё.



 
Johnny Smith   (2002-10-10 16:56) [13]

2Suntechnic © (10.10.02 16:21)
Ну-ну...
Вы что, объявляете крестовый поход за поруганную честь MFC? Тогда флаг вам в руки, два плюса на спину, перо в... Ну, не хотите туда, тогда в шлем :))))


 
qube   (2002-10-10 17:01) [14]

Johnny Smith © (10.10.02 16:56)
Продуманные доводы, ничего не скажешь.


 
Johnny Smith   (2002-10-10 17:07) [15]

2qube © (10.10.02 17:01)
Johnny Smith © (10.10.02 16:56)
Продуманные доводы, ничего не скажешь.

Да просто не хочу повторять то, что сказали в этой ветке
Странник © (10.10.02 11:45) и Дмитрий Баранов © (10.10.02 14:24).
Или повторить для товарища с флагом?



 
qube   (2002-10-10 17:15) [16]

Johnny Smith © (10.10.02 17:07)
Насчет Странник © (10.10.02 11:45), т.е. соответствия стандарту, я уже сказал выше, и тоже повторять не хочу. У Дмитрия Баранова -- только ничем не подтвержденное "мнение". "Засранцы из MS" -- отличная фраза для юного читателя журнала "Хакер". От мастеров я почему-то ни разу такого не слышал. Насчет серьезных проектов тоже целиком поддерживаю товарища с флагом, как вы изволили выразиться.


 
Johnny Smith   (2002-10-10 17:26) [17]

Дорогой qube ©, если Вы объясните мне, тупорылому неучу, какие классы из MFC юзались, скажем, в Photoshop"е, или Corel"е, или Business Objects"е, или Bryce"е (кроме, пожалуй, CWnd, CMenu и других основополагающих), я буду весьма Вам признателен.
Надеюсь, вы не отнесете перечисленные мной проекты к несерьезным.


 
qube   (2002-10-10 17:38) [18]

Johnny Smith © (10.10.02 17:26)
Нет, это Вы мне, неопытному, объясните, какие компоненты VCL юзались в Photoshop"e.
Да так вопрос даже ставить нельзя.


 
Johnny Smith   (2002-10-10 17:42) [19]

2qube © (10.10.02 17:38)
Вы утверждаете, что Photoshop писался с помощью VCL?
И откуда такие данные? Посмешите-ка меня и других участников форума!


 
qube   (2002-10-10 17:47) [20]

Johnny Smith © (10.10.02 17:42)
Читайте внимательнее.
По-вашему выходит, что если в Photoshop не использовано ничего, кроме CWinApp, CFrameWnd, etc, то MFC в серьезных проектах не используется. Значит, VCL -- тем более не используется в "серьезных проектах", по вашей же логике.
А грубить не надо.


 
Johnny Smith   (2002-10-10 18:00) [21]

2qube © (10.10.02 17:47)
А грубить не надо.
Ну-ка, приведите пример грубости?
По-вашему выходит, что если в Photoshop не использовано ничего, кроме CWinApp, CFrameWnd, etc, то MFC в серьезных проектах не используется. Значит, VCL -- тем более не используется в "серьезных проектах", по вашей же логике.
Да нет, это у Вас с логикой не в порядке. Объясните, как у Вас получилось отождествить MFC и VCL? Если такое говорил я, приведите ссылку.


 
Suntechnic   (2002-10-10 18:04) [22]

Дорогой Johnny Smith ©. Вам здесь никто ничего не собирается доказывать, если вы ещё ничего не поняли. А на поруганную честь MFC мне ещё больше начхать чем Вам. Доношу до Вас свою мысль, если вы её не поняли из моего поста "Техника в руках дикаря кусок железа".
А насчёт "серьёзных проектов"... я лично каждый свой проект считаю серьёзным. И писал я их как на VCL, так и на MFC(причём это ещё вопрос на чём я писал больше). И мазохистом себя не чувствовал ни на секунду нигде... выводы делайте сами.


 
qube   (2002-10-10 18:06) [23]

>Ну-ка, приведите пример грубости?
Хотя бы "это у Вас с логикой не в порядке"
Давайте не будем ссориться, коллеги, все-таки. :)
Всегда между сторонниками MS и Borland драка выходит. Я не отношусь ни к первым, ни ко вторым. Просто крики "M$ - ацтой" основательно достали.
Попытаюсь повторить qube © (10.10.02 17:47) другими словами.
VCL не используется в Фотошопе. Следовательно, VCL использовать несерьезно, так? Относительно MFC у Вас же так получалось?


 
Suntechnic   (2002-10-10 18:09) [24]

>Johnny Smith © (10.10.02 16:56)
Ну-ка, приведите пример грубости?


Вот это можно воспринимать как грубость несмотря на смайлики в конце. Всё зависит от мира и интернето восприятия человека. Так как вы наверняка не знаете восприятие своего оппонента, то я бы воздержался от подобных фраз... хотя лично для меня они ничего не значат. Я их просто игнорирую.

Johnny Smith © (10.10.02 16:56)
2Suntechnic © (10.10.02 16:21)
Ну-ну...
Вы что, объявляете крестовый поход за поруганную честь MFC? Тогда флаг вам в руки, два плюса на спину, перо в... Ну, не хотите туда, тогда в шлем :))))




 
Johnny Smith   (2002-10-10 18:12) [25]

2Suntechnic © (10.10.02 18:04)
Вам здесь никто ничего не собирается доказывать, если вы ещё ничего не поняли.
Спасибо! А то я было подумал, что нахожусь на уроке геометрии.
А на поруганную честь MFC мне ещё больше начхать чем Вам.
Мелочь, а приятно!
А насчёт "серьёзных проектов"... я лично каждый свой проект считаю серьёзным.
А я, представьте, не все. Мне кажется, Вы не вполне самокритичны. Неужели ни разу, взглянув на написанное пару лет назад, Вы не воскликнули: "И это писал Я???". Нет, может быть Вы изначально были непогрешимым программистом и Вам не нужен профессиональный рост, во время которого всегда производятся переоценки сделанного ранее.
И мазохистом себя не чувствовал ни на секунду нигде
Браво!


 
Suntechnic   (2002-10-10 18:19) [26]

>Johnny Smith © (10.10.02 18:12)
А я, представьте, не все. Мне кажется, Вы не вполне самокритичны. Неужели ни разу, взглянув на написанное пару лет назад, Вы не воскликнули: "И это писал Я???". Нет, может быть Вы изначально были непогрешимым программистом и Вам не нужен профессиональный рост, во время которого всегда производятся переоценки сделанного ранее.


Не путайте котлет с мухами. То что я считал проект серьёзным совсем не означало, что имплементация была идеальная. Между этими понятиями вообще никакой связи нет. Естественно на любой проект смотришь через пару лет и понимаешь что кое-что можно было сделать лучше. Но это этого проект "менее серьёзным" не становится. Мне лично просто смешно, когда на этом сайте начинаются дебаты "серьёзных проектов".


 
Дмитрий Баранов   (2002-10-10 18:52) [27]

qube © (10.10.02 17:15)

Давайте оставим взаимные оскорбления.

Имею обыкновение почитывать и разбирать по вечерам примеры MSDN, в том числе Q&A: C++, среди моих любимых авторов - Paul di Lascia, один их ведущих программеров MS. Вы не разбирали примеры создания CoolBar на MFC? В Builder это делается в десяток щелчков мышкой. Почитайте! Вечера три на разбор иерархии классов, стиля программирования и ковыряния в низкоуровневом апишном коде у вас уйдет. При том, что в 98 этот пример работает прямо, а в 2000 - криво. Попробуйте! :) Потом объясните мне, пожалуйста, неужели настолько сложно этим монстрам в конце концов сделать нормальную RAD-библиотеку для народонаселения?
( Про C# - не надо )


 
Странник   (2002-10-10 20:31) [28]

> Suntechnic © (10.10.02 18:19)
поясню что я имел ввиду под "мазохизмом".
Именно то, что сказал: формочки клепать как привыкло большинство начинающих - взял батон с панели - сунул на формочку - и ура, комплекс программ готов.

А если серьезно, то инструмент выбирается под проект, а не проект под инструмент.
Если какая-то часть д.б. или проще ее сделать на VC+MFC, значит так оно и будет и т.д. и т.п.

А вот отсутствие массивов нулевой длины меня совсем не радует, люблю я это дело :)



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.01 c
1-101271
Vladislav
2002-10-22 14:22
2002.10.31
ShellExecute


14-101495
anpsoft
2002-10-11 17:42
2002.10.31
Ох уж эти провайдеры


3-101071
555
2002-10-13 20:18
2002.10.31
Как поместить графическое изображение в TDBGrid


6-101420
Ferrum
2002-09-01 13:02
2002.10.31
Подскажите как скроллировать страницу в TWebBrowser


3-101156
Muhin
2002-10-11 10:37
2002.10.31
ADO+Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский