Люди, но неужели вы до сих пор не поняли, что на с# нельзя писать программы с нетривиальной логикой просто потому, что он для этого не предназначен? Он просто убог для этого.
Simple data flow — да, но не больше.
Одно отсутствие const параметров методов — это убийство.
Я это говорю, исходя из личного опыта. У меня "эйфория" от него прошла довольно быстро.
Здравствуйте, jazzer, Вы писали:
J> На какие "дремучие заблуждения"?
А метапрограммирование — штука сравнительно новая.
...
Ты не согласен? Старая? И когда же метапрограммирование начало рассматриваться и применяться как полноценный метод программирования наряду с другими? До рождения С++?
Все это дремучие заблуждения и их следствия. А вызванно это все тем, что ты считаешь что некоторые вещи появились тогда когда они попали в область твого видния (определяемого в основном С++-ом).
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Cyberax, Вы писали:
C>Андрей Хропов wrote: >> 5 The standard libraries: >> 5.1 General comments >> * >> 5.2 Runtime infrastructure library >> 5.3 Base Class Library (BCL) >> 5.4 Network library >> 5.5 Reflection library >> 5.6 XML library >> 5.7 Extended numerics library >> 5.8 Extended array library >> 5.9 Vararg library >> 5.10 Parallel library >> * C>Это не сильно больше, чем в новом Стандарте С++.
В каком? который 0x? Так он еще когда выйдет.
C>То есть, как и на C/С++ писать переносимый код на стандартном языке — не C>получится.
Почему? Да, стандарт не охватывает все, что есть в MS.NET. Но тем не менее Monoвцы так или иначе стараются создать соответствующие библиотеки. Во многом они уже есть. Или можно пользоваться альтернативными (тот же Gtk#).
Также как и на C++ можно писать переносимый код если пользоваться только переносимыми библиотеками. Разница в том, что в С++ придется перекомпилировать каждый раз под новую платформу, а то и компилятор.
Стандарт должен обеспечивать возможность простой интеграции библиотек и базовую функциональность. Все остальное — в портабельные библиотеки.
Здравствуйте, Константин Л., Вы писали:
КЛ>Люди, но неужели вы до сих пор не поняли, что на с# нельзя писать программы с нетривиальной логикой просто потому, что он для этого не предназначен?
А где в предыдущем сообщении VladD2 говорил про C#?
КЛ> Он просто убог для этого. Программы с нетривиальной логикой можно писать на любом Тьюринг-полном языке. На C, который прост как табуретка, вон Oracle всякие написаны.
КЛ>Одно отсутствие const параметров методов — это убийство.
Ну соглашусь, что это недостаток.
С другой стороны и у C++ много косяков. Как насчет отсутствия override?
Также можно сказать, что так как в C++ нет GС, то писать на нем — это убийство .
Ты не согласен? Старая? И когда же метапрограммирование начало рассматриваться и применяться как полноценный метод программирования наряду с другими? До рождения С++?
VD>Все это дремучие заблуждения и их следствия. А вызванно это все тем, что ты считаешь что некоторые вещи появились тогда когда они попали в область твого видния (определяемого в основном С++-ом).
Вынужден констатировать, что дискуссия превратилась во флейм и потеряла смысл.
Ты мои объяснения слышать не хочешь, видимо, принципиально их не читаешь. Цепляешься к словам, вырванным из контекста.
Всё, что я хотел сказать, я уже сказал.
Все, кто хотели понять, о чем я говорил, имели для этого все возможности и даже ими воспользовались.
Ты этого делать не хочешь, даже после обяснений, данных лично тебе.
Счастливо оставаться.
Андрей Хропов wrote: > C>Это не сильно больше, чем в новом Стандарте С++. > В каком? который 0x? Так он еще когда выйдет.
Через два года. Следующий ISO-стандарт для C# тоже еще не близко.
> C>То есть, как и на C/С++ писать переносимый код на стандартном языке — не > C>получится. > Почему? Да, стандарт не охватывает все, что есть в MS.NET. Но тем не > менее Monoвцы так или иначе стараются создать соответствующие > библиотеки. Во многом они уже есть. Или можно пользоваться > альтернативными (тот же Gtk#).
Ну это точно такая же ситуация, как и с С++. Необходимо будет
тестировать на совместимость со всеми средами так же, как и в случае с
С++ требуется тестировать с разными компиляторами.
> Также как и на C++ можно писать переносимый код если пользоваться только > переносимыми библиотеками. Разница в том, что в С++ придется > перекомпилировать каждый раз под новую платформу, а то и компилятор.
Ну так и в C# точно так же, используешь какой-нибудь системно-зависимый
контрол — и привет портируемости.
> Стандарт должен обеспечивать возможность простой интеграции библиотек и > базовую функциональность. Все остальное — в портабельные библиотеки.
Если нет стандарта на библиотеки — то будет зоопарк (собственно, он УЖЕ
есть).
Вот в Java, фактически, такой стандарт есть — это Sun JDK, который есть
на куче платформ. А сейчас вообще открытым стал.
Здравствуйте, Шахтер, Вы писали:
VD>>А какой у тебя опыт написания переносимых программ на других языка?
Ш>Речь шла о C++. Причем тут другие языки?
Не допускаешь, что то что ты считаешь нормальным в сравнении с другим языком может оказаться ужасно сложно и медленно?
Другими словами, не допускаешь, что делов в твоей неверной оценке?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Tonal-, Вы писали:
T>Чем этот код плох?
Тем что его очень сложно понять. А ведь это совершенно примитивный пример. Реальные грамматики куда сложее.
Лично я предпочел бы полностью декларативную грамматику
Здравствуйте, CreatorCray, Вы писали:
VD>>MFC входит в комплект VC, и по сути является стандартной библиотекой. CC>С каких пор VC стало стандартом С++ ? VD>>WinForms стандартной библиотекой не является. Он является частной библиотекой МС. CC>Равно как и MFC в таком случае.
Значит ты согласен, что вхождение библиотеки в комплект поставки продукта от МС еще не означает, что библиотека становится стандратной?
Я тебе просто продемонстрировал твои же двойные стандарты. Ведь ты не считаешь С++ непереносимым в следствии того, что у него нет стандартной библиотеки ГУИ? Ну, так почему же точно такой же факт в CLI ты склонен считать основанием для не пререносимости?
Переносимая ГУИ-библиотека есть. Это GTK#. Стало быть переносимый ГУИ создавать можно. Качество, ксатати, будет ни хуже чем у переносимых ГУИ-С++-библиотек.
CC>>>Стоп! Вот отсюда помедленнее: моно все таки это .NET под никсы или это что то отдельное, но бинарно совместимое? VD>>.NET — это зарегистрированная торговая марка МС. .NET Framevork — это название выпускаемого МС продукта реализующего стандарты ECMA им же и введенные. CC>Т.е. микрософт придумала стандарт и сама же под него и пишет.
Нет, просто ты высказываешь мнение высосанное из пальца. В вопросах стандартов ты не разбираешся, но о ни х судишь.
Для самобразования читай про CLI и стандарты ECMA/ISO. Они доступны публично.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Константин Л., Вы писали:
КЛ>Люди, но неужели вы до сих пор не поняли, что на с# нельзя писать программы с нетривиальной логикой просто потому, что он для этого не предназначен? Он просто убог для этого. КЛ>Simple data flow — да, но не больше.
КЛ>Одно отсутствие const параметров методов — это убийство.
КЛ>Я это говорю, исходя из личного опыта. У меня "эйфория" от него прошла довольно быстро.
Как ты думаешь, чего стоит твой опыт после таких заявлений?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, eao197, Вы писали:
E>не нужно оценивать астролябию с позиции пользователя GPS приемника.
+1 Согасись, что так же глупо использовать астролябию в наше время для навигации по местности. Вот об этом люди и говорт. С++ из 85-го. С теми концепцияи которые были хороши тогда. Но используют его сейчас и с теми концепциями (плюс немного новых) что были тогда. Вот и выходит, что ты предлагаешь не говорить о том, что современные люди используют доисторические инструменты.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, konsoletyper, Вы писали:
K>На C#/Java пока не время. Экспериментировал с C# + ManagedDX. Пока слабовато, для серьёзных игр не потянет. А Pascal он же слабее C++.
Да уж несколько игр впустили на C# ведь.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, dr.Chaos, Вы писали:
DC>Мощный — это как?
Мощьный — это значит фунциональный, удобный надежный и в меру быстрый.
DC>ИМХО С++ довольно неплохо подходит для создания графических движков, это одна из тех задач, откуда его будет очень не просто вытеснить .
Это заблуждение. С++ уже ни для чего кроме возни с битами не подходит хорошо.
Тут как-то пробегала ссылка на презентацию ролов создающих (если не ошибаюсь) новый Анрлиэл. Там как раз говорилось, что С++ не удоволетворяет современных потребностей и что нужен новый язык. Описывлись требования к этому новому языку. И что забавно большинство из этих требований удивительно пересекались с Немерле.
Reliability
Error-prone language / type system leads to wasted effort finding trivial bugs
Significantly impacts productivity Concurrency
Hardware supports 6-8 threads
C++ is ill-equipped for concurrency
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, jazzer, Вы писали:
J>Вынужден констатировать, что дискуссия превратилась во флейм и потеряла смысл.
Ты был лучше научился признавать свои ошибки.
J>Ты мои объяснения слышать не хочешь, видимо, принципиально их не читаешь. Цепляешься к словам, вырванным из контекста.
Какого еще контекста?
J>Всё, что я хотел сказать, я уже сказал.
Это точно. Все от души посмеялись.
J>Все, кто хотели понять,
Во! Ключевое слово "хотел". Вот не хочешь ты понять, что метапрограммирование было за 100 лет до С++, и все тебе.
J>Ты этого делать не хочешь, даже после обяснений, данных лично тебе. J>Счастливо оставаться.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, jazzer, Вы писали:
J>Спасибо за экскурс , но что, разве все программисты после этого сразу сказали: "Вау, как это круто, эй, если кто тут соберется разрабатывать новый язык — имейте в виду, если в нем не будет такой базовой вещи как квази-цитирование, он нафиг никому не будет нужен"?
А какое отношение имеет "Вау!" от "всех программистов" к истории метапрограммирования вообще и истории квазицитирования в частности?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, jazzer, Вы писали:
K>>Не надо подменять понятия. К чему эти впадения в среднетяжмаш? Речь шла не о промышленности а о новизне — и в этом смысле метапрограммирование скорее всего старее, чем ООП.
J>нет, изначально речь не о новизне, а о том, что это была общеизвестная базовая вещь во времена создания С++.
Не путай два термина: "метапрограммирование" вообще и "метапрограммирование на шаблонах [C++]".
Первому — много-много лет. Второму — сам понимаешь.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Здравствуйте, jazzer, Вы писали:
J>>Спасибо за экскурс , но что, разве все программисты после этого сразу сказали: "Вау, как это круто, эй, если кто тут соберется разрабатывать новый язык — имейте в виду, если в нем не будет такой базовой вещи как квази-цитирование, он нафиг никому не будет нужен"?
ГВ>А какое отношение имеет "Вау!" от "всех программистов" к истории метапрограммирования вообще и истории квазицитирования в частности?
Абсолютно никакого.
Это имеет отношение исключительно к упреку в адрес С++ за то, что он не имеет такой "базовой вещи" как рефлексия. Во времена создания С++ это базовой вещью ("вау" от "всех программистов") не было. Также как и исчисление бесконечно малых не было базовой вещью во времена Зенона.
Смотри переписку с еао197, я уже устал по 10-му разу повторять.
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Здравствуйте, jazzer, Вы писали:
K>>>Не надо подменять понятия. К чему эти впадения в среднетяжмаш? Речь шла не о промышленности а о новизне — и в этом смысле метапрограммирование скорее всего старее, чем ООП.
J>>нет, изначально речь не о новизне, а о том, что это была общеизвестная базовая вещь во времена создания С++.
ГВ>Не путай два термина: "метапрограммирование" вообще и "метапрограммирование на шаблонах [C++]".
ГВ>Первому — много-много лет. Второму — сам понимаешь.
Еще раз — речь не шла о новизне. Речь шла о том, что С++ создавался в ответ на насущные потребности ("базовые вещи") тогдашних программистов, и рефлексия с метапрограммированием в списке этих базовых вещей не значились, сколько бы они не существовали к тому времени. Иначе, очевидно, либо в С++ сразу была бы добавлена поддержка рефлексии и метапрограммирования, либо популярным стал бы любой другой язык, который бы это предложил. Но людям в то время была нужна эффективная поддержка ООП, а не метапрограммирования. Поэтому ругать С++ за то, что он не имеет "базовых вещей" как они видятся из сегодняшнего дня, некорректно. Я говорил лишь и исключительно об этом.