Re[23]: C++ versus C#
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.02.04 08:17
Оценка:
Здравствуйте, naje, Вы писали:
N>что-то типа boost::tuples поможет?
Не вижу, как бы оно мне помогло. Какие параметры ты в этот Tuple передашь? Ты не мог бы мне привести пример пользовательского кода, в котором декларируется метод
class B {
  A([MarshalAs(UnmanagedType.Int8)] int g)
    {};
}

? Заодно было бы неплохо сравнить объем библиотечного кода, который надо написать для такого применения.
S>>Нету этого. Нету. Где оно? Покажите мне такую систему. Ни один из популярных компиляторов этого не умеет. А непопулярные — извините, ребята, низкое качество их кода съест все преимущества от специализации.
N>gcc не популярный компилятор? (gnu rtl даже в микрософтовских лекциях по созданию компиляторов на .net упоминается)
А что, в gcc я могу делать какое-то промежуточное представление, которое позволит мне в него вносить изменения в run-time и получать специфичный код?
N>>>объясни чем могут помочь частичные вычисления в rt, это можно и в ct делать в большинстве случаев, именно для повышения производительности, не хочешь?, тогда спасёт компилятор с промежуточным представлением, но это не особенность языка, а мы обсуждаем C++ против C#
N>какие правила? boost::concept_check поможет?
Не поможет. В его рамках нельзя потребовать отсутствия чего-либо. Да, можно потребовать приводимости типов, и поддержки операторов. Но нельзя запретить, например, иметь публичные поля заданного типа.
N>по поводу других языков немного, я тут уже приводил пример с генераторами парсеров, когда генераторы парсеров появятся в C#?, это просто один из примеров
Гм. Я что-то пропустил этот постинг. При чем тут генераторы парсеров? Это же всего лишь приложения. Если я правильно понимаю, то тебе надо читать вот сюда Когда в С++ появятся RegExp, которые компиляются в КА при первом использовании?
N>комерческие реализации не ограничиваются этими двумя
N>впринципе наверное смог бы показать, но тоже времени особо нет, поэтому отложим
ok.
... << RSDN@Home 1.1.3 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[25]: C++ versus C#
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.02.04 08:27
Оценка:
Здравствуйте, AndrewVK, Вы писали:
AVK>Не, в 1.2 вроде бы МС++ можно для страничек пользовать.
Ну мы же оба понимаем, что это не С++
... << RSDN@Home 1.1.3 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[24]: C++ versus C#
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 27.02.04 08:29
Оценка: +1
Здравствуйте, Sinclair, Вы писали:


K>>В С++ вообще все user-defined. Конечно метаданные как в НЕТ не сделаешь, но ИМХО и потребности нет.

S>Вот-вот. То же самое сорок лет назад говорили ассемблерщики про C.

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

S>>>Ну щас прям. И сразу получи платформенную зависимость. Как минимум. А также необходимость таскать с собой запас хидеров для того, чтобы генеренный код мог взаимодействовать с другим кодом. В общем, ребята, солюшн с Ц-компилером даже на шутку не тянет. Потому его и не применяет никто и никогда. В отличие от той самой генерации кода в .Net.


Солюшн с цекомпилером — вындоуз и линукс например. Думаю что линукс более патформонезависимый, нежели дотнет. На скольки патформах доступен дотнет ?
Слишком большой CLR, что бы его портировать. За то время, пока Билл портировал CLR для БСД, линуксоилы освоили парочку платформ.

S>Короче, я никого не заставляю. .Net предлагает способ дешево делать хорошие программы. Альтернативы ему есть — та же Java.


Смотря для чего. Чтото игровая индустрия не особо то и спешит в сторону дотнета и жавы.
И здесь используются именно скрипт-машины на для С++.

Вот когда появится Офис полностью менеджед или другой тул поольше, тогда модно будет сравнить быстродействие. На нашем проекте дотнет очень сильно проигрывает в этом плане.
Зато не нем дешевле и проще.
Re[22]: C++ versus C#
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 27.02.04 08:41
Оценка: +1
Здравствуйте, Sinclair, Вы писали:

N>>я спрашивал что нового в .Net, как вобще можно сравнивать язык с фреймворком?

S>Как хочешь — так и сравнивай. С++ тоже не только язык. Без стандартной библиотеки и рантайма он мертв.

Ты еще скажи, что С++ без компилера мертв. С++ нужно всего ничего — компилер, линкер и... все ! Есть АПИ — юзай его. Это только кажется, что мало что можно сделать.
На самом деле это очень много. В этом плане для дотнета нужно очень много.

S>Да нет проблем. Просто в C# делается все, что делается в .Net. В С++ этого нет. В нем нет делегатов, нет автоматического управления памятью, нет гарантий, что везде, где можно написать a<b можно написать и b>a, нет Reflection, нет модели безопасности, нет встроенной поддержки компонентности.


Делегатов нет — это точно. Автоматическое управление памятью не всегда то и нужно.
В с++ память кушается меньше и больше юзается стек. Моей тачки — 800мгц+512MB вполне хватает для всех плюсовых задач. А вот для дотнета очень слабо. Профайлер работает ой как долго.
Все от того, что памяти кушается слишком много.
Re[24]: C++ versus C#
От: naje  
Дата: 27.02.04 08:41
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, naje, Вы писали:

N>>что-то типа boost::tuples поможет?
S>Не вижу, как бы оно мне помогло. Какие параметры ты в этот Tuple передашь? Ты не мог бы мне привести пример пользовательского кода, в котором декларируется метод
S>
S>class B {
S>  A([MarshalAs(UnmanagedType.Int8)] int g)
S>    {};
S>}
S>

S>? Заодно было бы неплохо сравнить объем библиотечного кода, который надо написать для такого применения.

нихочу тебя ни в чём переубеждать да и времени нету, просто поверь у меня всё это работает, не на boost::tuples, но работает

S>>>Нету этого. Нету. Где оно? Покажите мне такую систему. Ни один из популярных компиляторов этого не умеет. А непопулярные — извините, ребята, низкое качество их кода съест все преимущества от специализации.

N>>gcc не популярный компилятор? (gnu rtl даже в микрософтовских лекциях по созданию компиляторов на .net упоминается)
S>А что, в gcc я могу делать какое-то промежуточное представление, которое позволит мне в него вносить изменения в run-time и получать специфичный код?
ну чтобы в rt надо с собой кусок gcc такскать, впринципе такая идея была, но потом победило мнение что ничево в rt не нужно
N>>>>объясни чем могут помочь частичные вычисления в rt, это можно и в ct делать в большинстве случаев, именно для повышения производительности, не хочешь?, тогда спасёт компилятор с промежуточным представлением, но это не особенность языка, а мы обсуждаем C++ против C#
N>>какие правила? boost::concept_check поможет?
S>Не поможет. В его рамках нельзя потребовать отсутствия чего-либо. Да, можно потребовать приводимости типов, и поддержки операторов. Но нельзя запретить, например, иметь публичные поля заданного типа.
ну нельзя
а зачем?
единый стиль, по особому заданные публичные поля
и всё
N>>по поводу других языков немного, я тут уже приводил пример с генераторами парсеров, когда генераторы парсеров появятся в C#?, это просто один из примеров
S>Гм. Я что-то пропустил этот постинг. При чем тут генераторы парсеров? Это же всего лишь приложения. Если я правильно понимаю, то тебе надо читать вот сюда
Генераторы парсеров приложение, а вот парсеры уже можно сказать нет, да я и написал там только для примера, чтоб показать что всё на idl не заканчивается, и всего в язык всё-равно не впихнёшь
S>Когда в С++ появятся RegExp, которые компиляются в КА при первом использовании?
а при втором? зачем их компилить в rt я не понимаю, если ты регэксп задаёшь в rt, то какая вераятность что он у тебя будет использоватся больше одного раза, и как часто они будут встречатся?, а если в ct то в ct всё оч даже компилится, туда куда надо, да и причём тут регэкспы (ты ссылку повтори пожалуста чтоб я смог прочитать то что мне надо), ты мне сейчас весь фреймворк перечислять будешь?
Re[25]: C++ versus C#
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.02.04 09:57
Оценка:
Здравствуйте, naje, Вы писали:

N>нихочу тебя ни в чём переубеждать да и времени нету, просто поверь у меня всё это работает, не на boost::tuples, но работает

Пиши статью Дело-то хорошее. Плюсы еще очень много где применимы. Так что best practices по ним завсегда нужны.
N>ну чтобы в rt надо с собой кусок gcc такскать, впринципе такая идея была, но потом победило мнение что ничево в rt не нужно
Ага. Просто когда я все определяю в compile time, оно и без Runtime прекрасно работает. Нам не нужен кузнец, потому что нам не нужен кузнец.
S>>Не поможет. В его рамках нельзя потребовать отсутствия чего-либо. Да, можно потребовать приводимости типов, и поддержки операторов. Но нельзя запретить, например, иметь публичные поля заданного типа.
N>ну нельзя
N>а зачем?
N>единый стиль, по особому заданные публичные поля

- В C нельзя запретить прямое обращение к членам структуры, минуя функции-аксессоры.
— Ну нельзя. А зачем? Единый стиль, по особому заданные функции...

Ничего не напоминает?
N>Генераторы парсеров приложение, а вот парсеры уже можно сказать нет, да я и написал там только для примера, чтоб показать что всё на idl не заканчивается, и всего в язык всё-равно не впихнёшь
N>а при втором? зачем их компилить в rt я не понимаю, если ты регэксп задаёшь в rt, то какая вераятность что он у тебя будет использоватся больше одного раза, и как часто они будут встречатся?,
N>а если в ct то в ct всё оч даже компилится, туда куда надо,
Да ну? Вот так прямо регекспы компиляются в CT? И все в рамках С++?
N>да и причём тут регэкспы (ты ссылку повтори пожалуста чтоб я смог прочитать то что мне надо), ты мне сейчас весь фреймворк перечислять будешь?
Как причем? Если ты мне приводишь в качестве аргумента некие приложения, написанные на С++, и результаты их работы, то я тебе в ответ напишу библиотеки, написанные на C#, и результаты их использования.
А ссылка — вот здесь.
... << RSDN@Home 1.1.3 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[24]: C++ versus C#
От: Kluev  
Дата: 27.02.04 09:59
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>О боже. Я имел в виду как раз вообще концепцию IDL и промежуточные компиляторы. Стоимость подобного генератора для custom-задачи настолько высока, что их практически никогда не разрабатывают.


Я сам лично разработал 2. Правда не для маршалинга. А насчет стоимости полная ерунда, если надо быстро и дешево то XML вполне подойдет. К тому-же можно заюзать готовые фичи типа autogen.

Конечно, если ты работаешь в NASA, и решаешь сверхзадачи, то и С++ и .NET выглядят настолько маленькими, что можно сразу начинать писать свой язык — на финальную стоимость это почти не повлияет. Но мы-то живем в реальном мире!

Реальный мир гораздо больше чем тебе кажется. Многие программы никогда не покидали стены учереждений где были разработаны. А многие настолько специализированны, что о них мало кто слышал. То что продается на рынке это только вершина айсберга. Наверное больше 80% софта закрыто для посторонних глаз.

K>>В С++ вообще все user-defined. Конечно метаданные как в НЕТ не сделаешь, но ИМХО и потребности нет.

S>Вот-вот. То же самое сорок лет назад говорили ассемблерщики про C.

S>Вот именно — в научной среде. Практического применения эта техника не имеет. От быстродействия я действительно закачаюсь. Сколько времени у меня займет компиляция нового класса в рантайме? Учитывая, что в него придется скормить тысяч двести строк хидеров?


Одного хидера вполне хватит. Ты же не будешь генерить ГУЙ на лету? Это безумие. А какой-нибудь вычислительный алгоритм так скомпильнуть нет проблем. Потеряешь секунду на компиляции зато сэкономишь часы на расчете.

А в ненаучной среде я не вижу потребности в таких задачах. Может приведешь пример?

S> И не пойдет ли пользователь курить? Обрати внимание — в JSP и ASP применяют compile on demand. Как ты думаешь, почему не существует C++SP?


Потому что С++ это не скрипт язык. Все должно применятся там где это нужно.

K>>А если быстродействие особое не нужно, то прикрутить скрипт-машину к плюсовой программе нет проблемм. Генери в скрипт и не жалуйся. ИМХО, надуманная проблемма вообще.

S>Ребята, это тупиковый подход. Прикручивание скрипт-машины к плюсовой программе имеет несколько существенных недостатков, основной из которых — высокая стоимость.

Какая такая стоимость? Я скрипт машину за неделю с нуля напишу, а уж готовую прикрутить. не вижу проблем вообще.

S>Короче, я никого не заставляю. .Net предлагает способ дешево делать хорошие программы. Альтернативы ему есть — та же Java. Более старые технологии позволяют делать либо хорошие, либо дешевые программы. Точка. Не хотите — не надо.


Либо позволяют делать программы которые на НЕТ ну никак. Все что интенсивно пользует память, все расчетные задачи, все задачи моделирования и проектирования не для НЕТ по определению
Re[26]: C++ versus C#
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 27.02.04 10:05
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Пиши статью Дело-то хорошее. Плюсы еще очень много где применимы. Так что best practices по ним завсегда нужны.


Еще и ассемблер не вымер. Дотнет и жава не смогут столкнуть нативные прилы на С++. Рынок нативных прил конечно потеснится, но...
Re[25]: C++ versus C#
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 27.02.04 10:10
Оценка:
Здравствуйте, Kluev, Вы писали:

K>Какая такая стоимость? Я скрипт машину за неделю с нуля напишу, а уж готовую прикрутить. не вижу проблем вообще.


С этим кнечно все просто. Проблемы не со скрипт-машиной и ее прокручиванием.
Пролемы с отображением модели данных например в скрипт.
К слову — этиже пролемы есть и в шарпе. Причем очень хитрые, не сразу и догадаешься.
Кое какие ушли. Кое какие добавились. За счет экономии времени на написание кода и на отладку есть время обходить косяки дотнетовские.

K>Либо позволяют делать программы которые на НЕТ ну никак. Все что интенсивно пользует память, все расчетные задачи, все задачи моделирования и проектирования не для НЕТ по определению


Именно ! Мы поимели печальный опыт дотнета. Кастомер ппросил увеличить перформанс в два-три раза. От плюсовой версии, к примеру, все торчали.
Re[26]: C++ versus C#
От: naje  
Дата: 27.02.04 10:22
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, naje, Вы писали:


N>>нихочу тебя ни в чём переубеждать да и времени нету, просто поверь у меня всё это работает, не на boost::tuples, но работает

S>Пиши статью Дело-то хорошее. Плюсы еще очень много где применимы. Так что best
practices по ним завсегда нужны.

та надо

S>

S>- В C нельзя запретить прямое обращение к членам структуры, минуя функции-аксессоры.
S>- Ну нельзя. А зачем? Единый стиль, по особому заданные функции...

S>Ничего не напоминает?

в С врядли получится генерить ct-ошибки, по каким-то семантическим правилам

S>Да ну? Вот так прямо регекспы компиляются в CT? И все в рамках С++?


ну например здесь
Автор: TepMuHyc
Дата: 13.11.03
, там правда не в автомат выражение собирается, но можно сделать чтоб в автомат, это пример просто чтоб показать что можно сделать.

N>>да и причём тут регэкспы (ты ссылку повтори пожалуста чтоб я смог прочитать то что мне надо), ты мне сейчас весь фреймворк перечислять будешь?

S>Как причем? Если ты мне приводишь в качестве аргумента некие приложения, написанные на С++, и результаты их работы, то я тебе в ответ напишу библиотеки, написанные на C#, и результаты их использования.

сравнивать регулярные выражения и генератор парсеров?
это ж как бы разные как бы порядки (разницу между контестно свободными и регулярными языками знаешь?)

S>А ссылка — вот здесь.


они кокор используют
ну и что?
Re[26]: C++ versus C#
От: naje  
Дата: 27.02.04 10:24
Оценка:
Здравствуйте, Plutonia Experiment, Вы писали:

PE>Здравствуйте, Kluev, Вы писали:


PE>Именно ! Мы поимели печальный опыт дотнета. Кастомер ппросил увеличить перформанс в два-три раза. От плюсовой версии, к примеру, все торчали.


зря ты это сказал, щас они тебе начнут про радиус кривизны зачитывать,
я просто не знаю какой велечины должен быть специалист чтоб на нете нормальные проги писать
Re[27]: C++ versus C#
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 27.02.04 10:31
Оценка:
Здравствуйте, naje, Вы писали:

PE>>Именно ! Мы поимели печальный опыт дотнета. Кастомер ппросил увеличить перформанс в два-три раза. От плюсовой версии, к примеру, все торчали.


N>зря ты это сказал, щас они тебе начнут про радиус кривизны зачитывать,

N>я просто не знаю какой велечины должен быть специалист чтоб на нете нормальные проги писать

Распределенные прилы, бызы данных, все, что свебов связано — запросто. А в ряде областей очень геморройно получается.
Но что выйдет в конце концов ? Пользователи будут ставить по 1гигу памяти и по 2 гигагерца процессор.
Первые, вторые, третьи пни отомрут. Четверные и пятые будут рулить. Но это со временем. А пока спрос неслабый на нативные прилы.
Дотнет нормально будет развиваться на 64х битах. Есть кастомеры, которым нужна совместимость с вынь95. Отчего ? А железо сложно обновить.
Re[22]: C++ versus C#
От: Kluev  
Дата: 27.02.04 10:36
Оценка: +1
Здравствуйте, Sinclair, Вы писали:

S>Может я чего не знаю, но что-то я не вижу способа просто и изящно передать параметры маршалинга в С++ библиотеку в непроцедурном стиле. Как ты объяснишь, что вот этот параметр надо маршалить по ссылке, а этот — по значению?


Обьяснишь легко. С помошью шаблонов:
template <class T>
struct arg_info {
     enum { marshal_type = value };
};

template <class T>
struct arg_info<T&> {
     enum { marshal_type = ref };
};

template <class T>
struct arg_info<T*> {
     enum { marshal_type = ptr };
};
// намек понятен?


Только как я уже говорил иногда выгоднее использовать внешние описания и кодогенераторы. А аля маршаллинга лучше что-нить типа IDL

S>Да. Внутри там то же самое что и в других системах. Это не серебряная пуля, это просто способ повысить производительность и качество труда программистов.


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

S>Да нет проблем. Просто в C# делается все, что делается в .Net. В С++ этого нет. В нем нет делегатов, нет автоматического управления памятью, нет гарантий, что везде, где можно написать a<b можно написать и b>a, нет Reflection, нет модели безопасности, нет встроенной поддержки компонентности.


Автоматическое управление памятью — это фатальный недостаток НЕТ. Программы которые манипулируют одновременно около 100000 обьектами связанными в сеть, писать на НЕТ просто нет смысла.
А все осталное в свете этого — это как висит груша нельзя скушать. Возможности есть но из-за обших недостатков их не заюзаешь. Когда у вас пройдет эйфория поймете что у НЕТ есть свой скромный уголок, такой же как и у всех языков. Страуструп, вообще, всегда говорил что С++ — это язык номер 2.

S>Да, все это можно эмулировать. Впрочем, наследование тоже можно эмулировать на С. Проблема в том, что в рамках С++ нельзя научить компилятор валидировать введенные пользователем правила. И из-за отсутствия рефлексии нельзя это сделать и в рантайме. Поэтому у Versant есть свой препроцессор, который проверяет persistent классы на целостность и генерирует метаданные. Но это фактически другой язык. В C# работу, выполняемую этим препроцессором, можно делать в рамках языка. См. Rsdn.Framework.Data. Почему-то никто не написал подобного для С++!


Это я не восвсем понял? О каких правилах речь?
Re[25]: C++ versus C#
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.02.04 11:37
Оценка:
Здравствуйте, Kluev, Вы писали:

K>Реальный мир гораздо больше чем тебе кажется. Многие программы никогда не покидали стены учереждений где были разработаны. А многие настолько специализированны, что о них мало кто слышал. То что продается на рынке это только вершина айсберга. Наверное больше 80% софта закрыто для посторонних глаз.

Я совершенно с этим согласен. Просто я 5 лет работаю в Custom Software Development, и в нашем случае рулят скорость и цена разработки. Нету здесь ни огромного бюджета, как у Microsoft Office, ни бесконечного срока разработки, как в TeX.
K>Одного хидера вполне хватит. Ты же не будешь генерить ГУЙ на лету? Это безумие. А какой-нибудь вычислительный алгоритм так скомпильнуть нет проблем. Потеряешь секунду на компиляции зато сэкономишь часы на расчете.
Гм. А чем будет пользоваться этот вычислительный алгоритм? Сколько весит хидер для библмотеки классов, которая ему нужна?
K>А в ненаучной среде я не вижу потребности в таких задачах. Может приведешь пример?
Rsdn.Framework.Data подойдет? Там еще много есть куда копать.
K>Потому что С++ это не скрипт язык. Все должно применятся там где это нужно.
Классное объяснение. А Java что — уже скрипт язык?

K>Какая такая стоимость? Я скрипт машину за неделю с нуля напишу, а уж готовую прикрутить. не вижу проблем вообще.

Очень интересно. Может так оно и есть.

S>>Короче, я никого не заставляю. .Net предлагает способ дешево делать хорошие программы. Альтернативы ему есть — та же Java. Более старые технологии позволяют делать либо хорошие, либо дешевые программы. Точка. Не хотите — не надо.

K>Либо позволяют делать программы которые на НЕТ ну никак. Все что интенсивно пользует память, все расчетные задачи, все задачи моделирования и проектирования не для НЕТ по определению
Да. Действительно, это так.
... << RSDN@Home 1.1.3 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[5]: C++ versus C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.02.04 23:25
Оценка:
Здравствуйте, Plutonia Experiment, Вы писали:

PE>В виндовских исходниках частенько присутсвует оптимизация в таком и другом виде.


Те коды могли писаться сто лет назад или для платформ гед компилятор вообще оптимизаций не делает. В тестах же где итерации делаются для того чтобы уменьшить погрешность измерения разворот циклов — это нечесный хак.
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[25]: C++ versus C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.02.04 00:22
Оценка: +1
Здравствуйте, AndrewVK, Вы писали:

AVK>Не, в 1.2 вроде бы МС++ можно для страничек пользовать.


МС++ можно было использовать для АСП еще в весрии 1.0 (раком правда, но все же). Но это МС++. На на обычном так вот просто хрена с два выйдет. Будут все те же проблемы С++.
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[27]: C++ versus C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.02.04 00:22
Оценка:
Здравствуйте, naje, Вы писали:

N>зря ты это сказал, щас они тебе начнут про радиус кривизны зачитывать,

N>я просто не знаю какой велечины должен быть специалист чтоб на нете нормальные проги писать

А зачем? Вы похоже уже это усвоили.
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[27]: C++ versus C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.02.04 00:22
Оценка:
Здравствуйте, Plutonia Experiment, Вы писали:

Да никто и не спорит, что и С++ и даже С будут жить еще очень долго. Но с каждым годом системы вроде дотнета и явы будут совершенствоваться и вытеснять плюсы из все большего количества ниш.

Рассказы о приемуществах С++ в скорости сильно приувеличены. А со временем этих приемуществ вообще не будет. Если сравнить скорость VC и дотнета (C#) вресий 7.0, 7.1, 8.0, то невооруженным взглядом видно, что разрыв потихоничку сокращается. Да и не так он велик. Без проблем в алгоритмах масимальный проигрыш в 2 раза. Если же учесть простоту и скорость разработки на дотнете, то становится понятно, что проще экономить время и тратить деньги на железо. Ну, а если учесть, что аысвободившееся время можно потратить на оптимизацию алгоритмов...
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[27]: C++ versus C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.02.04 00:22
Оценка:
Здравствуйте, naje, Вы писали:

N>они кокор используют

N>ну и что?

Так он на Шарп портирован. Ты ведь вроде спрашивал есть ли генераторы на Шарпе. Или ты том же самом на шаблонах?

Кстати, вот добьем R# поглядим у кого больше гибкость.
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[23]: C++ versus C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.02.04 00:22
Оценка:
Здравствуйте, Kluev, Вы писали:

K>Обьяснишь легко. С помошью шаблонов:

K>
K>template <class T>
K>struct arg_info {
K>     enum { marshal_type = value };
K>};

K>template <class T>
K>struct arg_info<T&> {
K>     enum { marshal_type = ref };
K>};

K>template <class T>
K>struct arg_info<T*> {
K>     enum { marshal_type = ptr };
K>};
K>// намек понятен?
K>


Ты не пытался сравнить это с декларацией на Шарпе?
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.