![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
cutwater |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: нет Всего: 10 |
||||
|
||||
Lazin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 4 Всего: 154 |
почему? с одиночным наследованием оно конечно проще, но почему Ъ объект не может иметь несколько потомков, либо реализовывать несколько интерфейсов?
И чего это ради типизация должна быть всегда динамической, к примеру, для сложной обработки данных это не подходит, тут вообще рулит ФП подход. Для того, что-бы писать надежный код, необходимо, что-бы компилятор находил ошибки в коде(в идеале - если оно компилируется, значит оно не содержит ошибок), а с динамической типизацией даже простая опечатка вылезет в ран тайме. В тех случаях когда мне нужна будет сложная архитектура, состоящая из множества объектов обменивающихся сообщениями, я просто сделаю биндинг для какого-либо динамического яп(например lua или python) и буду дергать свой низкоуровневый с++ код оттуда, но такого кода как раз очень не много. Большая часть кода написанного мной это код которому динамическая типизация не нужна ![]() |
||||
|
|||||
Riddik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 2.12.2006 Репутация: нет Всего: нет |
Рассмотрим такую область. Игры под windows.
Большинство больших игр программировались на С++. До недавнего времени. А теперь (правда информация не подтверждена, слухи на форумах), например "Легенда о Рыцаре" и знаменитый "Ведьмак" написаны на .NET (C#). Т.е. задачу, которую можно решить и на С++, и на С# предпочли решать на C#. (опять же, 100% неизвестно) Получается, что если глядеть в сторону разработки тем более не таких больших и сложных игр, то предпочтительнее выбрать C#? Потому что на нём это будет делаться проще и гораздо быстрее? Это сообщение отредактировал(а) Riddik - 12.2.2009, 12:06 |
|||
|
||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: нет Всего: 26 |
когда железо сможет тянуть игры написанные на бейсике, игры будут писать на бейсике
|
|||
|
||||
Riddik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 2.12.2006 Репутация: нет Всего: нет |
Как вам цитата:
".NET обладает очень высокопроизводительным менеджером памяти, скорость аллокации объекта в 20-25 раз превышает скорость аллокации при помощи malloc, при этом никакой фрагментации. Благодаря этому можно добиться огромного повышения производительности по сравнению с C++ именно на динамических структурах данных. В этой ситуации именно языки без GC оказываются в роли догоняющего. Можно добиться схожей производительности и от C++ кода, однако это потребует написания специальных высопроизводительных аллокаторов, которые, как показывает практика, большинство C++ программистов писать не умеют. Короче, путь .NET программиста не усыпан цветами. Часто слышал утверждения, что типа любой сиплюсплюсник может писать эффективные .NET приложения: враньё. Обычно требуется около двух лет коммерческой разработки на полное освоение платформы. Только после этого можно говорить об эффективном коде. З.Ы. Смешно читать типично сиплюсплюсные флеймы типа "использовать STL или нет". Ведь там же динамические структуры данных, которые память фрагментируют. В .NET такой проблемы даже не возникает. Лёгким движением руки квадратичные алгоритмы превращаются в линейные путём использования в качестве локальных переменных хешмапов. И никакого мозгового гемороя. Да можно кучу подобных примеров привести." |
|||
|
||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: нет Всего: 26 |
локальная переменная выделяется в миллионы раз быстрее чем через маллок %)
если написать свой хип, то он тоже будет работать быстрее маллока только разве это узкое место чтобы это было так важно? Это сообщение отредактировал(а) GoldFinch - 12.2.2009, 13:15 |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: нет Всего: 72 |
Именно: программировать на C# быстрее (но не Notepad'е же). Хотя код на C++ можно написать работающий быстрее C#, но на его создание уйдёт намного больше времени.
|
|||
|
||||
Kallikanzarid |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 240 Регистрация: 9.11.2008 Репутация: нет Всего: 3 |
Riddik, спасибо за шедевральный бред, смеялсо
![]() Ведьмак создавался на модифицированном движке Aurora (Neverwinter Nights), а тот написан на C++, в чем можно легко убедиться, скачав теперь уже Open Source-исходники. Mount & Blade, ЕМНИП, создавался изначально под .NET, но бета, в которую я играл, была недвусмысленно помечена как Native. А вообще C# - это такая помесь Java и Delphi a la MS, я его использую для макетирования. Серьезно работать с ним не вижу смысла - он сливает Java и Delphi в производительности, не говоря уже о C++. |
|||
|
||||
cutwater |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: нет Всего: 10 |
Скажу так.. в джаве я вижу для себя один большой недостаток - очень медленный ГУЙ.
Поэтому обычно гуевые приложения и пишут либо на шарпе либо на плюсах с использванием QT, etc. |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 4 Всего: 154 |
смеялсо после этого смеятсо не было сил... это мог написать только человек страдающий "мозговым геморроем" ![]() |
|||
|
||||
cutwater |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: нет Всего: 10 |
||||
|
||||
Torsten |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 10.6.2008 Где: Pskov Репутация: нет Всего: 7 |
а ты не смотри ![]() Все пишут, но факты говорят обратное почти всегда. Кроме того никаких доказательств хотя бы 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. |
|||
|
||||
Riddik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 2.12.2006 Репутация: нет Всего: нет |
Рад, что про Ведьмака развеяли легенду!
Ну, раз цитата так повеселила, вот ссылка на первоисточник Хотя признаюсь, я ещё не понимаю, что такое аллокаторы и т.д. Эту тему я нашёл, когда искал в нете о противоборстве ++ и # И вот ещё что. Как я уже сказал, цитату я эту не очень то понимаю. Но раз вы так реагируете, то вопрос: как не стать таким программистом, как цитируемый? |
|||
|
||||
UniBomb |
|
|||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
Добавлю и свои пять копеек. Язвки С/С++ очень широко используються при написании программ для различных микроконтроллерных систем. Бывают задачи, где особоая мощность ненужна в принципе, в таких задачах как правило используют 4/8/16 битные микроконтроллеры, имеющие относительно небольшие тактовые частоты и относительно фиговенькую производительность. Запускать на них интепритируемые языки - это извращение. Нет, есть конечно ARM9/ARM11 на которых можно поднять .NET (все более-менее новые кпк аботают под интеловскими процами, которые по сути являються ARM11 со своими изменениями), но уже на них чуствуется разница в производительности. Да и потом такие системы по цене уже сравнимы с полноценными компьютерами, так что выгода здесь очень сомнительная. Так что С/С++ самое оно для таких систем...
|
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 1 Всего: 56 |
Riddik, С# рулит, юзай его.
Lazin, смени аватарку, не возможно посты читать ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила ведения Религиозных войн | |
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Религиозные войны | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |