Breaking backwards compatibility - good or bad?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Tony Marston

    Re: Breaking backwards compatibility - good or bad?


    "Anonymous" <anonymous@nowh ere.invalid> wrote in message
    news:43AE8ECF.5 4D24C7C@nowhere .invalid...[color=blue]
    > Tony Marston wrote:[color=green]
    >>
    >> Case-sensitivity is the whole point of this thread. Any language that has
    >> a
    >> feature which can be abused and which produces unmaintainable code is a
    >> BAD
    >> language. Any language that allows the same variable or function name to[/color]
    >
    > Then any language is bad by your definition.[/color]

    Any language that allows stupid mistakes is a bad language. That's why some
    programmers say that statically-typed and compiled languages are better that
    dynamically-typed interpretted languages.
    [color=blue]
    > That's not true. Anyone proficient in german can assure you that "Helft
    > den armen Vögeln." and "Helft den Armen vögeln." means something
    > *completely* different! ;-)[/color]

    Trust the bloody square-head sausage-eaters to throw a spanner in the works.
    But in ENGLISH, which is the universal language, there is no difference.
    Just check out any dictionary. Does it have separate entries in each case?
    No? I wonder why.....


    Comment

    • Tony Marston

      Re: Breaking backwards compatibility - good or bad?


      "Wayne" <not@here.com > wrote in message
      news:e7lrq19fuo t6bqamnklrfisgj hekq4oge5@4ax.c om...[color=blue]
      > On Sat, 24 Dec 2005 11:10:33 +0000, Colin Fine
      > <news@kindness. demon.co.uk> wrote:
      >[color=green]
      >>PHP5 marked a step forward over PHP4, but Tony has changed my mind.
      >>The one place where it has improved things (that I can now say
      >>class MyClass
      >>...
      >>if get_class($var, 'MyClass') ...
      >>and have it work)
      >>is not enough to justify the change.[/color]
      >
      > The reason for the change was for __AutoLoad(). Since most file
      > systems where PHP runs is case-sensitive you need to get the proper
      > case of the class to map it to a file name to load.
      >
      > That's the reason for that change.[/color]

      Oh, I see. Just because the developers of UNIX screwed up by introducing
      case-sensitivity the rest of the world has to follow suit just to be
      *consistent*.


      Comment

      • Tony Marston

        Re: Breaking backwards compatibility - good or bad?


        "Anonymous" <anonymous@nowh ere.invalid> wrote in message
        news:43AE9D06.6 2D24AE3@nowhere .invalid...[color=blue]
        > Tony Marston wrote:[color=green]
        >>[color=darkred]
        >> > I'm not going to bite on that one any more. Several people have tried
        >> > to
        >> > tell you. Go back through this thread. I'm not going to repeat their
        >> > arguments.[/color]
        >>
        >> Their arguments don't hold water. Saying that "it is this way becauseit's
        >> always been this way" is not an argument.[/color]
        >
        > I can agree with that, but...
        >[color=green][color=darkred]
        >> > The one exception I will make - when computers can understand verbal
        >> > instructions (or even written instructions) like people do, then you
        >> > can
        >> > compare computer and human languages. Until then, you are talking
        >> > apples
        >> > and oranges.[/color]
        >>
        >> Humans communicate with other humans using human language. Humans
        >> communicate with computers using a computer language, one that translates
        >> high-level commands into low-level machine instructions. Human and
        >> computer
        >> languages thereore have a single point of origin, and to say that they
        >> are
        >> like apples and oranges just shows the depth of your ignorance.[/color]
        >
        > ... now you are getting ridiculous. Human languages and computer
        > languages might share the same origin, but they du not share the same
        > purpose.[/color]

        Yes they do, it's called *communication* . A computer language is used so
        that a human can tell a computer what instructions to follow. That is why
        COBOL was constructed around subjects, verbs, predicates, sentences and
        paragraphs.
        [color=blue]
        > Human languages developed over time.[/color]

        Having been in IT for over 30 years I have noticed that computer languages
        and operating systems evolve over time as well.
        [color=blue]
        > Words changed meanings and
        > spelling, the grammar changed, too. On top of that humans communicate
        > differently than machines. We have a lot of words that communicate
        > vagueness or uncertainty. How much is 'a lot of'?
        >
        > Computer languages on the other hand were designed from the bottom up
        > and their only purpose is to eliminate any vagueness in communication so
        > that a machine that only knows logical states (0 or 1) can follow a set
        > of instructions in a concise and repeatable way.
        >
        > That is why computer and human languages are *very* different. If it
        > were not so nobody would need programmers.[/color]

        You would still need a method of allowing a human to communicate his wishes
        to the computer.
        [color=blue][color=green]
        >> The first computer languages were case-insensitive, just like human
        >> languages. Then some UTTER MORON decided to break with a tradition that
        >> had
        >> existed since human language first appeared in written form and insisted
        >> that the SAME word in a DIFFERENT case now has a DIFFERENT meaning. The
        >> reason for this was probaby because he was too stupid or too lazy to
        >> perform
        >> case-insensitive searches of variable and function names.[/color]
        >
        > Complete nonsense. The first computer languages were case insensitive
        > because the first computers only had upper case letters. Human languages
        > on the other hand never were case insensitive.[/color]

        But when those early computers changed to character sets which allowed both
        upper and lower case they did not enforce one case or the other, thus
        becoming case-insensitive. How do I know this? BECAUSE I WAS THERE, DUMMY!
        [color=blue][color=green]
        >> I am not asking that all other languages be changed to suit MY taste, I
        >> am
        >> just asking that PHP not be changed to suit YOUR taste. I have worked for
        >> 30
        >> years with operating systems and compilers which were ALL
        >> case-insensitive,
        >> and I see no advantage in making the change, only disadvantages.
        >>[/color]
        >
        > Don't make me laugh. I've been into computers for only about 22 years,
        > but I know computers like C64, VIC20 and PET and know why they were case
        > insensitive. Simply because they lacked lower case.[/color]

        My experience is with *business* computers, not *hobby* computers. Before
        personal computers (known originally as micro-computers) came out I worked
        on mainframes and mini-computers, all of which had both upper and lower case
        and were insensitive to case.


        Comment

        • Tony Marston

          Re: Breaking backwards compatibility - good or bad?


          "Wayne" <not@here.com > wrote in message
          news:4jlrq1ho73 r6761idr20d5c79 1u8pae2fe@4ax.c om...[color=blue]
          > On Sat, 24 Dec 2005 18:09:24 +0000, Colin Fine
          > <news@kindness. demon.co.uk> wrote:
          >[color=green]
          >>WHY IS IT PROGRESS?????
          >>
          >>PHP5 is a vast improvement on PHP4 in a number of ways. But they could
          >>equally well have resolved the inconsistency between variable and
          >>function names by removing case sensitivity for the former.[/color]
          >
          > I'd say that adding case-sensitivity breaks less code than removing
          > case-sensitivity would. Adding case-sensitivity in PHP might create a
          > alot of hard errors (calling functions with the wrong case, for
          > example) but it will never go silently. Removing case-sensitivity
          > from variables can easily create situations where you silently end up
          > with incorrect results.[/color]

          Only if you deliberately have the same variable name in the same scope in
          different mixtures of upper and lower case, thus producing different
          variables. How many programmers do you know who would do that?


          Comment

          • Tony Marston

            Re: Breaking backwards compatibility - good or bad?


            "Wayne" <not@here.com > wrote in message
            news:gqlrq1li73 pspge4k6cqcmje4 9muh9n0c5@4ax.c om...[color=blue]
            > On Sat, 24 Dec 2005 22:48:06 -0000, "Tony Marston"
            > <tony@NOSPAM.de mon.co.uk> wrote:
            >[color=green]
            >>By mixing case I mean mixing case in the same word. Some organisations
            >>like
            >>all upper case, some like all lower case, but NOBODY likes a mixture of
            >>case
            >>in the same word. That is the difference.[/color]
            >
            > Ummm.. camelCase is used ALOT. In fact, camelCase is now becoming
            > the standard for PHP.[/color]

            Only because a few core developers are enforcing it. Nobody asked the
            millions of users.
            [color=blue]
            > avariableliketh isisveryhardtou nderstand.
            > itsMuchEasierTo SayThingsWithSo meCapitals.[/color]

            That's why some people still prefer to use the undersore as a word
            separator, to produce something like
            an_underscore_i s_far_better_th an_those_stupid _camelcaps. This is the
            preferrd method in ANSI SQL for example, and has been since day 1.


            Comment

            • Jerry Stuckle

              Re: Breaking backwards compatibility - good or bad?

              Tony Marston wrote:[color=blue]
              > "Anonymous" <anonymous@nowh ere.invalid> wrote in message
              > news:43AE8ECF.5 4D24C7C@nowhere .invalid...
              >[color=green]
              >>Tony Marston wrote:
              >>[color=darkred]
              >>>Case-sensitivity is the whole point of this thread. Any language that has
              >>>a
              >>>feature which can be abused and which produces unmaintainable code is a
              >>>BAD
              >>>language. Any language that allows the same variable or function name to[/color]
              >>
              >>Then any language is bad by your definition.[/color]
              >
              >
              > Any language that allows stupid mistakes is a bad language. That's why some
              > programmers say that statically-typed and compiled languages are better that
              > dynamically-typed interpretted languages.
              >
              >[color=green]
              >>That's not true. Anyone proficient in german can assure you that "Helft
              >>den armen Vögeln." and "Helft den Armen vögeln." means something
              >>*completely * different! ;-)[/color]
              >
              >
              > Trust the bloody square-head sausage-eaters to throw a spanner in the works.
              > But in ENGLISH, which is the universal language, there is no difference.
              > Just check out any dictionary. Does it have separate entries in each case?
              > No? I wonder why.....
              >
              >[/color]

              Gee, another American who thinks he's the center of the universe...


              --
              =============== ===
              Remove the "x" from my email address
              Jerry Stuckle
              JDS Computer Training Corp.
              jstucklex@attgl obal.net
              =============== ===

              Comment

              • Tony Marston

                Re: Breaking backwards compatibility - good or bad?


                "Jerry Stuckle" <jstucklex@attg lobal.net> wrote in message
                news:Srednav30u Fcmy3enZ2dnUVZ_ s-dnZ2d@comcast.c om...[color=blue]
                > Tony Marston wrote:[color=green]
                >> "Anonymous" <anonymous@nowh ere.invalid> wrote in message
                >> news:43AE8ECF.5 4D24C7C@nowhere .invalid...
                >>[color=darkred]
                >>>Tony Marston wrote:
                >>>
                >>>>Case-sensitivity is the whole point of this thread. Any language that
                >>>>has a
                >>>>feature which can be abused and which produces unmaintainable code is a
                >>>>BAD
                >>>>language. Any language that allows the same variable or function name to
                >>>
                >>>Then any language is bad by your definition.[/color]
                >>
                >>
                >> Any language that allows stupid mistakes is a bad language. That's why
                >> some programmers say that statically-typed and compiled languages are
                >> better that dynamically-typed interpretted languages.
                >>
                >>[color=darkred]
                >>>That's not true. Anyone proficient in german can assure you that "Helft
                >>>den armen Vögeln." and "Helft den Armen vögeln." means something
                >>>*completel y* different! ;-)[/color]
                >>
                >>
                >> Trust the bloody square-head sausage-eaters to throw a spanner in the
                >> works. But in ENGLISH, which is the universal language, there is no
                >> difference. Just check out any dictionary. Does it have separate entries
                >> in each case? No? I wonder why.....
                >>
                >>[/color]
                >
                > Gee, another American who thinks he's the center of the universe...[/color]

                No, I'm English, not American. And there was a time when we WERE the center
                of the universe. That's why English is the universal language.


                Comment

                • Wayne

                  Re: Breaking backwards compatibility - good or bad?

                  On Mon, 26 Dec 2005 10:52:24 -0000, "Tony Marston"
                  <tony@NOSPAM.de mon.co.uk> wrote:
                  [color=blue][color=green]
                  >> Ummm.. camelCase is used ALOT. In fact, camelCase is now becoming
                  >> the standard for PHP.[/color]
                  >
                  >Only because a few core developers are enforcing it. Nobody asked the
                  >millions of users.[/color]

                  Have you asked the millions of users? It's a bit presumptuous to
                  assume that you know what PHP developers want better than the
                  developers of the language!

                  From what I've seen, developers wanted everything they got in PHP5
                  including camelCase.

                  Comment

                  • Wayne

                    Re: Breaking backwards compatibility - good or bad?

                    On Mon, 26 Dec 2005 10:46:43 -0000, "Tony Marston"
                    <tony@NOSPAM.de mon.co.uk> wrote:
                    [color=blue]
                    >Yes they do, it's called *communication* . A computer language is used so
                    >that a human can tell a computer what instructions to follow. That is why
                    >COBOL was constructed around subjects, verbs, predicates, sentences and
                    >paragraphs.[/color]

                    And COBOL was forever deemed a bad idea. Now we have languages with
                    curly-braces, semi-colons, arthimentic operators all mixed in, etc.
                    And we consider that an improvement.

                    If programming languages were like English, statements would end with
                    period instead of a semi-colon.
                    [color=blue]
                    >Having been in IT for over 30 years I have noticed that computer languages
                    >and operating systems evolve over time as well.[/color]

                    Given that you seem to have only programmed in dinosaur languages, I
                    find this hard to believe.

                    Comment

                    • Wayne

                      Re: Breaking backwards compatibility - good or bad?

                      On Sun, 25 Dec 2005 11:02:47 -0000, "Tony Marston"
                      <tony@NOSPAM.de mon.co.uk> wrote:
                      [color=blue]
                      >I think not. Can you name me any computer language where the authors have
                      >deliberately created their own variable and function names in different
                      >mixtures of upper and lower case with a different meaning for each mixture?[/color]

                      C.

                      Typedefs and constants are almost always all upper-case and variables
                      and functions all lower-case. And they do commonly mix these two
                      things together. For C programmers, they always thing of all
                      upper-case variables as being in an entirely different namespace from
                      all-lowercase variables.

                      FILE* file.
                      [color=blue]
                      >Why not? Because it would be confusing.[/color]

                      Apparently it's even less confusing, since the namespace/type of the
                      variable is known by it's case.

                      You know, I don't really care that much about the case-sensitivity
                      issue. I've programmed in PHP for years and hardly noticed the
                      different (case sensitive variables, case insensitive functions).
                      Neither one seemed to case more errors one way or the other. I can
                      also effortless move from VB to C++ and never have a problem with it
                      either.

                      I think you're making it a bigger issue than it is. If the PHP
                      developers want to change it for consistency sake, that seems to be a
                      good enough reason. It really won't affect anyone too much either
                      way.

                      Comment

                      • Colin Fine

                        Re: Breaking backwards compatibility - good or bad?

                        Wayne wrote:[color=blue]
                        > On Sat, 24 Dec 2005 11:10:33 +0000, Colin Fine
                        > <news@kindness. demon.co.uk> wrote:
                        >
                        >[color=green]
                        >>PHP5 marked a step forward over PHP4, but Tony has changed my mind.
                        >>The one place where it has improved things (that I can now say
                        >>class MyClass
                        >>...
                        >>if get_class($var, 'MyClass') ...
                        >>and have it work)
                        >>is not enough to justify the change.[/color]
                        >
                        >
                        > The reason for the change was for __AutoLoad(). Since most file
                        > systems where PHP runs is case-sensitive you need to get the proper
                        > case of the class to map it to a file name to load.
                        >
                        > That's the reason for that change.
                        >[/color]

                        So what happens if you use it on an OS with case-insensitive filenames?

                        Colin

                        Comment

                        • Andy Hassall

                          Re: Breaking backwards compatibility - good or bad?

                          On Sat, 31 Dec 2005 18:20:11 +0000, Colin Fine <news@kindness. demon.co.uk>
                          wrote:
                          [color=blue][color=green]
                          >> The reason for the change was for __AutoLoad(). Since most file
                          >> systems where PHP runs is case-sensitive you need to get the proper
                          >> case of the class to map it to a file name to load.
                          >>
                          >> That's the reason for that change.[/color]
                          >
                          >So what happens if you use it on an OS with case-insensitive filenames?[/color]

                          Then it picks up the file with the capitalisation matching the class name, but
                          it's then not portable.

                          The main case-insensitive filesystems (FAT32, NTFS) are still case-preserving
                          anyway, so a file still has a single canonical name capitalised in a specific
                          way.

                          --
                          Andy Hassall :: andy@andyh.co.u k :: http://www.andyh.co.uk
                          http://www.andyhsoftware.co.uk/space :: disk and FTP usage analysis tool

                          Comment

                          • Colin Fine

                            Re: Breaking backwards compatibility - good or bad?

                            Jerry Stuckle wrote:[color=blue][color=green]
                            >> So your logic is "this is how we do it now, therefore it must be better"?
                            >> Perhaps it's not progress - perhaps it's nothing more than fashion.
                            >>
                            >> Nobody's given a convincing reason why case sensitivity is better.
                            >> (The nearest to it is the stuff about the cost of doing the
                            >> comparisons. That might have been an issue when Unix and C started up,
                            >> but it's not very convincing today.).
                            >>
                            >>
                            >> You may well be right that it will become increasingly difficult to
                            >> find systems that aren't case insensitive. But I've yet to hear a
                            >> reason why this is to be welcomed, while I do know a couple of reasons
                            >> not to welcome it.
                            >>
                            >> Colin
                            >>[/color]
                            >
                            > Neither I nor anyone else needs to "give a convincing reason...". The
                            > bottom line is - that's the way things are, and it is supported by a
                            > vast majority of programmers.
                            >[/color]
                            How's that again?

                            So "because most people like it that way" is a valid philosophical argument?

                            I'm not expecting, or suggesting, that case sensitivity is going to
                            disappear. But that has no bearing at all on whether or not it is a
                            thoroughly bad idea.
                            [color=blue]
                            > However, there have been other reasons mentioned in this topic. But I
                            > suspect none of them are "good enough" for you.
                            >[/color]
                            Really? The only reasons I can find in the trail (apart from the appeal
                            to the majority*, and the scurrilous insinuation that case insensitive
                            is somehow of the past and therefore worthless) are a barely relevant
                            point from physics and a specific operational issue in PHP (which is in
                            any case dependent on case sensitivity in the OS).

                            * Did the majority ever vote on the topic? And don't say they did so by
                            choosing C/Java/Perl: any of these could have been made case insensitive
                            and there would have been essentially no difference; but they weren't
                            offered.
                            [color=blue]
                            > And I haven't heard any good reasons why NOT to welcome it. Just saying
                            > $Foo and $fOO shouldn't point to different variables doesn't make it. To
                            > me they ARE different variables (although I wouldn't do this myself).
                            >[/color]
                            The argument is that to people (you remember people? the things that
                            write programs) 'project', 'Project' and 'PROJECT' *are* the same thing,
                            and we all have to learn that we must always make a new distinction
                            (which you have yet to demonstrate is useful) when we program.

                            Colin

                            Comment

                            • Colin Fine

                              Re: Breaking backwards compatibility - good or bad?

                              Tony Marston wrote:[color=blue]
                              > "Anonymous" <anonymous@nowh ere.invalid> wrote in message
                              > news:43AE8ECF.5 4D24C7C@nowhere .invalid...
                              >[color=green]
                              >>Tony Marston wrote:
                              >>[color=darkred]
                              >>>Case-sensitivity is the whole point of this thread. Any language that has
                              >>>a
                              >>>feature which can be abused and which produces unmaintainable code is a
                              >>>BAD
                              >>>language. Any language that allows the same variable or function name to[/color]
                              >>
                              >>Then any language is bad by your definition.[/color]
                              >
                              >
                              > Any language that allows stupid mistakes is a bad language. That's why some
                              > programmers say that statically-typed and compiled languages are better that
                              > dynamically-typed interpretted languages.
                              >
                              >[color=green]
                              >>That's not true. Anyone proficient in german can assure you that "Helft
                              >>den armen Vögeln." and "Helft den Armen vögeln." means something
                              >>*completely * different! ;-)[/color]
                              >
                              >
                              > Trust the bloody square-head sausage-eaters to throw a spanner in the works.
                              > But in ENGLISH, which is the universal language, there is no difference.
                              > Just check out any dictionary. Does it have separate entries in each case?
                              > No? I wonder why.....
                              >
                              >[/color]
                              Umm - I think you are putting a bit of a spanner in your own argument
                              here, Tony (witness the replies you got).

                              Yes, there are occasional cases where the case makes a difference, even
                              in English (consider 'reading', 'polish' and 'natal'). But in most
                              languages which use the Roman, Greek or Cyrillic alphabets the case is
                              hardly ever significant. German is a sort of exception because all nouns
                              are capitalised, but if I write VÖGELN you can't tell whether it's the
                              noun or the verb. And most other scripts don't have capitals (I think
                              Armenian does, and Georgian uses a sort of capital for titles).

                              But this looks like the "I can't counter this argument so I'll pick him
                              up on a triviality" defense from 'Anonymous'.

                              Colin

                              Comment

                              • Colin Fine

                                Re: Breaking backwards compatibility - good or bad?

                                Wayne wrote:[color=blue]
                                > On Sat, 24 Dec 2005 18:03:27 +0000, Colin Fine
                                > <news@kindness. demon.co.uk> wrote:
                                >
                                >[color=green]
                                >>You may well be right that it will become increasingly difficult to find
                                >>systems that aren't case insensitive. But I've yet to hear a reason why
                                >>this is to be welcomed, while I do know a couple of reasons not to
                                >>welcome it.[/color]
                                >
                                >
                                > Case-sensitive begets case-sensitive. If you have a case-sensitive
                                > file system, that tends to bleed over to case-sensitive language
                                > identifiers. Once you have one langauge that's case-sensitive (like
                                > C) other languages need to interface with that language.
                                >
                                > If all programming languages existed in a vacuum, then you could
                                > pretty much do whatever you want. But in reality, everything has to
                                > work with everything else and really only the languages that play nice
                                > in the overall world succeed. PHP became popular originally because
                                > it leveraged many existing C libraries.
                                >
                                > I'm not sure it matters anymore which choice is better -- it's simply
                                > a matter of which ever is more common. Betamax vs. VHS.
                                >[/color]
                                I agree (and from what I've been told about Betamax, the comparison is
                                apt). But people seem intent on rubbishing Tony because he dares to say
                                "Betamax is better", or rather "Why have you changed my machine to VHS
                                without asking me?"

                                Colin

                                Comment

                                Working...