2 ms·
Any profiler. As a development tool: You can default to writing the majority of your code dumb, terse[1], and straightforward, even if you know there's a cleve
by jtolmar 6y ago
Any profiler.
As a development tool: You can default to writing the majority of your code dumb, terse[1], and straightforward, even if you know there's a clever algorithm you might be able to use, because that way is easier to debug. Computers are fast and N is usually smaller than you think, and when you apply the profiler you'll find out that that the biggest performance problem isn't the thing you were going to optimize anyway.
As a product tool: People are more likely to buy responsive programs. The state of modern websites is so bad that non-programmers will actually comment. Every tester for Space Trains[2] commented on how smooth it is. That's a game, but I've seen the same comments on productivity software I've written.
[1] As in omitting layers, not as in omitting descriptive variable names.
[2] https://www.youtube.com/watch?v=LRJP0tie-30 https://www.youtube.com/watch?v=LRJP0tie-30
- msohailshah 6y agoBy layers, do you mean interfaces and abstract layers?
- jtolmar 6y agoYes. Some abstractions are good, but I've seen many projects where an abstraction layer or interface is added that does the exact same thing as the code behind it. Or even more often, there will be one or two specific functions in the layer that does actual work, but it would've been fine to just write a helper function for that and not wrap everything else. It's actually pretty rare that whatever needs to be abstracted covers an entire conceptual area to the point where thinking of it as a "layer" makes sense.