В чем отличие С++ и С#?

vgvgvgvgvg

сабж

Dasar

это разные языки
общее - это только (в основном) : синтаксис и ООП-ность.

FRider

мдя, жесть...
Ты пробовал читать литературу по обоим языкам?
Коротко: это два РАЗНЫХ языка.

FRider

имхо, синтаксис просто похожий, а не общий, я вот код на плюсах с трудом уже перевариваю

sbs-66

C# - это Visual Basic, только с новым синтаксисом и названием. Назвали C#, так как C - это круто, а Basic - это для лохов.

6yrop

ты заблуждаешься

timefim

Ассемблер рулез, все остальное для лохов.

sbs-66

Почему же язык для программистов, которые не хотят (не могут?) следить за выделением памяти, называется C, хотя бы и шарп? Просто для того, чтобы эти программисты не стремались, что пишут на бэйсике, т.к. это не круто. Просто рун-тайм библиотеки бэйсика переименовали в "дот нет фрэймворк", и всё.

Dasar

правильный программист на любом языке программирования умеет выделять память.
может ты просто пока не дорос до правильного программиста?

Werdna

бля виндузятник нах

FRider

C# - это Visual Basic, только с новым синтаксисом и названием. Назвали C#, так как C - это круто, а Basic - это для лохов.
не надо говорить глупости. Если ты чего то не знаешь, лучше помолчать. Хотя мб ты не вырос, и еще играешь в кулхацкеров.

enochka1145

Чем Java от C++ отличается представляешь? Так вот C# - это развитие Java как это видит Microsoft.

evgen5555

С# - помесь Java с Delphi.

rid2000

Дельфи - ты, наверное, имеешь ввиду ее среду разработки...
А как язык Дельфи - рядом не стоит...
C# - это ОО язык, порожденный от Java, с мощным (разработанным Microsoft) набором библиотек и средой разработки.
Я сам работаю на Java и про C# слышу только по наслышкам сотрудников отдела .
И у меня возникла такая ассоциация, что если сравнивать по созданию промежуточного слоя, то Java - рульнее, а если сравнивать по созданию клиентских приложений, то на Visual Studia это быстрее и красивше. (Поправте, если я ошибаюсь)

Dasar

> с мощным (разработанным Microsoft) набором библиотек
скорее собранным в одно место.

evgen5555

А как язык Дельфи - рядом не стоит...

Почему же, ведь именно оттуда бывшие разработчики дельфи в микрософте брали проперти, например.

6yrop

Почему же, ведь именно оттуда бывшие разработчики дельфи в микрософте брали проперти, например.
Visual Basic старше дельфи, проперти там давно были

6yrop

И у меня возникла такая ассоциация, что если сравнивать по созданию промежуточного слоя, то Java - рульнее, а если сравнивать по созданию клиентских приложений, то на Visual Studia это быстрее и красивше. (Поправте, если я ошибаюсь)
и с одним и с другим утверждением многие бы поспорили

sbs-66

Ты будешь спорить, что C# занял в продуктах MS ту нишу, которую раньше занимал VB?

bobby

Да. В смысле, буду.

sbs-66

Ну ладно. Не буду дальше упорствовать.
Как я не видел ни одной серьёзной коробочной, а не штучной, программы на VB, так и с C#. Ну, претендует он на роль Java от MS, но Java то используют не за её прелести, а терпят за кросплатформенность, а C# это не светит. Если умножить всё это на неполную обратную совместимость фрэймворков разных версий, то получится вообще чудовище то ещё.

Helga87

Если умножить всё это на неполную обратную совместимость фрэймворков разных версий,

поделим на твою неинформированность и получим, что вполне себе ничего вещь этот C#

sbs-66

И в чём я не прав?
WinAPI полностью обратно совместима во всех версиях винды, .NET Framework - нет.

Helga87

net framework неполностью обратно совместим. Тем не менее, твоя фраза о полной обратной несовместимости неверна. В практике встречал примеры программ класса выше hello world, разработанных на .net 2.0, которые запускались и корректно работали на 1.1. Т.е. даже прямая совместимость в ограниченных масштабах есть.
Кроме того, недостаток неполной обратной совместимости нивелируется тем, что разрешено параллельно устанавливать несколько версий .net framework.

sbs-66

Прямая совместимость некритична, как раз. А вот неполная обратная совместимость может привести к тому, что программа, к которой я привык, но которую больше не поддерживает разработчик, окажется неработающей после очередного обновления операционки. Это, в общем-то, не проблема C#, а изменение политики MS. Просто они решили отказаться от требования поддержки полной обратной совместимости в своих продуктах для разработки и сопутсвующих технологиях. вот
PS. Это, конечно, только в том случае, если я вдруг встречу хоть одну достойную программу на C#, которая будет мне полезна.

Helga87

А вот неполная обратная совместимость может привести к тому, что программа, к которой я привык, но которую больше не поддерживает разработчик, окажется неработающей после очередного обновления операционки
Поставь нужную версию .net framework, в чем проблема-то?
Статью Джоэля читал, мысли в целом верные.

sbs-66

А она будет? Сомневаюсь, что под висту будет Framework 1.0

Helga87

Обещано, что начиная с версии 3.0 будет полная обратная совместимость. В частности, .net framework 3.0 полностью обратно совместим с .net 2.0.
Про поддержку версий .net 1.0 и 1.1 в Windows Vista не в курсе.

sbs-66

Ну хорошо, тоды пункт про обратную совместимость снимается.

6yrop

Не удивительно, потому что .NET Framework 3.0 будет построена НАД .NET Framework 2.0
http://msdn.microsoft.com/winfx/learning/

Helga87

Ну да, чудес ведь не бывает.

durka82

Вроде бы есть книга C# для разработчиков на С++.

Flack_bfsp

WinAPI полностью обратно совместима во всех версиях винды
Гы, лол.

yolki

Большинство функций WinAPI имеют два варианта - FuncNameA, FuncNameW - для char * и для wchar *.
так вот. в Win9X по больше части ...W отстутвтуют.
в Win9X отсутствуют некоторые варианты ...Ex функций.
в Win9X отстутствует alpha-blending (полупрозрачность)
+
ещё много чего перестаёт работать при переходе WinNT <-> Win9X

sbs-66

Ты знаешь, что такое обратная совместимость? Это когда более поздняя версия поддерживает все интерфейсы предыдущей и внешне ведёт себя точно так же. Т.е. программа, написанная под Win 95 должна работать под Win 98, а программа, написанная под Win 2k - под Win XP. MS кучу ресурсов раньше тратил на это, т.к. им нужен был парк программ, которыми пользователи смогут пользоваться в новой винде сразу, и это ускорит переход на неё. Доходило до того, что для отдельных программ специально эмулировали ошибки старых версий Win API в новой, чтобы они могли работать.

Flack_bfsp

Ты знаешь, что такое обратная совместимость?
Не знаю, как Базилио, но я-то знаю, что такое обратная совместимость. Поэтому твоя фраза "API всех версий винды обратно совместимы" не верна. Уж не знаю, на что там МС ресурсы тратил, но очень много программ сложнее хеллоу_ворлда при переходе на новую винду работали неверно. Да что там новая винда! Можешь поискать в инете список прог, которые работали в XP SP1 и не работают в XP SP2.

psihodog

работали в XP SP1 и не работают в XP SP2
это всякие черви и т.д. что ли?

sbs-66

У них проблемы не с API, а с привилегиями, я думаю.

Flack_bfsp

То есть ты утверждаешь, что любая прога, написанная для Windows 95, будет правильно работать в Windows 98? Поставь Norton Utilities 2.0, например, удивишься. А ещё больше ты удивишься, когда попробуешь запустить любую прогу для Windows 1.0 под XP. И где она, эта полная обратная совместимость?

sbs-66

В винде ведь не только API есть. NU могут быть привязаны к конкретным версиям винды, с которыми умеют работать и проверять, что винда, на которой их запускают, входит в этот список (это наиболее вероятно либо просто пользуется какими-то недокументированными хаками (это менее вероятная причина несовместимости, т.к. хаки тоже старались поддерживать). Винда до 95 не катируется, т.к. у неё API был 16 битный 9и то он поддерживался в 9x). Некотороя потеря совместимости была при переходе с линейки 9x на 2k/XP, но не из-за API, а из-за изменения системы адресации памяти и системы привелегий.

Flack_bfsp

В том-то и дело, что NU работают, но неправильно. Не проверяется в них, на чём они запускаются. Просто работать перестают правильно.
А про 16-битность... Надо найти WinNT 3.1 (32-битная, заметь!) и попробовать проги из неё позапускать в ХР. Самому интересно стало.

sbs-66

попробуй.

bleyman

Чота вы с Базилио достойную друг-друга херню порете.
Во-первых, винд было две ветки: 1) 3.х -> Win95 -> Win98, 2) NT -> 2k. Оси из разных веток нифига не полностью совместимы, вообще-то. И только в ХР появилось достаточно полное объединённое апи. Вы б ещё совместимость с WinCE пообсуждали, лольнеги.
> список прог, которые работали в XP SP1 и не работают в XP SP2.
ЛОЛ. Понимаешь, если в документации на АПИ ясно написано, что вот это вот поле reserved и его трогать нельзя, а разработчик кладёт на это пенис, потому что на его машине туда можно прописывать 0 и всё работает, то это проблемы разработчика, а не винды. Или, скажем, если разработчик забивает какую-нибудь величину в качестве константы.
Я не утверждаю, что в винде не было и нет глючных АПИ, не соответствующих описанию, однако в основном, полагаю, вся "несовместимость" происходить из-за кривых рук программеров.

Olyalyau

C# - это Visual Basic, только с новым синтаксисом и названием. Назвали C#, так как C - это круто, а Basic - это для лохов.
ты заблуждаешься

Конечно он заблуждается! До диез — это просто очередная Ява, но от Microsoft. А Ява — это не просто очередной Бейсик, это — Бейсик от Sun!
Оставить комментарий
Имя или ник:
Комментарий: