Re[33]: Основные минусы плюсов...
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 04.08.23 08:46
Оценка:
Здравствуйте, CreatorCray, Вы писали:

S>>Позволю себе процитировать ув.тов.netch80, который уже все хорошо расписал:

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

Нет, я же объяснил, почему.
Десятичный (d), шестнадцатиричный (x), восьмеричный (o) формат для целых.
Фиксированная точка (f), чисто плавающая (e), смешанная (g), машинно-читаемая (a) для плавучих.
Выбор локали (хотя бы — применяется или универсальный формат для машины).

Для C|C++ ещё и применение целого как кода символа (увы, char это целое).

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

S>>Продолжая логическую цепочку...

CC>Не знаю как тебе а мне эта сказка про белого бычка уже надоела...

Если бы ты хоть пытался читать что тебе пишут, ты бы давно перестал её рассказывать, за ненадобностью.
The God is real, unless declared integer.
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>Побеждают зануды, всегда идущие от истока, вроде Линуса Торвальдса и Илона Маска, а неудачники-переиспользователи, вроде Бьёрна Страуструпа, лишь пишут одну книгу за другой ибо собственный успешный проект создать не способны.


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

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


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

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

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

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

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


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

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


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

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

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

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


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

Тесла с миллиардными капиталами может велосипедить — но есть ли у вас эти миллиарды?
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 — то все аналогично.
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_ www.nemerleweb.com
Дата: 05.08.23 16:20
Оценка:
Здравствуйте, netch80, Вы писали:

N>"строка"sv

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

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