Здравствуйте, Воронков Василий, Вы писали:
ВВ>Ну-ну. А сколько фич он не поддерживает — об этом видно решили умолчать. Хотя факт интересный, не знал. Правда, насколько я помню, в 1.0 C# был по-быстрее малость.
Генерация МСМЛ-а компилятором МС++ вообще не изменилась между версиями 1.0 и 1.1. Изменился джит. Он стал более разумно подходить к компиляции уже оптимизированного кода. Я специально сравнивал декомпилированный вариант моих тестовых программ. Они были идентичны. А скорость выполнения МС++-програм в 1.1 серьезно возрасла.
Что же касается оптимизаций, то джит их делает очень неплохо, но не идеально. Задел еще очень велик. Так что думаю, что в тебчении следующих пяти лет мы еще увидим рекорды со стороны джитов.
... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Ах вот ты о чём Мда... с русской терминологией у тебя не лады. А я то и не понял, То что ты говоришь это явная специализация.
user-defined кстати можно было перевести как пользовательская, но уж никак не ручная.
template <typename T>
class A
{
}
Неявная потому что компилятор сам решает какие операторы, функции и проч использовать.
template<>
class A<int>
{
}
Ты явно указываешь что использовать для шаблона, если параметр int.
Вобщем как ни крути, а есть явная и частичная. Ручной специализации нету, ручные бывают собаки, кошки тормоза и наручники
A>>Итак, я не думаю, что побочным эффектом можно назвать стандартизированное поведение компилятора. VD>"Ошибочно было бы думать..." (с) В.И.Ленин.
A>Твой пример мне тоже понятен. Никаких новых задач я не увидел. Хотя не буду отрицать что .Net вообще и C# в частности могут представлять для их решение более удобные средства по сравнению с другими языками программирования.
Рома, ты будешь смеяться, но начиная с 1920-1940 годов никаких новых задач программирование не решило. Тезис Черча очертил круг алгоритмически разрешимых задач, и с тех пор этот круг не пересматривался. Ни процедурное, ни объектно-ориентированное, ни логическое, ни функциональное программирование не внесли ничего нового. И есть мнение, что уже не внесут.
Поэтому вся история программирования — это борьба со сложностью, или попытки предоставить для решения тех же задач более удобные средства.
... << RSDN@Home 1.1.2 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
VD>>>Кстати, из-за этих идеальных людей стандартизирующих С++ лично я раза два код менял.
dad>>а зачем? кроссплатформенный код что ли?
VD>Затем. Было довольно много тонких изменений. Причем старые компиляторы с ними были не совместимы.
мне приходится код меня только когда я с удивлением обнаруживаю, что vc компилит все что ни попадя даже с отключенными расширениями. это преимущественно мелочи разные.
если конечно пытаешься компилить код написанный 8 лет назад, то наверняка возможны
траблы. уверен, что они твои, а не стандарта..
dad>>не надо путать концепцию ВМ когда все пишется для "одной", и концепцию переносимости когда "один" пишется для всего.
VD>Это ту причем?
как это "при чем" вы пытаетесь сравнивать переносимый компилируемый язык
с языком ориентированным на виртуальную машину (как я понял .net таковой и пытается явиться) т.е. все, на самом деле, лежит на плечах разработчиков jit компилятра. а на с шарпе программируешь в розовых очках. это очень удобно я согласен в этом с тобой.
но сравнивать то их чего ? разные ведь вещи.
надо сравнивать будет mono когда реализация под винды выйдет с .net.
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Здравствуйте, Sinclair, Вы писали:
S>Рома, ты будешь смеяться, но начиная с 1920-1940 годов никаких новых задач программирование не решило. Тезис Черча очертил круг алгоритмически разрешимых задач, и с тех пор этот круг не пересматривался. Ни процедурное, ни объектно-ориентированное, ни логическое, ни функциональное программирование не внесли ничего нового. И есть мнение, что уже не внесут. S>Поэтому вся история программирования — это борьба со сложностью, или попытки предоставить для решения тех же задач более удобные средства.
Я долго смеялся.
А если честно, то и ежу понятно, что принципиально новых задача не будет. Просто обсуждалось отношение
(сложность разработки)
------------------------------------
(скорость работы конечного продукта)
У Нета оно безусловно меньше. Но иногда важно не отношение а именно абсолютное значение какой-то из этих величин.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, oRover, Вы писали:
R>>на материне было написано, что для целеронов шина 400, а для памяти (дуальной) — 266
VD>У тебя P4 Celeron. Я просто думал, что ты об Адонзовском речь ведешь.
вот, нашел:
Celeron Processor 2.4 GHz, 478 Pin, 128 Cache, 400 MHz FSB, UP Only
Здравствуйте, TK, Вы писали:
TK>Hello, "Воронков Василий" >> >> TK>Что-же касается managed C++, то просто крут. by design. >> TK>Visual C++ .NET produces the best-optimized IL code of any Visual Studio .NET compiler >> TK>In addition, there are some features of the .NET Framework that are only exposed by Visual C++ .NET and not by any other Visual Studio .NET language. >> >> Ну-ну. А сколько фич он не поддерживает — об этом видно решили умолчать. Хотя факт интересный, не знал. Правда, насколько я помню, в 1.0 C# был по-быстрее малость.
TK>А что именно не поддерживает? В 1.1 (в 2.0)?
Ну там верификации нет, например.. Вообще конечно речь по большей степени не столько о фичках дотнета, сколько о фичках, которые поддерживают остальные языки VS .NET, но не MC++
Здравствуйте, Воронков Василий, Вы писали:
TK>>А что именно не поддерживает? В 1.1 (в 2.0)?
ВВ>Ну там верификации нет, например..
SUMMARY Managed Extensions for C++ is the preferred programming language for developing Windows Services. Visual Studio .NET 2003 introduces C++ support for designers, providing all the RAD facilities that were available to other languages for developing forms, controls, components, and DataSets. [b]Furthermore, support has been added for the creation of verifiable assemblies with C++
[/b]
ВВ>Вообще конечно речь по большей степени не столько о фичках дотнета, сколько о фичках, которые поддерживают остальные языки VS .NET, но не MC++
Это из разряда syntax sugar?
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, alexkro, Вы писали:
AVM>>>я не про компактность кода говорю, а про компактность программа+среда(в которой программа выполняется)
AVK>>Ну не думаю что всякие msvcrt такие уж крохотные.
A>mscorwks зависит от msvcr*.
Подколол
Куда ж она денется? .net ведь не написан на .net?
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage — to move in the opposite direction. -- Albert Einstein
TK> TK>SUMMARY Managed Extensions for C++ is the preferred programming language for developing Windows Services. Visual Studio .NET 2003 introduces C++ support for designers, providing all the RAD facilities that were available to other languages for developing forms, controls, components, and DataSets. [b]Furthermore, support has been added for the creation of verifiable assemblies with C++ TK>[/b]
Это откуда такое?
ВВ>>Вообще конечно речь по большей степени не столько о фичках дотнета, сколько о фичках, которые поддерживают остальные языки VS .NET, но не MC++ TK>Это из разряда syntax sugar?
Ну да, а что? Всякие там as, is, using. Юзабильно, так сказать, в отличие от строк-указателей.
Здравствуйте, VladD2, Вы писали:
VD>Ну, если собираешся программировать для Виндовс в течении ближайших 10 лет, то будешь обязательно. Это я тебе гарантирую.
Думаешь, в течение ближайших 10 лет MS не придумает ничего нового?
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage — to move in the opposite direction. -- Albert Einstein
Здравствуйте, is, Вы писали:
is>Здравствуйте, VladD2, Вы писали:
VD>>Ну, если собираешся программировать для Виндовс в течении ближайших 10 лет, то будешь обязательно. Это я тебе гарантирую.
is>Думаешь, в течение ближайших 10 лет MS не придумает ничего нового?
Отправной точкой, скорее всего, будет .NET. А, вот, что потом. Надеюсь, что эволюция не долго задержиться на стадии управляемых языком. Хотя, не стоит так далеко загадывать. Может и MS не будет к тому времени. Все может быть.
Здравствуйте, IT, Вы писали:
IT>Но я надеюсь, ты не хочешь сказать, что абсолютное значение производительности зависит только от оптимизатора
Безусловно нет, но некоторые языки оптимизировать легче/проще/удобнее чем другие некоторыее языки. И если С++ имеет очень большой потенциал для оптимизации высокоуровневой, то у C# из-за этой safe'ности и ООориентированности (порою на пустом месте, когда что не число, то объект ) потенциал именно высокоуровневой оптимизации гораздо меньше. Добавь сюда боксинг который появляеться и исчазает как призрак и будет тебе понимание того, о чём я говорю.
Основная проблема ОО языков это постоянные копирования и ещё раз копирования и копирования на всякий случай лишь бы остаться ОО. В Си++ эта проблема, пусть и через, как их Влад назвал, заплатки, решаема, в C# паталогически нет.
Ну и потом. Посуди сам. Простой пример. Решение системы линейных уравнений. На Си++ я напишу шаблонную матрицу с методами SolveU и SolveV, а на шарпе что? Наследовать ICollection? Нифига себе производительность будет Сомневаюсь я чтоб дженерики сильно улучшили ситуацию. Так что в бизнес-логике .Net может и рулит, а за её переделами увы.
И как бы не махали флагами патриоты Нета, он какую нишу должен был занять — уже занял и ни новые версии и офигительный маркетинг сильно ситуацию не изменят.
И я просто не верю, и на то есть причины, что MS будет выпускать API доступное только из managed сборок. Мне скажут а как же СОМ? Плохой пример. СОМ пусть и не очень удобно, но можно пользоватся из любого, даже не ОО (например Си) языка. Хедеры DirectX даже в девятой версии поддерживают не Си++ компиляцию, а сам СОМ хотя и построен на интерфейсах, но простите CoInitialize это же функция На .Net никогда не будут писать драйвера и вообще сугубо системые вещи. Свою нишу он уже занял.
Другое дело, что поголовье .Net Lamers будет с каждым годом увеличиваться. Всё больше студентов будут писать "Hellow, world!" на шарпе и думать что они крутые. Будет всё больше .Net Q&A и со временем какая-нибудь добрая душа напишет бесплатный TreeControl вроде этого http://www.rsdn.ru/article/files/Classes/cflist2.xml
который Влад с АВК запихают в Янус
Я например вижу такую тенденцию
Pascal — не MS язык. Практически не изменлся со времён Turbo Pascal. Добавлялся но не менялся. Для меня переход на дельфи был сказкой. Первая программа написана в тот же день.
Basic — MS Язык. Сперва QuickBasic, потом VisualBasic, потом VB.Net всегда изменения существенные, а старая версия умирает
Cи++ не MS язык, Добавляеться, но не меняеться.
С# — угадй с 1й попытки что с ним будет
Так что сменим кучу языков (Basic. Pascal, JavaScript, VBScript, Perl, PHP, C++) я остаюсь поклонником плюсов и будущее меня не особо волнует, без работы я не останусь