On Tuesday, 22 August 2017 at 19:56:46 UTC, Timon Gehr wrote:
On 22.08.2017 21:46, 12345swordy wrote:
On Tuesday, 22 August 2017 at 19:24:08 UTC, bitwise wrote:
On Tuesday, 22 August 2017 at 00:33:17 UTC, Jonathan M Davis
wrote:
[...]
If you need an IDE to figure out what your code is doing,
that's an epic fail IMHO. Walter has made similar statements
on several occasions.
There was a time that people would write code with even
modest performance requirements in assembler for fear of what
the compiler would spit out, but that's in the past, as is
the notion of trying to develop without an IDE.
You shouldn't rely on an IDE to compensate poor language
design. That is coming from a guy who prefers IDE's.
I disagree with both the notion that this is poor language
design and that an IDE is required to make sense out of code
that uses the new feature.
"Required" is a bit of a strong word here. In the absence of good
practice, any language feature can be abused to make code
confusing.
Function overloading is a good example of a feature that is
usable as is, but made much better with a good IDE. But the same
way I wouldn't name every function in a class "performAction" and
pass a 50 member enum to it to tell it what to actually do, I
wouldn't have more than 4-5 different types of function attribute
combinations, and if I did, I wouldn't spread them out among 10
different files. What little extra effort it takes to look up the
attributes of a function in an atmosphere of good practice can
easily be made up for with good tools, and no one _has_ to use
bundled up attributes.