Здравствуйте, Nuzhny, Вы писали:
N>Здравствуйте, gandjustas, Вы писали:
G>>Интересно, какие это задачи С++ требуют знание ассемблера?
N>Практически все, где требуется профилирование. Такое ощущение, что никто тот же VTune в глаза не видел.
Ну конкретнее, какие такие задачи, где требуется профилирование?
Я вот прям из студии запускаю профайлер и он говорит где плохо работает. Кстати надо проверить как он с С++ работает.
M>>> K>>Ты сейчас описал локальных Немерлистов :-D
T>Не, у немерлистов такое деление: T>- элита T>- блаб-программисты
T>
У Немерлистов есть другая проблема.
Немерлист:
— Языки со статической типизацией заруливают динамику
— Языки с метапрограммированием решают то-то и то-то и не имеют проблем таких-то и таких-то
— Что-то там в PEG стандаризированно
Интересующийся/скептик:
— А как же вот такие-то проблемы в статически-типизированных языках?
— А вот тут и тут естьили могут быть проблемы с метапрограммированием
— Где это оно стандартизировано?
Немерлист:
— В правильных языках нет такой проблемы
— В правильных языках нет такой проблемы
— В правильных языках нет такой проблемы
Интересующийся/скептик:
— Список правильных языков в студию
Немерлист:
— Немерле.
Интересующийся/скептик:
— Ээээ. А где список?
Немерлист:
— Ты в блабе, ты блаб, ты туп и т.п.
ЗЫ. Все совпадения случайны
ЗЗЫ. Ни против Немерле, ни против людей, его разрабатывающих, лично ничего не имею
Здравствуйте, MxMsk, Вы писали:
MM>>> Ни программист на C++, ни программист на Managed языке ни разу до этого не рассматривали итоговые ассемблерные команды. Они оба находятся в одном и том же положении по части умения дизассемблировать. CC>>Оба ничего не смогут сделать без изучения asm и приобретения понимания как это всё работает. MM>Ну, так я об этом и говорю.
Ну так я и не возражаю
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Mamut, Вы писали:
CC>>Т.е. откуда? CC>>Профайлеры для native кода очень давно есть в наличии. CC>>И очень мощные, типа VTune, который юзает HW средства профайлинга процессора. Показывает как С++ сурс (при наличии PDB) так и ассемблер.
M>Я не совсем верно выделил. Откуда взяться опыту анализа дизассемблера профайлером у С++ника? Средний С++ник так же далек от анализа дизассемблера профайлером, как и средний дотнетчик
Ну в общем то оттуда же откуда и у дотнетчика: наколбашеный код не вписывается в requirements по времени выполнения.
Тут начинает всплывать специфика специализаций среднего С++ и C# разработчика. Грубо говоря у кого time critical задач попадается больше.
Плюс то, что слабые программеры при налиичии более ошибкопрощающих языков в С++ приживаются плоховато.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, gandjustas, Вы писали:
G>Ну конкретнее, какие такие задачи, где требуется профилирование?
Я для всех задач пользуюсь. Сделал какой-нибудь модуль: запустил, посмотрел. Также периодически запускаю всю систему, чтобы посмотреть на взаимодействие потоков между собой, вообще посмотреть на поведение системы.
Здравствуйте, x-code, Вы писали: XC>Недавно столкнулся с одной софтиной на дотнете... Нажатие на красивую менюшку приводит к тому, что менюшка начинает отрисовываться, пару раз вздрагивая и останавливаясь на полпути, перерисовывая зачем-то время от времени другие компоненты, к ней не относящиеся (которые тоже заметно "вздрагивают" при этом). В результате, интерфейс обновляется около 500 миллисекунд, а то и секунду. XC>Нативные WinAPI-шные меню и диалоги открываются за время, нефиксируемое человеком (т.е. за сотые доли секунды или еще меньше).
Наблюдаемое поведение не имеет никакого отношения к C#. В до-дотнетные времена ровно то же самое писали про программы на дельфи, которые были все из себя насквозь нативные.
Просто писал программу некомпетентный разработчик, который понавешал обработчиков не туда, куда надо.
Чистое время исполнения прикладного кода в этой менюшке настолько мало, что разницу между нативным и управляемым кодом невозможно заметить. Перерисовка отдельных компонентов, скорее всего, тоже сделана на нативном коде (а то и через бит-блиттинг операции, реализованные в железе драйвером видеокарты). А вот то, что этих операций выполняется 5000 вместо 5, и вызывает наблюдаемый эффект.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, snaphold, Вы писали:
S>Коли тут зашла речь про сравнение этих языков. Стало мне интересно. S>Что с фундаментальной точки зрения не сделать на C#, что сделаешь на C++.
Написать программу для нестандартной архитектуры (e.g. Symbian) или хотя б сделать модуль заточенный под 64-битную систему (пример — см. гугловский алгоритм сжатия Snappy aka Zippy). Сомневаюсь, что удастся достичь на шарпе скорости распаковки в 500 Мб/с.
В сухом остатке считаю, что модули сжатия, обработки изображений, системы версионного контроля, драйвера, некоторые серверные решения, приложения реального времени будут более эффективны с т.з. производительности и занимаемой памяти будучи грамотно написанными на С/С++.
Если доживем до времени, когда появятся 128-и битные компы, то для С или С++ ситуация мало изменится (STL например будет нормально функционировать), шарп же будет несколько не к месту.
Здравствуйте, FR, Вы писали:
FR>По моему речь шла о переходе на C++ с менеджет языков. FR>По моему субъективному мнению на освоение C++ с нуля до приемлемого уровня программистом уже хорошо знающим более FR>высокоуровневый язык (я видел Delphi, VB, Java программистов) требуется около года.
По моему опыту, освоение с нуля до приемлемого уровня любого другого языка занимает около года. +- 1 двоичный порядок.
К примеру, освоение шарпа лично у меня заняло даже более года — несмотря на предварительное владение Delphi, C++, и Java.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, MxMsk, Вы писали:
MM>Здравствуйте, Nuzhny, Вы писали:
M>>>А откуда он возьмется выделенное у С++ника? N>>Из практической каждодневной деятельности. MM>Не верю, что даже 75% программеров С++ каждый день занимаются дизассемблированием. Более того, не верю, что 50% программеров на С++ вообще прибегают к этому приему. О, кстати, ДотНет-чики тоже умеют при необходимости: тынц1
и далее поиск...
Более того, для подавляющего большинства разработчиков под винду, даже если ограничиться только С++, windbg является чернейшей магией.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
CC>>>Т.е. откуда? CC>>>Профайлеры для native кода очень давно есть в наличии. CC>>>И очень мощные, типа VTune, который юзает HW средства профайлинга процессора. Показывает как С++ сурс (при наличии PDB) так и ассемблер.
M>>Я не совсем верно выделил. Откуда взяться опыту анализа дизассемблера профайлером у С++ника? Средний С++ник так же далек от анализа дизассемблера профайлером, как и средний дотнетчик CC>Ну в общем то оттуда же откуда и у дотнетчика: наколбашеный код не вписывается в requirements по времени выполнения. CC>Тут начинает всплывать специфика специализаций среднего С++ и C# разработчика. Грубо говоря у кого time critical задач попадается больше.
Ну и расскажи мне про специфику специализаций среднего С++ и C# разработчика
CC>Плюс то, что слабые программеры при налиичии более ошибкопрощающих языков в С++ приживаются плоховато.
Вот откуда этот миф про слабых программистов, плохо приживающихся в С++? http://govnokod.ru/ C++ на втором месте после PHP
Здравствуйте, Mamut, Вы писали:
M>Ну и расскажи мне про специфику специализаций среднего С++ и C# разработчика
На С# в разы больше пишется GUI кода чем на С++.
На C++ в разы больше пишется low level system кода чем на C#.
Очевидно жеж.
M>Вот откуда этот миф про слабых программистов, плохо приживающихся в С++?
Это не миф, это суровая реальность.
Плохому программеру куда проще завести свой говнокод на "безопасных" языках, чем продираться через AV в С++.
Потому и индусов в С# полный бангалор.
M> http://govnokod.ru/ C++ на втором месте после PHP
Среди тех, кто на этот сайт пишет.
Ты уж звиняй, но нерепрезентативно.
Ну и шедевры индусячества на C# например я туда выложить не могу по причине закрытости исходников тех проектов, где этот говнокод найден. Ну и не думаю что там обрадовались бы куску чистейшего говна в 10-11 тыс строк.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
M>>Ну и расскажи мне про специфику специализаций среднего С++ и C# разработчика CC>На С# в разы больше пишется GUI кода чем на С++. CC>На C++ в разы больше пишется low level system кода чем на C#. CC>Очевидно жеж.
Очевидно что?
Между «на С++ пиштся low level кода больше» и «средний С++ разработчик имеет опыт по анализу дизассемблера профайлером» нет никакой связи вообще.
M>>Вот откуда этот миф про слабых программистов, плохо приживающихся в С++? CC>Это не миф, это суровая реальность.
Это — миф.
CC>Плохому программеру куда проще завести свой говнокод на "безопасных" языках, чем продираться через AV в С++. CC>Потому и индусов в С# полный бангалор.
Индусов на С++ никак не меньше
M>> http://govnokod.ru/ C++ на втором месте после PHP CC>Среди тех, кто на этот сайт пишет. CC>Ты уж звиняй, но нерепрезентативно.
Я и не спорю, что это нерепрезентативно. Но это куда более репрезентативно, чем заявления, что
— С++ник знает дизассемблер
— у C++ника time-critical задач больше
— слабых программистов на С++ меньше
и т.п.
CC>Ну и шедевры индусячества на C# например я туда выложить не могу по причине закрытости исходников тех проектов, где этот говнокод найден. Ну и не думаю что там обрадовались бы куску чистейшего говна в 10-11 тыс строк.
Я нигде не говорил, что на С# индусокода нет. Я всего лишь говорил, что слабых программистов в С++ никак не меньше.
Здравствуйте, Mamut, Вы писали:
M>>>>>Я не совсем верно выделил. Откуда взяться опыту анализа дизассемблера профайлером у С++ника? Средний С++ник так же далек от анализа дизассемблера профайлером, как и средний дотнетчик CC>>>>Ну в общем то оттуда же откуда и у дотнетчика: наколбашеный код не вписывается в requirements по времени выполнения. CC>>>>Тут начинает всплывать специфика специализаций среднего С++ и C# разработчика. Грубо говоря у кого time critical задач попадается больше. M>>>Ну и расскажи мне про специфику специализаций среднего С++ и C# разработчика CC>>На С# в разы больше пишется GUI кода чем на С++. CC>>На C++ в разы больше пишется low level system кода чем на C#. CC>>Очевидно жеж.
M>Очевидно что? M>Между «на С++ пиштся low level кода больше» и «средний С++ разработчик имеет опыт по анализу дизассемблера профайлером» нет никакой связи вообще.
Для тебя выделил.
CC>>Плохому программеру куда проще завести свой говнокод на "безопасных" языках, чем продираться через AV в С++. CC>>Потому и индусов в С# полный бангалор. M>Индусов на С++ никак не меньше
Уже на порядки меньше.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
M>>>>>>Я не совсем верно выделил. Откуда взяться опыту анализа дизассемблера профайлером у С++ника? Средний С++ник так же далек от анализа дизассемблера профайлером, как и средний дотнетчик CC>>>>>Ну в общем то оттуда же откуда и у дотнетчика: наколбашеный код не вписывается в requirements по времени выполнения. CC>>>>>Тут начинает всплывать специфика специализаций среднего С++ и C# разработчика. Грубо говоря у кого time critical задач попадается больше. M>>>>Ну и расскажи мне про специфику специализаций среднего С++ и C# разработчика CC>>>На С# в разы больше пишется GUI кода чем на С++. CC>>>На C++ в разы больше пишется low level system кода чем на C#. CC>>>Очевидно жеж.
M>>Очевидно что? M>>Между «на С++ пиштся low level кода больше» и «средний С++ разработчик имеет опыт по анализу дизассемблера профайлером» нет никакой связи вообще. CC>Для тебя выделил.
Еще раз. С какого перепугу у среднего С++ника time-critical кода ВНЕЗАПНО больше?
CC>>>Плохому программеру куда проще завести свой говнокод на "безопасных" языках, чем продираться через AV в С++. CC>>>Потому и индусов в С# полный бангалор. M>>Индусов на С++ никак не меньше CC>Уже на порядки меньше.
С какого перепугу? Если взять в качестве одного из критериев количества быдлокодеров популярность того или иного языка программирования, то даже статистически плохих и слабых программистов в С++ будет не на порядки меньше.
Здравствуйте, Mamut, Вы писали:
M>Еще раз. С какого перепугу у среднего С++ника time-critical кода ВНЕЗАПНО больше?
Из опыта.
Спросим тебя твоим же языком: С какого перепугу у среднего С#ника time-critical кода ВНЕЗАПНО больше?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
M>>Еще раз. С какого перепугу у среднего С++ника time-critical кода ВНЕЗАПНО больше? CC>Из опыта.
Угу. Сугубо твоего личного опыта, ага
CC>Спросим тебя твоим же языком: С какого перепугу у среднего С#ника time-critical кода ВНЕЗАПНО больше?
Наличие отсутсвия логики у тебя налицо. Я нигде не говорил и не намекал на то, что ты у меня сейчас спрашиваешь Это — не «мой язык». Это — твои фантазии, которыми ты скрываешь отсутсвие какой-либо логики и каких-либо фактов.
Здравствуйте, Mamut, Вы писали:
M>>>Еще раз. С какого перепугу у среднего С++ника time-critical кода ВНЕЗАПНО больше? CC>>Из опыта. M>Угу. Сугубо твоего личного опыта, ага
Не только.
Вот только ты ж всё равно заведомо не согласен.
CC>>Спросим тебя твоим же языком: С какого перепугу у среднего С#ника time-critical кода ВНЕЗАПНО больше? M>Наличие отсутсвия логики у тебя налицо.
Давай посмотрим лучше на твою логику:
M>Я нигде не говорил и не намекал на то, что ты у меня сейчас спрашиваешь
Ты оспариваешь утверждение что на С++ time critical задач пишется больше.
M>Это — не «мой язык».
И тем не менее ты "мнение имеешь".
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
CC>>>Спросим тебя твоим же языком: С какого перепугу у среднего С#ника time-critical кода ВНЕЗАПНО больше? M>>Наличие отсутсвия логики у тебя налицо. CC>Давай посмотрим лучше на твою логику:
Давай.
M>>Я нигде не говорил и не намекал на то, что ты у меня сейчас спрашиваешь CC>Ты оспариваешь утверждение что на С++ time critical задач пишется больше.
Я нигде это не оспариваю.
M>>Это — не «мой язык». CC>И тем не менее ты "мнение имеешь".
Да, я имею мнение и подкрепляю его хоть как-то. Без передергиваний и перевираний слов оппонента. Чего и тебе желаю