e> e>> Документ состоит из абзацев. Абзац из "символов". e> M>все дальше поскипано. в тх ж GoF, если мне не изеняет память, описано как надо делать для сложного форатирования и т.п.
e> Там написано не как надо делать, а как можно делать, чтобы избежать больших изжержек.
Мнэээ. Зачем говорить то же, что сказал я, только другими словами?
e> M>Никому не нужно иметь на каждый символ по классу/экземпляру класса.
e> Кому не нужно? Вам не нужно. Ну пожалуйста, я не против. А вот те же авторы GoF пишут, что хотелось бы работать с символами как с объектами, но просто так это сделать не позволяют накладные расходы, поэтому они предлагают использовать flyweight в качестве альтернативы. Цитата, которую я привёл, как раз оттуда.
Здравствуйте, esil, Вы писали:
G>>Нафиг не нужны символы текста как отдельные объекты. Строк достаточно. G>>В таком случае сразу отпадает необходимость использовать flyweight. E>Строк не достаточно. Как быть с таблицами и картинками? С ними хочется обращаться как с символами.
Разны нету, когда мы перестаем пытаться создавать объкты для отдельных символов, то у нас даже необходимость в flyweight отпадает и мы не мучаемся, а спокойно выделяем память для объектов.
E>Вот для форматирования разных символов можно как раз использовать один и тот же объект "аттрибут". И можно попробовать хранить этот атрибут не для каждого символа, а для интервалов. Но тогда придётся это форматирование передавать каждому символу при рисовании, и картинкам/таблицам тоже.
Не думаю что из этого что-то хорошее получится. Во-первых параметры форматирования для разных типов объектов разные, во-вторых разных вариантов форматирования для одного типа может оказаться очень много и использование flyweight ничего не даст.
E>Ну т. е. я так понял, что мы прили к соглашению, что для обоих вариантов ответ одинаковый, и вы считаете, что этот ответ "нет — обращать внимание на издержки, связанные с аллокациец объектов, не стоит".
Ага, я об этом с самом начала писал, при этом мне говорили что GC настолько медленный, что именно с ним надо обращать внимание на выделяемую память.
E>Ну а как же тогда пример с WYSIWYG? Вы считаете, что архитектура с паттерном flyweight ничуть не хуже, чем использование отдельных объектов для символов?
Конкретно в примере с визивигом хуже, потому что там этот паттерн неуместен на самом деле.
Вообще flyweight не так часто применяется как может показаться.
А в чем проблема? Изучи оба, языки схожи, по-моему это не проблема. Другое дело, что шарп по умолчанию тянет за собой NET, на С++ под NET наверное специально не пишут и надо осваивать другие библиотеки.
Так что вопрос не в языках, а в том хвосте, что они тянут
Здравствуйте, snautSH, Вы писали:
M>>В плюсах нуб просто не взлетит шутка конечно но ... SH>тоесть программистом С++ можно только родиться?
нет, но стать хорошим с++-ником гораздо сложнее чем СиШарпникомКопипастником.
Сам пишу на Шарпе в основном (хотя уже сам не пойму на чем...последнее время сишарп и джава в перемешку с плюсами),
до этого писал на плюсах. шарп люблю, но по плюсам скучаю.. вот такой я сентиментальный
Здравствуйте, niellune, Вы писали:
N>Здравствуйте! Нужен ваш совет)) N>Дело в том что мне нравится язык C++ и меня интересует есть ли сейчас возможность устроиться куда-нибудь на начальную позицию? N>В каких областях сейчас применяется C++?
Возможность есть. Более того, сейчас некоторые девелоперские конторы испытывают кадровый дефицит в области разработчиков на С++. Программистов на С# вежливо разворачивают, при этом интересуясь, а не пишите ли на плюсах?
Области использования плюсов прежние: системное и прикладное программирование. С системным все понятно. Там используется либо С, либо С++. С си шарпом туда дороги нет. В прикладном программировании также есть области, в которых используется исключительно С++. В частности, это CAD, CAM и CAE системы. Некоторые могут возразить, мол, автокад 2009 использует .net. Но это либо от незнания, либо от нечестности. На нете там только пользовательский интерфейс. Элемент, конечно, немаловажный, но отнюдь не ключевой в такого рода системах. Мне лично, кстати говоря, новое меню автокада ужасно не понравилось...
N>Может легче сначала пойти на С#, а потом перейти на С++ или сразу искать вакансии С++ N>Просто мне кажется, что объем знаний С++ требуется гораздо больший, а хочется работать и набираться опыта..
Не советую. С C# на С++ никогда не перейти. Это два разных мира. Сиди на своей работе пока и долбай прямо в цель — С++.
С# тебя ничему не научит.
Здравствуйте, les_paul, Вы писали:
>>> с чего начать: С++ или С#?
_>А ты подумай Сейчас вузы выпускают примерно 9 разработчиков тяготеющих к какому нить С#, к 1 толковому на С++, при примерно равном кол-ве вакансий, чтобы не быть голословным:
Да, разработчиков на дот нете развелось очень много. Согласен. Мне кажется, что их даже больше, чем требуется.
_> Тут ответ простой и ясный на вопрос, хочешь дёшево лепить корпоративные вэб сайты/сервисы и формоклёпить со скоростью света бери С#. Хочешь в перспективе работать в Apple, Google, Microsoft, в России в к примеру в Yandex ну или ещё в одном вот из этих ( http://www.research.att.com/~bs/applications.html ) "скромных" мест, в которых как известно работают одни идиоты, которые не читают RSDN и не знают, что с использованием .Net они бы сделали всё быстрее и лучше, учи С++. Только в С++ мало приятного, что в разработке, что в изучении, которое в лучшем случае продлится лет 5, а в худшем не закончится никогда. По уровню зарплат опять же в целом C++/Unix разработчики обычно получают значительно выше, при том же уровне квалификации.
Согласен на 100%. Только могу добавить от себя, что разработчики на С++ находят себе применение и в гораздо более скромных фирмах, чем вышеперечисленные.
Что еще плохо в C#, это то, что все дотнетчики зависимы от воли левой пятки MS. MS будет выдумывать новые технологии каждые 5 лет. Соответственно участь дотнетчика — постоянное бессмысленное переучивание, освоение новых, перманентно новых технологий для решения одних и тех же задач.
Здравствуйте, ppp222, Вы писали:
P>Что еще плохо в C#, это то, что все дотнетчики зависимы от воли левой пятки MS. MS будет выдумывать новые технологии каждые 5 лет. Соответственно участь дотнетчика — постоянное бессмысленное переучивание, освоение новых, перманентно новых технологий для решения одних и тех же задач.
Это не плохо, это замечательно. зучать новые технологии интересно, они зачастую дают другой взгляд на решаемые проблемы, что очень положительно влияет на общий уровень развитя программиста.
Кроме того новые технологии зачастую позволяют применять существующие знания в новых областях.
Сейчас у .NET охват областей разработки значительно шире, чем у C++, и только продолжает расти. В это время C++ники все еще воюют с проблемами языка и утечек памяти и пользуются средствами десятилетней давности.
p> Что еще плохо в C#, это то, что все дотнетчики зависимы от воли левой пятки MS. MS будет выдумывать новые технологии каждые 5 лет. Соответственно участь дотнетчика — постоянное бессмысленное переучивание, освоение новых, перманентно новых технологий для решения одних и тех же задач.
Фигня, что дотнету уже 8 лет и он пока никуда не собирается исчезать?
Здравствуйте, gandjustas, Вы писали:
G>В это время C++ники все еще воюют с проблемами языка и утечек памяти и пользуются средствами десятилетней давности.
Ты изрядно отстал от жизни.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, gandjustas, Вы писали:
G>>В это время C++ники все еще воюют с проблемами языка и утечек памяти и пользуются средствами десятилетней давности. CC>Ты изрядно отстал от жизни.
Погоди. Я так понял, что жизнь в С++ остановилась
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, gandjustas, Вы писали:
G>>В это время C++ники все еще воюют с проблемами языка и утечек памяти и пользуются средствами десятилетней давности. CC>Ты изрядно отстал от жизни.
Вышла новая версия стандарта? Появился сборщик мусора? Код на С++ стал верифицируемым? Появился вывод типов?
Здравствуйте, Mamut, Вы писали:
p>> Что еще плохо в C#, это то, что все дотнетчики зависимы от воли левой пятки MS. MS будет выдумывать новые технологии каждые 5 лет. Соответственно участь дотнетчика — постоянное бессмысленное переучивание, освоение новых, перманентно новых технологий для решения одних и тех же задач.
M>Фигня, что дотнету уже 8 лет и он пока никуда не собирается исчезать?
За эти 8 лет вышло три различных дотнета: 1, 2 и 3. Между вторым и третим нет ничего общего, поменялось буквально все. Между первым и вторым различий не так много, но они тоже были. Предполагаю, что 4 дотнет будет доделкой третьего с половиной, после чего выйдет 5 дотнет, который будет кардинально отличаться от третьего, то есть будут преданы анафеме wpf, linq, wcf и так далее. 6 дотнет будет доделкой 5 с половиной, после чего выйдет 7 дотнет, которому сам бог велел кардинально отличаться от пятого дотнета. Предпологаю, что 7 дотнет чем — то будет напоминать первый...
Здравствуйте, ppp222, Вы писали:
P>Здравствуйте, Mamut, Вы писали:
p>>> Что еще плохо в C#, это то, что все дотнетчики зависимы от воли левой пятки MS. MS будет выдумывать новые технологии каждые 5 лет. Соответственно участь дотнетчика — постоянное бессмысленное переучивание, освоение новых, перманентно новых технологий для решения одних и тех же задач.
M>>Фигня, что дотнету уже 8 лет и он пока никуда не собирается исчезать?
P>За эти 8 лет вышло три различных дотнета: 1, 2 и 3. Между вторым и третим нет ничего общего, поменялось буквально все.
Не поменялось, а добавилось. Хочешь в 3,5-м дотнете пользоваться WinForms — пользуйся, никто не запрещает.
P>Между первым и вторым различий не так много, но они тоже были. Предполагаю, что 4 дотнет будет доделкой третьего с половиной, после чего выйдет 5 дотнет, который будет кардинально отличаться от третьего, то есть будут преданы анафеме wpf, linq, wcf и так далее. 6 дотнет будет доделкой 5 с половиной, после чего выйдет 7 дотнет, которому сам бог велел кардинально отличаться от пятого дотнета. Предпологаю, что 7 дотнет чем — то будет напоминать первый...
Здравствуйте, gandjustas, Вы писали:
G>Вышла новая версия стандарта? Появился сборщик мусора? Код на С++ стал верифицируемым? Появился вывод типов?
Сборщик мусора противопоказан С++. Стихия С++ — это эффективный код, где строки — это массив символов, завершающийся нулём, а не вызов библиотечных функций. И не потому, что стандарт С++ какой — то недоразвитый, а потому, что работая таким образом мы получаем прирост производительности от десятков до сотен процентов.
Здравствуйте, ppp222, Вы писали:
P>Сборщик мусора противопоказан С++. Стихия С++ — это эффективный код, где строки — это массив символов, завершающийся нулём, а не вызов библиотечных функций. И не потому, что стандарт С++ какой — то недоразвитый, а потому, что работая таким образом мы получаем прирост производительности от десятков до сотен процентов.
Во-первых, если говорить о строках в применении к C++, то это скорее std:string, нет?
А во-вторых, о какой эффективности идёт речь, если «строки — это массив символов, завершающийся нулём»?