Крылатый
❤️
Constantine
Мои извращенные желания. Ибо зачем их тогда придумали?
Их придумали для профессиональных разработчиков, а не для студентов
Max
Ну в среднестатистическом универе ничего не изучают на профессиональном уровне. Но я и не говорю, что нужно. Нужно математику хорошо преподавать в первую очередь, если это технический вуз.
Constantine
ну это как с матаном, в команде нужно чтобы один шарил
Max
Я имел ввиду, что с C++11/14/17 появилось куча новых вещей, а старые никуда не делись. Поэтому сейчас можно написать оно и то же в стиле 98, 11, 14, 17, и попробуй новичку все это обьяснить, какого фига ему надо написать аж 3 конструктора и перегрузить 2 оператора, чтоб просто создать клас. Ни в какое сравнение с тем же Python например.
Max
Тем не менее - писал несколько месяцев, ни разу в ногу не выстрелил.
Constantine
Тем не менее - писал несколько месяцев, ни разу в ногу не выстрелил.
У меня на памяти товарищ, который эпически пофейлил из-за getline в питоне, который читает конец строки
Max
Зачем писать 3 конструктора? Не понимать
Когда нельзя надеяться на автосгенерированные компилятором
Max
+
Anton
и это всё на плюсах?
Constantine
а в питон статическую типизацию завезли?
Max
Главное, что всегда компилится 😊
Anton
А оправдано ли это? Никогда не хотелось что-нибудь более высокоуровнего взаимодействия с потоками, как например, у Java?
Matwey
а в питон статическую типизацию завезли?
По-моему какой-то завезли в 3.6
Constantine
ну я просто в принципе не понимаю, как можно написать проект больше 50к строк кода без статической типизации
Constantine
А в C++ утиную завезли? ))
Шаблоны через утиную работают
Max
Шаблоны через утиную работают
Тем не менее, статически
Constantine
Тем не менее, статически
А зачем динамическая утиная типизация? Чтобы ногу расстреливать?
Max
А зачем динамическая утиная типизация? Чтобы ногу расстреливать?
Смотря как использовать. В плюсах она имеет такой же смысл, как и статическая типизация в питоне
Constantine
Смотря как использовать. В плюсах она имеет такой же смысл, как и статическая типизация в питоне
Меня все еще интересует, как писать любой достаточно большой проект без статической типизации. 100% цикломатической сложности тестами закрывать?
Anton
т.е. знания такой низкоуровневой многопоточности, так скажем, являются очень даже хорошим плюсом?
Max
А кто-то пишет? 😆
Не знаю, не в встречал
Max
Ну вопрос в том, что значит большой проект
Крылатый
А всё по простой причине — нужен продукт прямо сейчас, а на ресурсы пофик.
Constantine
Ну вопрос в том, что значит большой проект
Давай начнем с 5 человеколет и 120к строк
Крылатый
Давай начнем с 5 человеколет и 120к строк
120к это мало на 5 человеколет.
Крылатый
Там уже на лямы строк идут.
Constantine
120к это мало на 5 человеколет.
Это зависит от того, как и что писать
Крылатый
Это зависит от того, как и что писать
Ну, я просто смотрю на наглядный пример фирмы, обслуживающей бизнес целой страны (60% рынка точно за ней).
Constantine
Ну, я просто смотрю на наглядный пример фирмы, обслуживающей бизнес целой страны (60% рынка точно за ней).
Смотри, если речь о набивании формочек к базе данных - мало, а если про фолли - там вся фолли короче, наверное
Constantine
Формочки к базе без цикла поддержки на питоне ты набьешь, да
Max
Давай на этом и закончим, я лучше посплю. Плодотворной вам беседы
Крылатый
Справедливо.
Крылатый
Давайте спать или онтопить.
Крылатый
^-^
Constantine
про утиную типизацию - я лично топлю за унифицированные отглагольные модификаторы и унифицированные предикаты
Constantine
это как std::swap, std::begin, std::end только еще сотня штук
Constantine
Вот там действительно словарем ударило 😆
Max
Был пример лучше
Даже сложнее чем корабли лавировали лавировали лавировали да не вылавировали
Constantine
И между тем, мне очень нравится идея писать build(std::move(builder), arguments...) независимо от природы builder-а
Berkus
Есть какой-нибудь способ заставить кланг не обращаться к фс слишком часто? При использовании sshfs линковка занимает вечность
lld попробуй, в целом кланг использует ТОТ ЖЕ линкер что и gcc поэтому хз откуда ты взял эту разницу лол
Viktor
Ну, может GCC складывает "временные" файлы не туда, где примонтирован sshfs
kitsu
lld попробуй, в целом кланг использует ТОТ ЖЕ линкер что и gcc поэтому хз откуда ты взял эту разницу лол
Разница - чисто эмпирическая то, что используются одинаковые линкеры - вкурсе, даже скидывал параметры их запуска сюда же
Anatoly
dynamic_cast?
Anatoly
struct base1 { virtual ~base1() {} }; struct base2 { virtual ~base2() {} }; struct base1base2 : base1, base2 { }; ... base1* b1 = new base1base2(); base2* b2 = dynamic_cast<base2*>(b1); if( b2 ) { // use b2 }
Max
А не пробовал сделать еще 1 базовый для base1 base2, ну то есть ромбическое сделать? И хранить указатель на него
Max
Чтоб не париться
Berkus
только что изобрел RTTI
Александр
Anatoly
Был на последнем cppcon доклад про dynamic_cast. Он, оказывается, много чего умеет
вроде, он из покон веков много умел или что-то добавлено?
Александр
вроде, он из покон веков много умел или что-то добавлено?
Из покое веков, но я для себя что-то новое открыл
Александр
В частности, в случаях виртуального наследования
Ioann_
Так он вроде и работает только когда есть полиморфизм :?
Anatoly
Так он вроде и работает только когда есть полиморфизм :?
Саша скорее о всяких ромбовидных наследованиях говорил. Именно там мы говорим о виртуальном наследовании.
Ioann_
А, вижу, да. Не заметил что он наследование написал.
Ioann_
Тут могу только Дьюхерста посоветовать, если вот прямо подробности нужны.
Processor
да с чего вы все взяли это, наоборот он проще стал, теперь можно писать по сути как на C#
Max
да с чего вы все взяли это, наоборот он проще стал, теперь можно писать по сути как на C#
Минусую. То что код выглядит, как на шарпах, не значит, что он написан так же. Вам не знать, сколько отстрелянных ног за ним стоит.
Matwey
Господа, а это не UB случайно?
Matwey
А норм делать static_cast<float>(bool_val)?
Anonymous
Нет.
Anonymous
По крайне мере не похоже.
Max
Господа, а это не UB случайно?
static_cast, не может быть UB
Max
а вот при (float)bool_val я хз
Anonymous
А оно неявно не может скастоваться?
Anonymous
[cling]$ float a = true; Там конечно могут быть нюансы.... Но на это не гавкает.