WolfHound wrote: > Д>>я раньше тоже думал в точности, как ты > A>Т.е. как конкретно? Ты ещё не выразил своего мнения. Милости просим. > Ну примерно так: С++ крут! С++ мега крут! Нет ничего круче С++! Если > правильно использовать С++ то все эти новомодные финтифлюшки тапа .NET'а > просто ерунда!
Нет, просто C# и прочие языки еще не доросли до тех задач, которые С++
хорошо решает.
Здравствуйте, Cyberax, Вы писали:
C>Нет, просто C# и прочие языки еще не доросли до тех задач, которые С++ хорошо решает.
1)Ядро ОС
2)Драйверы
3)Жесткое реальное время
Я ничего не забыл?
Причем пункты 1 и 2 через некоторое время станут не актульны см сингулярити... С пунктом 3 пока не все ясно но думаю что и там тоже чтонибудь придумают...
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
WolfHound wrote: > C>Нет, просто C# и прочие языки еще не доросли до тех задач, которые С++ > хорошо решает. > 1)Ядро ОС > 2)Драйверы > 3)Жесткое реальное время > Я ничего не забыл?
Забыл, забыл. Еще есть:
1. Десктопные приложения (поверю, что C# до них дорос в тот день, когда
выйдет Word на C#).
2. Небольшие быстрые утилиты.
3. Встраиваемые приложения (Memory is at premium).
4. Приложения для систем без .NET Framework.
5. Приложения для OLE2.
6. Кросс-платформенные приложения (не надо про Mono).
Здравствуйте, Cyberax, Вы писали:
C>1. Десктопные приложения (поверю, что C# до них дорос в тот день, когда выйдет Word на C#).
А в чем проблема? Кроме того что ктото должен сесть и написать..., а это в любом случае большие затраты которые довольно трудно окупить ибо придется воевать с офисом... C>2. Небольшие быстрые утилиты.
Бинарный diff шенкующий 4х гигабайтные файлы подойдет? C>3. Встраиваемые приложения (Memory is at premium).
Таких становится все меньше и меньше, и управляемые среды тоже работыют на уменьшением потребления памяти...
Кстати... а то что жаба работает в кофевырках это нормально? А ведь она по прожорлевей... C>4. Приложения для систем без .NET Framework.
Надеюсь ты понимаешь что нет никаких теоритических препядствий портированию .NET практически куда угодно. C>5. Приложения для OLE2.
Ну и нафига этот OLE2 нужен? C>6. Кросс-платформенные приложения (не надо про Mono).
Почему?
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, Cyberax, Вы писали:
C>3. Встраиваемые приложения (Memory is at premium).
пиши уж тогда точнее — проги для микроконтроллеров. Потому что для всяких PPC на .NET уже пишут без проблем.
C>4. Приложения для систем без .NET Framework.
ну тогда конечно хрен поспоришь
а ты сможешь написать прогу на С++ для системы, в которой нет компилятора С++?
C>6. Кросс-платформенные приложения (не надо про Mono).
а почему это вдруг не надо? Чтобы не разрушать твою стройную систему доказательств?
WolfHound wrote: > C>1. Десктопные приложения (поверю, что C# до них дорос в тот день, > когда выйдет Word на C#). > А в чем проблема?
Не знаю. Но серьезных десктопных систем на C# я пока не вижу. Софт для
разработчиков — не в счет.
> C>2. Небольшие быстрые утилиты. > Бинарный diff шенкующий 4х гигабайтные файлы подойдет?
Запускающийся за сотые доли секунды?
> C>3. Встраиваемые приложения (Memory is at premium). > Таких становится все меньше и меньше, и управляемые среды тоже работыют > на уменьшением потребления памяти...
И тем не менее требуют ее в разы больше.
> Кстати... а то что жаба работает в кофевырках это нормально? А ведь она > по прожорлевей...
Плохо оно работает.
> C>4. Приложения для систем без .NET Framework. > Надеюсь ты понимаешь что нет никаких теоритических препядствий > портированию .NET практически куда угодно.
Я практик, а не теоретик.
Да, и как вы собираетесь портировать функции типа PreProcessMessage у
Control, например?
> C>5. Приложения для OLE2. > Ну и нафига этот OLE2 нужен?
Cut&paste из Visio в Word, например.
> C>6. Кросс-платформенные приложения (не надо про Mono). > Почему?
Он пока дааааалеко не везде работает.
Дарней wrote: > C>3. Встраиваемые приложения (Memory is at premium). > пиши уж тогда точнее — проги для микроконтроллеров. Потому что для > всяких PPC на .NET уже пишут без проблем.
Пишут. Но не без проблем — там памяти мало и что-то серьезнее
"Ресторанного меню" или "Карты метрополитена" написать сложно.
> C>4. Приложения для систем без .NET Framework. > ну тогда конечно хрен поспоришь > а ты сможешь написать прогу на С++ для системы, в которой нет > компилятора С++?
Элементарно. Делаю это каждый день.
Называется "кросс-компиляция".
> C>6. Кросс-платформенные приложения (не надо про Mono). > а почему это вдруг не надо? Чтобы не разрушать твою стройную систему > доказательств?
Потому как реально с Mono одни проблемы. Например, Windows Forms глючит
жутко и надо использовать что-то типа GTK.NET. А это мегабайты
дополнительного мусора и т.п.
Здравствуйте, Cyberax, Вы писали:
C>Пишут. Но не без проблем — там памяти мало и что-то серьезнее C>"Ресторанного меню" или "Карты метрополитена" написать сложно.
а ты собрался там сервер приложений запускать?
C>Элементарно. Делаю это каждый день. C>Называется "кросс-компиляция".
Вообще никакого компилятора нет. И кросс-компилятора тоже нет. Ну как?
А прогу для .NET запустить без фреймворка все-таки можно. Потому что есть специальные линкеры и прочие хитрые штуки наподобие Grasshopper.
C>Потому как реально с Mono одни проблемы. Например, Windows Forms глючит C>жутко и надо использовать что-то типа GTK.NET. А это мегабайты C>дополнительного мусора и т.п.
А что, в С++ твоя прога на святом духе будет работать? Все равно будешь использовать тот же самый GTK или аналог.
Здравствуйте, eao197, Вы писали:
E>И вообще, складывается впечатление, что ты поносишь C++ из-за своего печального опыта программирования на C++, который, видимо, изобиловал подобными кулхакерскими решениями. Но, видишь ли, есть программисты, у которых подобного печального опыта нет. Вероятно, alexeiz как раз пример. И я так же.
Здравствуйте, WolfHound, Вы писали:
WH>С пунктом 3 пока не все ясно но думаю что и там тоже чтонибудь придумают...
Вооще-то с п. 3 тоже все ясно. Единственное что вносит недетерминизм в управляемые программы — это GC. О том что уже есть GC реального времяни вроде бы уже все знают. Так что достаточно подключить такой GC к управляемой середе и на ней без проблем можно будет писать программы реального времени. Собственно ядро Сингулярити как раз и пользуется таким. 100 микросекунд насколько я знаю как раз отвечает условиях систем жесткого реальным временим.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, eao197, Вы писали:
E>Был другой опыт. Небольшие команды, средние проекты с временем жизни в несколько лет. На каждого разработчика в результате по 150-200т. строк кода (за год где-то по 50-60т. строк). В таких условиях кулхакерские приемы валят проекты напрочь.
Расскажи об этом нашим, видимо молодым, кулхацкерам
Здравствуйте, alexeiz, Вы писали:
A>По сравнению с C++? Это уже смотря как хорошо ты его знаешь (а по твоим постам видно, что ты не различаешь C и C++). У меня изначально производительность была высокая. C# ничего улучшающего не принёс.
Я выдвину свою версию — я знаю С++ и темболее C# значительно лучше тебя. Теперь ты можешь разбиться о стену даказывая обратное.
VD>>Кстати после того, как изучишь эту идеологию, то и на С++ станешь писать по другому. Начнешь понимать весь вред кулхакерских решений выжимающих пару тактов процессора иди делающих код чуть короче, но при этом нарушающих принципы безопасности и надежности.
A>LOL Кто бы рассказывал. Ты извени, но в области C++ твои слова — пустой звук. Кстати, так как ты не считаешь нужным читать посты твоих собеседников, рекомендую тебе всё таки посмотреть мой пост, где я писал про уровень абстракции.
Ты извини но ты не имешь ни малейшего права оценивать мои возможности, и следовательно значимость моих слов. Так что, то что мои слова для тебя пустой звух — это всего лишь твои личные проблемы. Вот такая диалектика.
VD>>Вообще-то Нэмерл явно создавался как развитие C#. Это можно сказать такой идеальный C#. C# в который хорошо интегрированы функциональная парадигма и парадигма метапрограммирования. Так что совершенно ясно причем тут он.
A>Отнюдь. Спорный вопрос, что это развитие C#.
Ты бы хоть зашел ради хохмы на сайт Нэмерла и почитал хоть что-то о нем прежде чем разглаглоствовать о нем. http://nemerle.org/Main_Page
Nemerle is a high-level statically-typed programming language for the .NET platform. It offers functional, object-oriented and imperative features. It has a simple C#-like syntax and a powerful meta-programming system. more...
...Nemerle is not far away from C#.
Semantically Nemerle is mostly a C# superset...
Весь рассказ о Нэмерле постоянно сопровождается ссылками на C# и на клоны ML. По сути Нэмерл есть грамотное сочетание синтаксиса C# и функциональных возможностей в стиле ML. Конечно в нем есть кое что от Питона и даже Васика, но это не более чем разумные взаимстования, а не часть генеральной линии.
Вот чего действительно нет в этом языке, так это взаимствований из С++. Забавное совпадение, не правда ли?
A> Причём он ещё в экпериментальной стадии. Я бы сказал, что он здесь пока не к месту.
Он в той стадии когда на нем можно работать. Так что уж привести его для сравнения уж точно можно.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Дарней wrote: > C>Пишут. Но не без проблем — там памяти мало и что-то серьезнее > C>"Ресторанного меню" или "Карты метрополитена" написать сложно. > а ты собрался там сервер приложений запускать?
Да http://www.elewise.ru/products/others/index.html
Продукт еще не завершен, но уже вполне шевелится на PPC.
> C>Элементарно. Делаю это каждый день. > C>Называется "кросс-компиляция". > Вообще никакого компилятора нет. И кросс-компилятора тоже нет. Ну как?
Давно такого не встречал, там куда может компилить GCC — везде есть.
А вот платформы без .NET _Framework_ — это все не-Windows системы.
Портировать GCC на новую платформу — задача на месяц (если платформа
вообще способна поднять C/С++).
> А прогу для .NET запустить без фреймворка все-таки можно. Потому что > есть специальные линкеры и прочие хитрые штуки наподобие Grasshopper.
Ага, конечно.
> C>Потому как реально с Mono одни проблемы. Например, Windows Forms глючит > C>жутко и надо использовать что-то типа GTK.NET. А это мегабайты > C>дополнительного мусора и т.п. > А что, в С++ твоя прога на святом духе будет работать? Все равно будешь > использовать тот же самый GTK или аналог.
Я могу использовать wxWidgets и получить нативные виджеты, например.
Оверхед минимален.
не вижу никаких принципиальных проблем, которые мешают реализовать это под .NET CF. у нас прога и посложнее была.
C>А вот платформы без .NET _Framework_ — это все не-Windows системы.
ну всё, началась сказка про белого бычка.
C>Портировать GCC на новую платформу — задача на месяц (если платформа C>вообще способна поднять C/С++).
написать полноценный кодогенератор под другой процессор за месяц? Не верю.
C>Ага, конечно.
против таких аргументов конечно не попрешь
C>Я могу использовать wxWidgets и получить нативные виджеты, например. C>Оверхед минимален.
ну напиши под них обертку на C++/CLI. Или религиозные убеждения мешают?
Дарней wrote: > C>Да http://www.elewise.ru/products/others/index.html > C>Продукт еще не завершен, но уже вполне шевелится на PPC. > не вижу никаких принципиальных проблем, которые мешают реализовать это > под .NET CF. у нас прога и посложнее была.
А можно сделать так, чтобы потом этот код работал нормальной Windows и Unix?
Сразу скажу, что нельзя Ну и просто по потреблению памяти и скорости
не пойдет.
Про мелочи типа необходимости интероперабельности с Outlook я вообще молчу.
> C>А вот платформы без .NET _Framework_ — это все не-Windows системы. > ну всё, началась сказка про белого бычка.
А вы можете их перечислить?
> C>Портировать GCC на новую платформу — задача на месяц (если платформа > C>вообще способна поднять C/С++). > написать полноценный кодогенератор под другой процессор за месяц? Не верю.
Спорим?
В GCC мне нужно описать модель процессора на специальном языке (md —
Machine Description), остальное сделает сам gcc (ну еще придется
написать несколько утилитных функций). Например, для m68k это файлик в
200Кб, а для pdp11 — в 50Кб.
> C>Я могу использовать wxWidgets и получить нативные виджеты, например. > C>Оверхед минимален. > ну напиши под них обертку на C++/CLI. Или религиозные убеждения мешают?
Ну да, легко и непринужденно за пару месяцев.
Здравствуйте, Cyberax, Вы писали:
C>Не знаю. Но серьезных десктопных систем на C# я пока не вижу. Софт для C>разработчиков — не в счет.
Сильно старашся не замаечать. Так будет вернее.
>> C>2. Небольшие быстрые утилиты. >> Бинарный diff шенкующий 4х гигабайтные файлы подойдет? C>Запускающийся за сотые доли секунды?
Зачем программе работающей по 10 минут загружаться за сотые доли секнуны? Хотя в общем-то запускается она точно меньше десятых долей секунды, так как заметить на глаз ее запуск вряд ли получится.
К твоему сведению, утилита о которой идет речь уже более года бэкапит данные на нашем сервере. Причем данные измеряются гигабайтами.
>> Кстати... а то что жаба работает в кофевырках это нормально? А ведь она >> по прожорлевей... C>Плохо оно работает.
Потрудсь подтвердить свои слова фактами, или не бросаться ими как попало.
>> C>4. Приложения для систем без .NET Framework. >> Надеюсь ты понимаешь что нет никаких теоритических препядствий >> портированию .NET практически куда угодно. C>Я практик, а не теоретик.
Это переход на личности, не будем обсуждать вопрос о том кто ты.
C>Да, и как вы собираетесь портировать функции типа PreProcessMessage у C>Control, например?
А что какие-то проблемы? Скачай Mono погляди как там это сделано.
>> C>5. Приложения для OLE2. >> Ну и нафига этот OLE2 нужен? C>Cut&paste из Visio в Word, например.
Я вот пользуюсь и Visio, и Word, а OLE 2 не ползуюсь.
К тому же можно объяснить, что за непреодалимые пробелмы в реализации OLE 2 на дотнете?
И кстати, очень интересен следующий вопрос... Вот в Линукс в принципе невозможно использовать OLE 2. Стало быть на С++ нельзя написать OLE 2, а программы поддерживающие OLE 2 не пререносимы и стало быть С++-программы тоже не все переносимы. Тогда же в чем разница между программой на дотнете и С++-программой? Если программа использует платформно-зависимую библиотеку, то она принципиально не переносима.
>> C>6. Кросс-платформенные приложения (не надо про Mono). >> Почему? C>Он пока дааааалеко не везде работает.
А что С++-код везде работает? А если С++-компилятора нет? Или код цепляет тот же OLE 2?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Cyberax, Вы писали:
C>Портировать GCC на новую платформу — задача на месяц (если платформа C>вообще способна поднять C/С++).
Зашибись. А в чем проблема за тот же месяц скомпилировать код Моно? Он же ведь просто С-код! А уж С куда более распространен.
В общем, кончайте пытаться найти отмазки. Вы тут сидите и придумываете какие-то сказочные стуации в которых что-то там не будет. Такие ситуации можно придумать для чего угодно.
Факт же в том, что для большинства задач системы вроде дотнета более чем подходят. И единственная причина по которой люди по старинке пишут на С/С++ — это косность мышление и недальновидность.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Дарней, Вы писали:
C>>Да http://www.elewise.ru/products/others/index.html
C>>Продукт еще не завершен, но уже вполне шевелится на PPC.
Д>не вижу никаких принципиальных проблем, которые мешают реализовать это под .NET CF. у нас прога и посложнее была.
Да, уж. Данная ссылка это самое бредовое доказательство которе я видел.
Система интеграции с платформно-зависимым МС Аутлуком пишется на С++ чтобы выпячивать кросплатформность.
А вот этот перл мне больше всего понравился:
Использование C++ гарантирует корректную и экономную работу с памятью, а также высокую скорость работы.
Думаю, здесь забыли "не" вписать. Только не знаю где. То ли перед "гарантирует", то ли перед "корректную".
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.