Re: C#. что вижу я.
Во-вторых, я не знаю насколько быстро бегает .нет, но и Ява чем дальше, тем быстрее бегать начинает. Не знаю как там себя ведёт 1.6 (руки до всего не доходят), но 1.5 довольно заметно ускорилась по сравнению с 1.4.2. И это без JIT компиляции. А с ней, скорость обгоняет машинный код, вышедший из под хорошего компилятора С/С++. Не везде кончено, но на некоторых задачах так вообще заметно невооруженным глазом. Так что скорость - тоже вопрос спорный.
Касательно интерфейсов в Яве.. Наверное, Вы е достаточно знакомы с ней. Я не знаю всех тонкостей работы с ними в С#, но я Яве они есть. И в ней тоже есть масса вкусностей и "приятностей" для ООП.
Чего-конечно у Java нет, так это работы с железяками. Но тут уже сама идеология запрещает. Ява никогда не позиционировалась, как средство для системного программирования. И зачем? Для такого есть С/С++, ну а для исповедующих правило "оптимизация и полный контроль - выше всего" никто не отменял assembler. Кстати, все выше перечисленные средства, в большей или меньшей мере присутствуют на любой аппаратной и програмной платформе - будь-то х86, будь то какой-нить ядрёный Motorola, а порой даже мобильный телефон и кассовый апарат. (С ОС всё не так лазурно, поскольку написанную на asm под Линукс программу можно и не запустить на другой машине, но факт присутствия такого элемента в системе есть).

Ну а если любить баб, то тем более красивого кода не получится. Потому-что, девушки умеют напрочь вымести из головы всё, кроме себя.
Прошу простить меня за такой, довольно жесткий, ответ.
И по-моему, я его доходчиво изложил. И излагаю каждый день, когда пишу код в vim и компилирую gcc/g++ и javac. 
И Вам день добрый. Попробую ответить на ваше сообщение по мере исл и возможностей. Если что-то упущу, то прошу не серчать на меня сильно.здравствуйте товарищи.
Во-первых, пока я своими глазами не увижу работающее приложение под Linux/FreeBSD (это то что я пробовал своими руками), или не услышу слова человека, мнению которого я могу безоговорочно доверять, то в кроссплатформенность не поверю на грамм. К сожалению я чуток неправильно запомнил ссылку (monoproject, вместо mono-project) и не смог скачать сие чудо. Но постараюсь исправить свою ошибку в ближайшем будущем. Так что с этим всё ещё впереди.он еще и кросс - платформенный получится.. такого же плана средством была ява но ни такой скорости, ни такой глубокой и удобной работы с железяками там не было. Плюс в Нете реализованы куча уникальных артефактов программирования (атрибуты например, также интерфейсы, ну интерфейсы не вполне уникальная вещщщьчь. в КОМе и в том же дельфи они уже были, а вот в ЯВЕ, насколько я знаю - нет).
Во-вторых, я не знаю насколько быстро бегает .нет, но и Ява чем дальше, тем быстрее бегать начинает. Не знаю как там себя ведёт 1.6 (руки до всего не доходят), но 1.5 довольно заметно ускорилась по сравнению с 1.4.2. И это без JIT компиляции. А с ней, скорость обгоняет машинный код, вышедший из под хорошего компилятора С/С++. Не везде кончено, но на некоторых задачах так вообще заметно невооруженным глазом. Так что скорость - тоже вопрос спорный.
Касательно интерфейсов в Яве.. Наверное, Вы е достаточно знакомы с ней. Я не знаю всех тонкостей работы с ними в С#, но я Яве они есть. И в ней тоже есть масса вкусностей и "приятностей" для ООП.
Чего-конечно у Java нет, так это работы с железяками. Но тут уже сама идеология запрещает. Ява никогда не позиционировалась, как средство для системного программирования. И зачем? Для такого есть С/С++, ну а для исповедующих правило "оптимизация и полный контроль - выше всего" никто не отменял assembler. Кстати, все выше перечисленные средства, в большей или меньшей мере присутствуют на любой аппаратной и програмной платформе - будь-то х86, будь то какой-нить ядрёный Motorola, а порой даже мобильный телефон и кассовый апарат. (С ОС всё не так лазурно, поскольку написанную на asm под Линукс программу можно и не запустить на другой машине, но факт присутствия такого элемента в системе есть).
Ну опять же скажу, что может и не так приятно, нежно и аккуратно, можно пользоваться некоторыми средствами разработки под java, которые при подключении какого-либо *.jar могут точно так же развернуть "заголовочки" классов, методов и пр., а если нужно то и до внутренностей добраться можно (wine jad *.class, хе-хе-хе).- модульность получаемого кода очень удобна. ни в одном средстве не было возможности сделать ДЛЛку и при подключении ее к внешнему проекту видеть все ее классы методы и прочие потроха как в исходнике без всяких заголовков и библиотек импорта.
Прошу конечно простить, но скажу о том, что ключевая фраза здесь "под винду". Но я не думаю, что обычный С++ намного уступит в выше перечисленных параметрах. О Делфи я разговора не завожу, я думаю по понятным причинам.без визуальщины не тормозит вообще, разрабатывать -кайф, средства для тестирования - улет, библиотеки штатные - могучие. к тому же это единственная надежная платформа для разработки надежного кода под винду.
оконная графика - сильно нагруженная - нуего.
Я как раз в этой плоскости говорил о Визуальном Васике. Это его, наверное, самое слабое место. Хотя он и овобще не поворотлив. А касательно этого, С++ хорошо с графикой бегал, да и Java в своих окошках мило рисует, при это побыстрее ВасюкаГрафика - отдельная песня. я говорил. А невизуальный код фигачит практически со скоростью обычного маш. кода.
Домучивать они его будут на таких машинах, что моя по сравнению с ними будет казаться чем-то таким старым, что умереть можно. У них там сейчас машин меньше чем с 2 ГГб ОЗУ не осталось, процессоры давно зашли за 3 ГГц, видеокарты с 256 МГб на борту. И вы ещё надеетесь, что кто-то займётся оптимизацией кода, и оттачиванием быстродействия системы?Плюс производительность графической подсистемы упирается в возможности старого кода управления окнами, старого API windowHandler-ов и точек входа в процедуры.
Когда MS домучит свой обьектный движок для работы с окнами (он вроде в одном из проектов авалоном назывался, хотя в конце-концов под этим именем родилось хрензнаетшо) - думаю скорость отрисовки .нет - визуальщины радикально улуччицца.
А я и шевелюсь, только моё шевеление и мои предпочтения не касательно программирования останутся вне пределов этой темы. А любя результат, красивый код не напишешь. Можно много разглагольствовать по поводу красивого кода, но игры в визуальные компоненты, заглажывание своих ошибок путём оптимизирующих компиляторов и визуальных сред, когда порой даже лень в книгу заглянуть, например Кнута, и потратить пол часа на анализ алгоритма... - точно не красивое программирование. Это хорошее зарабатывание денег, но не программирование.... - надо шевелиться. И код я люблю надежный, шустрый и такой, который можно быстро изваять и легко сопроводить. Я не особо люблю программить. Я люблю результат.
Ну а если любить баб, то тем более красивого кода не получится. Потому-что, девушки умеют напрочь вымести из головы всё, кроме себя.
Прошу простить меня за такой, довольно жесткий, ответ.
Не красивее чем в С или Java. Серьёзно. По крайней мере глаз мой ничего такого не заметил, тчобы прямо восхитится и умереть от зависти.Попробуйте. и вы увидите, что он очень красив. я такого красивого ни на чем не видел, честно.
Ява, доросшая до того, чего от нее никто не ждал.
Так откуда же такие возрения на то, что такое java, а что С#, а тем более, что от Java ожидали, а чего нет. я же сказал, что у Sun своё видения того для чего нужна Java. Если почитать описание Sun OS, то Возникает масса предположений какие там планы на Java. И ещё подозрения, что .NET - краденая идея по своей сути.... но врать не буду с явой я токо начинаю сталкиваться и чураюсь ее пока..
Ну так работа с железом на разных платформах разная. Как я уже написал выше, Java не предлагалась как "кроссплатформенная система для написания низкоуровневого кода". Ну а Мелкомягкие тешат нас такой сказочкой о С#. Но нейтив код, нейтив кодом, а свзку C++ с asm никто не отменял ещё пока, хотя и хотели. Может на Windows это и выйдет, но останется совсем иной мир.Ну это ты с железом не работал небось. а то там всетаки появляется вроде нейтив код.
Как показывает практика, некоторые приложения выполняемые в эмуляторах Windows показывают не меньшее быстродействие чем на родной платформе. Если сейчас имеется воможност ьвыполнять довльно большой список программ в эмуляторах, то при использовании кода, используемого в них, моно мог бы (особенно в свете соглашений подпиасных между Novell и Microsoft) теоретически воссоздать все winapi32 по крайней мере на уровне ХР. Ну это теоретическая вскидка, но всё же.как моно могет в прынцыпе реализовать например все классы из system.win32 ?
Размеры это не приемущество, а скорее недостаток. Порой, можно сэкономить сотни и тысячи строк кода, как результат десятки мегабайт "откомпилированного результата". Также следует учесть "избыточность" Окон - драйвера, "програмульки" и т.д. А о возможности это все переписать я уже писал выше.для этого в моно нада засунуть винду.. маленькую такую.. ембеддед![]()
Ну так как же сказать, что лучше? Если не будет возможности сравнить? Вот слов тут сказано и с моей и с Вашей стороны много, а пока не будет цифр: сравнения производительности, количество программистов под конкретными системами, степень кроссплатформенности и многое другое... - не могу быть я абсолютно прав, а Вы уже тем более. Почему? Потому-что, я уже сказал, что у Java полная переносимость, да к тому же и полная совместимость старого кода с новыми версиями jre. Потому-что, статистика использования говорит не в пользу C# - количество программистов, пишущих на С, С++ (не вместе, а по отдельности), на Java всё же больше чем на C#.а смысл ? перед тем как чегото гонять и тестить - поставь всою задачу. Поставь допуски - с какой мин. скоростью оно должно крутиться. потом лепи тесты.
Я свой выбор то уже сделал и причём давно.Скажем так. Майкрософт не меняется от того, верю ли в него я или ты.
Единственный выбор который у тебя есть - работать или не работать с ним.