4 ms·
New term to describe bad programming: Biological
- muhamm 17y ago-> "A good developer would never put the end of the digestive system right next to the start of the reproduction system - not even if that would require fewer lines of code (which it undoubtedly did)." Whatever point he's trying to make in this post - and I'm not going to take the time to try to figure it out - I'm sure there's a simpler way of saying it.
- philwelch 17y agoBasically, "biological" describes a system that works decently, and which has grown through incremental changes, and yet is a poorly architected mess inside. It describes something that appears to be great from the way it works and the way it looks on the outside, even if the internals are a mess that require 10 years of schooling and residency to fully understand and maintain ;)
- stcredzero 17y agoNot even that! 10 years and continual refresher courses and on-the-job training for a lifetime -- just to have an inkling and at best a hazy but uncanny knack for fixing. But even this is not even enough in all cases.
- dejb 17y agoI've certainly worked with some programmers who's approach seemed more like evolution and intelligent design.
- DannoHung 17y agoHeh, best argument against creationism yet: If God were omnipotent and omniscient and God designed the human body, then it wouldn't be such a phenomenal mess!
- Scriptor 17y agoOr maybe the Universe was a hastily done outsourcing job? Seriously though, as messy as organ systems and biochemistry may be, the weird thing is that it all works by itself, using basic chemical properties. I remember how some textbooks can make it sound like proteins and molecules are ordered around in a cell, but in reality everything just floats around, is attracted and repelled to other stuff in the right places, and it works.
- rsheridan6 17y agoOr maybe it just means that God hacked most of it together with Perl: http://xkcd.com/224/ http://xkcd.com/224/
- rw 17y agoSo, basically, we need to refactor the human body. I am quite alright with that.
- stcredzero 17y agoSo am I, provided you either have Unit Tests, Design by Contract specs, and/or functional specs for everything. If you don't, then it might be a literal act of suicide.
- pavel_lishin 17y agoI would be alright with that as well, if every piece of software I'd ever written was 100% bug free. I envy your perfect track record.
- rw 17y agoMake sure you can ship after every commit!
- donaldc 17y agoHe has a point for smaller-scale programming. Certainly, even when designing part of a larger system, one should aim to be as clear and well-structured as possible. But beyond a certain scale, complex systems, including complex software, must be grown and not master-planned. This is one of the main advantages of iterative design and development. Organic life passed this level of complexity long ago. Yes, evolution is dumb enough that it has passed up some obvious improvements. But humans are not (at least not yet) so smart that they could design even a bacterium from scratch, without resorting to iteration, and trial-and-error.
- stcredzero 17y agoActually, we are designing a bacterium from scratch. But to do it, we are doing some cut and paste from previous examples. http://www.ted.com/talks/craig_venter_is_on_the_verge_of_creating_synthetic_life.html http://www.ted.com/talks/craig_venter_is_on_the_verge_of_cre... There is, however, a modicum of refactoring.
- deleted 17y ago[deleted]
- TrevorJ 17y agoI don't think that characterizing biological systems as having no order whatsoever is exactly accurate. I understand the point he is making, but I'm not sure the parallels hold up particularly well.
- bitdiddle 17y agoI think the argument is totally flawed. Brains and eyeballs are biological. Perhaps biology is more bottoms up than top down or more like generate and test, yet it produces systems of incredible complexity that are remarkably robust. For example a human heart beats ~ 1 billion times, I've yet to see a human designed and architected pump do that. We just don't understand very well yet how the liver and pancreas work and western medicine is particularly weak in taking a holistic or systems view to the body. Software, bad or good, is not like biology and it's not like construction. Software is mathematics.