Вопрос
Мне 13 лет. С детства писал на VB, потом батя заставил учить С++. Под руку запал Borland C++ Builder. Купил книгу А.Я. Архангельского. Мудрен язык. Много не понял. BCB со временем стал надоедать. Полез в инет. Поискал сравнения Visual C++ и BCB. Нашел codenet.ru. Оказалась у BCB мгого минусов.
А его противника расхваливают. Собираюсь пойти купить VC++. Народ, посоветуйте, может книга не та, иль VC действительно лучше.
Здрасьте!
Мне 13 лет. С детства писал на VB, потом батя заставил учить С++. Под руку запал Borland C++ Builder. Купил книгу А.Я. Архангельского. Мудрен язык. Много не понял. BCB со временем стал надоедать. Полез в инет. Поискал сравнения Visual C++ и BCB. Нашел codenet.ru. Оказалась у BCB мгого минусов.
А его противника расхваливают. Собираюсь пойти купить VC++. Народ, посоветуйте, может книга не та, иль VC действительно лучше.
У VC++ тоже глюков хватает. Как у билдера так и у VC++ есть как плюсы так и минусы. Буржуи больше любят VC++. Книжка Архангельского хороша для начинающих, но она скорее по VCL нежели по С++. Выучить C++ по ней нельзя, купи хорошую книжку по С++.
Здрасьте!
Мне 13 лет. С детства писал на VB, потом батя заставил учить С++. Под руку запал Borland C++ Builder. Купил книгу А.Я. Архангельского. Мудрен язык. Много не понял. BCB со временем стал надоедать. Полез в инет. Поискал сравнения Visual C++ и BCB. Нашел codenet.ru. Оказалась у BCB мгого минусов.
А его противника расхваливают. Собираюсь пойти купить VC++. Народ, посоветуйте, может книга не та, иль VC действительно лучше.
А что именно тебе не нравится в BCB?
Очень мощная среда для разработки!!!
Что б сделать что то похожее на VC необходимо потратить гораздо больше времени!
И смотря где ты хочешь програмить.
Если в СНГ, то ВСВ лучшее для этого...
А что именно тебе не нравится в BCB?
Очень мощная среда для разработки!!!
Что б сделать что то похожее на VC необходимо потратить гораздо больше времени!
И смотря где ты хочешь програмить.
Если в СНГ, то ВСВ лучшее для этого...
Вот именно, что в BCB ты не смотришь в корень программы. В vc++ прграммы работают быстрее и меньше вешают.
Причем тут СНГ?
Вот именно, что в BCB ты не смотришь в корень программы. В vc++ прграммы работают быстрее и меньше вешают.
Причем тут СНГ?
Зато крупные задачи на VC++ дольше делаются.
Зато крупные задачи на VC++ дольше делаются.
Но есть одно но. Большие проекты делаются как правило в компаниях, мне же он нужен для мелких программ - html - редакторы, калькуляторы и прочее.
Но есть одно но. Большие проекты делаются как правило в компаниях, мне же он нужен для мелких программ - html - редакторы, калькуляторы и прочее.
Кстати, Saris, можешь посоветовать учебник по с++, его автора.
Зато крупные задачи на VC++ дольше делаются.
:D :D :D
Пример хотя бы тройки известных "крупных проектов" на BCB в студию!
:D :D :D
Пример хотя бы тройки известных "крупных проектов" на BCB в студию!
Это ни чего не значит что на BCB не делают крупных проектов. Многие думают, что VC++ более совместим с Win.
А вообще на самом деле для интереса привелдите примеры известных проектов.
Это ни чего не значит что на BCB не делают крупных проектов. Многие думают, что VC++ более совместим с Win.
Эти "многие" крупные проекты и не делают, т.к. рановато им еще.
Вы пытаетесь сравнить одним махом сразу три вещи (как минимум):
1) среду разрабоки,
2) компилятор,
3) GUI-библиотеку.
Проёдемся по пунктам?
1) назовите мне хоть одно преимущество среды разработки BCB над VC++, некоторые преимущества VC++ я вижу, но это все субъективно;
2) компилятор VC++ 7.1 значительно превосходит и ближе к стандарту, чем BCB компилятор. На чем основано такое утверждение? На работе с шаблонами и на оптимизции кода.
3) VCL действительно удобное средство, до тех пор пока не нужно задумываться о производительности, о результирующем объеме, до тех пор пока не придется сделать шаг в сторону от стандартного набора. Вот и начинается: "А где взять компонент? А почему не работает?" Пользоваться конструктором Лего значительно легче и удобнее, чем токарным станком, но я не слышал ни об одной реальной ракете построенной из этого конструктора.
MFC - тоже не подарочек, но никто и не заставляет пользоваться этой библиотекой. Ассоциация VC++ и MFC - это неправильная ассоциация. Лично я использую WTL, но можно использовать и др. библиотеки, в т.ч. и Qt.
А вообще на самом деле для интереса привелдите примеры известных проектов.
Крупные проекты мало что скажут, перечислю общеиспользуемые. Так... что у меня на машине написанное в VC++...
Офис называть? :D
ICQ, Nero, WinAmp, PhotoShop, Counter-Strike и все остальные игрухи, Outpost, ACDSee и т.д. все перечислять не буду.
Правда есть пару программ написанных на Delphi:
WinComm и TheBAT.
Но Delphi - это не BCB... :D
Здрасьте!
Мне 13 лет. С детства писал на VB, потом батя заставил учить С++.
От бати нет конкретной установки?
От бати нет конкретной установки?
А зачем?
Парень стал искать сам, спросил и сколько уже "услышал". Сколько людей, столько и мнений. Надо пробовать и сравнивать самому.
А хорошая книга (очень хорошая) - Бьерн Страуструп "Язык программирования С++". Эта книга должна быть у каждого, кто работает с С++ (неважно ВСВ или VC).
Эти "многие" крупные проекты и не делают, т.к. рановато им еще.
Вы пытаетесь сравнить одним махом сразу три вещи (как минимум):
1) среду разрабоки,
2) компилятор,
3) GUI-библиотеку.
Проёдемся по пунктам?
1) назовите мне хоть одно преимущество среды разработки BCB над VC++, некоторые преимущества VC++ я вижу, но это все субъективно;
2) компилятор VC++ 7.1 значительно превосходит и ближе к стандарту, чем BCB компилятор. На чем основано такое утверждение? На работе с шаблонами и на оптимизции кода.
3) VCL действительно удобное средство, до тех пор пока не нужно задумываться о производительности, о результирующем объеме, до тех пор пока не придется сделать шаг в сторону от стандартного набора. Вот и начинается: "А где взять компонент? А почему не работает?" Пользоваться конструктором Лего значительно легче и удобнее, чем токарным станком, но я не слышал ни об одной реальной ракете построенной из этого конструктора.
MFC - тоже не подарочек, но никто и не заставляет пользоваться этой библиотекой. Ассоциация VC++ и MFC - это неправильная ассоциация. Лично я использую WTL, но можно использовать и др. библиотеки, в т.ч. и Qt.
Крупные проекты мало что скажут, перечислю общеиспользуемые. Так... что у меня на машине написанное в VC++...
Офис называть? :D
ICQ, Nero, WinAmp, PhotoShop, Counter-Strike и все остальные игрухи, Outpost, ACDSee и т.д. все перечислять не буду.
Правда есть пару программ написанных на Delphi:
WinComm и TheBAT.
Но Delphi - это не BCB... :D
Grenn, я имел в виду крупные проекты на BCB
Grenn, я имел в виду крупные проекты на BCB
Что значит в твоем понимании "крупные проекты"?
Из общеизвестных программных продуктов я не знаю, сл-но и не могу назвать, ни одного на BCB.
Нельзя так ставить вопросы, тебе же пытались уже неоднакратно это объяснить.
Все зависит от области применения.
В любом случае следует изучать С++ и API той системы с которой работаешь. Моё личное впечатление, что большинство пользователей BCB имеют смутное представление, как о языке С++, так и о Win32 API, а VCL - IMHO убогий монстр.
Лично я использовал BCB для создания "бухгалтерских программ" и хотя эти проекты казались "крупными" на самом деле таковыми не являются. По настоящему серьезные проекты выполнялись все в том же VC++. Могу кратко их перечислить:
TurboCAD
FloorPlan
Незабудка
R-Drive Image
и др.
P.S. Сорри за нескромность... :angel:
В свое время под Дос Борландовский компилятор был гораздо более эффективным, сейчас для больших и очень больших проектов, разумнее все же использовать VS. А программы типа Винампа и тому подобное можно писать и на борланде.
Тем более мне кажется не правомочно говорить о большинстве пользователей - которые якобы тупы и не способны. На сколько я понимаю - интеллектуальный уровень человека не определяется компилятором который он использует...:) Если программист ламер - то причем тут борланд?
На сколько я понимаю изначально библиотека VCL и не создавалась для гигапроектов. Основные задачи для которых имеет смысл использовать Билдер и Делфи - быстрая разработка приложений для работы с базами данных, а так же приложений для которых критичным является время разработки.
Если так, то надо еще уточнить для каких именно баз данных. В основном - небольших, таких, как бухгалтерские в небольших фирмах.
Ну на счет времени разработки не согласен в корне.
Время разработки критично всегда и во всех проектах (коммерческих). А создание гибкого нестандартного, удобного интерфейса на BCB как правило затруднено. Обычно программа, написанная на VCL, сразу узнается по относительно убогому, захламленному интерфейсу. Кроме того разработка интерфейсов с использованием не VCL, к примеру WTL, кажется долгой и сложной только новичкам и людям, так скажем, далеким от этого.
Кстати не понятно чем так выделился Делфи для green - и почему он не VCL, но это так, к слову.:D :D :D
Да ничем не выделился, я далек от Delphi, на расстоянии седбмого паскаля. Если ты про перечисления известных программ, то я просто назвал известные мне программы написанные с использованием VCL, других я просто не знаю. Просветите.
В свое время под Дос Борландовский компилятор был гораздо более эффективным, сейчас для больших и очень больших проектов, разумнее все же использовать VS.
Определись, плз, о чем все же ты? О компиляторе, тогда можно назвать и более приемлемые, чем из BCB или VC++.
А программы типа Винампа и тому подобное можно писать и на борланде.
Можно, но почему то пишут на VC++. Только WinAmp был упомянут не в контексте того, что можно на чем написать, а в контексте того, что на чем написано.
Тем более мне кажется не правомочно говорить о большинстве пользователей - которые якобы тупы и не способны. На сколько я понимаю - интеллектуальный уровень человека не определяется компилятором который он использует...:) Если программист ламер - то причем тут борланд?
Первое, я не сказал "тупы и неспособны". Ты можешь указать в моем сообщении такое утверждение?
Второе, я высказывал свое впечатление, подкрепленное некоторой практикой общения в т.я. и в форумах.
Интелектуальный уровень не определяется компилятором, но вот опыт, знания и инструментарий взаимоопределяемы.
Если провести небольшое исследование на этом форуме , так и на других, то получается, что в разделах, где обсуждаются тонкости языка С++, Win32 API, а так же темы OOA&D почему то больше народу работающие с VC++, чем с BCB. Я ничего не утверждаю, но лично меня это наталкивает на некоторые размышления.
Я хочу предостеречь себя и остальных от разворачивания очередных "Священных войн", поэтому абстратный спор, что лучше, лично я прекращаю.
Хотите, давайте обсудим конкретные вопросы сравнения:
1. Соответствие компиляторов стандарту и оптимизированность получаемого кода (не касаемо графических библиотек). А как же еще сравнить, кто из них лучше?
2. Удобство использование, расширяемость и гибкость GUI-библиотек.
3. Удобство самой среды разработки (не касаемо компилятора и GUI-библиотек).
4. Можем сравнить так же различные реализации STL, но это не входит в обсуждение BCB и VC++, т.к. и тот и другой поставляются с одной и той же реализацией.
1. Соответствие компиляторов стандарту и оптимизированность получаемого кода (не касаемо графических библиотек). А как же еще сравнить, кто из них лучше?
2. Удобство использование, расширяемость и гибкость GUI-библиотек.
3. Удобство самой среды разработки (не касаемо компилятора и GUI-библиотек).
4. Можем сравнить так же различные реализации STL, но это не входит в обсуждение BCB и VC++, т.к. и тот и другой поставляются с одной и той же реализацией.
Давайте об удобстве. Когда я вперый раз сел за BCB все было для меня понятно, как в Visual Basic. Потом подумал: BCB или VC++. Установил VC++ 6 и так и не смог ни чего хорошего сделать. Очевидно, что для новичка BCB удобнее.
Давайте об удобстве. Когда я вперый раз сел за BCB все было для меня понятно, как в Visual Basic. Потом подумал: BCB или VC++. Установил VC++ 6 и так и не смог ни чего хорошего сделать. Очевидно, что для новичка BCB удобнее.
Под "удобством" я имел в виду удобство реальной разработки, отладки и т.п., а не "первые впечатления".
Кстати, Green, ты на чем пишешь: BCB или VC++?
Я использую при разработке под Windows(согласно приведенным мною пунктам):
1. стандартным компилятор VC++.NET v7.0
2. WTL
3. VC++.NET
4. STLPort
Но, как уже говорил, и с BCB дело имел.
1. Никто никогда не даст ответ на вопрос, что лучше - Builder или VC. Т.к. сколько людей - столько мнений, а фанатов первого и второго хватает в избытке.
2. Если тебе, ohl, кажется что на Билдере тебе работать удобнее чем на VC, работай на Билдере.
Если ты часто берешся за маленькие проекты, и хочешь писать их очень быстро, то выбирай Билдер. А если ты любишь подолгу посидеть над каждым проектом, углубленно копаться в коде, то выбирай VC.
3. Книга Бьерна Страуструпа "Язык программирования С++" - тебе может показаться слишком сложной. Хотя всеже полистай ее в книжном магазине, если тебе понравится "мудреный" стиль изложения Бьерна Страуструпа, можешь купить. Если не понравится, возьми другую книжку. Рекомендую "Си++ для чайников", после ее прочтения можно купить Страуструпа.
4. Кто тут сказал, что VC-программисты "умнее" BCB-программистов? Сходите в форум Visual C++ (здесь же на CodeNet.ru), и убедитесь, что как здесь так и там частенько проскакивают очень глупые (даже совершенно тупые) вопросы. Почитайте наиболее серъезные темы того форума, и убедитесь сами, что уровень интеллекта примерно тот же что и здесь. По-настоящему продвинутые программеры сидят ИМХО в форуме по Ассемблеру.
5. Хорошим примером кода на VC считаю: VirtualDub.
Плохим примером: Microsoft Windows NT 6.0 ("Longhorn")
Хороший пример кода на Дельфи: TheBat!
Плохой пример: мои первые проекты :)
6. Delphi и C++Builder действительно различаются структурой скомпилированного кода. Дело в том, что Дельфи (aka Object Pascal) разрабатывался Борландом специально под VCL, а при разработке Билдера они были загнаны в некоторые рамки стандарта Си++, поэтому им пришлось немного "расширить" этот стандарт.
7. Если смотреть в будущее, то лет через пять подавляющее большинство программ для Виндовс будут написаны не на C++, а на C#. Так что, возможно, стоит попробовать Borland C#Builder.
8. 2 Green:
Разработкой C# и Microsoft .NET Framework занимается создатель Delphi, от этого .NET SDK почти как две капли воды похож на VCL. А .NET - это будущее программирования для Виндовс, причем это "будущее" уже реально начинает наступать на пятки. Что вы думаете о новом творении Микрософт? "Убогий монстр"? Может быть вы думаете что на C# никто не будет писать крупные проекты? Что MS Office, Photoshop и др. программы не будут переведены на C#? Извиняюсь за резкость, мне действительно интересна ваша точка зрения по этому вопросу.
2. Если тебе, ohl, кажется что на Билдере тебе работать удобнее чем на VC, работай на Билдере.
Если ты часто берешся за маленькие проекты, и хочешь писать их очень быстро, то выбирай Билдер. А если ты любишь подолгу посидеть над каждым проектом, углубленно копаться в коде, то выбирай VC.
Т.е. ты хочешь сказать, что наша фирма, как большинство других, известных мне, и все в которых я работал, выбирают VC++ из-за желания подольше посидеть над проектом? :D
По-настоящему продвинутые программеры сидят ИМХО в форуме по Ассемблеру.
Ты это серьезно? Срочно надо вклиниться в этот форум, чтоб не прослыть простофилей. :D
5. Если смотреть в будущее, то лет через пять подавляющее большинство программ для Виндовс будут написаны не на C++, а на C#. Так что, возможно, стоит попробовать Borland C#Builder.
А менеджеры MS не зря едят свой хлеб...
Рекламные слоганы глубоко вбиты в черепа клиентов.
6. 2 Green:
Разработкой C# и Microsoft .NET Framework занимается создатель Delphi, от этого .NET SDK почти как две капли воды похож на VCL. А .NET - это будущее программирования для Виндовс, причем это "будущее" уже реально начинает наступать на пятки. Что вы думаете о новом творении Микрософт? "Убогий монстр"? Может быть вы думаете что на C# никто не будет писать крупные проекты? Что MS Office, Photoshop и др. программы не будут переведены на C#? Извиняюсь за резкость, мне действительно интересна ваша точка зрения по этому вопросу.
А я то думаю, почему так бестолково вызываются деструкторы в C#, а оказывается все просто: C# создавал человек далекий от С++. :D
Для начала давай определимся, что C# и .NET - это разные вещи. Никто не мешает использовать .NET на C++.
По поводу "крупных проектов", дайте четкую характеристику таковых, тогда можно будет говорить о том, будут ли их писать на C#.
Я сомневаюсь, что программные продукты типа Photoshop будут писаться (а тем более переписываться) на C#, ведь на Java ничего подобного не пишут.
В .NET есть некоторое зерно рациональности, но не надо воспринимать это как панацею. Не сможет .NET конкурировать в производительности с библиотеками, "заточенными" под конкртный язык и ОС. Универсальность ВСЕГДА ведет к потере производительности.
Теперь мое мнение вкратце:
Замещение C++ С#-ом - это миф. C# используется только в контексте .NET, а сл-но только в контексте Windows. Это довольно сырой и IMHO убогий язык (нет шаблонов, нет указателей, нет множественного наследования, механизм сбора мусора в совокупности с вызовами деструкторов - вообще бред).
Я поклонник тонких, изящных врапперов, которые помогают программисту жить и "быть в курсе", а не скрывают от него истоки, предоставляя в замен куций интерфейс (в данном случае я имею в виду не GUI).
"NET - это будущее программирования для Виндовс, причем это "будущее" уже реально начинает наступать на пятки." - это сильно раздутый рекламный слоган. Подобные слоганы постоянно звучат в "телемагазине": "С помошью нашего тренажера Вы можете ничего не делать, жрать сколько влезет, и при этом скинуть n-цать кило. Вы не купили наш супер-пупер тренажер? Как же вы ещё не сдохли от ожирения? Покупайте срочно! Еще срочнее!"
Надо трезво воспринимать действительность, а не свято верить рекламе.
Это и есть мое мнение.
Также извиняюсь за резкость.
Я сомневаюсь, что программные продукты типа Photoshop будут писаться (а тем более переписываться) на C#, ведь на Java ничего подобного не пишут.
В .NET есть некоторое зерно рациональности, но не надо воспринимать это как панацею. Не сможет .NET конкурировать в производительности с библиотеками, "заточенными" под конкртный язык и ОС. Универсальность ВСЕГДА ведет к потере производительности.
Насчет потери производительности - это конечно так. Но ведь мощности компьютеров будут позволять! Представьте себе скорости этих CPU: 4GHz, 5GHz, 6GHz, 8GHz...
Скажите, зачем покупать CPU 10 GHz, если все программы в офисе просто летают на CPU 1 GHz? Микрософт всегда будет делать такой софт, который будет притормаживать на самых новых компьютерах. В этом заинтересованы производители железа.
Мне кажется, C# разработан для того, чтобы можно было создавать программы, которые будут работать на любой платформе. И очень своевременно, т.к. уже появилить 64-битные процессоры. Представляете, в какую копеечку Микрософту влетели бы "двойные" проекты (32bit и 64bit версии) каждой их программы? Они же избавилить от Win9x по той же самой причине - слишком накладно кодить под две такие разные ОС (98 и NT).
Вы говорите, никто не пишет Photoshop на Java. Напишут! MS Office будет одним из первых крупных проектов, написанных под .NET.
Я видел Longhorn. Там ДотНэт - часть ОС, я бы даже сказал что они (Windows и .NET) постепенно сливаются в единое целое. Даже в Internet Explorer 6.5 (такой Эксплорер в Longhorn'е) я нашел библиотеки, имеющие какое-то отношение к .NET.
Я клоню к тому, что какая-то значительная часть кода Windows будет переведена на .NET, а остальные разработчики в мире всегда подрожали Микрософту, и всегда будут подрожать. Это неизбежно.
И еще. Где-то на Microsoft.com я читал, что Микрософт собираются НАСИЛЬНО вытеснить win32, и заменить его .NET (жаль, не помню ссылку), причем они собираются проделать это быстрее чем переход с win16 на win32. (Кстати, прошло 9 лет со дня появления Win95. У вас сохранилась хоть одна 16-битная программа? А много ли у вас программ для DOS?) Чем вы объясните тот факт, что Борланд забросила проект C++Builder, и активно занялась разработкой C#Builder? И что Микрософт собирается очень скоро прекратить техническую поддержку VC++ 6.0?
А Borland похоже больше уделяет NET'у внимания. Заходили несколько месяцев назад на их сайт? Все трубили, что NET is cool.
Ты, SLA, похоже где-то рекламу NET'а увидел. Еще нет уникальных проектов на нем, по крайней мере я не видел. Я считаю, что нужно дождаться нескольких хороших проектов, а потом можно переходить на NET.
А Borland похоже больше уделяет NET'у внимания. Заходили несколько месяцев назад на их сайт? Все трубили, что NET is cool.
Насчет универсализма, С#, .NET крупных проектов и т.д. и т.п.
Что по вашему крупный проект? Тот который все знают? Который стоит у всех на компах?
То что ICQ написан на VC не значит, что все должно быть написано с помощью этого продукта.
О 99% (если не больше) крупных проектов мы с вами никогда не слышали. И далеко не все они написаны на VC и даже С++ вообще.
По настоящему универсализм (я про разные платформы) нужен разве, что Микросовту да другим крупным продавцам софта типа Адоба. Чаще программа создается для конкретного заказа, под конкретную платформу. Я сам был свидетелем, как мой колега вычищал универсальную библиотеку от ненужного (рука не поднимается написать "хлама").
Теперь про помесь жабы и паскаля, романтично нареченную микросовтом сишарп, которая по замыслу создателей станет могильным камнем такого демона как Cрр. Не могу сказать, что я большой спец в этом генетическом уроде (может он и не урод совсем), но по поверхностном ознакомлении с ним я пришел к 2-м железным заключениям:
1 - "С# cool" - не соответствует действительности
2 - ни один программист, пишущий на Cpp, которому нравится Cpp не перейдет добровольно на С#.
Я, например, быстрее уговорю всю свою контору, тем более, что кроме руководства никого больше уговаривать сильно не понадобится, что лучше все программы писать на Линукс - там уж точно никакой .# не появится.
А теперь по существу поста №1 и последующих рассуждений. Абсолютно все правы. Все среды Cpp - просто за...бись.
Вопрос здесь в другом, очень трудно научиться программировать Cpp самостоятельно, особенно когда уже сложились какие-то стереотипы в том же VB, который не имеет ничего общего с программированием Cpp. И начинать надо не со страустрапа и тем более чайников, а с изучения такого языка как Си да с консольных приложений.
Изучать язык нада именно на том продукте, который с первого впечатления показался более удобным, так как оценить все прелести и недостатки того же VC может только опытный программист.
Оптимизация BCB ниже всякой критики, с этим я согласен, возможно с шаблонами VC работает лучше, меня и BCB в этом устраивает, а специально не проверял, но начинающий понятия о этих вещах не имеет. Программер должен сам научиться код оптимизировать...
Мое мнение, наверно, очень спорное, что все книги которые мне попадались написаны по одной рыбе.
Исключение, как не странно Delphi Калверта (в его книгах можно многое узнать не только о языке, а что более важно о алгоритмах, что и как вообще в программе делается).
Программы писать я учился по докумментации, то бишь MSDN и Борландовский хелп.
Угу, а в доказательство того, как программистам на C++ нравится C#, приводят фразы типа "я раньше забывал вызывать delete, а теперь это за меня делает сборщик мусора". Странные какие то программисты на C++.
Переход на Linux - это вполне реально, хотя я от этого не в восторге. Если в России усилят войну с пиратами, то миграция на свободные *nix будет массовая. Уже сейчас фирмы рискуют своей репутацией и деньгами, используя ворованный софт для платформы Windows. Только вот C# и .NET для Linux уже есть. Не знаю, приживутся ли.
А я этому не удивился. Отношения к инструментам для C++ у Борланда всегда были странные. Разве вы забыли, как Борланд лихо кинула программистов, использующих библиотеку OWL? Эта библиотека активно использовалась (до сих пор книги продаются), а они её просто похоронили. То же самое касается Borland C++ (который не Билдер). Вот теперь наблюдаем кидалово со стороны любимого народом Борланда ещё раз. Для сравнения, микрософтовская MFC умирает. Но это программисты переходят на другие платформы/библиотеки. А саму MFC в Microsoft продолжают поддерживать - есть новые версии этой библиотеки и в VC7.0 и в VC7.1. Уверен, будут и в следующих версиях.
Да, есть такие слухи о Longhorn. Но это не означает, что C++ как язык программирования на платформе Windows исчезнет. Просто потому, что можно писать для платформы на C++ (есть такая вещь - managed C++). А в VS.NET 2003, например, визуальный редактор форм доступен не только в проектах на C# или VB.NET, но и в проектах на Managed C++. Наконец то я могу ответить на вопрос: "почему Visual C++ называется Вижуал?" :D Другими словами, есть куча языков для .NET, и C# - просто один из них. И мне кажется, что большая часть программ для этой платформы будет писаться не Шарпе, а на Delphi.NET. Такие дела.
Я совершенно согласен с Fazil6 насчет того, что нужно начинать с Си (а не с Си++) и консольных программ. Зри в корень :), а корень - это Си. (Рекомендую Turbo C или Borland C++ 3.1).Программируя для консоли на Си, научишься многим очень полезным вещам, а главное - по-настоящему поймешь как устроен Си. А это - взаимодействие с железом, файловой системой, и многое другое, чему ты никогда не научишься в VB и Билдере.
Только вот C# и .NET для Linux уже есть. Не знаю, приживутся ли.
Дай ссылку, пожалуйста. Интересно посмотреть. Я думал, .NET для Линукса придется ждать несколько лет.
Но таких программ со временем будет все меньше и меньше. В Windows до сих пор оставлена поддержка DOS, а в Windows9x есть поддержка win16. Кто этим сейчас пользуется? А недавно появилась новая тенденция - крупные программные продукты начали затачивать исключительно под Win2000/XP, и добавлять поддержку Unicode. Т.е. крупные компании уделяют немало времени ПЕРЕПИСЫВАНИЮ кода.
Если уж сам Windows будет переписан под .NET, то со временем .NET будет развиваться и предлогать какие-то плюсы, которых не будет в win32-программах (вроде того, как в Windows98 нет поддержки Unicode, а в WinXP - есть). Люди БУДУТ переходить на .NET.
Сейчас даже вымирающие языки и языки узкого профиля (например Fortran) переделывают под .NET. Однако, по утверждению Микрософт, только СиШарп использует все возможности .NET Framework на все 100%.
Я уверен, что и Photoshop перепишут под .NET, только самые узкие его места оформят в виде unmanaged кода. C++, конечно, не вымрет, он будет использоваться там, где сейчас используют Assembler. (Кстати, 60% кода Photoshop написано на Ассемблере.) Ассемблер тоже не вымрет, но сильно сдаст свои позиции.
Где-то выше в этом топике я написал, что лет через пять все будут кодить для .NET, и почти никто не будет задумываться о скорости выполнения программ. Посмотрим что будет через пять лет:
Начало 1994 г. - появились CPU ~83 MHz;
Начало 1999 г. - появились CPU ~500 MHz;
Начало 2004 г. - появились CPU ~3000 MHz;
Итак, по моим грубым рассчетам, каждые пять лет скорость процессоров выростает в 6 раз. Следовательно:
Начало 2009 г. - появятся CPU ~18000 MHz;
Попробуйте представить, что значит 18 GHz. Так почему бы не написать Photoshop на JAVA ???
Получается, что к моменту выхода Longhorn (2006 год) в магазинах появятся процессоры ~7 GHz. Значит минимальными системными требованиями для Longhorn'a запросто можно сделать 3, 4 или 5 GHz.
2 ohl:
Я совершенно согласен с Fazil6 насчет того, что нужно начинать с Си (а не с Си++) и консольных программ. Зри в корень :), а корень - это Си. (Рекомендую Turbo C или Borland C++ 3.1).Программируя для консоли на Си, научишься многим очень полезным вещам, а главное - по-настоящему поймешь как устроен Си. А это - взаимодействие с железом, файловой системой, и многое другое, чему ты никогда не научишься в VB и Билдере.
Очень, очень спорно. Например, вот что говорит Страуструп:
2ohl: можешь посмотреть ещё сюда.
Дай ссылку, пожалуйста. Интересно посмотреть. Я думал, .NET для Линукса придется ждать несколько лет.
Ссылка вот: gnu.org/projects/dotgnu/]DotGNU. Правда, у меня сегодня весь день сайт GNU не открывается, не знаю, когда они это будут лечить.
Однако, по утверждению Микрософт, только СиШарп использует все возможности .NET Framework на все 100%.
Ерунда. Компиляторы под .NET создают код на CIL (Common Intermediate Language), на который есть стандарт. Все .NET совместимые языки равноправны, именно это написано в документации .NET Framework SDK. Может быть, какой то язык имеет бедные синтаксические конструкции, но возможности .NET он использует все. В конце концов, программист на одном .NET языке имеет возможность использовать код, написанный на любом другом .NET языке без дополнительных усилий (на связывание с другой сборкой тратится целая одна строчка кода) - ещё одно фундаментальное свойство .NET Framework. И тут C++ имеет преимущество, т.к. он позволяет смешивать управляемый (Managed) и неуправляемый код, чего нельзя сделать на C#.
Ссылка вот: gnu.org/projects/dotgnu/]DotGNU. Правда, у меня сегодня весь день сайт GNU не открывается, не знаю, когда они это будут лечить.
Большое спасибо! :) Хотя у меня она тоже сейчас не открывается.
Спорить не буду, т.к. не знаю, умеет ли это C#. Знаю только, что C# умеет подключать и использовать C/C++ DLL-ки.
2 ohl:
У меня прозрение :) Я вдруг подумал, что твой отец, говоря о C++, имел ввиду не VC и не BCB, он имел ввиду сам язык C++ (классы, ссылки, указатели, и т.д.), а значит покупаешь хорошую книжку, выбираешь в Билдере меню File / New / Other / Console Wizard, и начинаешь по чуть-чуть кодить на C/C++. :)
У меня книга до Архангельского была, я там начинал все с программирования Console приложений.
Можете сказать ссылку с хорошим материалом по сишарп. Я о нем смутно слышал.
Кстати, у меня DotGNU запустился, попробуйте зайти.
Можете сказать ссылку с хорошим материалом по сишарп. Я о нем смутно слышал.
Спасибо, отличный ресурс! Кто еще может поделиться ссылками?
Русский портал по Borland C#Builder (создан при поддержке Borland):
http://www.csbuilder.ru/
Англоязычный сайт (Куча советов, FAQ, how-to):
http://www.csharphelp.com/
Кстати, C# нужно ТОЖЕ начинать учить с КОНСОЛЬНЫХ приложений, а не с WinForms.
Ну во первых:
Как-то так сложилось, что большинство тиражируемых проектов разрабатывается в VC.А вот заказные проекты ведутся в BCB(по крайней мере в России) гораздо чаще чем на VC. Из групных и наверное некоторым известых проектов могу назвать КомпасSQL - ERP+MPRII+CRM и куча всего еще. Добавлю от себя, что проект гораздо толковее чем приснопамятная 1С.
ЗЫ:Кстати, есть слухи что C++Builder7 всеже будет, параллельно с C++BuilderX.
Насчет знания системы в принципе(Шаблоны, API и иже с ними):
В том то и плюс BCB по сравнению с VC, что на неофита не обрушивается все сразу. Действительно человек может написать немало крупных проектов, давайте договоримся считатьь крупным проект с трудозатратами не менее 3-х человеколет, и не сном ни духом не знать об API и STL.Но как только ему это понадобится BCB даст ему работать с этими вещами.
О C#:
Опять же только ИМХО, решил я тут маленький проектик на нем накидать, тут же застрял на том что нельзя нормально работать с указателями. Как привык - передал указатель на строку в функцию, поменял ее там и все ок. C# таких выкрутасов не позволяет( об usafe речи не идет). На мой взгляд это одно из крупнейших потерь C# по сравнению с C++.Можно конечно работать и без этого, но имхо, проше на бейсике без GOTO=)))
ЗЫ:Кстати, есть слухи что C++Builder7 всеже будет, параллельно с C++BuilderX.
Вчера я прочитал на Borland.com что они собираются добавить win32 (VCL) в Delphi 8. Это будет называться "Delphi 7.1", и будет доступно как бесплатное обновление для Delphi 7 и 8.
Однако про C++Builder там ни слова. Я уже было подумал, что мы с вами, господа, опять остались на обочине. Откуда ты узнал о C++Builder 7.0 ?
Однако про C++Builder там ни слова. Я уже было подумал, что мы с вами, господа, опять остались на обочине. Откуда ты узнал о C++Builder 7.0 ?
В личке ответ смотри.
ЗЫ:Кстати, есть слухи что C++Builder7 всеже будет, параллельно с C++BuilderX.О C#:
Опять же только ИМХО, решил я тут маленький проектик на нем накидать, тут же застрял на том что нельзя нормально работать с указателями. Как привык - передал указатель на...
Дайте и мне помурлыкать :)
Как безмерен был и мой "гнев" на С#, когда не получалось на однотипных элементов натравить один
обработчик cобытия (вроде как просто и привычно
в Buildere):
void __fastcall TComnBaseFrm::RGFaceChange(TObject *Sender)
{
TDBRadioGroup* rg=(TDBRadioGroup*)Sender;
....
Тоже все вспоминал про "отсутствие указателей"
Однако потом успокоился (там ведь и так все объекты в куче живут):
private void pictBox_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
System.Windows.Forms.PictureBox pict=(System.Windows.Forms.PictureBox)sender;
if(e.Button==MouseButtons.Right)
{
if(openFileDialog.ShowDialog() == DialogResult.OK)
pict.Image=Image.FromFile(openFileDialog.FileName);
}
....
А в общем-то в NET-е очень даже много чего удобного и полезного наворочено (по сравнению с VCL) чего мы просто еще и не постигли. Так что рано вроде бы как хаять это все...
ЗЫ:Кстати, есть слухи что C++Builder7 всеже будет, параллельно с C++BuilderX.
Чтой-то я тоже линка не обнаружил ( о C++Builder 7.0) ?...
Чтой-то я тоже линка не обнаружил ( о C++Builder 7.0) ?...
Больше надо с людьми общаться, меньше по сайтам лазить=)).
В общем скорее всего до выхода Longhorn Builder не умрет. Может не выйдет 7. Но будет что-нить типа апдейта, который доведет его функциональность до уровня Дельфи 8. В общем это наиболее вероятное развитие событий.
Больше надо с людьми общаться, меньше по сайтам лазить=)).
Про людей согласен, а вот про сайты - рад бы, да...
Я сейчас процентов 80 своего времени провожу в DOS - отлаживаюсь с "железом". Это тоже в тему - "кто сейчас использует 16-ти разрядные приложения ?". Я, правда, и сам еще год назад не ожидал, что придется поднимать и перетряхивать билиотеки 10 летнй давности, но факт есть факт - теперь мой основной струмент - BC 3.1
Но будет что-нить типа апдейта, который доведет его функциональность до уровня Дельфи 8.
Delphi 8.0 - это среда разработки .NET-приложений. Идентична C#Builder 1.0, только на Паскале.
Я узнал абсурдную новость:
Борланд собирается делать VCL для .NET!!!
Это для того, чтобы было легко портировать существующие VCL-win32 приложения на .NET. Но это про Дельфи. Как там насчет C++Builder -> C#Builder я не знаю.
Хорошая тенденция. Наконец-то они услышали мольбы многих тысяч программистов, и пошли на уступки.
Delphi 8.0 - это среда разработки .NET-приложений. Идентична C#Builder 1.0, только на Паскале.
Я узнал абсурдную новость:
Борланд собирается делать VCL для .NET!!!
Это для того, чтобы было легко портировать существующие VCL-win32 приложения на .NET. Но это про Дельфи. Как там насчет C++Builder -> C#Builder я не знаю.
Хорошая тенденция. Наконец-то они услышали мольбы многих тысяч программистов, и пошли на уступки.
Я эту новость уже в действии видел=)Дело даже не столько в портировании программ сейчас, а в том что Микросукс грозиться win32 выкинуть из Longhorn. При этом Дельфя 8 совсем не идентична C#Builder'у, поскольку работает всеже с VCL объектами а не с .Net.
1) VC НЕ СООТВЕТСТВУЕТ СТАНДАРТУ!!! Многие свои программы из BC я успешно перенёс из Windows в Linux/Unix(GCC), однако с VC даже не компилируются, а при модификации возникает масса проблем. У VC даже синтаксис не во всём соответствует стандарту! Что уж говорить о библиотеках, которые в С++ с момента появления и стандартизованы и признаны давно и всеми!
2) VC ГЕНЕРИРУЕТ МЕНЕЕ ЭФФЕКТИВНЫЙ КОД, чем BC. Кто бы в чём меня не пытался убедить, я потратил много времени на сравнение временных характеристик кода, полученного этими компиляторами; я никому не верил, всё дизассемблировал и анализировал). Иногда VC полностью сводит на нет всю возможность повышения производительности средствами гибкости синтаксиса Си. Вопрос: тогда зачем нужен Си, если компилятор перечёркивает добрую половину его достоинств???
PS: BCC32.exe forever, даже при всех его глюках :)
[!] Для компиляции FAR Manager использовался Borland C/C++ 5.02. MSVC 6 SP4 не оправдал ожиданий (FAR 1.70 beta 1) и добавил тормозов (работа с выделением памяти для мелкими объектов).