Re[34]: Основные минусы плюсов...
От: CreatorCray  
Дата: 04.08.23 08:58
Оценка:
Здравствуйте, netch80, Вы писали:

CC>>После того, как тебе не надо задавать передаваемые размерности всякие "нефинальные" попросту отмирают.

N>Нет, я же объяснил, почему.
И не близко. Ты там вообще о чём то ортогональном...

N>Десятичный (d), шестнадцатиричный (x), восьмеричный (o) формат для целых.

N>Фиксированная точка (f), чисто плавающая (e), смешанная (g), машинно-читаемая (a) для плавучих.
И какие же из них "нефинальные", которые надо "держать в голове"?

N>Как ты вообще читаешь, если пропускаешь такое?

Какое, такое? Не имеющее отношение к обсуждаемому вопросу? Да, не вижу смысла уводить на это тему.

N>Если бы ты хоть пытался читать что тебе пишут


Попытайся прочитать что тебе пишут.

Ладно, мне уже совсем надоело, пора похоже от этой ветки отписаться.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[35]: Основные минусы плюсов...
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 04.08.23 09:12
Оценка: :)
Здравствуйте, CreatorCray, Вы писали:

N>>Десятичный (d), шестнадцатиричный (x), восьмеричный (o) формат для целых.

N>>Фиксированная точка (f), чисто плавающая (e), смешанная (g), машинно-читаемая (a) для плавучих.
CC>И какие же из них "нефинальные", которые надо "держать в голове"?

В твоём варианте с %s — все перечисленные.

N>>Если бы ты хоть пытался читать что тебе пишут

CC>
CC>Попытайся прочитать что тебе пишут.

У меня как раз с этим проблем нет.

CC>Ладно, мне уже совсем надоело, пора похоже от этой ветки отписаться.


Заранее спасибо за снижение уровня бессмысленного шума. (Можешь расширить на прочие ветки.)
The God is real, unless declared integer.
Re[33]: Основные минусы плюсов...
От: so5team https://stiffstream.com
Дата: 04.08.23 09:21
Оценка:
Здравствуйте, netch80, Вы писали:

N>Ну вот я и не могу понять из каких соображений может быть лучше не логгировать — или даже вышибать работу целевого кода из-за проблем отладочно-диагностического логгирования.


N>(Не думаю, что речь шла о целевом логгировании)


А я не про отладочно-диагностическое. Я про "целевое" логирование в вашей терминологии, по котором затем с инцидентами на проде разбираться будут. Если в таком логировании вместо int-а подсунут float и этот float автоматически сконвертируется в int, то значит мы теряем информацию, которая может быть критически важна для тех самых разбирательств. И если это происходит тайком от всех, то это не есть хорошо.
Re[36]: Основные минусы плюсов...
От: CreatorCray  
Дата: 04.08.23 17:31
Оценка:
Здравствуйте, netch80, Вы писали:

CC>>И какие же из них "нефинальные", которые надо "держать в голове"?

N>В твоём варианте с %s — все перечисленные.
Они как раз все финальные, включая %s

CC>>Попытайся прочитать что тебе пишут.

N>У меня как раз с этим проблем нет.
Да вот что то в глаза не бросается.

N>Заранее спасибо за снижение уровня бессмысленного шума. (Можешь расширить на прочие ветки.)

Ты явно пытаешься добиться того, чтоб я все твои опусы ехидно комментировал?
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re: Основные минусы плюсов...
От: Pitirimov США  
Дата: 04.08.23 18:44
Оценка: -1
Здравствуйте, Shmj, Вы писали:
S>Как вы думаете?

Если человек обожает Си++, назубок выучил шаблоны проектирования, свободно использует стандартную библиотеку с "Бустом" и прочими библиотеками, а также следит за модными системами сборки проекта вроде "Симэйка", то на решение ответственных задач я бы такого программиста постарался не брать и сейчас поясню почему.
Чтобы сделать что-либо лучше остальных придётся разобраться в задаче от истока досконально и всё делать самому. Для этого, к примеру, "Тесла" занимается изготовлением собственной бортовой электронной аппаратуры и аккумуляторов с электродвигателями, хотя вполне могла бы поручить изготовление составных узлов автомобиля стороннему производителю.
Если же программист при обучении привык к переиспользованию чужого кода и склонен к использованию сторонних библиотек вместо написания собственного кода, наилучшим образом подходящего под задачу, то создать ПО, превосходящее всё остальное ПО, с таким товарищем вряд ли получится.
Делать как у всех смысла не имеет ибо крупные предприятия выдавят с рынка мелких лавочников наличием больших денег и, соответственно, привлечением лучших инженеров с рынка труда.
Побеждают зануды, всегда идущие от истока, вроде Линуса Торвальдса и Илона Маска, а неудачники-переиспользователи, вроде Бьёрна Страуструпа, лишь пишут одну книгу за другой ибо собственный успешный проект создать не способны.
Re: Основные минусы плюсов...
От: karbofos42 Россия  
Дата: 04.08.23 19:06
Оценка: :)
Здравствуйте, Shmj, Вы писали:

S>О плюсах плюсов вроде говорили — настоящая кроссплатформенность, скорость запуска (нет JIT и прочего), большая кодовая база.


Настоящая кроссплатформенность — это когда один и тот же код по-разному везде работает, а где-то и вовсе отказывается компилироваться?

S>Можно сказать что из-за управления памятью. Но вроде умные указатели таки можно сказать вопрос решили. Но даже если этот вопрос убрать — то все-равно, как ни крути, а как-то медленнее получается писать (читать) и я затрудняюсь ответить почему так.


Умные указатели нужно уметь использовать. Код нужно писать по неким правилам и трястись чуть ли не над каждым исключением.
Иначе вылезет что-то в каком-нибудь конструкторе не то и утекла память.
Или массив решил принять на вход, забыл проверить размерность или не ту передал — попортил память.

S>Как вы думаете?


Простота выстрелить себе в ногу и сложность реализации базовых вещей.
Можно сравнить хотя бы строковые типы в C#, Java и C++.
Re[2]: Основные минусы плюсов...
От: Shmj Ниоткуда  
Дата: 04.08.23 19:18
Оценка:
Здравствуйте, Pitirimov, Вы писали:

P>Побеждают зануды, всегда идущие от истока, вроде Линуса Торвальдса и Илона Маска, а неудачники-переиспользователи, вроде Бьёрна Страуструпа, лишь пишут одну книгу за другой ибо собственный успешный проект создать не способны.


Разве Страуструп не больший зануда? Вроде Маска так никто еще не унижал.
=сначала спроси у GPT=
Re[2]: Основные минусы плюсов...
От: Shmj Ниоткуда  
Дата: 04.08.23 19:23
Оценка:
Здравствуйте, karbofos42, Вы писали:

K>Настоящая кроссплатформенность — это когда один и тот же код по-разному везде работает, а где-то и вовсе отказывается компилироваться?


Чистый код без системных вызовов то как раз 100% компилируется везде.

K>Умные указатели нужно уметь использовать. Код нужно писать по неким правилам и трястись чуть ли не над каждым исключением.

K>Иначе вылезет что-то в каком-нибудь конструкторе не то и утекла память.

Правила есть, согласен. Но это — плата за нейтивность.

K>Или массив решил принять на вход, забыл проверить размерность или не ту передал — попортил память.


Так vector же подвезли вместо массивов.

S>>Как вы думаете?


K>Простота выстрелить себе в ногу и сложность реализации базовых вещей.

K>Можно сравнить хотя бы строковые типы в C#, Java и C++.

Чем так уж std::string плох?
=сначала спроси у GPT=
Re[2]: Основные минусы плюсов...
От: Shmj Ниоткуда  
Дата: 04.08.23 19:30
Оценка:
Здравствуйте, Pitirimov, Вы писали:

P>Делать как у всех смысла не имеет ибо крупные предприятия выдавят с рынка мелких лавочников наличием больших денег и, соответственно, привлечением лучших инженеров с рынка труда.


Тут не просто. Велосипедить тоже далеко не всегда уместно.

Тесла с миллиардными капиталами может велосипедить — но есть ли у вас эти миллиарды?
=сначала спроси у GPT=
Re[2]: Основные минусы плюсов...
От: CreatorCray  
Дата: 04.08.23 20:45
Оценка:
Здравствуйте, Pitirimov, Вы писали:

P>Если человек обожает Си++

P>Если же программист при обучении привык к переиспользованию чужого кода и склонен к использованию сторонних библиотек вместо написания собственного кода, наилучшим образом подходящего под задачу, то создать ПО, превосходящее всё остальное ПО, с таким товарищем вряд ли получится.

А теперь объясни при чём тут С++?
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[3]: Основные минусы плюсов...
От: karbofos42 Россия  
Дата: 05.08.23 09:06
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Чистый код без системных вызовов то как раз 100% компилируется везде.


Правда там куча UB, которые зависят от конкретной реализации.
Где-то не вылезают ошибки и их никто не видит, а на другой платформе внезапно поведение изменится.
Компилируется тоже при условии, что везде один стандарт языка и все компиляторы этот стандарт одинаково понимают.

S>Правила есть, согласен. Но это — плата за нейтивность.


Та же Java носом тычет во все исключения и мимо не пройдёшь.
В C++ сиди за каждой строкой кода следи сам как хочешь.
В плюсах есть куча рекомендаций как нужно писать, при этом никто не заставит им следовать.
Синтаксис позволяет банальные опечатки = вместо == в условиях допускать и компилятор всё пропустит, лови потом в рантайме и глазками высматривай.
А сколько десятилетий плюсовики сидели с костылём в виде макроса NULL?
nullptr как-то помешал нативности?
А #pragma once сейчас хотя бы приняли в стандарт или до сих пор #ifndef #define пишут в каждом *.h?
Куча проблем и неудобств языка — это не плата за нативность, а просто так исторически сложилось из-за его костыльного происхождения.

S>Чем так уж std::string плох?


Тем, что константные строки "const char *", т.е. указатель, а не строка.
А ещё та же винда любит UTF-16 и уже может пригодиться и std::wstring.
И не забудь везде правильно те же константные строки прописать как "строка", L"строка", _T("строка"),...
Для пущего веселья ещё у каждой крупной библиотеки будет свой тип (CString, QString, wxString,...) и будешь туда-сюда постоянно конвертировать.
С другими контейнерами та же история. Сначала экономят на виртуальных вызовах, поэтому никаких ICollection и IEnumerable не получишь.
Зато будешь перегонять содержимое из своего std::vector в какой-нибудь QVector, т.к. нужный метод внезапно умеет работать только с таким контейнером.
Re[4]: Основные минусы плюсов...
От: Shmj Ниоткуда  
Дата: 05.08.23 10:22
Оценка:
Здравствуйте, karbofos42, Вы писали:

K>Правда там куча UB, которые зависят от конкретной реализации.

K>Где-то не вылезают ошибки и их никто не видит, а на другой платформе внезапно поведение изменится.
K>Компилируется тоже при условии, что везде один стандарт языка и все компиляторы этот стандарт одинаково понимают.

UB нужно не применять, его подсвечивают.

Со стандартом сразу решите — чтобы была поддержка всеми используемыми вами компиляторами. Вообще не злоупотреблять самыми новыми фишками — я уже так попадался.

Это больше страхи.

S>>Правила есть, согласен. Но это — плата за нейтивность.

K>Та же Java носом тычет во все исключения и мимо не пройдёшь.

Но медленная и требует установки среды

Сколько минимальный размер бинарника для WebAssembly на Java?

S>>Чем так уж std::string плох?


K>Тем, что константные строки "const char *", т.е. указатель, а не строка.


Так std::string же есть, старые строки зачем использовать?

K>А ещё та же винда любит UTF-16 и уже может пригодиться и std::wstring.


А в Java и C# строка — это ведь тоже UTF-8 и если понадобится UTF-16 — то все аналогично.
=сначала спроси у GPT=
Re[5]: Основные минусы плюсов...
От: karbofos42 Россия  
Дата: 05.08.23 12:31
Оценка: :)
Здравствуйте, Shmj, Вы писали:

S>Это больше страхи.


Нет. Это больше опять к тому, что на C++ свободно можно наворотить всякого, но потом окажется, что это работает нормально только у тебя.
Нужно долго ковыряться и изучать язык, чтобы собрать в голове что и как лучше делать и где какие нюансы.
Банально будешь использовать int в надежде на 4 байта, потом код будет собран под платформу, где он будет 2 байта, в процессе работы пойдут переполнения и успехов в отладке этого кроссплатформенного кода.
Вроде и программист сам дурак, что такое написал, а вроде и в чём кроссплатформенность языка, если он такие подставы на каждом шагу устраивает?

S>Но медленная и требует установки среды


Ну, компиляция в байт-код никак не связана с синтаксисом языка.
В .NET завезли AOT, для Java по-моему тоже что-то подобное было или есть.

S>Сколько минимальный размер бинарника для WebAssembly на Java?


WebAssembly — это очередная идиотия человеков, которые всё только усложняют.
Не смогли унифицировать окошки в десктопах, что надо и не надо вынесли в веб, всё подряд понаписали на JS, теперь оказалось, что чего-то не хватает и пытаются как-то нативный код прикрутить к вебу.

S>Так std::string же есть, старые строки зачем использовать?


А их можно не использовать?
std::string str = "строка";
// эквивалент
std::string str("строка");

"строка" — это же const char * в обоих случаях
Я давно за плюсами не слежу, они там в новых стандартах уже нормальные строковые константы добавили?

S>А в Java и C# строка — это ведь тоже UTF-8 и если понадобится UTF-16 — то все аналогично.


По-моему UTF-16 в обоих языках идёт.
В любом случае, в Java и C# строки идут как строки, а в C++ — массив символов, а строки уже отдельно прикручиваются.
Re[6]: Основные минусы плюсов...
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 05.08.23 13:41
Оценка: 1 (1)
Здравствуйте, karbofos42, Вы писали:

K>Банально будешь использовать int в надежде на 4 байта, потом код будет собран под платформу, где он будет 2 байта, в процессе работы пойдут переполнения и успехов в отладке этого кроссплатформенного кода.

K>Вроде и программист сам дурак, что такое написал, а вроде и в чём кроссплатформенность языка, если он такие подставы на каждом шагу устраивает?

Я думаю, на такой платформе будет побольше проблем;\
Но в общем да, заложиться на ресурс и потом страдать от скрытых ошибок от его недостатка — это жестокий сюр.

K>"строка" — это же const char * в обоих случаях

K>Я давно за плюсами не слежу, они там в новых стандартах уже нормальные строковые константы добавили?

"строка"sv
начиная с C++17.
The God is real, unless declared integer.
Re[5]: Основные минусы плюсов...
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 05.08.23 13:42
Оценка:
Здравствуйте, Shmj, Вы писали:

S>UB нужно не применять, его подсвечивают.


Кто? Где? Какая IDE? Все случаи? "Имя, сестра!"
The God is real, unless declared integer.
Re[7]: Основные минусы плюсов...
От: _NN_  
Дата: 05.08.23 16:20
Оценка:
Здравствуйте, netch80, Вы писали:

N>"строка"sv

N>начиная с C++17.

А ещё лучше в стиле zsv где сохраняется нулевой символ.
Очень жаль, что в комитете считают его ненужным.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.