Комментарии:
About struct A { int foo(int); }; struct B { int foo(float); }; - it's a language problem. I have an example: we have a library class (and there are a lot of other classes derived from that class) with `operator boo()`. I can easily say `int64_t i = object;` and compiler do not say anything. The argument "Just don't do that" is easy if you show an easy example, but in real life you spend days to find the problem.
ОтветитьI wonder how long will it take for people to notice that constexpr everything is an accident... Just declare the final result holder constexpr, and the compiler should be able to know what to do, and complain it is not possible.
ОтветитьI was not fond of this talk. I enjoy writing code in C++ and I've written a whole bunch of stuff in the language, and I continue to do so.
It is also ridiculously complex, and has many strange rules, many of which exist because of strange historical baggage. And that complexity can't really be removed easily without making a lot of old code not work.
I don't feel this talk properly acknowledged that.
Not a great talk, a bit biased and overlooks a lot of real problems as features. Lingering backwards compatibility, constant new ways of doing things (that quickly deprecate things a few years old, making teaching hard) and many ways of doing something (each with unique pitfalls) are certainly issues in C++. The gotcha of remembering to define a virtual destructor is not a good thing
ОтветитьAre you joking!
If you can't admit the problem then you can't begin to address the problem.
This talk is not very good. Alot of talking but very low information density.
ОтветитьGood talk, thank you for this, I appreciate it.
ОтветитьA really good presentation which gives me more energy and motivation to keep learning C++. Thanks! :)
ОтветитьAmir ! Great talk ! Love it :)
ОтветитьIt's increasingly hard to justify the ever growing Tower of Babel that is C++. Life is too short to absorb all those rules and "don't do that" cases.
We moved from programming in assembler to high level languages back in the day. In large part because it removed a lot of complexity, a lot of bookkeeping and checking ever detail of every line of code. C++ is so unpredictable from any normal intuition we are back to checking every detail of every line of code. As this talk so clearly demonstrates.