Re[16]: А С++ то схлопывается...
От: so5team https://stiffstream.com
Дата: 12.11.19 09:27
Оценка:
Здравствуйте, smeeld, Вы писали:

S>>Может таки отважитесь и назовете имя компании? Ну чтобы вот вообще никак не пересечься.


S>Ловите


Спасибо!
Re[12]: А С++ то схлопывается...
От: gardener  
Дата: 09.10.19 18:53
Оценка: +1
G>>А еще, написать код это процентов 20% дела максимум.
G>>А остальное это либо найти а в чем же проблема.

НС>Все так, но есть один нюанс. Количество проблем и скорость их починки напрямую зависит от качества кода.


Но есть один нюанс. Проблемы из-за кода ну максимум треть от всех проблем.
Там где их больше, там и инструменты другие надо.
Re[12]: А С++ то схлопывается...
От: gardener  
Дата: 09.10.19 18:56
Оценка:
Pzz>Говорят, у clang'а диагностика сильно лучше.

Мы билдим двумя компиляторами. Второй как раз clang. Иногда отлавливает то, что первый пропустил. А результаты билда выкидываются.
Re[6]: А С++ то схлопывается...
От: lpd Черногория  
Дата: 09.10.19 19:11
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Т.е. если бы C++11/14 не появился, то например я бы уже давно сидел на Rust'е.


Был бы -1 С++ программист, не более.

_>Но если бы язык остановился в развитие (как кстати было в 2000-ых, когда тогдашний лидер в C++ (Microsoft) его забросил), то при появление приличной замены, его бы мгновенно сменили.


Вот это труднопроверяемое утверждение, и на мой взгляд сомнительное.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)
Re[7]: А С++ то схлопывается...
От: gardener  
Дата: 09.10.19 19:15
Оценка:
M>Ха-ха, смешно. Но — с другой стороны — симптоматично: самые-самые хейтеры в C++ не умеют и никогда даже не пробовали, зато с легкостью рассуждают про пайтон и гоулэнг

А С++ то действительно схлопывается. Когда видишь одних фанатиков в нем, то явный знак. Секта.
Re[32]: А С++ то схлопывается...
От: smeeld  
Дата: 12.11.19 10:15
Оценка:
Здравствуйте, so5team, Вы писали:

>Не бросающий move важен для каких-то вещей в стандартной библиотеке, например, в реализации insert-а в std::vector.


Для него и нужен

>Но расставлять noexcept-ы вручную приходится только если вы сами ручками выписываете для своего класса move constructor/operator.\


Они обязательно свои. В подавляющем большинстве случаев компилятор не сможет сгенерировать правильные move операции, и в таком же количестве случаев он их и не генерирует.
Re[33]: А С++ то схлопывается...
От: so5team https://stiffstream.com
Дата: 12.11.19 11:02
Оценка:
Здравствуйте, smeeld, Вы писали:

S>В подавляющем большинстве случаев компилятор не сможет сгенерировать правильные move операции, и в таком же количестве случаев он их и не генерирует.


Откуда статистика про "подавляющее большинство случаев"?
Re[13]: А С++ то схлопывается...
От: Pzz Россия https://github.com/alexpevzner
Дата: 12.11.19 11:36
Оценка:
Здравствуйте, gardener, Вы писали:

G>Но есть один нюанс. Проблемы из-за кода ну максимум треть от всех проблем.

G>Там где их больше, там и инструменты другие надо.

Железячники?
Re[7]: А С++ то схлопывается...
От: alex_public  
Дата: 12.11.19 12:05
Оценка: -1
Здравствуйте, smeeld, Вы писали:

_>>Так ты уже пишешь это сообщение из браузера, написанного на C? Если ещё нет, то беги срочно писать вменяемую замену на C! А то ведь непорядок какой-то, весь мир сидит на не правильно написанных продуктах.

S>Браузер-десктопная софтина. Для меня десктопное ПО-это не показатель вообще ничего.

Забавная попытка съехать с темы. ))) А ничего, что 99,9% серверов работают исключительно ради взаимодействия с этим самым "десктопным ПО" (хотя по сути браузер — это уже давно не просто ПО, а полноценная отдельная платформа)? И только в комплекс из серверного ПО и браузера, является реальным решателем прикладных задач, которым и пользуются все люди.
Re[9]: А С++ то схлопывается...
От: alex_public  
Дата: 12.11.19 12:13
Оценка:
Здравствуйте, Kswapd, Вы писали:

_>>Эм, а что тут подразумевается под переносимостью "Go-ассемблера"? Между чем и чем он переносим?

K>Между архитектурами. Так называемый Go-ассемблер является абстрактным низкоуровневым языком, в который превращается код на языке Go в процессе компиляции. При желании можно вывести текстовое представление, нечто вроде такого (взято с сайта go-internals):
K>
K>0x0000 TEXT        "".add(SB), NOSPLIT, $0-16
K>  0x0000 FUNCDATA    $0, gclocals·f207267fbf96a0178e8758c6e3e0ce28(SB)
K>  0x0000 FUNCDATA    $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
K>  0x0000 MOVL        "".b+12(SP), AX
K>  0x0004 MOVL        "".a+8(SP), CX
K>  0x0008 ADDL        CX, AX
K>  0x000a MOVL        AX, "".~r2+16(SP)
K>  0x000e MOVB        $1, "".~r3+20(SP)
K>  0x0013 RET
K>

K>Для каждой аппаратной платформы существует своя реализация Go-ассемблера, выдающая итоговый двоичный код.

Так и не понял, каким образом "переносимость между архитектурами" сочетается с "Для каждой аппаратной платформы существует своя реализация Go-ассемблера"? И с тем фактом, что в рантайме Go мы видим отдельные реализации функций под каждую аппаратную платформу отдельно.

Реально переносимые ассемблеры — это трансляций в некоторый выдуманный процессор (llvm, wasm, и т.п.), который потом (на целевой платформе) транслируется (JIT или АОТ) в реальные машинные коды.
Re[7]: А С++ то схлопывается...
От: alex_public  
Дата: 12.11.19 12:25
Оценка: +1
Здравствуйте, lpd, Вы писали:

_>>Т.е. если бы C++11/14 не появился, то например я бы уже давно сидел на Rust'е.

lpd>Был бы -1 С++ программист, не более.

Ты считаешь меня настолько уникальным? ))) Приятно конечно же, но боюсь ты мне льстишь — таких были бы многие тысячи. )))

_>>Но если бы язык остановился в развитие (как кстати было в 2000-ых, когда тогдашний лидер в C++ (Microsoft) его забросил), то при появление приличной замены, его бы мгновенно сменили.

lpd>Вот это труднопроверяемое утверждение, и на мой взгляд сомнительное.

Ну сменили бы конечно не все, но очень многие. Более того, многие начали бы переходить ещё лет 10 назад, только не на Rust, а на D. И только выход C++11 предотвратил этот процесс.
Re[8]: А С++ то схлопывается...
От: smeeld  
Дата: 12.11.19 12:53
Оценка:
Здравствуйте, alex_public, Вы писали:


_>Забавная попытка съехать с темы. ))) А ничего, что 99,9% серверов работают исключительно ради взаимодействия с этим самым "десктопным ПО"


Бред. Вы явно не в курсе того, что там на серверах крутится. С десктопами взаимодействуют специальные фасадные демоны любой природы (за исключением мелких сайтиков инета, поднятых на тазиках, стоящих под столом). За этими демонами-огромные пласты софта, компоненнты которого взаимодействуют только с такими же сетевыми демонами как и они сами, и ни о чём другом не знают.
Re[9]: А С++ то схлопывается...
От: alex_public  
Дата: 12.11.19 13:10
Оценка:
Здравствуйте, smeeld, Вы писали:

_>>Забавная попытка съехать с темы. ))) А ничего, что 99,9% серверов работают исключительно ради взаимодействия с этим самым "десктопным ПО"

S>Бред. Вы явно не в курсе того, что там на серверах крутится. С десктопами взаимодействуют специальные фасадные демоны любой природы (за исключением мелких сайтиков инета, поднятых на тазиках, стоящих под столом). За этими демонами-огромные пласты софта, компоненнты которого взаимодействуют только с такими же сетевыми демонами как и они сами, и ни о чём другом не знают.

Правильно. И всё это крутится исключительно для того, чтобы выдать строчку текста в этот самый браузер. Соответственно если не будет браузера, то и не будет ни одного из этих серверов, просто за ненадобностью.
Re[10]: А С++ то схлопывается...
От: smeeld  
Дата: 12.11.19 13:14
Оценка:
Здравствуйте, alex_public, Вы писали:

>И всё это крутится исключительно для того, чтобы выдать строчку текста в этот самый браузер. Соответственно если не будет браузера, то и не будет ни одного из этих серверов, просто за ненадобностью.


Неправильно. Задачии могут быть до жути самые разнообразные. Только не пытайтесь доказать, что, например, автоматизированные системы управления только и работают, чтоб выдать какую-то строчку в какой-то там броузер.
Re[11]: А С++ то схлопывается...
От: alex_public  
Дата: 12.11.19 13:46
Оценка:
Здравствуйте, smeeld, Вы писали:

>>И всё это крутится исключительно для того, чтобы выдать строчку текста в этот самый браузер. Соответственно если не будет браузера, то и не будет ни одного из этих серверов, просто за ненадобностью.

S>Неправильно. Задачии могут быть до жути самые разнообразные. Только не пытайтесь доказать, что, например, автоматизированные системы управления только и работают, чтоб выдать какую-то строчку в какой-то там броузер.

Причём тут АСУ, если мы говорили о серверах? ))) АСУ — это вообще другой мир (про который я кстати говоря наверняка больше тебя в курсе), в котором как раз C++ доминирует полностью.
Re[8]: А С++ то схлопывается...
От: lpd Черногория  
Дата: 12.11.19 14:27
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Ну сменили бы конечно не все, но очень многие. Более того, многие начали бы переходить ещё лет 10 назад, только не на Rust, а на D. И только выход C++11 предотвратил этот процесс.


Уже все перешли на Java и C#. А те, кому эти два языка не подходят ну совсем никак, готовы сбежать куда угодно.
Вообщем С++ из универсального языка превратили в что-то сильно специфическое. Интересен был бы опрос среди С++ программистов чтобы понять процент любителей угловых скобочек, но такого пока не попадалось.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)
Re[10]: А С++ то схлопывается...
От: Pzz Россия https://github.com/alexpevzner
Дата: 12.11.19 14:56
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Так и не понял, каким образом "переносимость между архитектурами" сочетается с "Для каждой аппаратной платформы существует своя реализация Go-ассемблера"? И с тем фактом, что в рантайме Go мы видим отдельные реализации функций под каждую аппаратную платформу отдельно.


https://golang.org/doc/asm

Он полу-абстрактный. Вещи, общие для всех разумных архитектур делаются в нем одинаково (например, MOV из регистра в регистр). Процессороспецифические вещи делаются специфическим для процессора образом (например, AES).

_>Реально переносимые ассемблеры — это трансляций в некоторый выдуманный процессор (llvm, wasm, и т.п.), который потом (на целевой платформе) транслируется (JIT или АОТ) в реальные машинные коды.


Не обязательно на целевой платформе во время исполнения.
Re[20]: А С++ то схлопывается...
От: vdimas Россия  
Дата: 12.11.19 16:24
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>

Реализация от Microsoft в ATL была открыта независимо Яном Фалкином (англ. Jan Falkin) также в 1995 году. Он случайно унаследовал базовый класс от класса наследника. Кристиан Бомон (англ. Christian Beaumont), заметив этот код, решил, что он не может быть скомпилирован, но, выяснив, что может, решил положить эту ошибку в основу ATL и WTL.

Pzz>И эти люди меня убеждают, что C++ не является переусложненным языком.

Эта идиома доступна и в C#.
Re[8]: А С++ то схлопывается...
От: vdimas Россия  
Дата: 12.11.19 16:34
Оценка:
Здравствуйте, Pzz, Вы писали:

S>>Этот чувак для меня как-то больший авторитет, чем анонимные "гуру" C++ с кывта. Последние на этом форме всегда называли Торвальдса неосилятором. Но если анонимам доверить такую массу кода, за которой присматривает Торвальдс, только переписанную на C++, они тогда просто повесятся.

Pzz>Интересно, что git, из соображений эффективности написаный на C

Не из этих соображений.

libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API, allowing you to write native speed custom Git applications in any language which supports C bindings.



Pzz>делает некоторые вполне повседневные операции медленнее, чем hg, написанный на питоне.


1. Сам алгоритм merge у гита более сложный (типа, заявка на интеллектуальность), к тому же их, вроде бы, 6 разных алгоритмов в наличии, на выбор.
2. Попытка экономить место — по возможности, в репозитории хранятся дельты и активно шарятся внутренние линки на ресурсы, что приводит к повышенной косвенности описания графа состояния.
Re[10]: А С++ то схлопывается...
От: vdimas Россия  
Дата: 12.11.19 16:40
Оценка:
Здравствуйте, smeeld, Вы писали:

S>Тут в треде уже упоминал про обломавших рога C++-ников на системах высокочастоного трейдинга. Вот почему?


Брехня.
Ведущие нейтивные либы для HFT написаны на С++.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.