Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×

The Whiz of Silver Bullets 244

ChelleChelle writes "In an entertaining yet well thought-out article, software architect Alex E. Bell of The Boeing Company lashes out at the so-called 'Silver Bullets' and those who rely on them to solve all their software development difficulties. From the article: 'the desperate, the pressured, and the ignorant are among those who continue to worship the silver-bullet gods and plead for continuance of silver-fueled delusions that are keeping many of their projects alive.'"
This discussion has been archived. No new comments can be posted.

The Whiz of Silver Bullets

Comments Filter:
  • by jonv ( 2423 ) on Wednesday July 26, 2006 @06:31AM (#15782651)
  • by Tim Browse ( 9263 ) on Wednesday July 26, 2006 @07:21AM (#15782765)

    Sheesh [berkeley.edu]

    Kids today.

  • Re:Bullets? (Score:3, Informative)

    by vadim_t ( 324782 ) on Wednesday July 26, 2006 @08:09AM (#15782889) Homepage
    You kidding? It's trivial to make a program that generates something it can't parse back. Want examples?
    void write_value(int handle, char *key, char *value) {
    /* this is stupid, but not that hard to find */
     
        char buf[1024];
        strcpy(buf, key);
        strcat(buf, "=");
        strcat(buf, value);
        strcat(buf, "\n");
        fwrite(handle, buf, strlen(buf));
    }
     
    write_key(h, "example", " 2+2=4\n4*4=16");
    Here you have a bit of code that very trivially writes something that can't be parsed back. Will the leading space be stripped? And even better, instead of that being written correctly, the data will be corrupted, with the first line being read normally, and the second being interpreted as key "4*4", value 16.

    Encoding issues work the same way. It's trivial to write any random \0 terminated junk. It's a lot harder to correctly parse it back. What if the key is made of multi-byte characters, one of whose bytes has the value 61 (ASCII for '=')? A naive parser made for ASCII will sometimes correctly retrieve the key and value from an unicode file, but choke on the lines including characters it incorrectly interprets.
  • by Mjlner ( 609829 ) on Wednesday July 26, 2006 @08:10AM (#15782892) Journal

    "In this case, if you under 18 years of age, I recommend that you buy a box of silver bullets or just plain vanilla lead bullets. Put the bullets into your revolver. Hide the revolver in your jacket. Then, walk into your boss' office. Fire away. You will not be tried as an adult since you are not a legal adult. Better yet, after you reach the age of 18, your criminal record will be wiped clean."

    You don't live in the US, do you? In the US, persons under the age of 18 are tried, convicted and executed [ncadp.org] on a regular basis. Well actually, they aren't being executed until later on in life (nowadays), since the appeals process does take some time.

  • by VAXcat ( 674775 ) on Wednesday July 26, 2006 @09:44AM (#15783563)
    Just be glad you're not old enough to have gone through the fourth generation language management wars...managers were convinved by that hype that we could buy thes products and then we'd be able to get results by talking to the computers in English, just like the ones on the Enterprise in Star Trek. Instead, some incredibly resource wasting applications were produced, that had to be communicated with in a strange dialect of broken English - sort of a machine pidgin language...
  • Re:Bullets? (Score:3, Informative)

    by IMarvinTPA ( 104941 ) <IMarvinTPA@@@IMarvinTPA...com> on Wednesday July 26, 2006 @10:59AM (#15784231) Homepage Journal
    So, you want to represent data, heh?
    Here are three choices I've gotten to work:
    JSON [json.org]
    XML
    CSV
    Have you ever seen nested CSV files? They're truely bizzare to see, but if you have a sufficiently powerful parser, they can be read. New Line characters are to be record separators only when they are fully outside of quotes. Commas are to be used as field separators, only when they are fully outside of quotes. Quotes are to be used as content descriminators only when not doubled up.
    The closest thing to a CSV spec that I've ever found. [shaftek.org]
    My silver bullets of choice? Data encoding for transfer.
    My next favorite silver bullet set, Web Services.
    My other favorite silver bullet set, Programming Languages.

    IMarv
  • by Aceticon ( 140883 ) on Wednesday July 26, 2006 @11:01AM (#15784244)
    For a couple of years now, i've been entertaining the theory that a great many people in IT (especially managers) have trouble dealing with tradeoffs, side-effects and feedback loops whenever a choice has to be made on how the development process is to be setup/changed. The longer the chain of side-effects, the more complicated the feedback-loops or the less immediatly obvious the tradeoffs, side-effects or feedback-loops are, the more likelly they will be ignored or not understood.

    Hence the common practice (in some countries) of selling impossible deadlines to customers and then using overwork to (try and) achieve those deadlines (via the "tired developers make more bugs" and the "low morale" negative feedback loops, overwork usually leads to LONGER development times and a longer tail of bugfixing before the software is accepted for production).

    The same theory would also help explain the recurring reliance by some managers on the next "silver bullet" to solve all our problems - silver bullets are always sold as solving everything and having no downsides (thus no tradeoffs) and no side-effects (and thus no negative feedback loops).
  • Re:Bullets? (Score:1, Informative)

    by Anonymous Coward on Wednesday July 26, 2006 @01:48PM (#15785579)
    Are you sure you've ever used XML? Your complaints about it indicate a lack of knowledge, or a troll. I'll give you the benefit of the doubt and assume you're stupid instead of malicious.

You knew the job was dangerous when you took it, Fred. -- Superchicken

Working...