0
- 25.12.2016 - 22:13
|
Привет всем коллегам. Собственно, вопрос в сабже. На протяжении лет 6-ти я вижу, как умирает эта ветка касательно С++. Но тогда еще можно было на "Предлагаю работу" увидеть вакансии на эту тему, а сейчас там вообще на тему программирования 2 полутемы... Неужели на Кубани суровый HI-TECH умер?? | | ||||
41
- 07.04.2017 - 21:26
| А что эффективно? | | ||||
42
- 07.04.2017 - 21:44
| Цитата:
Или при компиляции, задавая используемый процессор. Или оседанием часто используемых переменных в кеше. Много чего сделано http://www.boost.org/ 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 | | ||||
43
- 07.04.2017 - 22:37
| Цитата:
Я бы не стал смешивать С++ и С++ Builder вместе. Они очень разные (хотя язык, формально, один). Почти как java и javascript. Название только похоже. Цитата:
Очевидно же, количество постов за последние N дней(думаю - до года, хотя вопрос открыт). | | ||||
44
- 08.04.2017 - 00:32
|
38-Добрых дел мастер > Послушайте. Я думал, что конструктивно донесу до людей, что объекты классов можно создавать на стеке. И примерно объяснить, что a++ не есть вызов функции в С. Но в ответ увидел тупую демагогию ученика ООП и Ява. Мне неинтересно переливать из пустого в порожнее. Приезжайте ко мне в Лабораторию Касперского или в EPAM Systems (к моему другу) на собеседование. Там Вы подробно все расскажете. :) А пока что изучайте Яву. | | ||||
45
- 08.04.2017 - 09:47
| Может быть. В вузе нам рассказывали, что любая операция на языке высокого уровня - это библиотечная функция (позволяющая, например, использовать "+" для однотипного сложения Integer, String, Double), но я быстро потерял интерес к теоретическим изысканиями и не проверил этот тезис в отладчике. Однако ж, сомнительно, что в общем случае, C# быстрее ассемблера. Плата за универсальность кода и удобство разработчика - всегда производительность, тыщи операций вместо одной. Может и ошибаюсь. | | ||||
46
- 08.04.2017 - 10:11
|
45-NTFS_ > Саня, не помню, чтобы на физтехе нам такое прям объясняли. Ну и чтобы уж за годы прошедшие не проверить это? :) 'С' еще называли языком "среднего" уровня. Про С# - ну прочти ты тему не по диагонали, коллега. :) | | ||||
47
- 08.04.2017 - 10:16
| +46 - я тут увлекся в бессмысленном и беспощадном споре, а коллеги напомнили, что дело еще и в руках, которые кодят. :) | | ||||
48
- 08.04.2017 - 10:17
| Нет. Рукалицо. | | ||||
49
- 08.04.2017 - 11:59
| ОК :-) Ну не надо прям так. Я точно помню, что код, который спокойно работал в gcc, вылетал с визгом в CPPBuilder, и наоборот. Вот Delphi у Borland был отличным, а Builder вышел неведомой зверушкой. | | ||||
50
- 08.04.2017 - 12:13
|
49-NTFS_ > Не, Саня. Стандарту примерно все следовали даже тогда. Бывали (и есть) плюшки, которые навешивают уже сами производители компиляторов, но основа была. И глюки в компиляторах тоже! :) | | ||||
51
- 08.04.2017 - 12:14
| +50 но не Java и JavaScript сравнение, по-любому! | | ||||
52
- 08.04.2017 - 13:36
|
Ну, про классы в стеке я еще почитаю, про а++ - это не я утверждал, что это вызов функции. Цитата:
Конечно, я немного преувеличил. Это же не диссертация, а форум. Но не так уж и сильно: вы на c++ builder-е сможете операционку написать? Все то же самое сделать, что и на настоящем с++? Пробовал я его, когда с delphi на c++ переходил (году в 2004-2005). Кривой, ограниченный. Так, рукоблудие, а не продукт. | | ||||
53
- 08.04.2017 - 14:17
| Цитата:
T tmp; tmp = x; x += 1; и требовали пруфов. Как-то так. Почитайте ещё, для начала. Цитата:
Естессно. Херня какая-то, не то что Яву учить несколько месяцев, и демагогию разводить на три с половиной экрана. Цитата:
Операционки, к сожалению, все же на С. ЗЫ: Так что там, с виртуальной памятью уже разобрались? | | ||||
54
- 08.04.2017 - 14:18
| Про классы в стеке. И кто меня тут [*****] пытался по этому поводу? | | ||||
55
- 08.04.2017 - 14:26
| Цитата:
Я указывал (и указываю) на то, что вы память от регистров не отличаете, волшебным образом "оптимизируете" данные прямо в регистры без их переноса, непонятно зачем mov ecx, eax, да и вообще, каша у вас в голове. Цитата:
А что там с виртуальной памятью? | | ||||
56
- 08.04.2017 - 15:17
|
*Терпеливо* Объект может вообще не быть в памяти, а сразу в регистре. Вы идиот? Что Вы про нее знаете? | | ||||
57
- 08.04.2017 - 22:53
| вот интересно, если вы покажете этот бред своему работодателю - вас выгонят? | | ||||
58
- 08.04.2017 - 23:41
| Цитата:
| | ||||
59
- 09.04.2017 - 03:33
| 57-Добрых дел мастер > Пишите, Шура, пишите. | | ||||
60
- 09.04.2017 - 04:11
| В С (и, возможно, С++) можно работать с регистрами. В остальных языках (за исключением процессорных вставок) - да, они не нужны | | ||||
61
- 09.04.2017 - 10:49
| Это как? Ну ладно регистры, но динамическое выделение памяти везде есть, от Паскаля до C++ со всякими. | | ||||
62
- 09.04.2017 - 13:36
|
61-NTFS_ > Вроде в функциональщине нет. :) Там вообще нет "переменных". Ну, не должно быть, но иногда есть. :) Цитата:
Тема, прошу не забывать, про С/С++. И вот это (и, возможно, С++) - ну это просто праздник какой-то. :) Вы не в курсе, что С++ проектировался таким образом, что С практически его подмножество? И что значит "процессорные вставки"? :) И почему это "В остальных языках - да, они не нужны" В "остальных языках" всё нормалёк? :) Так что там насчет виртуальной памяти? А словосочетание "контекст потока" Вам знакомо? | | ||||
63
- 09.04.2017 - 13:37
| Цитата:
Коллеги, что вы делаете на этом паршивом мясокомбинате, с таким багажом знаний и амбициями? :)) | | ||||
64
- 09.04.2017 - 16:04
| Цитата:
Очепятка. Ассемблерные вставки. Цитата:
Цитата:
Хотя, зная, какая каша творится у вас в голове, запросто может оказаться, что то, что вы считаете виртуальной памятью, это совсем не то, что это на самом деле. | | ||||
65
- 09.04.2017 - 17:54
| Цитата:
Кстати, погодите, а в чем заключается пустозвонство с моей стороны? Про объекты на стеке ответил? Про любую переменную в памяти я ответил? На Ваш идиотизм, что всё обязательно должно быть в памяти я уже отвечать не буду, ибо бесполезно. Так в чём пустозвонство, Великих дел мастер? Цитата:
Цитата:
Это ж надо, а? :) Человек, который работает вплотную над продуктом, который нет-нет да по миру известен - у него, видите ли, каша в голове, по мнению начинальщика Java. :) | | ||||
66
- 10.04.2017 - 11:25
| Цитата:
Ладно, я давно занимался С++. Я больше думаю, как оно в Java. Но для вас же это основная работа. В данном случае - не нужны. Если придумают процессор, который вообще не использует регистры, а для этих языков напишут компилятор - для них вообще ничего не поменяется. В голове вашей каша. Пишете фантазии, путаетесь в терминах. И при этом тыкаете в мат. часть, которую сами не знаете. Я, кстати, догадался ваш интерес к виртуальной памяти. Вы опять смешали физическую "память" и модель памяти языка. Угадал? | | ||||
67
- 10.04.2017 - 19:35
| Цитата:
Причем я уже и примеры привел, что размещать можно где угодно переменные/объекты - так нет же, Вас что-то упорно не устраивает. В чем еще заключается "бред"? Цитата:
Цитата:
Цитата:
Это модель памяти ОС, а не языка, о ужас! Язык ничего не знает про модель памяти. | | ||||
68
- 10.04.2017 - 21:36
| бред в том, что вы ссылку\указатель от переменной не отличаете. Цитата:
Или хоть погуглите чуть-чуть прежде чем писать. Ладно, это становится скучно. Если не вдохнем в срач новых сил - его нужно будет заканчивать. | | ||||
69
- 12.04.2017 - 12:28
| Цитата:
Да-да, дружок Непонятно каких дел мастер, в С++ так можно сказать, погуглите (это слово Вы хотя бы знаете). Цитата:
То есть, Вы утверждаете, что язык (даже достаточно низкого уровня, вроде С/С++) имеет модель памяти? :) В чем это выражается? Когда используется malloc или оператор new, например? Кто-то задумывается о том, сегментная модель памяти или flat? Не смешите свои тапки, йумарист. :) Цитата:
С/С++ вы не знаете (а тогда, скорее всего, и о внутренностях какой-нибудь ОС (я - Windows)). Внятных контраргументов (кроме "у вас каша в голове") с примерами я не увидел. Признавать свои откровенные косяки - явно не умеете, страшно представить работу над одним кодом с такими, как Вы. Тут нужно мнение независимых людей, которые хорошо знакомы с С/С++ и "низами" ОС, но, кажется, таких в теме не было - по чему можно сделать вывод, что в Краснодаре (и на этом форуме в частности) много пальцатых знатоков "новых технологий" и "продвинутых ЯП, за которыми будущее", типа Java/C#, но не С/С++. То есть, ответ на мой вопрос в сабже неутешительный. :( | | ||||
70
- 12.04.2017 - 14:28
| Цитата:
Назвать можно что угодно чем угодно. Например, так: define TRUE FALSE Но тогда и вас назовут как-нибудь. Цитата:
2. Блин, ну почитайте же интернет. | | ||||
71
- 12.04.2017 - 21:22
| Это так, что в стандартах языков нет команд процессора, регистров и явных операций с памятью на уровне адресов. А некие специалисты считают "Язык Си восходит корнями к языку ALGOL (расшифровывается как ALGorithmic Language), который был создан в 1958 году" что безусловно бред. Согласно wiki "Согласно дизайну языка Си, его конструкции близко сопоставляются типичным машинным инструкциям, благодаря чему он нашёл применение в проектах, для которых был свойственен язык ассемблера, в том числе как в операционных системах, так и в различном прикладном ПО " Цитата:
Если по строкам прог, то больше всего на ассемблере наверняка неизвестных вам мини и миди ЭВМ. -- Прочитав в начале обсуждения про таблицы key - value решил написать свою версию хеш таблиц Получилось хорошо. Разбирал классику Муму на слова а их в hash таблицу. вот это совсем прямолинейно и по рекомендациям лучших мумуводов 1.20579570867247E-0002 время в секундах 3.18196865802777E-0001ms это оптимизированный всё сделано на DELPHI Что делают коллеги - пусть они и расскажут | | ||||
72
- 13.04.2017 - 17:16
| это не так. Правильно: машинным инструкциям компьютеров фирмы DEC. У нас производились их копии всяческие ДВК. | | ||||
73
- 14.04.2017 - 22:39
|
71-x0577216 > Понимаете, расписать можно что угодно. Тыщщи таких, которые делали все и вся. Я например умудрился даже драйвер написать в полях, который даже работал, ну и User mode приложение к нему, естественно. Все остальные страшные слова - это конечно круто. Но если "только для сэбэ" - это не считается. Но всё же - почему "для языка программирования уровня > ассемблера нет ни регистров, ни памяти"? А что такое eax например в команде inc eax? | | ||||
74
- 14.04.2017 - 22:43
| Цитата:
Кстати, какой-то плохой ассемблерщик. Или наоборот, через чур. Раз создать объект на стеке это для него ересь какая-то. И что в языке С++ переменная(аргумент) бывает типа указателя или ссылки - это просто для него жуть. Настоящий ассемблерщик, лля. :) Что читать? :) | | ||||
75
- 15.04.2017 - 00:33
| Откуда сие? Поиск такого не нашел. Цитата:
| | ||||
76
- 15.04.2017 - 09:49
|
75-x0577216 > Забейте, это же кубанский сленг. Причем тут "другие языки"? В твоей исходной фразе было именно про ассемблер, я поэтому и переспросил. Если уж на то пошло, то в C память точно есть, даже в Паскале есть. :) | | ||||
77
- 15.04.2017 - 14:45
| раньше был популярен asm, это был язык низшего уровня, на нем действительно можно сделать было ВСЕ, потом вскоре появился С, на нем тоже в то время можно было сделать почти все, это был язык среднего уровня, но время идет...и появился с# (я другие языки не беру в расчет), и С постепенно отходит..это прогресс товарищи. Сам обожаю с++, изза его его прозрачности работы с памятью, с нитями, классами и прочим...не люблю я все эти лямбда выражения в шарпе, НО прогресс есть прогресс.. | | ||||
78
- 15.04.2017 - 18:58
|
77-links > Ну куда отходит С? Драйвера пока как на нем писали, так и пишут. С# вовсе не на замену С был, у него своя ниша. В С++ уже давно лямбды есть. :) Комитет по стандартизации так разошелся, уже С++ 17 в проекте, хрен успеешь. | | ||||
79
- 19.04.2017 - 16:19
| Нафиг С++ мне нужен программист СИ для эмбед :) в Краснодаре мало. | | ||||
80
- 19.04.2017 - 22:03
| Бессмысленная фраза. Потому что непонятно, что с чем конкретно сравнивают 1 время написания и отладки на языках высокого уровня несравнимо меньше. 2 время работы результирующей программы на ЯВУ будет меньше. Потому что кодогенераторы выдают выдают код с учетом возможностей современных процессоров. 3 гораздо разумнее потратить время на чтение умных книг. Хеш функция elf, созданная на заре С проста и быстра. Однако число коллизий больше, поэтому быстрее работают реализации с продуманными и проверенными функциями. И так везде. Пример из жизни: обнаружение ошибок набивки ФИО и адреса посредством функции близости помогли отыскать неизвестно откуда взявшуюся Варвару Петренко. Это был Анвар Аллахвердиев. Он вступил в брак с некоей Петренко и взял её фамилию. Девочка, набивавшая списки, решила, что Анвар - результать описки и назвала его Варварой. В самом общем случае ничего нельзя достоверно утверждать. Однако использовать asm для типичных задач это напрасная трата времени и сил. | |
| Интернет-форум Краснодарского края и Краснодара |