5 ms·
>There aren't enough humans that can do math On what basis do you make that assertion? "Lots of people program who didn't bother to learn maths" doesn't mean
by papsosouid 14y ago
>There aren't enough humans that can do math
On what basis do you make that assertion? "Lots of people program who didn't bother to learn maths" doesn't mean they aren't able to learn maths.
>This stuff we call code ain't that hard.
Then why do we so consistently fuck it up horribly?
- AnIrishDuck 14y ago> Then why do we so consistently fuck it up horribly? This is the crux of it. Coding these days "ain't that hard" because the current generation of programmers sneer at formal methods. They believe providing even semi-rigorous proofs that their code works is not worth their effort. The result? Testing code with arbitrary input is the best practice; even semi-rigorous proofs are a "luxury". Would your high school geometry teacher accept "well, here's three triangles whose angles sum to 180 degrees. QED."? Then why are we so content as professionals to provide similar "proofs" of correctness? Unfortunately, there's a strong feedback method here. Formal methods receive little treatment because there is little enthusiasm for their application. There is little enthusiasm for their application because the tools aren't advanced enough. The core problem is still the same though: programmers don't take math seriously.
- gnaritas 14y agoI'd say blaming programmers is a bit wrong, blame the business; most businesses don't pay programmers to write good code, they pay for fast code that generally works. They don't want to pay too much because how hard can it be to put database data onto the screen. Most programming simply doesn't require math beyond elementary arithmetic. You think most programmers have time for formal proofs?
- papsosouid 14y agoEvery business wants cheap and fast. And responsible professionals insist on doing things correctly anyways. You don't blame the business when someone builds a bridge that collapses when it gets windy, you blame the person who designed it wrong. Same thing with code, nobody is forcing us to do it wrong, and doing it right doesn't take significantly longer. Programmers just need to be educated and learn how to write code.
- gnaritas 14y ago> And responsible professionals insist on doing things correctly anyways. There is more than one "correct". Cheap fast prototypes can and generally should skimp on "correct" scaling things because that extra work isn't necessary unless the idea takes off, otherwise you're saving a ton of labor skipping things that a final product might need but a failed idea won't. > You don't blame the business when someone builds a bridge that collapses Be serious; lives aren't generally on the line for most business apps and that kind of engineering is time consuming and expensive and totally unnecessary most of the time for application developers. > do it wrong, and doing it right doesn't take significantly longer I completely disagree. >Programmers just need to be educated and learn how to write code. Sounds like you need to spend some time running a business and paying for those programmers; you'll change your mind fast.
- papsosouid 14y ago>Cheap fast prototypes can and generally should skimp on "correct" scaling things Prototypes don't go into production, so it is moot. No, first versions should not skimp on correctness. It saves virtually no time at all. For example, I've done absolutely nothing special to make our web apps scalable, we just use scalable tech to build it in the first place instead of garbage. >Be serious; lives aren't generally on the line How is that relevant? >I completely disagree. Maybe you should try it sometime then. >Sounds like you need to spend some time running a business and paying for those programmers Almost 6 years so far, how much more time do I need to spend before reality will suddenly flip on its head and doing things wrong will suddenly become awesome?
- gnaritas 14y ago> Prototypes don't go into production, so it is moot. Yes they do. > No, first versions should not skimp on correctness. Yes they should. > It saves virtually no time at all. It saves plenty of time. > we just use scalable tech to build it in the first place instead of garbage. We aren't talking about tech, but technique. There are plenty of times you can do things in a less than optimal fashion that is much quicker to code than the optimal version which isn't worth doing unless the idea gets some traction. So it seems we just fundamentally disagree.