Re[55]: C+ vs C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.02.06 19:30
Оценка: 6 (1) -2 :))
Здравствуйте, Cyberax, Вы писали:

>> C>Не знаю. Но серьезных десктопных систем на C# я пока не вижу. Софт для

>> C>разработчиков — не в счет.
>> Сильно старашся не замаечать. Так будет вернее.
C>Ну так называйте имена.

Одного достаточно? Тогда RSDN@Home.

C> И цифры распространенности.


1, 2, 3.. 295. Подойдут?

>>> > C>2. Небольшие быстрые утилиты.

>>> > Бинарный diff шенкующий 4х гигабайтные файлы подойдет?
>> C>Запускающийся за сотые доли секунды?
>> Зачем программе работающей по 10 минут загружаться за сотые доли
>> секнуны? Хотя в общем-то запускается она точно меньше десятых долей
>> секунды, так как заметить на глаз ее запуск вряд ли получится.
C>Во-первых, у меня обычно утиллиты работают очень быстро.

У меня тоже. И что?

C> Во-вторых,

C>время запуска .NET-программ вполне заметно.

Используй ngen если уж тебе не втерпежь. К тому же после первого запуска ты вряд ли замешь склько запускается любое дотнетное приложение.

В общем, как и все остальные аргументы — это очередрая некулюжая отмазка.

>> К твоему сведению, утилита о которой идет речь уже более года бэкапит

>> данные на нашем сервере. Причем данные измеряются гигабайтами.
C>Да я верю, что C# может работать с гигабайтами. Сам писал на Java
C>программы, которые с гигабайтами работали.

C>Меня больше интересует удобство использования.


И чем же тебя не удовлетворяет удобство использования? И вообще причем тут оно?

>>> > Кстати... а то что жаба работает в кофевырках это нормально? А ведь она

>>> > по прожорлевей...
>> C>Плохо оно работает.
>> Потрудсь подтвердить свои слова фактами, или не бросаться ими как попало.
C>Например, возьмите телефон Nokia с Symbian-OSом — для него есть порт
C>Doom на С, но на Java есть только достаточно простые игрушки (которые
C>заметно тормозят).

И это доказательство? Это скорее доказательство того, что ты не умешь делать элементарные выводы. Если пользоваться твоей "логикой", то можно сделать вывод, что С++ дерьмо, ведь Дум портирован на С, а не на нем. А у меня на телефоне есть куча игр на Яве которые отнюдь не тормозят, а на С вообще нет. Так что и С дерьмо ведь у меня на телефоне на них игр нет.

В общем, это несерьезно. Если мы говорим о Яве в кофеварках, то нужно о ней и говорить. У тебя есть претензии по потребительским свойствам кофеварок в которых встроена Ява? Нет? Тогда приходится признать, что твои слова являются мягко говоря голословными.

C>Я говорю, что в теории .NET Framework _можно_ портировать хоть на тостер

C>и холодильник, но на _практике_ он полностью есть только в Windows.

Он на прктике есть на куче девайсов. Не надо говорить заведомую неправду.

>> А что какие-то проблемы? Скачай Mono погляди как там это сделано.

C>Ну да, есть маленькая проблема — нужно полностью реализовать Win32
C>Common Controls В Mono на это забили, хотя до этого пытались
C>использовать Wine. Если поискать, то таких мест в .NET еще можно найти.

Для особо уперты повторяю. Скачай Моно. Там реализована базовая часть ВыньФормс. ВыньФормс платформно зависимая библиотека. Чтобы реализовать ВыньФормс на платформе отличной от Выньдовс прийдется эмулировать систему сообщений Виндовс. Но это не явлется непредолоимой проблемой. Например, есть порты MFC на Линукс. К тому же, даже невозможность портирования одной библотеки на другую платформу не говорит о том, что не возможно портировать рантайм.

В общем, в очередной раз приходится констатировать, что ты пользущся особо извращенной логикой. И если ее применить к твоим же словам, то оплучится не меньшая фигня. Например, С++ не портируется так как ATL не портирован на другие платформы.

>> Я вот пользуюсь и Visio, и Word, а OLE 2 не ползуюсь.

C>То есть не вставляете диаграммы из Visio в Word?

Да. Я сохраняю их как файлы и вставляю в Ворд уже готовые файлы. И делаю я это по сображениям надежности и удобста.

C>Я вот часто этим пользуюсь.


Сочувствую. Лично я сбебе этого позволить не могу, так как проффесионально занимаюсь допечатной подготовкой материлов.

>> К тому же можно объяснить, что за непреодалимые пробелмы в реализации

>> OLE 2 на дотнете?
C>То что его нет, и не планируется.

Кого нет? OLE 2 — это COM-спецификация! Каждый может реализовать ее.

C> Нет фундаментальных проблем написать

C>Word на brainf**k.

Очередной пример передергивания. Если ты проводишь некие аналогии между Брэйнфак и C#, то потрудись вырзить их явно.

Пока что я вижу, что ты в очередной раз пользушся весьма странной логикой.

>> И кстати, очень интересен следующий вопрос... Вот в Линукс в принципе

>> невозможно использовать OLE 2.
C>Ну во-первых, под Линукс есть по крайней мере две реализации OLE2 и DCOM

OLE2? Можно ссылкочку? Они как минимум не законны.
А DCOM никакого отношения к OLE2 не имеет. И его без каких либо трудов можно использовать из C#.

>> Стало быть на С++ нельзя написать OLE 2,

>> а программы поддерживающие OLE 2 не пререносимы и стало быть
>> С++-программы тоже не все переносимы.
C>Примерно. OLE2 непереносим — на других платформах нет такого мощного
C>cut&paste-механизма.

Да его вообще нет нигде кроме Виндовс. Если есть клоны, то уверен, что они кривые и уж точно есть не везде. А знаешь почему его нет? На фиг не упал.

C>То что на C# достаточно сложно писать портируемо.


Очередная громкие заявления не подтвержденные ничем. Говоря по простоу — треп.

>>> > Почему?

>> C>Он пока дааааалеко не везде работает.
>> А что С++-код везде работает? А если С++-компилятора нет?
C>С++ есть уже почти везде.

Ну, то есть ты согласен, что не везде? Ваши же любимые аргументы про голимые встраиваемые платформы.

C> Исключения составляют фактически всякие микроконтроллеры.


Гы. Дык вы тут постоянно на них киляете как на то где нет дотнета. А оказывается там и С++ нет. Во как?!

>> Или код цепляет тот же OLE 2?

C>Это да.

Та что? Признаем С++ непереносимым или C# переносимым? Иначе у нас получается какое-то противоричие.

ЗЫ

Подитожу.

Итак C# принципиально позволяет писать любой код. Это язык общего назначения позволяющий присать лбой императивный код. Дотнет как управляемая среда не позволяет его использовать в таких областях как ядро ОС, но уже есть компиляторы C# позволяющие делать и это. Еще одной областью где пока не работает дотнет — это системы реального времени. Обусловлено это тем, что в дотнете используется основанный на иделогии поколений GC, а эта иделогия принципиально не рассчитана на реальное время. Опять же в Сингулярити ядро отвечает требованиям SRT-систем так как применяет соотвествующих инкрементальный GC.

Во всех остальных случаях C# не просто принципиально применим но и реально применяется.

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

Откровенно говоря тратить время на дисксси по столь очевидным вещам бессмысленно. Это вера. Бороться с верой бессмысленно. Так что счасливо оставаться со своей верой на едене.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.