Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Действительно ли C# "продвинутее" чем С++ 
:(
    Опции темы
cutwater
Дата 12.2.2009, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 592
Регистрация: 24.6.2008

Репутация: нет
Всего: 10



Цитата(kemiisto @  12.2.2009,  09:55 Найти цитируемый пост)
Цитата(Lazin @  12.2.2009,  08:05 Найти цитируемый пост)
механизм заголовочных файлов ровесник мамонтов

Угу, угу. smile 


Единственное утверждение с которым не могу не согласиться.


--------------------
user posted image
PM MAIL   Вверх
Lazin
Дата 12.2.2009, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



Цитата(kemiisto @  12.2.2009,  10:55 Найти цитируемый пост)
Достаточно наличия в С++ множественного наследования.

почему? с одиночным наследованием оно конечно проще, но почему Ъ объект не может иметь несколько потомков, либо реализовывать несколько интерфейсов?

Цитата(kemiisto @  12.2.2009,  10:55 Найти цитируемый пост)
Плюс должно быть промежуточное представление кода, исполняемое ВМ + сборка мусора.
как это связано с труЪшностью реализации ООП в языке программирования? Кстати, организовать сборку мусора на С++ не проблема, а с помощью смарт поинтеров это вообще будет прозрачно для программиста.

Цитата(kemiisto @  12.2.2009,  10:55 Найти цитируемый пост)
А до разработчиков C# (правда только к 4 версии языка smile ) уже дошло, что и типизация в Ъ ООП должна быть динамической.

И чего это ради типизация должна быть всегда динамической, к примеру, для сложной обработки данных это не подходит, тут вообще рулит ФП подход. Для того, что-бы писать надежный код,  необходимо, что-бы компилятор находил ошибки в коде(в идеале - если оно компилируется, значит оно не содержит ошибок), а с динамической типизацией даже простая опечатка вылезет в ран тайме. В тех случаях когда мне нужна будет сложная архитектура, состоящая из множества объектов обменивающихся сообщениями, я просто сделаю биндинг для какого-либо динамического яп(например lua или python) и буду дергать свой низкоуровневый с++ код оттуда, но такого кода как раз очень не много. Большая часть кода написанного мной это код которому динамическая типизация не нужна smile
PM MAIL Skype GTalk   Вверх
Riddik
Дата 12.2.2009, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 2.12.2006

Репутация: нет
Всего: нет



Рассмотрим такую область. Игры под windows.
Большинство больших игр программировались на С++. До недавнего времени. 
А теперь (правда информация не подтверждена, слухи на форумах), например  "Легенда о Рыцаре" и знаменитый "Ведьмак" написаны на .NET (C#). Т.е. задачу, которую можно решить и на С++, и на С# предпочли решать на C#. (опять же, 100% неизвестно)
Получается, что если глядеть в сторону разработки тем более не таких больших и сложных игр, то предпочтительнее выбрать C#?  Потому что на нём это будет делаться проще и гораздо быстрее?

Это сообщение отредактировал(а) Riddik - 12.2.2009, 12:06
PM MAIL   Вверх
GoldFinch
Дата 12.2.2009, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: нет
Всего: 26



когда железо сможет тянуть игры написанные на бейсике, игры будут писать на бейсике
PM MAIL ICQ   Вверх
Riddik
Дата 12.2.2009, 13:05 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 2.12.2006

Репутация: нет
Всего: нет



Как вам цитата:

".NET обладает очень высокопроизводительным менеджером памяти, скорость аллокации объекта в 20-25 раз превышает скорость аллокации при помощи malloc, при этом никакой фрагментации. Благодаря этому можно добиться огромного повышения производительности по сравнению с C++ именно на динамических структурах данных. В этой ситуации именно языки без GC оказываются в роли догоняющего. Можно добиться схожей производительности и от C++ кода, однако это потребует написания специальных высопроизводительных аллокаторов, которые, как показывает практика, большинство C++ программистов писать не умеют. 
Короче, путь .NET программиста не усыпан цветами. Часто слышал утверждения, что типа любой сиплюсплюсник может писать эффективные .NET приложения: враньё. Обычно требуется около двух лет коммерческой разработки на полное освоение платформы. Только после этого можно говорить об эффективном коде.

З.Ы. Смешно читать типично сиплюсплюсные флеймы типа "использовать STL или нет". Ведь там же динамические структуры данных, которые память фрагментируют. В .NET такой проблемы даже не возникает. Лёгким движением руки квадратичные алгоритмы превращаются в линейные путём использования в качестве локальных переменных хешмапов. И никакого мозгового гемороя. Да можно кучу подобных примеров привести."
PM MAIL   Вверх
GoldFinch
Дата 12.2.2009, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: нет
Всего: 26



локальная переменная выделяется в миллионы раз быстрее чем через маллок %)
если написать свой хип, то он тоже будет работать быстрее маллока
только разве это узкое место чтобы это было так важно?

Это сообщение отредактировал(а) GoldFinch - 12.2.2009, 13:15
PM MAIL ICQ   Вверх
math64
Дата 12.2.2009, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: нет
Всего: 72



Именно: программировать на C# быстрее (но не Notepad'е же). Хотя код на C++ можно написать работающий быстрее C#, но на его создание уйдёт намного больше времени. 
PM   Вверх
Kallikanzarid
Дата 12.2.2009, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 240
Регистрация: 9.11.2008

Репутация: нет
Всего: 3



Riddik, спасибо за шедевральный бред, смеялсо  smile 

Ведьмак создавался на модифицированном движке Aurora (Neverwinter Nights), а тот написан на C++, в чем можно легко убедиться, скачав теперь уже Open Source-исходники.

Mount & Blade, ЕМНИП, создавался изначально под .NET, но бета, в которую я играл, была недвусмысленно помечена как Native.

А вообще C# - это такая помесь Java и Delphi a la MS, я его использую для макетирования. Серьезно работать с ним не вижу смысла - он сливает Java и Delphi в производительности, не говоря уже о C++.
PM MAIL   Вверх
cutwater
Дата 12.2.2009, 16:55 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 592
Регистрация: 24.6.2008

Репутация: нет
Всего: 10



Скажу так.. в джаве я вижу для себя один большой недостаток - очень медленный ГУЙ.
Поэтому обычно гуевые приложения и пишут либо на шарпе либо на плюсах с использванием QT, etc.





--------------------
user posted image
PM MAIL   Вверх
Lazin
Дата 12.2.2009, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



Цитата(Riddik @  12.2.2009,  13:05 Найти цитируемый пост)
.NET обладает очень высокопроизводительным менеджером памяти, скорость аллокации объекта в 20-25 раз превышает скорость аллокации при помощи malloc, при этом никакой фрагментации.

смеялсо
Цитата(Riddik @  12.2.2009,  13:05 Найти цитируемый пост)
Лёгким движением руки квадратичные алгоритмы превращаются в линейные путём использования в качестве локальных переменных хешмапов. И никакого мозгового гемороя. Да можно кучу подобных примеров привести.

после этого смеятсо не было сил...
это мог написать только человек страдающий "мозговым геморроем" smile 
PM MAIL Skype GTalk   Вверх
cutwater
Дата 12.2.2009, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 592
Регистрация: 24.6.2008

Репутация: нет
Всего: 10



Цитата(Lazin @  12.2.2009,  16:01 Найти цитируемый пост)

после этого смеятсо не было сил...
это мог написать только человек страдающий "мозговым геморроем"


Открывать нужно раздел "Юмор Винграда или программисты шутят"


--------------------
user posted image
PM MAIL   Вверх
Torsten
Дата 12.2.2009, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 10.6.2008
Где: Pskov

Репутация: нет
Всего: 7



Цитата(Riddik @  11.2.2009,  22:48 Найти цитируемый пост)
Для интереса просмотрел книжки по С#

а ты не смотри smile


Цитата(Riddik @  11.2.2009,  22:48 Найти цитируемый пост)
 C# позиционируется, как следующий шаг, как более продвинутый язык, чем С++. Время разработки значительно меньше, мощность та же, что и у С++, но более проще и т.д. Что это язык будущего. 

Все пишут, но факты говорят обратное почти всегда. Кроме того никаких доказательств хотя бы 1 пункта из вышеперечисленного в этих книгах не дают. Значит врут.

Хочешь простой и очевидный факт ? Назови хотя бы 3 программы написанные на С#, которые пользуются успехом у пользователей. Я только одну знаю - Paint.NET.


Касательно NWN, 1ая часть была реализована как сказали на движка аврора написанном на С++, в результате в 2002 (или 2001 уже забыл) это игрушка была хит, по все параметрам в том числе и по качеству графики, при этом НИЧЕГО не тормозило.

Вышла NWN 2ая часть написанная на .NET, тормозит жутко, графика визуально хуже чем в 1-ом НВН. Я так и не смог в нее поиграть нормально, при том что комп у меня далеко не самый слабый, и даже при том что я был ярым фаном 1-го НВН (в онлайне играл около 2х лет) и очень хотел поиграть во 2-ой, но после 3х попыток я сдался. 

Это сообщение отредактировал(а) Torsten - 12.2.2009, 18:03
--------------------
We have no begining, we have no end. We are infinite.
PM MAIL   Вверх
Riddik
Дата 12.2.2009, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 2.12.2006

Репутация: нет
Всего: нет



Рад, что про Ведьмака развеяли легенду!

Ну, раз цитата так повеселила, вот ссылка на   первоисточник
Хотя признаюсь, я ещё не понимаю, что такое аллокаторы и т.д.  

Эту тему я нашёл, когда искал в нете о противоборстве ++ и #

И вот ещё что. Как я уже сказал, цитату я эту не очень то понимаю. Но раз вы так реагируете, то вопрос: как не стать таким программистом, как цитируемый?
PM MAIL   Вверх
UniBomb
Дата 12.2.2009, 18:10 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 97



Добавлю и свои пять копеек. Язвки С/С++ очень широко используються при написании программ для различных микроконтроллерных систем. Бывают задачи, где особоая мощность ненужна в принципе, в таких задачах как правило используют 4/8/16 битные микроконтроллеры, имеющие относительно небольшие тактовые частоты и относительно фиговенькую производительность. Запускать на них интепритируемые языки - это извращение. Нет, есть конечно ARM9/ARM11 на которых можно поднять .NET (все более-менее новые кпк аботают под интеловскими процами, которые по сути являються ARM11 со своими изменениями), но уже на них чуствуется разница в производительности. Да и потом такие системы по цене уже сравнимы с полноценными компьютерами, так что выгода здесь очень сомнительная. Так что С/С++ самое оно для таких систем...


--------------------
PM MAIL ICQ Skype   Вверх
vinter
Дата 12.2.2009, 18:38 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 1
Всего: 56



Riddik, С# рулит, юзай его.

Lazinсмени аватарку, не возможно посты читать  smile 


--------------------
Мой блог
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.0783 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.