Re[4]: Архитектура и дизайн современных C++ приложений
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 14.12.20 13:03
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Не согласен.

LVV>Напротив, С++20 очень даже позволяет функциональщикам ваять на С++.
LVV>Книжку почитай.
LVV>Я читал много чего. Эта книжка как-то свежим ветром показалась.

Профессор, я полностью согласен с тем, что с академической точки зрения это будет интересно. Но проблема в том, что, во-первых, C++ не заточен под функциональное программирование и поддерживать и развивать тот ужас что вышел банально дорого. Во-вторых, те же ranges довольно непредсказуемые по поведению с точки зрения скорости генерируемого кода, да и по алгоритмической сложности решение очень тяжело оценить. По этому в проде такому не место, всегда же можно взять Haskell
Re[5]: Архитектура и дизайн современных C++ приложений
От: LaptevVV Россия  
Дата: 14.12.20 13:48
Оценка:
KP>Профессор, я полностью согласен с тем, что с академической точки зрения это будет интересно. Но проблема в том, что, во-первых, C++ не заточен под функциональное программирование и поддерживать и развивать тот ужас что вышел банально дорого. Во-вторых, те же ranges довольно непредсказуемые по поведению с точки зрения скорости генерируемого кода, да и по алгоритмической сложности решение очень тяжело оценить. По этому в проде такому не место, всегда же можно взять Haskell
Чукич сам программист. Хотя и препод...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Архитектура и дизайн современных C++ приложений
От: PM  
Дата: 14.12.20 15:00
Оценка:
Здравствуйте, reversecode, Вы писали:

R>представим, приходите вы на собеседование

R>а вам — ну ка дизайн и архитектуру опенссл расскажите

Ну это вряд ли. Скорее будет вопрос "вы использовали OpenSSL?" с ожиданием правильного ответа "да конечно, могу sha1, могу ssl сокет, а еще 1 раз свое BIO делал"

R>а вы — ой ну там %?%?%?%, я вот умную книжку читал...

R>вам — то есть 99% в мире используют ее, даже с других языков врапперы над опенссл а вы что то имеете против ? до свидания!

Синьор не скажет категорично, что там $%%&@@$%
Скажет что приходилось писать свои обертки на C++ для RAII, посетует, что сборка не очень удобна, что вместо документации иногда лучше смотреть в заголовочные файлы. Но все этим пользуются, есть улучшения, так что будем надеяться, что второго heartbleed не будет.

R>умение делать хорошо и правильно выводится из знания о том что такое плохо и не правильно


R>и согласен, опенссл не есть идеал архитектуры и дизайна


Мой поинт был, что нет в идеала архитектуры и дизайна ни в одном проекте. Есть череда событий и решений, приведших к нынешнему дизайну, большей частью эволюционно выросшему. И 20 лет назад при старте проекта никто толком не знает, как сделать сразу хорошо и правильно.

Но вообще да, читать код открытых проектов вместо тысячестраничных книг это хороший совет.
Отредактировано 14.12.2020 15:24 PM . Предыдущая версия .
Re[5]: Архитектура и дизайн современных C++ приложений
От: PM  
Дата: 14.12.20 15:13
Оценка:
Здравствуйте, reversecode, Вы писали:

R>в разных компаниях по разному воспринимается слово синьор


R>в некоторых это тот кто может писать на бумажке компилируемый безглючный код

R>в других это ментор который будет надзирателем и перед мержем в основную ветку высматривать неявные программные и архитектурые ляпы
R>итд

R>я сопоставляю вопрос тс его хотелки

R>и понял как синьор — архитектор

[тут был пример поведения распальцованного чувака без минимального представления о soft skills]

Если такое происходит с кем-то в реальной жизни, то этот человек ССЗБ, но явно не синьор, в каком бы то ни было понимании.
Re: Архитектура и дизайн современных C++ приложений
От: a_g_99 США http://www.hooli.xyz/
Дата: 14.12.20 15:16
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Возникло желание почитать чего-нибудь нового (книгу, если конкретнее) про архитектуру и дизайн C++ приложений. Звучит довольно обобщенно, но последнее дельное что я читал на этот счет было Александреску, "Дизайн современных приложений на C++", которую, конечно, можно и наверное нужно перечитать, но может что-то посвежее вышло?

это кстати ужасная книга как не нужно делать что либо в принципе

KP>В качестве уточнения: я НЕ говорю ни про CppCoreGuidelines, ни про Effective * C++, которые больше про сам язык, нежели про дизайн. А хочется именно про дизайн. И The Architecture of Open Source Applications тоже не то, так как там больше про высокоуровневый дизайн без привязки к языку.

таких книг нет. как впрочем скажем и по java. вместо этого вы должны читать лучшие современные open source проекты как книгу. это кстати может быть очень увлекательно

пример — envoy
Re[2]: Архитектура и дизайн современных C++ приложений
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 15.12.20 00:48
Оценка:
Здравствуйте, a_g_99, Вы писали:

__>это кстати ужасная книга как не нужно делать что либо в принципе


Для новичков — да, это худшее что может быть. Когда опыта уже более-менее поднабралось, книга очень даже хороша. Разве что сильно устарела с учетом возможностей C++17.

__>таких книг нет. как впрочем скажем и по java. вместо этого вы должны читать лучшие современные open source проекты как книгу. это кстати может быть очень увлекательно


Есть и я привел пример выше. Чтение open source — это очень сомнительное занятие кроме тех случаев, когда ты ищешь ответ на конкретный вопрос. Во всех остальных случаях, как бы не был прекрасен проект — это пустая трата времени. В процессе чтения ты видишь решение, но ты не видишь что побудило пойти тем или иным образом. Для понимания причин как раз и нужна книга.

__>пример — envoy


Можно кучу хороших с точки зрения архитектуры и дизайна примеров привести. Но если прочитать вопрос который ТС изначально задает, то наверное можно догадаться, что это не то что ТС ищет
Re[3]: Архитектура и дизайн современных C++ приложений
От: a_g_99 США http://www.hooli.xyz/
Дата: 15.12.20 15:45
Оценка: -1 :))) :))
Здравствуйте, kaa.python, Вы писали:

KP>Для новичков — да, это худшее что может быть. Когда опыта уже более-менее поднабралось, книга очень даже хороша. Разве что сильно устарела с учетом возможностей C++17.

новичок к сожалению вы. я вам сейчас сделаю ликбез (хотя вы как и любые другие местные чувствительные личности конечно обидитесь несмотря на понимание того что это правда).
эта книга результат его академический работы в университете вашингтона. после того как он начал работать в компании Х игрек Зет его идеи не использовались там. И люди там посмеивались у него за спиной.
Современная разработка на С++ базируется на следующем факте — С++ это это современная ООП адаптация языка C которая при этом должна сохранить 3 ключевых качества — производительность (ниже С но выше всех остальных), мобильность (переносимость между платформами), бесшовную интеграцию с С либз. При этом код должен выглядеть относительно читабельно. Академические заигрывания с шаблонами в эти парадигмы вписываются плохо, это не идет в прод. Поэтому этот товарищ сейчас и пилит D а не продолжает работать за полляма в Х игрек Зет

KP>Можно кучу хороших с точки зрения архитектуры и дизайна примеров привести. Но если прочитать вопрос который ТС изначально задает, то наверное можно догадаться, что это не то что ТС ищет

ТС пора выйти на нормальный уровень разработки. Есть ребята которые работают только с подсказки (книжки и тп). Если ТС такой гай, ему работать только в трэшовых компаниях
Отредактировано 15.12.2020 15:58 a_g_99 . Предыдущая версия .
Re[4]: Архитектура и дизайн современных C++ приложений
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 16.12.20 00:43
Оценка: -1
Здравствуйте, a_g_99, Вы писали:

__>новичок к сожалению вы. я вам сейчас сделаю ликбез (хотя вы как и любые другие местные чувствительные личности конечно обидитесь несмотря на понимание того что это правда).


Обижаться на анонима, который явно в C++ мало что понимает? Хм, какое высокое у тебя самомнение

__>эта книга результат его академический работы в университете вашингтона. после того как он начал работать в компании Х игрек Зет его идеи не использовались там. И люди там посмеивались у него за спиной.


А ты видел как выглядит современный C++-то? Над какими конкретно идеями посмеялись можно узнать? Не, я понимаю что как любой балабол ты сейчас съедешь в сторону и ничего конкретного не приведешь, но вдруг

__>Современная разработка на С++ базируется на следующем факте — С++ это это современная ООП адаптация языка C которая при этом должна сохранить 3 ключевых качества — производительность (ниже С но выше всех остальных), мобильность (переносимость между платформами), бесшовную интеграцию с С либз. При этом код должен выглядеть относительно читабельно. Академические заигрывания с шаблонами в эти парадигмы вписываются плохо, это не идет в прод. Поэтому этот товарищ сейчас и пилит D а не продолжает работать за полляма в Х игрек Зет


Я правильно понимаю что ты из секты поклонников Си-с-классами? Похоже у меня для тебя плохие новости, Си-с-классами — это не C++.

__>ТС пора выйти на нормальный уровень разработки. Есть ребята которые работают только с подсказки (книжки и тп). Если ТС такой гай, ему работать только в трэшовых компаниях


Нормальный уровень — это не читать книги?
Re[5]: Архитектура и дизайн современных C++ приложений
От: El Camino Real США  
Дата: 16.12.20 20:17
Оценка: :))
Здравствуйте, kaa.python, Вы писали:

KP>Я правильно понимаю что ты из секты поклонников Си-с-классами? Похоже у меня для тебя плохие новости, Си-с-классами — это не C++.

Не хочу тебя огорчать, но это именно тот С++, который используется в производстве. Есть ещё правильный академически-изотерический С++, но хрен знает как его применить без ущерба для cost/revenue ratio. Возвращаясь к вопросу: архитектура определяется доменом. С++ в современных реалиях имеет смысл использовать с нуля лишь там, где, внезапно, архитектура роли не играет. Просто ввиду малого масштаба и простоты потоков данных. В остальных случаях ты либо ограничен ограниченностью third-party vendors, либо легаси, либо лучше сразу двигаться в сторону обвязка из условного го/js/python + C++ на низком уровне/числодробилка. А книжку Лакоса, кстати, зря хают. Она не про архитектуру, но очень удобна как чек-лист: а вот эту практику мы ещё не внедрили, а давайте попробуем. Более того, даётся правильный словарь (ну, в английском издании само собой) для общения с менеджментом на предмет внедрения и мотивации оного. Воды там немеряно, но советую купить и просканировать в режиме беглого чтения с пометками "на полях".
Re[2]: Архитектура и дизайн современных C++ приложений
От: alpha21264 СССР  
Дата: 17.12.20 00:05
Оценка: +1
Здравствуйте, reversecode, Вы писали:

R>стягиваете любой большой опенсорс проект

R>и изучаете так что бы на зубок как войну и мир
R>и дизайн и архитектура все одном

О да!
У меня есть книга "Анализ программного кода на примере проектов Open Source".
В своё время показалась очень интересной.

Течёт вода Кубань-реки куда велят большевики.
Re[6]: Архитектура и дизайн современных C++ приложений
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 17.12.20 00:51
Оценка:
Здравствуйте, El Camino Real, Вы писали:

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


Наверное, тут стоит уточнить в каком именно производстве.

ECR>Есть ещё правильный академически-изотерический С++, но хрен знает как его применить без ущерба для cost/revenue ratio.


Можно и нужно. Посмотри на открытые проекты FB и Google, там не Си-с-классами, а современный C++. У нас сейчас вполне себе C++17, скоро будет C++20; используется со всеми шаблонами и прочим. Ущерба для cost/revenue ratio нет, просто команды с высокой квалификацией. При этом кодовая база на Си-с-классами как раз и приводит к сильному удорожанию развития и поддержки, хотя и позволяет снизить требования к квалификации команды. Но если команда на столько плоха, что только Си-с-классами осилила, то дешевле перевести всё на Go.

ECR>Возвращаясь к вопросу: архитектура определяется доменом. С++ в современных реалиях имеет смысл использовать с нуля лишь там, где, внезапно, архитектура роли не играет. Просто ввиду малого масштаба и простоты потоков данных. В остальных случаях ты либо ограничен ограниченностью third-party vendors, либо легаси, либо лучше сразу двигаться в сторону обвязка из условного го/js/python + C++ на низком уровне/числодробилка.


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

ECR>А книжку Лакоса, кстати, зря хают. Она не про архитектуру, но очень удобна как чек-лист: а вот эту практику мы ещё не внедрили, а давайте попробуем. Более того, даётся правильный словарь (ну, в английском издании само собой) для общения с менеджментом на предмет внедрения и мотивации оного. Воды там немеряно, но советую купить и просканировать в режиме беглого чтения с пометками "на полях".


Я полистал ее по диагонали, такое же ощущение сложилось.
Re[6]: Архитектура и дизайн современных C++ приложений
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 24.12.20 19:19
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Чукич сам программист. Хотя и препод...


Преподавательство портит разработчиков навсегда!

У нас в инсте ходила поговорка: "Не умеешь работать — руководи. Не умеешь руководить — учи"

Хватит уже этого Чукича так рекламировать. Или ты с ним в доле?
Маньяк Робокряк колесит по городу
Re[7]: Архитектура и дизайн современных C++ приложений
От: LaptevVV Россия  
Дата: 26.12.20 11:41
Оценка: +1
M>Преподавательство портит разработчиков навсегда!
Да нифига. Смотря что программировать.
M>У нас в инсте ходила поговорка: "Не умеешь работать — руководи. Не умеешь руководить — учи"
Молодой ты еще...
Руководить — совсем другая работа.
Преподавать — совсем другая работа.
M>Хватит уже этого Чукича так рекламировать. Или ты с ним в доле?

Кеды у меня в Альте стоят.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Архитектура и дизайн современных C++ приложений
От: landerhigh Пират  
Дата: 29.12.20 11:32
Оценка: +3 :)
Здравствуйте, kaa.python, Вы писали:

KP>Возникло желание почитать чего-нибудь нового (книгу, если конкретнее) про архитектуру и дизайн C++ приложений.


У меня есть дикое подозрение, что те, кто умеет в хорошую архитектуру, не умеют (не имеют желания/времени) писать об этом книжки.

Да и как правило, наиболее "удачные" и гибкие архитектуры на поверку оказываются простыми как пробка.
www.blinnov.com
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.