Информация об изменениях

Сообщение Re[28]: Поугараем над С++ комьюнити? от 16.11.2017 12:22

Изменено 16.11.2017 12:29 vdimas

Re[28]: Поугараем над С++ комьюнити?
Здравствуйте, push, Вы писали:

P>В других языках всё в шоколаде по сравнению с плюсами в их области применения.


Вот именно что "в области их применения", т.е. в некоей узкой нише. ))

А С/С++ позиционируется немножко наоборот — эти языки "оставляют широко раскрытой дверь" для частностей платформ, для которых именно на этих языках пишут все остальные узконишевые языки/платформы.

Ты вот там рядом спрашивал, а почему же алгоритмы и контейнеры включить в стандарт можно, а логгер нельзя? Ответ очевиден — потому что алгоритмы и контейнеры слабо зависят (или не зависят вовсе) от конкретных платформ, поверх которых работает С++.

И про thread я тоже уже отвечал более чем доступно — пока не умерли своей смертью кучи экзотических платформ, куда пихали С++, реализовать некую универсальную функциональность над потоками в рамках стандарта было объективно сложно. Например, это не имело смысла еще в середине нулевых, когда в ходу было сразу несколько диалектов EC++. Потому что в ходу еще полно было платформ с вычурной реализацией многозадачности, например, сугубо кооперативной моделью с отсутствующими атомарными операциями (load/store/cas/swap). Или, того хуже, различные потоки могли обмениваться данными только через "трубу", т.е. через очередь байт. Многопоточных-то моделей де-факто было изобретено много. Ты смотрел когда-нибудь на потоковую модель первых (тех самых легендартных) поколений компьютеров Cray? Вот будет время — посмотри. Как ты там собрался реализовывать ТАКУЮ модель в стандарте языка С++?

Повторюсь, на сегодня ситуация такова, что весь этот туман более-менее рассосался. Т.е. нижележащие платформы разделились на два непересекаемых подмножества: на которых использование С++ не имеет смысла (типа Arduino/AVR, PIC, x51, Forth-процессоры, оптические, параллельные массивы навроде GPU, ИИ-процессоры и т.д.) и на которых возможна его реализация в современном (как минимум) стандарте (т.е. "универсальные" навроде MIPS/Alpha/Alchemy, x86/x64, IA64, ARM32/ARM64 и т.д.).

Итого, сегодня нет такого бесконечного градиента платформ, одно существование которых делало внесение неких платформенно-зависимых вещей в стандарт чистой воды профанацией.

И это же является ответом насчёт копирования файлов с колбэком о прогрессе — потому что такой функциональности нет не то, что в большинстве платформ, а строго наоборот — эта функциональность уникальна лишь для одного сочетания программной платформы и файловой системы. Потому что по-хорошему для этой функциональности надо рассматривать CopyFileTransacted/MoveFileTransacted, чтобы при отмене операции всё именно что отменялось, а не оставляло после себя коровьи лепешки по всему диску.


Ну а логгер в стандарте — это вообще гимн идиотизму. ))
Скажи, среди кучи имеющихся современных библиотек логгирования ты так и не смог выбрать себе подходящую?
А если смог, то не составило бы тебе труда предложить какую-нибудь из них в кач-ве кандидата в стандарт и объяснить почему именно её?


P>Критика плюсов в их текущем состоянии просто незбежна.


Критика критике рознь.
Каждый раз, когда я пытаюсь перевести твою критику в конструктивное русло, ты устраиваешь клоунаду, опять и снова улетая в облака абстракций, т.е. наглухо теряя связь с реальностью.

Ты не ответил ты пока ни на один конкретный вопрос. Двойка тебе по итогам обсуждения.


V>>"Не возникают" или "не были обнаружены" — сильно разные вещи.

P>Да-да, я уже понял, что плюсы доступны только посвящнным — остальные по обпределению не умеют)

"Остальные" — это не только ты и тебе подобные. Согласно современной статистике на C/C++ пишет примерно в 5 раз больше программистов, чем на C#. Так вот, даже среди программистов на C# настольо упоротых и плохо понимающих, откуда у современного положения вещей растут ноги — их резкое меньшинство, разумеется. Упоротых всегда резкое меньшинство, ес-но, просто они самые громкие и создают информационного шума больше всех. Как раз RSDN в этом смысле — лакмусовая бумажка. Достаточно тут собраться одновременно упоротым в количестве 3-4 человек, и сразу получается как в том анекдоте про украинцев — уже партизанский отряд, уже они на голубом глазу начинают вещать от имени "всей индустрии".

Боюсь, ты плохо представляешь себе, как подобная троица смотрится в глазах десятков тысяч остальных читателей RSDN.
(да, обычно их 3-е активных каждый божий раз, когда поднимаются срачи, прямо число заколдованное, ы-ы-ы, иногда подключается на полшишечки 4-й, поэтому я обычно пользуюсь выражением "три с половиной человека" для описания этого странного феномена)


V>>Потому что, по-сути, ты даже сформулировать свои претензии толком не в состоянии.

P>Серьезно? Ну перечитай мой первый комент. Что тут формулировать?

Это тебе стоило бы перечитать ответы, данные тебе. Потому что эти ответы связаны с тем, что ты писал. Потому что и контраргументы и уточняющие вопросы в наличии. А твои ответы — не связаны от слова никак. Ты как с 0-ля каждый раз пишешь, отсюда ноль продвижения и ходьба по-кругу.

Вот смог бы ты ответить на контраргументы и уточняющие вопросы, тогда, глядишь, постепенно и обозначилась бы осмысленная формулировка твоих претензий. Ну а нет, так нет.


P>Основная проблема — отсутствие стандартной инфраструктуры языка и невероятно медленное (ну просто микроскопическое) развитие.


"Стандартная инфраструктура языка" — сильно разное понятие с т.з. программистов на разных языках. Например, для Джавы, где интероп отсутствует как таковой, "стандартная инфраструктура" представляется эдакой вещью в себе, где "за МКАД-ом жизни нет". Если не напишешь на С/С++ для Джавы вспомогательную для интеропа функциональность — вот и нет никакой инфраструктуры.

И на дотнете ситуация не сильно ушла в сторону. Более-менее интероп прямо ср-вами языка возможен только OLE-совместимых АПИ: ф-ий, интерфейсов и лейаута типов данных (структур). Шаг вправо-влево и начинаются сложности — оперируешь через IntPtr как адресом и начинаешь ручками отсчитывать смещения (часто двигаясь по графу) для доступа к данным. Т.е. система типов умывает руки, программист начинает работать вместо компилятора. Такого кошмара даже программисты голого С не видят уже 40 лет. Опять рука-лицо.

В этом смысле "инфраструктура языка С++" — это сплав выразительных ср-в самого языка с легкостью доступа на самый низкий уровень платформы, поверх которой он работает. И с такой постановкой вопроса, заметь, индустрия не спорит. Но ты пытаешься. ))


P>Но критику комента ты по сути не можешь сформулировать толком. Всё время получается ровно два варианта:

P>1) мне оно не надо/я этим не пользуюсь — значит никому не надо/никто не пользуется

Брехня. Было сказано об отсутствии необходимости прописывать логгер в стандарте и было 100 раз объяснено — почему. Просто ты игноришь неудобные тебе аргументы.


P>2) невозможно написать стандартную библиотеку чего либо в принципе


И это брехня. Вернее, это твои слова, которые ты всё время пытаешься приписать оппонентам. Похоже, спорить с реальными оппонентами тебе тяжело, зато выдумать себе чучело и "победить" его — вот тут доо-о-о...


P>Примитивно.


И скучно.
Re[28]: Поугараем над С++ комьюнити?
Здравствуйте, push, Вы писали:

P>В других языках всё в шоколаде по сравнению с плюсами в их области применения.


Вот именно что "в области их применения", т.е. в некоей узкой нише. ))

А С/С++ позиционируется немножко наоборот — эти языки "оставляют широко раскрытой дверь" для частностей платформ, для которых именно на этих языках пишут все остальные узконишевые языки/платформы.

Ты вот там рядом спрашивал, а почему же алгоритмы и контейнеры включить в стандарт можно, а логгер нельзя? Ответ очевиден — потому что алгоритмы и контейнеры слабо зависят (или не зависят вовсе) от конкретных платформ, поверх которых работает С++.

И про thread я тоже уже отвечал более чем доступно — пока не умерли своей смертью кучи экзотических платформ, куда пихали С++, реализовать некую универсальную функциональность над потоками в рамках стандарта было объективно сложно. Например, это не имело смысла еще в середине нулевых, когда в ходу было сразу несколько диалектов EC++. Потому что в ходу еще полно было платформ с вычурной реализацией многозадачности, например, сугубо кооперативной моделью с отсутствующими атомарными операциями (load/store/cas/swap). Или, того хуже, различные потоки могли обмениваться данными только через "трубу", т.е. через очередь байт. Многопоточных-то моделей де-факто было изобретено много. Ты смотрел когда-нибудь на потоковую модель первых (тех самых легендартных) поколений компьютеров Cray? Вот будет время — посмотри. Как ты там собрался реализовывать ТАКУЮ модель в стандарте языка С++?

Повторюсь, на сегодня ситуация такова, что весь этот туман более-менее рассосался. Т.е. нижележащие платформы разделились на два непересекаемых подмножества: на которых использование С++ не имеет смысла (типа Arduino/AVR, PIC, x51, Forth-процессоры, оптические, параллельные массивы навроде GPU, ИИ-процессоры и т.д.) и на которых возможна его реализация в современном (как минимум) стандарте (т.е. "универсальные" навроде MIPS/Alpha/Alchemy, x86/x64, IA64, ARM32/ARM64 и т.д.).

Итого, сегодня нет такого бесконечного градиента платформ, одно существование которых делало внесение неких платформенно-зависимых вещей в стандарт чистой воды профанацией.

И это же является ответом насчёт копирования файлов с колбэком о прогрессе — потому что такой функциональности нет не то, что в большинстве платформ, а строго наоборот — эта функциональность уникальна лишь для одного сочетания программной платформы и файловой системы. Потому что по-хорошему для этой функциональности надо рассматривать CopyFileTransacted/MoveFileTransacted, чтобы при отмене операции всё именно что отменялось, а не оставляло после себя коровьи лепешки по всему диску.


Ну а логгер в стандарте — это вообще гимн идиотизму. ))
Скажи, среди кучи имеющихся современных библиотек логгирования ты так и не смог выбрать себе подходящую?
А если смог, то не составило бы тебе труда предложить какую-нибудь из них в кач-ве кандидата в стандарт и объяснить почему именно её?


P>Критика плюсов в их текущем состоянии просто незбежна.


Критика критике рознь.
Каждый раз, когда я пытаюсь перевести твою критику в конструктивное русло, ты устраиваешь клоунаду, опять и снова улетая в облака абстракций, т.е. наглухо теряя связь с реальностью.

Ты не ответил ты пока ни на один конкретный вопрос. Двойка тебе по итогам обсуждения.


V>>"Не возникают" или "не были обнаружены" — сильно разные вещи.

P>Да-да, я уже понял, что плюсы доступны только посвящнным — остальные по обпределению не умеют)

"Остальные" — это не только ты и тебе подобные. Согласно современной статистике на C/C++ пишет примерно в 5 раз больше программистов, чем на C#. Так вот, даже среди программистов на C# настольо упоротых и плохо понимающих, откуда у современного положения вещей растут ноги — их резкое меньшинство, разумеется. Упоротых всегда резкое меньшинство, ес-но, просто они самые громкие и создают информационного шума больше всех. Как раз RSDN в этом смысле — лакмусовая бумажка. Достаточно тут собраться одновременно упоротым в количестве 3-4 человек, и сразу получается как в том анекдоте про украинцев — уже партизанский отряд, уже они на голубом глазу начинают вещать от имени "всей индустрии".

Боюсь, ты плохо представляешь себе, как подобная троица смотрится в глазах десятков тысяч остальных читателей RSDN.
(да, обычно их 3-е активных каждый божий раз, когда поднимаются срачи, прямо число заколдованное, ы-ы-ы, иногда подключается на полшишечки 4-й, поэтому я обычно пользуюсь выражением "три с половиной человека" для описания этого странного феномена)


V>>Потому что, по-сути, ты даже сформулировать свои претензии толком не в состоянии.

P>Серьезно? Ну перечитай мой первый комент. Что тут формулировать?

Это тебе стоило бы перечитать ответы, данные тебе. Потому что эти ответы связаны с тем, что ты писал. Потому что и контраргументы и уточняющие вопросы в наличии. А твои ответы — не связаны от слова никак. Ты как с 0-ля каждый раз пишешь, отсюда ноль продвижения и ходьба по-кругу.

Вот смог бы ты ответить на контраргументы и уточняющие вопросы, тогда, глядишь, постепенно и обозначилась бы осмысленная формулировка твоих претензий. Ну а нет, так нет.


P>Основная проблема — отсутствие стандартной инфраструктуры языка и невероятно медленное (ну просто микроскопическое) развитие.


"Стандартная инфраструктура языка" — сильно разное понятие с т.з. программистов на разных языках. Например, для Джавы, где интероп отсутствует как таковой, "стандартная инфраструктура" представляется эдакой вещью в себе, где "за МКАД-ом жизни нет". Если не напишешь на С/С++ для Джавы вспомогательную для интеропа функциональность — вот и нет никакой инфраструктуры.

И на дотнете ситуация не сильно ушла в сторону. Более-менее интероп прямо ср-вами языка возможен только OLE-совместимых АПИ: ф-ий, интерфейсов и лейаута типов данных (структур). Шаг вправо-влево и начинаются сложности — оперируешь через IntPtr как адресом и начинаешь ручками отсчитывать смещения (часто двигаясь по графу) для доступа к данным. Т.е. система типов умывает руки, программист начинает работать вместо компилятора. Такого кошмара даже программисты голого С не видят уже 40 лет. Опять рука-лицо.

В этом смысле "инфраструктура языка С++" — это сплав выразительных ср-в самого языка с легкостью доступа на самый низкий уровень платформы, поверх которой он работает (т.е. система типов продолжает работать и все выразительные ср-ва тоже). И с такой постановкой вопроса, заметь, индустрия не спорит. Но ты пытаешься. ))


P>Но критику комента ты по сути не можешь сформулировать толком. Всё время получается ровно два варианта:

P>1) мне оно не надо/я этим не пользуюсь — значит никому не надо/никто не пользуется

Брехня. Было сказано об отсутствии необходимости прописывать логгер в стандарте и было 100 раз объяснено — почему. Просто ты игноришь неудобные тебе аргументы.


P>2) невозможно написать стандартную библиотеку чего либо в принципе


И это брехня. Вернее, это твои слова, которые ты всё время пытаешься приписать оппонентам. Похоже, спорить с реальными оппонентами тебе тяжело, зато выдумать себе чучело и "победить" его — вот тут доо-о-о...


P>Примитивно.


И скучно.