Re[9]: Оставаться в С++ или уходить?
От: Stanislav V. Zudin Россия  
Дата: 27.04.22 03:54
Оценка:
Здравствуйте, Артём, Вы писали:

Аё>>>Т.е. проблема циклической ссылки не решена, это фундамендальный недостаток метода управления временем жизни обьекта наивным ref count.


SVZ>>При нормальной организации данных циклические ссылки не появляются в принципе.


Аё>Обьясни как краевед, нафига данным смарт пойнтеры? Чтоб тормозило?


Поэтому в данных мы их и не используем.

Аё>Трабла с интерфейсами, с колбеками и т.п.


Если известен порядок создания и удаления объектов, то колбеки создаются и удаляются в определенное время определенным "объектом-манагером".
Но это требует определенной дисциплины в коде.
_____________________
С уважением,
Stanislav V. Zudin
Re[7]: Оставаться в С++ или уходить?
От: so5team https://stiffstream.com
Дата: 27.04.22 04:51
Оценка: +3 :)
Здравствуйте, Артём, Вы писали:

Аё>Да ладно. Достижения C++ с 2009г:

Аё>1) auto (синтаксический сахар)

Попробуй без этого сахара решить такую задачку:
template<class A, class B>
??? add(A a, B b) { return a + b; }

Какой возвращаемый тип должен быть у add?

Или в какой тип ты собираешься сохранять лямбды без auto?

auto для него сахар, ыксперд, lavrov.jpg

Аё>2) новые грабельки передачи владения


На самом деле это не "новые грабельки", а исправление одного из фатальных недостатков старого C++.

Ну и до кучи:

enum class, range for, lambdas, variadic templates, using вместо typedef, атрибуты (nodiscard, noreturn, no_unuque_address и пр.), constexpr/consteval, fold expressions, if constexpr, inline variables, modules, concepts, stackless coroutines.
Re[28]: Оставаться в С++ или уходить?
От: so5team https://stiffstream.com
Дата: 27.04.22 04:52
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, so5team, Вы писали:


S>>Это у него новая тактика: сперва ляпнуть ерунду, а потом молча ставить минусы

CC>Гм, новая?

Раньше он на мои вопросы хотя бы пытался отвечать, сейчас полный игнор. Может что-то осознал.
Re[29]: Оставаться в С++ или уходить?
От: CreatorCray  
Дата: 27.04.22 17:26
Оценка:
Здравствуйте, so5team, Вы писали:

S>Раньше он на мои вопросы хотя бы пытался отвечать, сейчас полный игнор.

Аналогичный вопрос от меня он тоже проигнорировал
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[8]: Оставаться в С++ или уходить?
От: CreatorCray  
Дата: 27.04.22 17:26
Оценка:
Здравствуйте, so5team, Вы писали:

S>range for

+1, я с облегчением выкинул всякие foreach макры

S> lambdas

+1, старый подход через operator() был зело неудобен

S> variadic templates

Я тут же переписал на них свой printf-like typesafe formatter, который раньше был написан на довольно таки экзотическом operator,
Ну и в принципе VT очень удобны для всякого разного.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[9]: Оставаться в С++ или уходить?
От: so5team https://stiffstream.com
Дата: 28.04.22 04:02
Оценка:
Здравствуйте, CreatorCray, Вы писали:

S>> lambdas

CC>+1, старый подход через operator() был зело неудобен

У меня где-то треть применений lambda сейчас -- это локальные функции. Делать такое на старых-добрых функторах было вообще неудобно.
Re[10]: Оставаться в С++ или уходить?
От: Артём Австралия жж
Дата: 28.04.22 04:19
Оценка: :))
Здравствуйте, Stanislav V. Zudin, Вы писали:

SVZ>Поэтому в данных мы их и не используем.


SVZ> колбеки создаются и удаляются в определенное время определенным "объектом-манагером".


В данных смарт пойнтеры не используете, и в колбеках тоже. Т.е. что тут еще сказать- C++ ниасилил проблему циклических ссылок, как ниасилил и другие проблемы. Как то неопределенность при бросании исключений, при ромбическом наследовании. C++ — это нагромождение концепций и костылей, смотанных скотчем. И поэтому, никто и нигде не хочет с ним связываться, кроме исторических обросших каловыми отложениями, проектов из 1990-х.
Re[11]: Оставаться в С++ или уходить?
От: so5team https://stiffstream.com
Дата: 28.04.22 04:32
Оценка:
Здравствуйте, Артём, Вы писали:

Аё>Т.е. что тут еще сказать- C++ ниасилил проблему циклических ссылок


Тёмчик, как ты думаешь, в Rust-е проблему циклических ссылок осилили?
Re[8]: Оставаться в С++ или уходить?
От: Артём Австралия жж
Дата: 28.04.22 04:35
Оценка: +1 :))
Здравствуйте, so5team, Вы писали:

S>Попробуй без этого сахара решить такую задачку:

S>
S>template<class A, class B>
S>??? add(A a, B b) { return a + b; }
S>

S>Какой возвращаемый тип должен быть у add?

S>Или в какой тип ты собираешься сохранять лямбды без auto?


S>auto для него сахар, ыксперд, lavrov.jpg


Аё>>2) новые грабельки передачи владения


S>На самом деле это не "новые грабельки", а исправление одного из фатальных недостатков старого C++.


S>Ну и до кучи:


S>enum class, range for, lambdas, variadic templates, using вместо typedef, атрибуты (nodiscard, noreturn, no_unuque_address и пр.), constexpr/consteval, fold expressions, if constexpr, inline variables, modules, concepts, stackless coroutines.


Т.е. информационный шум, который нужно держать в голове вместо решения практических задач. C++ был неидеален в 90- начале 2000х, но предлагал что-то что не было у других языков. С тех пор он ничего полезного предложить не может, и направление развития- Кащенко. Что, наверное, неудивительно, если учеть, что адекваты ушли в другие языки и кто там в плюсах остался.
Re[9]: Оставаться в С++ или уходить?
От: so5team https://stiffstream.com
Дата: 28.04.22 04:47
Оценка: +5
Здравствуйте, Артём, Вы писали:

S>>Ну и до кучи:


S>>enum class, range for, lambdas, variadic templates, using вместо typedef, атрибуты (nodiscard, noreturn, no_unuque_address и пр.), constexpr/consteval, fold expressions, if constexpr, inline variables, modules, concepts, stackless coroutines.


Аё>Т.е. информационный шум, который нужно держать в голове вместо решения практических задач.


Почти по каждому из этих пунктов (за исключением фич из C++20, которые еще не было возможности испробовать на практике) я могу показать как именно они облегчают написание кода, снижают количество ошибок и повышают надежность. Для форумного балабола, вроде тебя, который нормального кода на C++, вероятно и в глаза никогда не видел (не говоря уже о том, чтобы нормальный код написать самому), это может и информационный шум. А для практикующих программистов -- это приведение в порядок того, что было либо унаследовано из чистого Си, либо было сделано не очень удачно в первых версиях C++ еще в 1980-х.

А вот ты, не имея понятия о предмете разговора, можешь лишь беспредметно исходить на известную субстанцию.
Re[11]: Оставаться в С++ или уходить?
От: Stanislav V. Zudin Россия  
Дата: 28.04.22 05:15
Оценка:
Здравствуйте, Артём, Вы писали:

Аё>В данных смарт пойнтеры не используете, и в колбеках тоже. Т.е. что тут еще сказать- C++ ниасилил проблему циклических ссылок, как ниасилил и другие проблемы.


Я тебе больше скажу, мы в структурах данных указатели вообще не используем. Только индексы! Никаких лишних аллокаций.

И не потому что с++ чего-то "ниасилил", а потому что структуры данных определяются алгоритмами.

Поэтому у нас ворочаются 3Д схемы с 1200+ млн треугольников, которые у других даже в 2Д еле ползают. Асилит такое ява? Сомневаюсь. Одно выделение памяти займет вечность.
_____________________
С уважением,
Stanislav V. Zudin
Re[12]: Оставаться в С++ или уходить?
От: so5team https://stiffstream.com
Дата: 28.04.22 05:29
Оценка: :)))
Здравствуйте, Stanislav V. Zudin, Вы писали:

SVZ>Поэтому у нас ворочаются 3Д схемы с 1200+ млн треугольников


Да вы, походу, вообще "решением прикладных задач" (с) не занимаетесь, а только треугольники какие-то ворочаете.
Re[9]: Оставаться в С++ или уходить?
От: CreatorCray  
Дата: 28.04.22 07:01
Оценка:
Здравствуйте, Артём, Вы писали:

Аё>Т.е. информационный шум, который нужно держать в голове вместо решения практических задач. C++ был неидеален в 90- начале 2000х, но предлагал что-то что не было у других языков. С тех пор он ничего полезного предложить не может, и направление развития- Кащенко. Что, наверное, неудивительно, если учеть, что адекваты ушли в другие языки и кто там в плюсах остался.


Артёмка, ты только что потратил дофига байтиков но мысли в них не прослеживается.
"Т.е. информационный шум" (С)
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[12]: Оставаться в С++ или уходить?
От: CreatorCray  
Дата: 28.04.22 07:01
Оценка:
Здравствуйте, Stanislav V. Zudin, Вы писали:

SVZ>Я тебе больше скажу, мы в структурах данных указатели вообще не используем. Только индексы! Никаких лишних аллокаций.

Формально указатель это просто индекс в массиве всей памяти

SVZ>И не потому что с++ чего-то "ниасилил", а потому что структуры данных определяются алгоритмами.

+1

SVZ>Асилит такое ява? Сомневаюсь. Одно выделение памяти займет вечность.

Ну можно из явы убрать всё, кроме сабсета общего с "С с классами"
Вот только нахрена тогда вообще весь этот цирк если можно сразу взять С++ и там юзать точно такой же сабсет?
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[13]: Оставаться в С++ или уходить?
От: CreatorCray  
Дата: 28.04.22 07:01
Оценка:
Здравствуйте, so5team, Вы писали:

S>Да вы, походу, вообще "решением прикладных задач" (с) не занимаетесь, а только треугольники какие-то ворочаете.

Да если так посмотреть то мы тут вообще все только байтики перекладываем
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[14]: Оставаться в С++ или уходить?
От: so5team https://stiffstream.com
Дата: 28.04.22 07:35
Оценка:
Здравствуйте, CreatorCray, Вы писали:

S>>Да вы, походу, вообще "решением прикладных задач" (с) не занимаетесь, а только треугольники какие-то ворочаете.

CC>Да если так посмотреть то мы тут вообще все только байтики перекладываем

Некоторые еще и координируют это самое перекладывание и разворачивание

Но по сути таки да, именно что прикладная разработка на C++, -- это сейчас редкое явление, имхо.
Re[15]: Оставаться в С++ или уходить?
От: CreatorCray  
Дата: 28.04.22 07:48
Оценка:
Здравствуйте, so5team, Вы писали:

S>Некоторые еще и координируют это самое перекладывание и разворачивание

Да они тоже байтики перекладывают, только в емыле и всяких слаковебексах
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[13]: Оставаться в С++ или уходить?
От: Stanislav V. Zudin Россия  
Дата: 28.04.22 08:28
Оценка:
Здравствуйте, CreatorCray, Вы писали:

SVZ>>Я тебе больше скажу, мы в структурах данных указатели вообще не используем. Только индексы! Никаких лишних аллокаций.

CC>Формально указатель это просто индекс в массиве всей памяти

Оно так, но есть нюанс. Значение указателя произвольно — что манагер памяти выдал, тем и пользуемся и не несёт никакой информации (окромя nullptr).
А значение индекса можно использовать в разных целях — порядок обработки, признак "обработано или ещё нет", принадлежность какой-то группе сущностей и проч.

SVZ>>Асилит такое ява? Сомневаюсь. Одно выделение памяти займет вечность.

CC>Ну можно из явы убрать всё, кроме сабсета общего с "С с классами"
CC>Вот только нахрена тогда вообще весь этот цирк если можно сразу взять С++ и там юзать точно такой же сабсет?

Согласен.
_____________________
С уважением,
Stanislav V. Zudin
Re[13]: Оставаться в С++ или уходить?
От: Stanislav V. Zudin Россия  
Дата: 28.04.22 08:30
Оценка: :)
Здравствуйте, so5team, Вы писали:

SVZ>>Поэтому у нас ворочаются 3Д схемы с 1200+ млн треугольников


S>Да вы, походу, вообще "решением прикладных задач" (с) не занимаетесь, а только треугольники какие-то ворочаете.


Да у нас одна "прикладная задача" — наглядно показать конструктору какой он баран в каком месте и насколько сильно он накосячил
_____________________
С уважением,
Stanislav V. Zudin
Re[12]: Оставаться в С++ или уходить?
От: Артём Австралия жж
Дата: 30.04.22 02:42
Оценка: :))
Здравствуйте, Stanislav V. Zudin, Вы писали:

SVZ>Я тебе больше скажу, мы в структурах данных указатели вообще не используем. Только индексы! Никаких лишних аллокаций.

Связные списки тоже на смещениях в памяти?

SVZ>И не потому что с++ чего-то "ниасилил", а потому что структуры данных определяются алгоритмами.

Согласен.

SVZ>Поэтому у нас ворочаются 3Д схемы с 1200+ млн треугольников, которые у других даже в 2Д еле ползают. Асилит такое ява? Сомневаюсь. Одно выделение памяти займет вечность.

Ты себе противоречишь. С одной стороны "Только индексы! Никаких лишних аллокаций.", с другой 1200+ млн треугольников выделений. Сделать также и в жаве, без лишних выделений, mmap на большой кусок вызов такой же, как из C++. Только код на Java безопесней и без вывихов template укушенных Александреской.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.