PDA

Просмотр полной версии : Какой компилятор выбрать?


StRaNNiK
11.03.2007, 19:56
Такой вопрос. В с++ вообще не осведомлен. Не знаю даже про компилятор. До этого Delphi пользовался. Поэтому знаю, какая версия самая последня.
Поэтому вопрос такой: какая версия Visual C++ самая последняя? У меня где-то валяется 6-ая. Но она у меня валяется уже года 3.
Выходили ли новые версии?
Кстати, что это за Visual Studio?

pnp2000
11.03.2007, 23:16
Visual Studio это фактически и есть оно , в её составе есть Visual C++ . к ней можно прикрутить интеловский компилятор и впихнуть VTune .
А помимо это есть ещё GCC , но под него надо искать IDE . Как я понимаю тебе надо IDE и компилятор в одном пакете , а вобще лучше скажи для чего тебе это , что писать то будеш ???

StRaNNiK
12.03.2007, 07:38
именно, нужен компилятор и ide в одном пакете. ну как delphi.
что буду делать? учиться программировать.
просто я не знаю, какая версия visual c++ последняя.
Кстати, я тут посмотрел, этих visual studio целая куча.

Borland
12.03.2007, 15:38
какая версия visual c++ последняя.
2005 SP1, из соответствующей версии Visual Studio.
Хотя для изучения именно c++ (а не новомодных фишек .Net) лучше взять версию постарее (6.0 или даже 5.0).
Как вариант, для облегчения перехода с Delphy можно взять другую IDE - Borland C++ Builder 2006 из состава соответствующей Borland Developer Studio. Она значительно ближе к Delphy идеологически... ;)

StRaNNiK
12.03.2007, 22:36
но, если не ошибаюсь, в билдере и код немного другой по сравнению с visual c++?
а почему стоит взять старую версию, а не начать с новой? будут какие-то трудности?

Sergusha
14.03.2007, 22:53
Думаю, что повторюсь (где-то я видел уже эти реккомендации ;) ), но если ты планируешь в дальнейшем заниматься программированием для Windows всерьез, то лучше конечно выбрать Visual Studio 2005 и работать на нем. Borland C++ Builder проще для новичков.

Borland
14.03.2007, 23:20
а почему стоит взять старую версию, а не начать с новой? Дело не в трудностях. Просто в связи с усиленным проталкиванием M$ технологии .Net, использование "чистого" Win32 API и тем более C++ в версиях Visual Studio старше 6.0 весьма затруднительно.
Проще говоря: сам язык С++ - лучше изучать на GNU C++ compiler (gcc), программирование на C++ для Win32 - на M$ VC++ 5 или 6, работу в .Net на C++ - на M$ VC++ 2005.
Если хочется просто по-быстрому "перескочить" с Delphy на C++ - Borland C++ Builder будет решением близким к идеалу. Просто нужно выбрать версию BCB соответствующую версии Delphy, при этом в 99% случаев достаточно будет просто заучить (несильно заметные в данных продуктах Borland) различия в синтаксисе pascal и с++.
В общем, выбор инструмента должен определяться целью.

StRaNNiK
15.03.2007, 20:56
кстати, а что скажете про С#? Слышал, что перспективный язык. Якобы "код стал проще, понятнее, компактнее, программы работают быстрее".
Наверно он и правда перспективен, раз использует .NET? Как вы думаете?

Borland
15.03.2007, 22:04
Под .Net особой разницы в используемом языке программирования нет - пиши на чём умеешь, результат практически одинаковый.
Другое дело, что C++ программа, использующая только чистый Win32 API запустится на любой Win32-системе (начиная с NT 3.51) и будет максимально эффективна по производительности по сравнению с программами, использующими любые надстройки над ОС (в частности MFC и .Net). А .Net программа с той же функциональностью обязательно требует наличия на машине фрэймворка (который не на каждую ОС встанет) и отжирает существенно больше ресурсов...
К сожалению (а может и к счастью), современные PC-программисты в большинстве своём уже забыли о самом понятии "эффективность исполнимого кода", в чём им существенно помогли производители железа и одна софтверная компания... "Когда микропроцессоры были большими" двукратная разница в скорости выполнения чистого C++ кода и того же кода на Visual Basic означала весьма существенные тормоза (грубо говоря, одна или две минуты - существенная разница). При нынешней производительности железа сравнение идёт уже в категориях "одна или 2 сотых секунды", что далеко не столь драматично...
И что же мы имеем в результате? Огромное количество кодеров воплощает самые безумные идеи при помощи самых современных технологий - потому, что это стало намного проще. В результате мы имеем огромное количество монструозных программ - чуть ли не каждый "программист" стремится сделать программу "с вот такими офигительными рюшечками", функционально практически неотличимую от своего прообраза 10-летней давности, но при этом в разы более прожорливую в отношении системных ресурсов. Об эффективном их использованииуже можно не заботиться - благо, они есть с большим запасом... Лично мне - грустно...
Раньше программирование было искусством, теперь наблюдается постепенный переход от ремесла к хобби... Результаты соответствующие...
Прошу прощения за оффтопик... Наболело!
Не имел ни малейшего намерения обидеть программистов, но если кого ненароком обидел - простите!

pnp2000
15.03.2007, 23:50
флудящий модератор , всё ППЦ форуму :) :) :)

кстати, а что скажете про С#
Это далеко не Си , вобщем сравнивать С# c Си всёравно что сравнивать Си и Visual Basic , сейчас писать код для Windows на чистом Си (без фреймворков и т.д.) задача непростая , ибо большую часть красивости windows реализуется именно через все эти расширения , и писать хорошие программы на Си для Win научится достаточно сложно , я имею ввиду что то действительно полезное , а по поводу
раз использует .NET
то Net исползуется не только С# но и С++ бейсиком и J++ , Net это в обще такая штука что она не привязанна к языку програмирования , а вобще можеш продолжать юзать дельфи , последнии версии позволяют делать очень многое и разница между паскалем и C# не такая большая , уж лучше продолжай с дельфёй , научись писать свои полноценные модули , в общем нет особого смысла заниматся полным переучением , ведь дельфя не так плоха если идти дальше чем собирание в кучу разных модулей написанных разными людьми

PSyton
16.03.2007, 06:46
Что за чушь про Borland C++? И что за бред про VC6? В каком месте они проще и удобнее? А то что во втором компилятор очень странный, а в первом куча VCL-ных косяков, которые никто не фиксит. Это очень большой плюс я так полагаю - третий к с++? На VS2005 можно написать все что угодно и по удобству работы она намного превосходит предшественников. Не хочешь .NET проекты - не пиши. Голвый winAPI пишется за милую душу. И это будет нормальный C++ а не поделка от борланда. И код получится более совместимый с тем же gcc, при желании.

2 Borland Респект. Мне тоже грустно.
Каждый мнит себя мега-программистом, ваяя мега-проекты которые считают 2+2, но зато делают это очень "изящно". Все гонятся за количеством, а не за качеством и это не только можно отнести к мелким компаниям однодневкам, которые сделаи проект за неделю, срубили денег и забыли про него навеки, но качество продуктов крупных компаний стало хуже.

pnp2000
16.03.2007, 09:24
но качество продуктов крупных компаний стало хуже.
Я не понимаю что вы хотите то-то , все хотят получать много денег , а для этого надо продавать много продукта и не важно его качество , бизнес диктует свои правила , хотите что-то изменить так где же найти романтиков , сейчас большинство программеров продаст свою задницу как можно дороже оправдая это тем что надо кормит семью и т.д. , короче как ни крути почти все хотят бабла , это вам не Сов.Союз

Borland
16.03.2007, 11:51
PSyton, насчёт "VCL-ных косяков" в Borland C++ - полный бред. В C++ Builder'е - да, соглашусь. Но косяки-то там те же самые, что и в Delphy...
А Borland C++ с VCL не работал никогда. И распоследняя версия этого продукта (5.02) датируется мартом 1997 года... Кстати, для работы в чистом Win32 API - пожадуй что лучше, чем любые версии Visual Studio. И для изучения языка C++ - тоже.

StRaNNiK
16.03.2007, 13:50
т.е., я так понимаю, что если программировать на .NET, то нет разницы, где: в последней версии Delphi или Visual Studio? код будет одинаков что ли? Или все же какие-то особенности будут?

Borland
16.03.2007, 14:10
Особенности - будут. Но непринципиальные.
Хотя реализация .Net от M$ предпочтительнее...

yan_kos
17.03.2007, 15:46
2 StRaNNiK что имено ты планируешь в будущем писать? так как логичней подбирать инструмент под задачу а не задачу под инструмент ;)
Если планируешь писать большие проекты тока под винду (в том числе и Висту) то предпочтительно .NET на C# или C++
Если под винду небольшие апликушки тогда можно и что то от Борланда (Дельфи ити С++) или же просто Visual С++
Если хочеш писать кроссплатформенные тогда Java либо С++ для него есть компиляторы и фреймворки под каждую ОСь и процессор

StRaNNiK
17.03.2007, 16:47
Пока планирую писать "небольшие апликушки" :) но возможность использовать код, написанный в с++ под виндой под linux, например, тоже интересует. Поэтому, наверно, остановлюсь на с++.
Только есть еще несколько вопросов:
1. Похож ли синтаксис с++ и с#? т.е. легко ли будет перейти с первого на второе в случае надобности?
2. Из всего сказанного, я так понял, что лучше всего использовать Visual C++ 6, т.к. если использовать его из поставки Visual Studio, то от .NET избавиться не получится?

Borland
17.03.2007, 17:23
StRaNNiK, VC++ во всю жизнь поставлялся в составе Visual Studio, и версия 6.0 - не исключение...
Кроссплатформенное программирование в Visual Studio не поддерживается в принципе (если не считать таковым возможность разработки под "мобильные" версии Windows)...
Инструмент под таковое нужно выбирать отдельно, например тут: _http://www.freebyte.com/programming/cross_platform/

С другой стороны, в линуксе есть эмулятор wine, позволяющий запускать виндовые приложения. "Апликушки" под винду, сделанные на чистом C++ с использованием только стандартного Win32 API под этим эмулятором будут нормально работать с очень большой вероятностью...

Visual Studio 6.0 является, ИМХО, лучшим средством разработки на C++ для Windows без использования .Net. Более свежие версии "заточены" именно под разработку .Net-приложений. Это не означает, что разработка приложений без .Net в них невозможна, но она значительно менее удобна, чем в предыдущих версиях.

spoil
17.03.2007, 20:18
Если планируешь изучать C++ то пользуйся тем, что есть под рукой. Всё равно ты не будешь использовать какие-то специфические функции того или иного компилятора.
Я бы вообще выкачал бесплатную Visual C++ 2005 Express Editions (http://msdn.microsoft.com/vstudio/express/downloads/default.aspx) ориентированную специально на студентов.
Тут многие хвалят Visual Studio 6.0, не спорю - хорошая IDE, но если компьютер не слабый, если места не жалко, то пользуйся чем нибудь из серии VS 2005, она банально удобнее =)
1. Похож ли синтаксис с++ и с#? т.е. легко ли будет перейти с первого на второе в случае надобности?
Очень похож, причём в C# он даже проще =)
2. Из всего сказанного, я так понял, что лучше всего использовать Visual C++ 6, т.к. если использовать его из поставки Visual Studio, то от .NET избавиться не получится? От .NET не надо избавляться, его можно просто не использовать.

:yees: Удачи.

sednivo
23.03.2007, 11:55
Для начала хватит и шестой версии Visual C++, также можно использовать GCC

dany
29.03.2007, 14:21
Под gcc тоже не мало IDE, хотябы
Dev-C++(с сорцами на делфи)

yan_kos
03.04.2007, 11:33
2 spoil а 2005 глюкавая и компилятор в ней с "мутками" МелкоМягких

Маленький советик на последок не юзайте Експрес и Дев сборки студии... навопрос "почему ?" ответ: "нету некоторых редко используваемых новичками но пелезных в будущем фич: сорц контрол, анализиров кода и т.п."