QuoteOriginally posted by: Traden4AlphaThese days, all one needs to know is that a computer is an instruction-following machineThis is what leads to bad programming. There is no program, however simple, that can't be fucked up by not understanding the limitations and strengths of computers.What you describe does not even need to be taught. Anybody can google "erase file" and find the int EraseFile(filename) function. So what needs to be taught, is why sometimes erasefile doesn't work, and why sometimes it works better. And this comes down to the hardware that is being used for disk reads, memory storage, string searching, network throughput.When I started programming graphics-intensive 3d stuff in the early 1980's, it ran slow and clunky. This was the main challenge of programming any video game back then. I always assumed this problem would take care of itself, as computers got faster. But every year I have programmed from then to now, speed was still the most challenging problem causing any program to not work.When I pull up my call log on my cellphone, and click dial, it dials every time. But sometimes the call log gets so long, the scrolling freezes. Most of the problems people in this forum try to solve, the final hurdle is speed. Whether you are mining bitcoins, or pulling up customer records from a CRM, simply knowing the commands will not get you anywhere. Anybody can Google "mysql query" but that will not produce a system that actually puts records on user screens when they all try string searches on the same table at once.I have programs all over the computer I am typing on that save live tickers to disk, combine tickers from different feeds to make charts, analyze ticks, remember where various orders were. It was quite easy to make any piece of it work, just so far as copying arrays and comparing timestamps. I have used the correct commands correctly, so in theory it should work. But I cannot even use most of it most of the time, because it will be a huge programming challenge to make it all run fast enough to work together at the same time.I know the combination of instructions that will tell me whether the euro is going up or down. But they will not run.The main characteristic dictating the commercial success and popularity of any program, is user experience. And the most common issue on which user experience turns, is speed. And there is no instruction "go faster." You have to think about how a computer works, and think about where the bottlenecks are and why, to achieve more speed.
Last edited by farmer
on February 21st, 2014, 11:00 pm, edited 1 time in total.