Earlier quoted context omitted.
This quote is so misunderstood and so abused all the time. The point of the statement is to not micro-optimize this and that corner of the program without having any data to guide you on what you should optimize and how. It's not a rallying call to forgo all concerns about application performance and efficiency. The mis-application of this quote is the root of all evil in modern software IMO. It's why a chat program…
> 1. Make it work correctly and efficiently (to a reasonable degree) Unfortunately, this took your team 6 months and the people that launched their app 4 months ago (having opted for "make it work") now have 90% of your market and you've all just been made redundant because the customers do not care whether your app is "more correct" and "more efficient" because they just plain damn couldn't use it. There's a reason…
Fast software is a discipline, not a purpose
61–68 of 68 posts
Re: Fast software is a discipline, not a purpose
#62Earlier quoted context omitted.
Performance is always an issue. That said, I fully grant it may be an issue that is worth solving later in the process.
The later you do it, the more expensive it gets. In this it is similar to testing.
I also agree that folks should try to avoid poor habits. However, I'll note that even Knuth uses brute force for some parts of his programs. Quoting, "Brute force is the rule in this part of the program."[1] Sometimes, it really isn't the bottleneck. :)
[1] http://www-cs-faculty.stanford.edu/~knuth/programs/dance.w
Re: Fast software is a discipline, not a purpose
#63Earlier quoted context omitted.
> But integer arithmetic is not necessarily faster than floating point arithmetic in general; GPUs was the first place I feel like floats got a much better pathway than any other data type - graphical pixel manipulations also can get away with much higher arithmetic errors, because it's all going to get rounded down to a pixel eventually. On the other hand, the only place where I've really worked heavily with fixed p…
Come on, all reasonable ARM have NEON and VFPv3 (including cortex M) about the only place I saw something that didn't was an old internet router. Hardware completely unsuited to maths. Softfp does not preclude the use of floating point math at all. It means you pay an extra cost when passing floats as arguments. (Which means you should rather use a hardfp math library if possible.)
ARM MIDP UI code in 2003-2004 - very interesting chip (ARM926EJ-S [1]) ... not that I ever invented anything new to do all this, all of what I did was learn & repeat tricks from 1980s arcade consoles.
[1] - https://en.wikipedia.org/wiki/Jazelle#BXJ:_Branch_to_Java
Re: Fast software is a discipline, not a purpose
#64Earlier quoted context omitted.
There's no evidence than any of this is true. First market is not often the winner. Facebook came very late to the social media scene but it dominated. Google came very late to the search engine scene, and people don't even remember this but there was a time when there were a ton of search engines and anyone at the time would probably think that the search engine market is saturated and there's no space for a new pro…
> but it was full of bugs and always hangs up, That doesn't really fit in the "make it work" that I specifically mentioned. If you change the scenario, sure, things could be different!
> Make it work correctly and efficiently
Now you are saying: well obviously if it's full of bugs and slow as hell then it doesn't really work.
Which is exactly my point.
You can't claim that something "works" if it doesn't work "correctly" and "efficiently".
Re: Fast software is a discipline, not a purpose
#65Earlier quoted context omitted.
There's no evidence than any of this is true. First market is not often the winner. Facebook came very late to the social media scene but it dominated. Google came very late to the search engine scene, and people don't even remember this but there was a time when there were a ton of search engines and anyone at the time would probably think that the search engine market is saturated and there's no space for a new pro…
> Chrome completely dominated them on the simple basis that it was _really fast_. It isn't that simple - a lot of Chrome's success came because they "made it work" in ways that Firefox (horribly wasteful of CPU, memory, battery life) and IE (shambles in every department) didn't. Also helped in large part by having an enormous web monopoly pushing it and favouring it for their properties. But you're definitely right t…
Uhh, do you have an ounce of self awareness?
Yes, it performed way better than Firefox, which is exactly my point.
Re: Fast software is a discipline, not a purpose
#66So yea, they don't care. But does it matter ? People are happy as long as they get paid at the end of the day. They don't care about the quality of code written.
Not saying its a good thing or bad thing. Just the way it is.
Re: Fast software is a discipline, not a purpose
#67Earlier quoted context omitted.
> Chrome completely dominated them on the simple basis that it was _really fast_. It isn't that simple - a lot of Chrome's success came because they "made it work" in ways that Firefox (horribly wasteful of CPU, memory, battery life) and IE (shambles in every department) didn't. Also helped in large part by having an enormous web monopoly pushing it and favouring it for their properties. But you're definitely right t…
> a lot of Chrome's success came because they "made it work" in ways that Firefox (horribly wasteful of CPU, memory, battery life) Uhh, do you have an ounce of self awareness? Yes, it performed way better than Firefox, which is exactly my point.
No, you specifically called out the speed and speed only - "on the simple basis that it was _really fast_" - nothing about it working right in other areas (which are the ones that grabbed people, not the speed.)
Re: Fast software is a discipline, not a purpose
#68Earlier quoted context omitted.
> 1. Make it work correctly and efficiently (to a reasonable degree) Unfortunately, this took your team 6 months and the people that launched their app 4 months ago (having opted for "make it work") now have 90% of your market and you've all just been made redundant because the customers do not care whether your app is "more correct" and "more efficient" because they just plain damn couldn't use it. There's a reason…
"Worse is better" refers to interface complexity vs. implementation complexity, not to software quality.