SadKo А _зачем_ писать означенное приложение, чтобы оно компилировалось всеми подряд? Какой смысл в этом? Зачем _реально_ нужна эта переносимость?
Значит, господа, если и дальше будет развиваться дискуссия в стиле "инструмент собеседника - гавно, мой лучше", то топик будет закрыт. К сведению
Объясняю: для того, чтобы можно было переносить на новый инструментарий разработки. Есть куча старых проектов, которые из-за таких вот вольностей и несоблюдения стандартов приходилось попросту переписывать с нуля. И один из таких коммерческих проектов я помню, когда приходилось переносить с Borland C на Watcom C. Для всего, что было в Borland, но не было в Watcom, приходилось изобретать костыли. Это ладно, расширения языка. А когда, казалось бы, коверкаются очевидные вещи, ну уж тут простите... Я просто к чему... Что не надо ставить эталоном вижуалстудию. У вижуалстудии тоже свои грешки, и лучше о них знать, чем написать тысячи строк кода, а потом наткнуться на несовместимость кода с другими компиляторами.
с переносимостью все просто. иногда, а иногда и очень часто, приходится использовать участки кода/либы писаные под один проект/компилер в проекте/компилере другом. например, изза целевой архитектуры. кроме того, часто переносятся мелкие и средние утили. впрочем, это не всем надо.
грейт такой брутальный ¦) тут, кстати, разговор зашёл вдруг насчёт яв и нетов, и вспомнился делфе, вот и озадачился комер - а можно ли назвать делфийную систему учёта локальных данных подобием сборщика мусора?
SadKo Нравится или нет, но в Винде "эталоном" является именно VS -- как в Линухе GCC. В своё время Борланд потерял популярность как раз из-за того, что C++ Builder был несовместим с VS, а точнее -- не обладал полноценным набором заголовочных файлов и не позволял использовать таковые от VS без переделок. И этого было достаточно, чтобы фирма, лидировавшая во времена ДОСа и создавшая куда более удобную среду разработки для Винды оказалась, культурно выражаясь, в заднице. Ну а на степень соответствия стандартам обоих компиляторов абсолютному большинству программистов тогда было наплевать, да и сейчас больше волнует пригодность для решения стоящих задач, удобство использования и т.д., а не теоретические преимущества переносимости и т.п. вещей. Кстати, если ты забыл: я на сях (с плюсами или без оных) практически не пишу, так что моя "защита" VS никак не связана с любовью к сему инструменту. Ну и ещё раз напоминаю: автор темы спросил вполне конкретную вещь. Когда говорят о необходимости знания C++ и .NET одновременно (независимо от "люблю-не люблю"), очевидным становится необходимость владеть именно VS. Да, у того же Борланда (точней, уже, кажется, у Эмбракадеро, хоть и с вывеской КодеГеар) компиляторы умеют генерить код как для ИА-32, так и для .NET, но ни у кого, находящегося в здравом уме, не возникнет и мысль утверждать, что в Винде основным инструментом являются борландовские компиляторы.
varnie детектор холиваров детектед. SII А что им там владеть-то? Нажал Ctrl-Shift-B - получил исполняемый файл. Никогда не понимал, зачем пишут книги, типа: "Самоучитель по Visual Studio". Стандарты читать надо! Мне же хватило около часа, чтобы разобратся (не в полной мере, конечно) с этой студией.
Совсем другое дело - это так называемые "технологии" и "библиотеки": .net, com, mfc etc.. Впрочем, в освоении их ничего сложного не вижу.
Microedition Уважаемый Детектор детекторов холиваров, а какое отношение Стандарты имеют к изучению IDE?
Microedition Ну, я имел в виду, конечно, не "крутые разборки" с редактором, компилятором и т.п. -- с этим более-менее подготовленный человек действительно разберётся очень быстро, и я тоже совершенно не понимаю, зачем нужны такие книги (за исключением того, для чего они нужны авторам и издательствам -- деньги на них делать, конечно ). Я говорю про изучение языка и библиотек. "Официальные" стандарты для этого, конечно, полезны, но они не охватывают всего. Например, если человек пошёл работать в игрострой, ему придётся изучать DirectX (хотя и тут можно заявить, что-де нужно использовать OpenGL ради переносимости, однако на практике, как мы знаем, почти всегда используется именно DX). Если идёшь в контору, где пишут в основном на C# -- изволь учить то, что с ним связано, и не столько сам язык (пишущий на Си++ без особых проблем с шарпом разберётся), сколько библиотеки. Ну и т.д.
Только, опять же, надо различать язык и библиотеки. У GCC есть расширения, но они никак не влияют на стандарт самого C++. Ты можешь их использовать или нет. Microsoft же обязывает включать этот дурной stdafx.h и использовать всякие левые функции tmain и дурные типы типа _CHAR. Для чего, спрашивается? Давай взглянем на это с другой стороны: а что мешало микрософту писать портабельные хидеры. Вот чтобы взял нормальный компилятор C/C++ - и оно сразу заработало? Может, как раз, из-за желания подавить конкурентов, которые, между прочим, очень даже неплохо преуспевали, и что, в общем, вполне удалось? Именно поэтому мы имеем то, что сейчас имеем. А оно имеет нас ещё сильнее. Имеем кучу мальчиков-маздайщиков с кривыми однодневными поделками. А я тебя обвинял в этом ? Ну так оно и ежу понятно - работодателю нужны обезьяны, которые будут за еду клепать поделки. Я никогда не воспринимал и не буду воспринимать .NET всерьёз. Та же Java смотрится куда более перспективнее по сравнению с .NET, так как портирована не только под разные ОС, но и под разные платформы. Поэтому советую топикстартеру также глянуть в сторону Java. Может, ему придётся по душе, ибо синтаксис похож, да и востребована достаточно широко.
SadKo Извиняюсь, сие есть бред :-P Не хочешь -- не включай, не используй. stdafx.h включается, если склероз не изменяет, при использовании MFC или чего-то там ещё, но ничто не мешает писать всё полностью самостоятельно, своими руками и головой. Скорей всего, так и есть, но это не меняет ситуации: стандартное средство разработки приложений для Винды -- это VS. Давай взглянем с другой стороны А можно ядро Линуха без плясок с бубнами странслировать любым компилятором Си, соответствующим стандарту? Насколько знаю, нет: сия "кривая однодневная поделка" завязана на особенности GCC. Так что и мы имеем, и нас имеют Извини, но от того, что _ты_ не воспринимаешь .NET всерьёз, эта платформа не становится несерьёзной. "Штирлиц, не считайте себя фигурой, равной Черчиллю" А насчёт портированности Жабы... Есть ли возможность произвольное жаба-приложение запустить на любой платформе? Очевидно, что нет: то, что крутится на мэйнфрейме, вряд ли пойдёт на сотовом телефоне, и наоборот. Так что переносимость там тоже более чем относительная. Пожалуй, единственный пункт, где мы сходимся
SadKo stdafx -- это для Precompiled Headers. Эта feature ускоряет сборку проекта на порядок. Очень удобно при работе с большими серьёзными проектами. Отключается в настройках проекта. TCHAR и tmain необходимы для того, чтобы не задумываться о char и wchar. Тип будет выбран в зависимости от того Unicode или MBCS стоит у тебя в настройках. Так же легко меняется при желании в настройках проекта. То, что даже сегодня компилятор С++ от Borland на порядок хуже поддерживает стандарт, чем MS VC++ или GCC. Как правильно заметил SII, разработка под Java EE и Java ME это небо и земля. Общий только синтаксис и то не везде. Покажи нам свои проекты. Судя по твоим постам у тебя нулевой опыт разработки. Поэтому сомневаюсь, что ты далеко ушёл
Посмотрел вашу ОС. Если верить описанию, то молодец. Теперь понятен выпад в сторону MS. Те, кто у нас ОС не пытался написать, за людей уже не сойдут, за программистов тем более.
Устроился на работу где коллектив на чем то пишет - ставь себе тоже и пиши на томже вне зависимости от того что нравится - иначе напишешь и потом будешь париться - тут код компилиться а тут нет
Да при чём тут ОС? Можно быть крутым прогаммером и не написав ОС. Есть куча других серьёзных задач и проектов. Просто ситуация, когда начинают поклоняться чуть ли не до фанатизма одной вижуалстудии, у меня вызывает недоумение. А, поверьте, таких людей много (SII, не прими как личное оскорбление), а ЧСВ закатывает за over 9000. А как начнёшь спрашивать элементарные вещи (например, как работают функции по работе с сокетами), так выпадают в осадок. А проектов, реализованных мной, куча. Только они коммерческие и в открытом доступе не лежат (к сожалению).
SadKo Не знаю, что за ЧСВ, но у меня никакого фанатизма и вообще поклонения в отношении VS нет. Я ненавижу Си во всех формах, и ты это знаешь; саму среду VS считаю менее удобной, чем Delphi. Так что, "агитируя" за VS, я лишь исхожу из факта: для Винды именно VS является средой разработки №1, по сути, стандартом де-факто. Кстати, "как работают функции по работе с сокетами", я не знаю Никогда мне это нужно не было, никогда не интересовался -- мои интересы в совсем другой плоскости лежат. Так что для кого элементарные, а для кого и не очень Впрочем, не сомневаюсь, что без проблем найду с десяток элементарных для меня вопросов, от которых ты выпадешь в осадок -- а посему судить о квалификации человека по отдельным вопросам нельзя в принципе.