Re: To Richard Heathfield: enough's enough

From: Randy Howard (randy.howard_at_FOOmegapathdslBAR.net)
Date: 12/28/03

  • Next message: Bill Godfrey: "Programmer's slang (Slighty OT)"
    Date: Sat, 27 Dec 2003 19:18:13 -0600
    
    

    In article <f5dda427.0312271304.129e2fc7@posting.google.com>, spinoza1111
    @yahoo.com says...
    > > > > It obfuscates code from being read like text and thrusts this property of
    > > > > the object forward even if you didn't care about it as the reader.
    > > >
    > > > If you don't care about it why are you reading the code?
    > >
    > > A) I didn't write it.
    > > B) Not all aspects of an object must be cared about by the programmer
    > > at every location within a program. It is one of the fundamental
    > > concepts behind object oriented programming, but I don't expect you
    > > to know, or more importantly, understand that.
    >
    > Sounds to me, pal, that you don't understand OOP.

    Perhaps so, but it is clear that I understand at least enough to
    converse on the topic, as you do not understand it at all. This
    is not so surprising, as you don't even understand the most basic
    of procedural programming concepts.

    > For it is no license for not caring about the text in some meaningful way.

    Note the phrase "at every location within a program". The point, for
    those who cannot see it is that the type is not critical to program
    flow everywhere. Attempting to isolate on individual words instead of
    the sentence as a whole you apparently hope to score some easy buckets.
    What this really points out is that you do not have a convincing
    counter-argument to the actual point being made and are forced to
    lower yourself to that level.

    > It is a misunderstanding to think that advanced technology somehow
    > lets its operators off the hook

    I never said that. In fact, several members of this group not being
    willing to let you off the hook by relying on a magical compiler/CPU
    instruction combination to save you (and still being wrong about that)
    from O(n*n) runtimes is the current reason for this thread.

    > Basically, in abandoning Hungarian notation for short identifiers, you
    > don't care about the needs of the Other because you "understand" what
    > you have written.

    Again you are incorrect. Abandoning Hungarian notation because it is
    provably more difficult to maintain than conventional naming conventions
    is demonstrating concern for the needs of the maintainers that may
    come after you.

    > > Those are not meaningful names. They convey no useful information
    > > not present without the prefixes. In fact, they are just as likely
    > > to include misinformation, especially when implemented by less than
    > > qualified programmers such as yourself.
    > >
    > That's just silly. Out of context, intIndex means that "this is an
    > index AND it is an integer."

    No, it means it may be an index, and it may be an integer. The truth
    of the index part is verifiable by how it is used in the code. The
    truth of the type can only be verified by looking at the declaration.
    At which point, you have already gone through the exact same steps
    as a programmer not using Hungarian notation, except that if it is
    incorrect, no changes are required, because the type isn't stored
    in two places. One, which matters (declaration) and the second,
    which does not matter and in fact is as likely as not to be wrong,
    the variable name. The compiler can only do type checking through
    the first, and the careful programmer does his own type checking
    the same way regardless of notation, so it's obviously pointless at
    best, and confusing and/or misleading in all but the perfect case
    where the developer never makes a mistake. I've yet to meet one
    of those. You seem to think you are perfect, I can assure you
    that you are not.

    > I really hope you know that modern software supports the concept of an
    > associative array or collection which has an index which is not an
    > integer or a number in general.

    So write you're own compiler for a new language, perhaps "PERSIFLAGE"
    would be a nice name, to live along Malboge, Intercal, etc.? BTW,
    where is that C-- compiler? Also, I'd really like to try out that
    Windows Algol compiler. Any expected completion date? I assume
    you won't be writing it in C, since it's a flawed language. Will
    you write it in VB? I'm genuinely curious, so please don't ignore
    these questions these times, I've asked them at least half a dozen
    times now.

    > Therefore intIndex conveys information which excludes a possibility.

    Translation please?

    > > [persiflage snipped]
    > >
    > Gee, we cannot have a complex thought, lest the evolution of a
    > possibility get snipped and waved by our devolved adversary.

    Thoughts I'm a fan of. Ranting about unrelated topics with reams
    of words that even the Bellevue mental word couldn't find meaning
    in I am not.

    > The compiler doesn't think for you and if you believe it does you are
    > unqualified.

    I do not. HOWEVER, you do think that the compiler should figure out
    what you mean and optimize improperly written algorithms by reading
    your mind. You've made that point several times in the strlen
    discussion. By *your* definition, you are unqualified. I agree.

    > I saw primitive programmers in Chicago banks claim that IBM's first
    > PL/I compiler meant that they could take long lunch hours, and this is
    > the same type of claim.

    Probably because it took so long to do a build. I well remember UNIX
    builds (the entire OS, not just the kernel) that took 18+ hours on
    the best hardware available at the time. We could take VERY LONG
    lunch hours.

    > IBM's first PL/I compiler used a byte for string length.

    And a fine precedent it was too. Probably 75% of the world's software
    to date has the same model, including your own (abysmal) C code. You
    seem to be the only one defending the process of finding the slowest
    possible implementation as a side-effect of the method.

    > > It does in source code. If it does not show up in the comments and/or
    > > the program logic and symbols used, then it does not exist at all.
    > > In your sample code, the meaning that comes through loud and clear
    > > is that the author is incompetent.
    > >
    > Sure, buddy, whatever you say. But as Galileo said to the Italian
    > Inquisition, it still moves. My source code, written partially in C,
    > for an internal compiler at a telecom firm was found by a consultant
    > friend to be still running and producing correct results 15 years
    > after it was written.

    Everybody gets lucky sometime. Code doesn't change over time, so if
    it was ever working properly, it should continue to do so forever
    unless a change in it's specifications is made.

    > What you are in fact having trouble with is not my "competence"

    To be specific, it is with your "lack of competence", so technically
    the above is correct.

    > it's the language of personal agency in which the phallic I says,

    I thought you were castrated?

    > > > I'd say that if one system is followed consistently in a single run
    > > > unit, this is 99% better than program texts which represent
    > > > battlegrounds between different naming systems.
    > >
    > > I don't own any such books. Do bad books exist? Clearly. It is
    >
    > Oh, let's burn them! Fascist.

    Oh Clueless wonder, I didn't say to burn them, you did. I simply said
    there are bad books. In fact, every bookstore in the world has some.

    > > obvious that you have attempted to digest quite a few of them.
    >
    > Yeah, it was tuff.

    This I believe. Having trouble with the bad books, it's obvious that
    better books such as K&R and Knuth elude you completely.

    > I have nothing against the Man Show. It has some hot babes.

    I've never watched it.

    > > It is also apparent that you have actually written some. Should
    > > Unfortunately, we can not. Not even Microsoft claims that anymore.
    > > You referred to Microsoft in an earlier thread to back up your
    > > claims. As we will see shortly, you call relying on Microsoft to
    > > support you argument silly. Therefore, by your own logic, you are
    > > silly.
    > >
    > That's an oversimplification. Microsoft is not one person. It's not
    > even the personality of Bill Gates writ large, for every time billg
    > tries to speak what's in his heart, Steve Ballmer gives him a wedgie.

    Relevance? HUNGARIAN notation is dying, at an escalating pace. Your
    claim to fame may someday being the last person still using it. Good
    luck with that, you're going to need it.

    > The actual facts (which are available in those books you would burn,
    > in a corporate auto da fe) are as follows. Charles Szymonyi fled
    > Communist Hungary in the 1950s because he did not want to work for
    > apparatchiks who had transformed Marxism into a dead set of
    > abstractions which curiously resemble, in a second-order sense, the
    > dead set of abstractions aired in this thread.

    The above seems like a strange name for a book title.

    [three more similar paragraphs snipped]

    > Szymonyi joined Microsoft in the 1980s and a cabal around him used
    > Hungarian in many still-useful Microsoft products, some of which were
    > even delivered on time, including Word.

    I thought corporate cabals were evil in your world. How is it
    that you can remain so internally inconsistent without it
    bothering you?

    > You unix/linux creeps seem to talk a good game as regards
    > delivery, but for some reason, nobody wants to pay you. Why is that?

    I'm sorry, but I've been paid for every job I ever held in this
    industry. I didn't even have to live in a mud hut in a third
    world country to remain financially solvent. Go figure. I have
    certainly worked on some hobby programming for myself or some
    friend that needed a quick program to do something and I hope to
    spend some time contributing to a few open source projects that
    hold my interest in the future. I am now retired as a benefit of
    being paid a very nice wage, bonuses and compensation over a
    sufficient time period working very hard and with the fortunate
    condition of being involved in development teams which were
    extremely capable and I owe a debt to many of these people for
    making the time enjoyable and educational instead of just rote
    labor.

    > [Sorry: that was unfair and over the top, as should be obvious.

    Not at all, being typically incorrect as you are wont to do,
    it missed the mark entirely, so unfair is not really appropriate.

    > But we do need to know why it is that it is so.

    Perhaps if it were true, it would be of interest.

    [pseudo-intellectual persiflage snipped]

    > Of the advances, only structured programming remained, like Roe v Wade.

    I think this is a candidate for a fortune cookie file. That is one
    for the ages. Perhaps you are making tacit comment on the fact that
    a strategically placed abortion would have save the world from a
    certain individuals incredibly poorly written software, but I suspect
    that you are not quite that self-aware.

    > > It is impossible to ensure the premise (consistent Hungarian). It is
    > > by design prone to failure. Hence, it is bad.
    > >
    > Gee, what's your editor? teco? edlin?

    Name an editor which guarantees consistent Hungarian.

    Since you finally asked an accidentally on-topic question, I use
    kdevelop, Microsoft's "Visual C/C++" front-end IDE, vi, emacs, kwrite, or
    whatever else is available on a given platform. For embedded projects I
    usually use the ImageCraft IDE/editor which is similar in functionality
    (but to a lesser degree) than the Microsoft one and is used as a cross-
    compiler from a Windows platform. For other embedded controllers which
    have decent open-source (I.e. gcc) cross-compilers, I tend to use the
    most suitable platform for the host OS the compiler is executed on. For
    Novell NetWare NLM development I use the Metrowerks compiler/IDE (which
    is abysmal). For HTML development (of which I try to do VERY little)
    I am happy with Microsoft Word and "save as HTML". If I did HTML for
    anything other than hobby web development I am sure something more
    appropriate would be required. Notepad, Wordpad, dos edit, edlin, pico,
    and lord knows how many other editors have also been used from time to
    time. As far as I recall, none of them guarantee consistent Hungarian.

    > > Perhaps, but again you can't tell it by looking at the identifier name
    > > and hoping that the type hidden there is correct. Furthermore, the
    > > type may be different on different platforms with code that has been
    > > ported. Usually that is hidden behind a typedef. As such, you still
    > > must look beyond the "cover" to uncover it's actual type. I wouldn't
    > > expect you to understand this either.
    > >
    > Sure, if trolls and bozos like you change the text as a deliberate
    > assault on its internal logic, it is a bad text.

    I've never done that. I am sure that such people may exist, but they
    probably wind up having to move to third-world countries to find
    employment. In most cases, the error is an accident, during code
    maintenance after initial development. These aren't evil outcomes,
    just ones that must be resolved, like all code bugs. Using a
    naming convention that ADDS to the number of potential bugs doesn't
    seem like a good idea to me.

    > But not worse than a text without the attempt in the first place.

    Actually it is, because not encoding false information and having to
    look it up from the CORRECT source, instead of a stale copy of what
    it was once upon a time is better.

    > Because I have a nuanced and dialectical understanding of social
    > phenomena which even in a mathematical sense are "chaotic".

    Oh yes, of course. You spew bull*** when a coherent argument
    escapes you, which is most of the time.

    > > Sentient programmers are a "discourse community" which has proven
    > > itself capable of understanding such without hungarian notation.
    > > The fact that you argue that you cannot implies that you are not
    > > a member of the set of sentient programmers. I agree completely.
    > >
    > Hey, that's pretty slick.

    I am glad that you agree with the above paragraph. It's almost an
    admission, there's hope for you yet.

    > But there is nothing in the ng charter which says you have to follow
    > creepy rules such as "i is an index, duh".

    If you like:

    int this_is_a_loop_index = 0;

    I have no problem with it. Putting int in the variable name, then
    later realizing that the type needs to be size_t, and not renaming
    it everywhere is the potential long term problem to be avoided.

    > > In light of your coming out party, I'm not sure how to parse this.
    >
    > Got you worried. Good.

    No, I simply could not decipher your intent.

    > > No, it shouldn't get you fired. If there is a coding policy within
    > > an organization that forbids it and you refuse to comply, then you
    > > should be terminated.
    > >
    > In fact, real organizations have no such policies in the sense they
    > are followed. Instead, programmers basically do what they want and lie
    > about it.

    I'm sorry you have never held a development lead position or that if you
    did you did not have the leadership abilities to enforce a consistent
    code convention. I've never had either problem, so I can't relate to
    your problems.

    [Nilges' socialist manifesto snipped]

    -- 
    Randy Howard                
    2reply remove FOOBAR 
          
    

  • Next message: Bill Godfrey: "Programmer's slang (Slighty OT)"