![]() |
[quote=Добрых дел мастер;44037119] Плюс, количество тем и постов считать не эффективно.[/quote] А что эффективно? |
[quote=Нас не забанить;44035936]это еще и, как ни крути, обращение к памяти. А вот тут-то никакой jit ничего тебе не соптимизирует.[/quote] Это может делаться на стадии препроцессинга. Когда вставят предварительную загрузку из памяти. Или при компиляции, задавая используемый процессор. Или оседанием часто используемых переменных в кеше. Много чего сделано [url]http://www.boost.org/[/url] Ten Boost libraries are included in the C++ Standards Committee's Library Technical Report (TR1) and in the new C++11 Standard. C++11 also includes several more Boost libraries in ... Since 2006 an intimate week long annual conference |
[quote=x0577216;44041503]Насколько мне известно, главный сайт про DELPHI это [url]http://delphikingdom.ru/[/url][/quote] ну, если смотреть по количеству свежих постов - он сильно проигрывает sql.ru. Следовательно, очевидно, это не главный сайт на данный момент. Я бы не стал смешивать С++ и С++ Builder вместе. Они очень разные (хотя язык, формально, один). Почти как java и javascript. Название только похоже. [quote=x0577216;44041503]Каких? Ведь sql.ru это не про DELPHI, а про решение всяческих проблем, возникающих прирешении совершенно конкретных задач. За которые деньги платят.[/quote] Вот лично у меня sql.ru ассоциируется именно с базами данных. И если бы мне не подсказали - я бы никогда не пошел там искать темы про java. Но даже несмотря на то, что там хорошие люди, помогают, отвечают, javatalks.ru все же более активен. А вообще, есть stackoverflow. Может, все С-шники там? (хотя я не С-шник, я не знаю, где они обитают) [quote=x0577216;44041520]А что эффективно? [/quote] Очевидно же, количество постов за последние N дней(думаю - до года, хотя вопрос открыт). |
38-Добрых дел мастер > Послушайте. Я думал, что конструктивно донесу до людей, что объекты классов можно создавать на стеке. И примерно объяснить, что a++ не есть вызов функции в С. Но в ответ увидел тупую демагогию ученика ООП и Ява. Мне неинтересно переливать из пустого в порожнее. Приезжайте ко мне в Лабораторию Касперского или в EPAM Systems (к моему другу) на собеседование. Там Вы подробно все расскажете. :) А пока что изучайте Яву. |
[quote=Нас не забанить;44042652]И примерно объяснить, что a++ не есть вызов функции в С.[/quote] Может быть. В вузе нам рассказывали, что любая операция на языке высокого уровня - это библиотечная функция (позволяющая, например, использовать "+" для однотипного сложения Integer, String, Double), но я быстро потерял интерес к теоретическим изысканиями и не проверил этот тезис в отладчике. Однако ж, сомнительно, что в общем случае, C# быстрее ассемблера. Плата за универсальность кода и удобство разработчика - всегда производительность, тыщи операций вместо одной. Может и ошибаюсь. |
45-NTFS_ > Саня, не помню, чтобы на физтехе нам такое прям объясняли. Ну и чтобы уж за годы прошедшие не проверить это? :) 'С' еще называли языком "среднего" уровня. Про С# - ну прочти ты тему не по диагонали, коллега. :) |
+46 - я тут увлекся в бессмысленном и беспощадном споре, а коллеги напомнили, что дело еще и в руках, которые кодят. :) |
[quote=Добрых дел мастер;44042020]Я бы не стал смешивать С++ и С++ Builder вместе. Они очень разные (хотя язык, формально, один). [b]Почти как java и javascript.[/b] Название только похоже.[/quote] Нет. Рукалицо. |
[quote=Нас не забанить;44043313]Про С# - ну прочти ты тему не по диагонали, коллега. :) [/quote] ОК :-) [quote=Нас не забанить;44043334]Рукалицо[/quote] Ну не надо прям так. Я точно помню, что код, который спокойно работал в gcc, вылетал с визгом в CPPBuilder, и наоборот. Вот Delphi у Borland был отличным, а Builder вышел неведомой зверушкой. |
49-NTFS_ > Не, Саня. Стандарту примерно все следовали даже тогда. Бывали (и есть) плюшки, которые навешивают уже сами производители компиляторов, но основа была. И глюки в компиляторах тоже! :) |
+50 но не Java и JavaScript сравнение, по-любому! |
Ну, про классы в стеке я еще почитаю, про а++ - это не я утверждал, что это вызов функции. [quote=Нас не забанить;44042652]Приезжайте ко мне в Лабораторию Касперского или в EPAM Systems (к моему другу) на собеседование.[/quote] То есть Касперски и ЕРАМ - это те самые известные компании? Символ успеха и квалификации? ЕРАМ, куда берут всех, лишь бы быть в городе, где есть их офис (или хотеть переехать)? Да и касперски, насколько я знаю, не самое недоступное место. [quote=Нас не забанить;44043899]но не Java и JavaScript сравнение, по-любому! [/quote] Конечно, я немного преувеличил. Это же не диссертация, а форум. Но не так уж и сильно: вы на c++ builder-е сможете операционку написать? Все то же самое сделать, что и на настоящем с++? Пробовал я его, когда с delphi на c++ переходил (году в 2004-2005). Кривой, ограниченный. Так, рукоблудие, а не продукт. |
[quote=Добрых дел мастер;44044259]Ну, про классы в стеке я еще почитаю, про а++ - это не я утверждал, что это вызов функции.[/quote] Но очень долго недоумевали над тем, что это означает T tmp; tmp = x; x += 1; и требовали пруфов. Как-то так. Почитайте ещё, для начала. [quote=Добрых дел мастер;44044259]То есть Касперски и ЕРАМ - это те самые известные компании? Символ успеха и квалификации? ЕРАМ, куда берут всех, лишь бы быть в городе, где есть их офис (или хотеть переехать)? Да и касперски, насколько я знаю, не самое недоступное место.[/quote] КасперскиЙ. Естессно. Херня какая-то, не то что Яву учить несколько месяцев, и демагогию разводить на три с половиной экрана. [quote=Добрых дел мастер;44044259]Но не так уж и сильно: вы на c++ builder-е сможете операционку написать? Все то же самое сделать, что и на настоящем с++?[/quote] Да там настоящий С++. Другое дело, что ошибки в компиляторе. Не путайте одно с другим. Операционки, к сожалению, все же на С. ЗЫ: Так что там, с виртуальной памятью уже разобрались? |
[quote=Добрых дел мастер;44044259]Ну, про классы в стеке я еще почитаю, про а++ - это не я утверждал, что это вызов функции.[/quote] Про классы в стеке. И кто меня тут [filolog]ипать[/filolog] пытался по этому поводу? |
[quote=Нас не забанить;44044421]Но очень долго недоумевали над тем, что это означает T tmp; tmp = x; x += 1; и требовали пруфов. Как-то так. Почитайте ещё, для начала.[/quote] Вы внимательно читайте, что я писал. Вы, похоже, не только в С** плаваете, но и в русском языке. Я указывал (и указываю) на то, что вы память от регистров не отличаете, волшебным образом "оптимизируете" данные прямо в регистры без их переноса, непонятно зачем mov ecx, eax, да и вообще, каша у вас в голове. [quote=Нас не забанить;44044421]Естессно. Херня какая-то, не то что Яву учить несколько месяцев, и демагогию разводить на три с половиной экрана. [/quote] Вот знаете, почитав ваш бред, мне кажется, что мне до вас хоть и далеко, но в обратном направлении. А что там с виртуальной памятью? |
*Терпеливо* Объект может вообще не быть в памяти, а сразу в регистре. Вы идиот? [quote=Добрых дел мастер;44044462]А что там с виртуальной памятью?[/quote] Что Вы про нее знаете? |
вот интересно, если вы покажете этот бред своему работодателю - вас выгонят? |
[quote=Добрых дел мастер;44042020]ну, если смотреть по количеству свежих постов - он сильно проигрывает sql.ru. Следовательно, очевидно, это не главный сайт на данный момент.[/quote] Это именно королевство, со своей географией. Отдельно идут обсуждения. Для решения вопросов - круглый стол. Здесь дают заведомо правильное решение. Потому как отвечают специалисты.[quote=Добрых дел мастер;44044462]Я указывал (и указываю) на то, что вы память от регистров не отличаете,[/quote] для языка программирования уровня > ассемблера нет ни регистров, ни памяти. |
57-Добрых дел мастер > Пишите, Шура, пишите. |
[quote=x0577216;44046786]для языка программирования уровня > ассемблера нет ни регистров, ни памяти. [/quote] В С (и, возможно, С++) можно работать с регистрами. В остальных языках (за исключением процессорных вставок) - да, они не нужны |
[quote=x0577216;44046786]нет ни регистров, ни памяти.[/quote] Это как? Ну ладно регистры, но динамическое выделение памяти везде есть, от Паскаля до C++ со всякими. |
61-NTFS_ > Вроде в функциональщине нет. :) Там вообще нет "переменных". Ну, не должно быть, но иногда есть. :)[quote=Добрых дел мастер;44047003]В С (и, возможно, С++) можно работать с регистрами. В остальных языках (за исключением процессорных вставок) - да, они не нужны[/quote] Вы уже написали моему работодателю? :) Тема, прошу не забывать, про С/С++. И вот это [em](и, возможно, С++)[/em] - ну это просто праздник какой-то. :) Вы не в курсе, что С++ проектировался таким образом, что С практически его подмножество? И что значит [em]"процессорные вставки"? :)[/em] И почему это [em]"В остальных языках - да, они не нужны"[/em] В "остальных языках" всё нормалёк? :) Так что там насчет виртуальной памяти? А словосочетание "контекст потока" Вам знакомо? |
[quote=x0577216;44046786]для языка программирования уровня > ассемблера нет ни регистров, ни памяти.[/quote] Шыдеврально. Коллеги, что вы делаете на этом паршивом мясокомбинате, с таким багажом знаний и амбициями? :)) |
[quote=Нас не забанить;44048515]Вы не в курсе, что С++ проектировался таким образом, что С практически его подмножество?[/quote] Я активно занимался С++ лет 10 назад. И пустозвонить, в отличии от вас, не привык. Если я в чем-то не уверен - так и пишу. [quote=Нас не забанить;44048515]И что значит "процессорные вставки"? :)[/quote] Очепятка. Ассемблерные вставки. [quote=Нас не забанить;44048515]И почему это "В остальных языках - да, они не нужны" В "остальных языках" всё нормалёк? :)[/quote] В большинстве других языков нет возможности управлять напрямую регистрами. Ассемблерные вставки более распространены, даже в Делфи есть, но тоже не везде. Следовательно, там, где этих возможностей нет, нет и смысла говорить о них. [quote=Нас не забанить;44048515]Так что там насчет виртуальной памяти? А словосочетание "контекст потока" Вам знакомо? [/quote] Все отлично с виртуальной памятью. Знакомо. Что вы хотите? Хотя, зная, какая каша творится у вас в голове, запросто может оказаться, что то, что вы считаете виртуальной памятью, это совсем не то, что это на самом деле. |
[quote=Добрых дел мастер;44049208]Я активно занимался С++ лет 10 назад. И пустозвонить, в отличии от вас, не привык. Если я в чем-то не уверен - так и пишу.[/quote] Думаю, не только я заметил, как активно Вы им занимались. Аж про объекты на стеке позабыли. Вовремя Вы свалили из С++, батенька - вовремя. :) Кстати, погодите, а в чем заключается пустозвонство с моей стороны? Про объекты на стеке ответил? Про любую переменную в памяти я ответил? На Ваш идиотизм, что всё обязательно должно быть в памяти я уже отвечать не буду, ибо бесполезно. Так в чём пустозвонство, Великих дел мастер? [quote=Добрых дел мастер;44049208]В большинстве других языков нет возможности управлять напрямую регистрами. Ассемблерные вставки более распространены, даже в Делфи есть, но тоже не везде. Следовательно, там, где этих возможностей нет, нет и смысла говорить о них.[/quote] Есть разница между "нет возможности" и "не нужны"? [quote=Добрых дел мастер;44049208]Все отлично с виртуальной памятью. Знакомо. Что вы хотите? Хотя, зная, какая каша творится у вас в голове, запросто может оказаться, что то, что вы считаете виртуальной памятью, это совсем не то, что это на самом деле.[/quote] Для начала расскажите, в чём каша заключается в моей голове, а потом уже дальше. :) Это ж надо, а? :) Человек, который работает вплотную над продуктом, который нет-нет да по миру известен - у него, видите ли, каша в голове, по мнению начинальщика Java. :) |
[quote=Нас не забанить;44049692]Думаю, не только я заметил, как активно Вы им занимались. Аж про объекты на стеке позабыли. Вовремя Вы свалили из С++, батенька - вовремя. :) Кстати, погодите, а в чем заключается пустозвонство с моей стороны?[/quote] А все остальное? Переменные в хипе? Объекты в регистрах? А остальной бред? Ладно, я давно занимался С++. Я больше думаю, как оно в Java. Но для вас же это основная работа. [quote=Нас не забанить;44049692]Есть разница между "нет возможности" и "не нужны"?[/quote] В данном случае - не нужны. Если придумают процессор, который вообще не использует регистры, а для этих языков напишут компилятор - для них вообще ничего не поменяется. [quote=Нас не забанить;44049692]Для начала расскажите, в чём каша :)[/quote] В голове вашей каша. Пишете фантазии, путаетесь в терминах. И при этом тыкаете в мат. часть, которую сами не знаете. Я, кстати, догадался ваш интерес к виртуальной памяти. Вы опять смешали физическую "память" и модель памяти языка. Угадал? |
[quote=Добрых дел мастер;44052686]А все остальное? Переменные в хипе? Объекты в регистрах? А остальной бред?[/quote] Послушайте, ну если Вы не знаете С++, зачем тогда усугублять ситуацию? Причем я уже и примеры привел, что размещать можно где угодно переменные/объекты - так нет же, Вас что-то упорно не устраивает. В чем еще заключается "бред"? [quote=Добрых дел мастер;44052686]В данном случае - не нужны. Если придумают процессор, который вообще не использует регистры, а для этих языков напишут компилятор - для них вообще ничего не поменяется.[/quote] Феерично. Это тут вообще причем? Речь не шла про "если придумают какой-то такой процессор", речь просто про то, что в некоторых языках "нет возможности", без всяких "если" . Ну да ладно. [quote=Добрых дел мастер;44052686]В голове вашей каша. Пишете фантазии, путаетесь в терминах. И при этом тыкаете в мат. часть, которую сами не знаете.[/quote] Тут не на что уже отвечать, это из разряда "ты дурак - сам дурак". [quote=Добрых дел мастер;44052686]Я, кстати, догадался ваш интерес к виртуальной памяти. Вы опять смешали физическую "память" и модель памяти языка. Угадал?[/quote] В каком месте я что-то "смешал"? Это модель памяти ОС, а не языка, о ужас! Язык ничего не знает про модель памяти. |
[quote=Нас не забанить;44056195]В чем еще заключается "бред"?[/quote] бред в том, что вы ссылку\указатель от переменной не отличаете. [quote=Нас не забанить;44056195]В каком месте я что-то "смешал"? Это модель памяти ОС, а не языка, о ужас! Язык ничего не знает про модель памяти. [/quote] Верните диплом программиста, где купили. Он бракованный. Или хоть погуглите чуть-чуть прежде чем писать. Ладно, это становится скучно. Если не вдохнем в срач новых сил - его нужно будет заканчивать. |
[quote=Добрых дел мастер;44056964]бред в том, что вы ссылку\указатель от переменной не отличаете.[/quote] А если я скажу, что указатель и ссылку тоже можно назвать переменной (или объектом, но это редко и не очень принято)? Переменная типа "указатель на". Да-да, дружок Непонятно каких дел мастер, в С++ так можно сказать, [em]погуглите[/em] (это слово Вы хотя бы знаете). [quote=Добрых дел мастер;44056964]Верните диплом программиста, где купили. Он бракованный. Или хоть погуглите чуть-чуть прежде чем писать. [/quote] Не было дипломов "чисто программиста", когда я учился. Но не суть. То есть, Вы утверждаете, что язык (даже достаточно низкого уровня, вроде С/С++) имеет модель памяти? :) В чем это выражается? Когда используется malloc или оператор new, например? Кто-то задумывается о том, сегментная модель памяти или flat? Не смешите свои тапки, йумарист. :) [quote=Добрых дел мастер;44056964]Ладно, это становится скучно. Если не вдохнем в срач новых сил - его нужно будет заканчивать.[/quote] Это становится скучным, потому что Вы - упоротый. С/С++ вы не знаете (а тогда, скорее всего, и о внутренностях какой-нибудь ОС (я - Windows)). Внятных контраргументов (кроме "у вас каша в голове") с примерами я не увидел. Признавать свои откровенные косяки - явно не умеете, страшно представить работу над одним кодом с такими, как Вы. Тут нужно мнение независимых людей, которые хорошо знакомы с С/С++ и "низами" ОС, но, кажется, таких в теме не было - по чему можно сделать вывод, что в Краснодаре (и на этом форуме в частности) много пальцатых знатоков "новых технологий" и "продвинутых ЯП, за которыми будущее", типа Java/C#, но не С/С++. То есть, ответ на мой вопрос в сабже неутешительный. :( |
[quote=Нас не забанить;44065113]А если я скажу, что указатель и ссылку тоже можно назвать переменной (или объектом, но это редко и не очень принято)?[/quote] Тогда вас можно назвать программистом, а кашу внутри вашей головы - мозгом. Назвать можно что угодно чем угодно. Например, так: define TRUE FALSE Но тогда и вас назовут как-нибудь. [quote=Нас не забанить;44065113]То есть, Вы утверждаете, что язык (даже достаточно низкого уровня, вроде С/С++) имеет модель памяти?[/quote] 1. Как бывший ассемблерщик, я не считаю С/C++ языком "достаточно низкого уровня". 2. Блин, ну почитайте же интернет. |
[quote=NTFS_;44047723]Это как? [/quote] Это так, что в стандартах языков нет команд процессора, регистров и явных операций с памятью на уровне адресов. А некие специалисты считают "Язык Си восходит корнями к языку ALGOL (расшифровывается как ALGorithmic Language), который был создан в 1958 году" что безусловно бред. Согласно wiki "Согласно дизайну языка Си, его конструкции близко сопоставляются типичным машинным инструкциям, благодаря чему он нашёл применение в проектах, для которых был свойственен язык ассемблера, в том числе как в операционных системах, так и в различном прикладном ПО " [quote=Нас не забанить;44048520]Шыдеврально. Коллеги, что вы делаете на этом паршивом мясокомбинате, с таким багажом знаний и амбициями? :))[/quote] Я участвую во всеобщей говорильне. В прошлом делал самое разное. От обработки акустических сигналов и написании прог для анализа нелинейных радиосистем до писания расширения некоей ОС для работы в системах реального времени. Невзначай, когда множество всяких команд (они были простыми текстами) перестали влезать в память, придумал сжатие текстов. В конечном варианте приписывал сжатые команды непосредственно к exeшнику. А также, меланхолично читая листинги микропрограм, обнаружил возможность выполнения привилегированных команд посредством вписывания некоего кода в некоторый адрес. Временами всякие базы данных. От dBASE и Clipper до FireBird. Если по строкам прог, то больше всего на ассемблере наверняка неизвестных вам мини и миди ЭВМ. -- Прочитав в начале обсуждения про таблицы key - value решил написать свою версию хеш таблиц Получилось хорошо. Разбирал классику Муму на слова а их в hash таблицу. вот это совсем прямолинейно и по рекомендациям лучших мумуводов 1.20579570867247E-0002 время в секундах 3.18196865802777E-0001ms это оптимизированный всё сделано на DELPHI [quote=Нас не забанить;44048520]Шыдеврально. Коллеги, что вы делаете на этом паршивом мясокомбинате, с таким багажом знаний и амбициями? :))[/quote] Что делают коллеги - пусть они и расскажут |
[quote=x0577216;44068505]Си, его конструкции близко сопоставляются типичным машинным инструкциям,[/quote] это не так. Правильно: машинным инструкциям компьютеров фирмы DEC. У нас производились их копии всяческие ДВК. |
71-x0577216 > Понимаете, расписать можно что угодно. Тыщщи таких, которые делали все и вся. Я например умудрился даже драйвер написать в полях, который даже работал, ну и User mode приложение к нему, естественно. Все остальные страшные слова - это конечно круто. Но если "только для сэбэ" - это не считается. Но всё же - почему "для языка программирования уровня > ассемблера нет ни регистров, ни памяти"? А что такое eax например в команде inc eax? |
[quote=Добрых дел мастер;44066115]Как бывший ассемблерщик, я не считаю С/C++ языком "достаточно низкого уровня"[/quote] Ну сразу после асма, естессно, что за бред? Кстати, какой-то плохой ассемблерщик. Или наоборот, через чур. Раз создать объект на стеке это для него ересь какая-то. И что в языке С++ переменная(аргумент) бывает типа указателя или ссылки - это просто для него жуть. [quote=Добрых дел мастер;44066115]Блин, ну почитайте же интернет.[/quote] Настоящий ассемблерщик, лля. :) Что читать? :) |
[quote=Нас не забанить;44079776]"только для сэбэ" [/quote] Откуда сие? Поиск такого не нашел.[quote=Нас не забанить;44079776]Но всё же - почему "для языка программирования уровня > ассемблера нет ни регистров, ни памяти"? А что такое eax например в команде inc eax?[/quote] А у каких "языков программирования уровня > ..." есть такое [quote=Нас не забанить;44079776]inc eax?[/quote] |
75-x0577216 > [quote=x0577216;44080050]Откуда сие? Поиск такого не нашел.[/quote] Забейте, это же кубанский сленг. [quote=x0577216;44080050]А у каких "языков программирования уровня > ..." есть такое[/quote] Причем тут "другие языки"? В твоей исходной фразе было именно про ассемблер, я поэтому и переспросил. Если уж на то пошло, то в C память точно есть, даже в Паскале есть. :) |
раньше был популярен asm, это был язык низшего уровня, на нем действительно можно сделать было ВСЕ, потом вскоре появился С, на нем тоже в то время можно было сделать почти все, это был язык среднего уровня, но время идет...и появился с# (я другие языки не беру в расчет), и С постепенно отходит..это прогресс товарищи. Сам обожаю с++, изза его его прозрачности работы с памятью, с нитями, классами и прочим...не люблю я все эти лямбда выражения в шарпе, НО прогресс есть прогресс.. |
77-links > Ну куда отходит С? Драйвера пока как на нем писали, так и пишут. С# вовсе не на замену С был, у него своя ниша. В С++ уже давно лямбды есть. :) Комитет по стандартизации так разошелся, уже С++ 17 в проекте, хрен успеешь. |
Нафиг С++ мне нужен программист СИ для эмбед :) в Краснодаре мало. |
[quote=NTFS_;44043222]Однако ж, сомнительно, что в общем случае, C# быстрее ассемблера. [/quote] Бессмысленная фраза. Потому что непонятно, что с чем конкретно сравнивают 1 время написания и отладки на языках высокого уровня несравнимо меньше. 2 время работы результирующей программы на ЯВУ будет меньше. Потому что кодогенераторы выдают выдают код с учетом возможностей современных процессоров. 3 гораздо разумнее потратить время на чтение умных книг. Хеш функция elf, созданная на заре С проста и быстра. Однако число коллизий больше, поэтому быстрее работают реализации с продуманными и проверенными функциями. И так везде. Пример из жизни: обнаружение ошибок набивки ФИО и адреса посредством функции близости помогли отыскать неизвестно откуда взявшуюся Варвару Петренко. Это был Анвар Аллахвердиев. Он вступил в брак с некоей Петренко и взял её фамилию. Девочка, набивавшая списки, решила, что Анвар - результать описки и назвала его Варварой. В самом общем случае ничего нельзя достоверно утверждать. Однако использовать asm для типичных задач это напрасная трата времени и сил. |
Текущее время: 13:00. Часовой пояс GMT +3. |