• Norman Diamond (unregistered) in reply to Hasse de great
    Hasse de great:
    There are only two hard things in computer science: Cache invalidation, naming things and off-by-one errors.
    Didn't we see this recently? It's still in my short term memory cache.

    Cache invalidation is hard to do.

    Naming things is hard to do.

    Off-by-one errors are not hard at all. They're so easy, someone who reads a page of Learn Basic in 21 Minutes can make an off-by-one error even faster than 21 minutes.

  • QJo (unregistered) in reply to Bob
    Bob:
    While your eye is easily discerning those two "personable" variable names, how about these two?

    model mode1

    They ARE spelled differently. It's quite conceivable that the could be found in the same routine.

    Now picture yourself sitting in front of a computer screen for hours...

    Mayhaps we need that evil cameLcase and a compiler that's case sensitive. Or we could just pick better variable names.

    I work for a company whose standard corporate font is one in which lowercase L, uppercase i and the number one are practically indistinguishable (except that number one has space either side).

    I have also experienced confusion over the name of this mathematician: http://en.wikipedia.org/wiki/Thomas_John_I%27Anson_Bromwich ... when written in Arial it's not obvious that his 3rd name starts with an i.

    I contend that for this reason all sans serif fonts are more trouble than they're worth. Besides, serifs make a font look prettier.

  • (cs) in reply to Quote Endquote
    Quote Endquote:
    'Single quotes would have been "way" easier.'
    And in any decent shell, they would undoubtedly have been used, which leads me to conclude that Nathan's opportunity to be annoyed arose from not having such a shell available. CMD is completely braindead when it comes to dealing with quotes, and is clearly TRWTF here.
  • dv (unregistered) in reply to Mr. AHole DBA Guy
    Mr. AHole DBA Guy:
    Funnyguy:
    TRWTF is Postgres

    Why is Postgres TRWTF? You don't like a feature rich free RDBMS?

    You mean like.... Firebird?

  • JW (unregistered) in reply to huppenzuppen
    huppenzuppen:
    Why did he have to add the quotes instead of just writing it with an upper-case "S"? If the quotes in psql make the names case-sensitive, it should be sufficient to respect the case, right?

    Unless quoted, Postgres converts all identifiers to lowercase.

  • Meep (unregistered) in reply to anonymous
    anonymous:
    Valued Service:
    Hasse de great:
    Gill Hennessman:
    TRWTF:
    Quoting an identifier also makes it case-sensitive, whereas unquoted names are always folded to lower case. For example, the identifiers FOO, foo, and "foo" are considered the same by PostgreSQL, but "Foo" and "FOO" are different from these three and each other. (The folding of unquoted names to lower case in PostgreSQL is incompatible with the SQL standard, which says that unquoted names should be folded to upper case. Thus, foo should be equivalent to "FOO" not "foo" according to the standard. If you want to write portable applications you are advised to always quote a particular name or never quote it.)
    This is yet another example of why case-insensitivity is a bloody retarded idea. WTF is so hard about having identifiers be treated exactly as they are? Don't even get me started on all the definitions of "upper" and "lower" across languages...

    Most stupid invention in modern programming languages is case sensitive variables. A programmer would never find his way to "Main Street" as the sign says "MAIN STREET"

    I'd have to disagree.

    While it's an inconvenience, I wouldn't want to allow programmers to code like this.

    var MAinsTReet = ... maINSreET = ...

    And besides if you use camel case.

    upperSon upPerson

    are two different things

    IDE should convert everything to match the case of the variable definition, and flag it immediately if you define two variables with the same name. Not a problem.

    So, basically, Visual Basic and Apple Script are the only languages that get it right. Sad thing is, this is true.

  • lluismf (unregistered) in reply to Mr. AHole DBA Guy

    Because it can't perform joins on remote servers, a feature available in Oracle 20 years ago (Db links).

  • anonymous (unregistered) in reply to Meep
    Meep:
    anonymous:
    Valued Service:
    Hasse de great:
    Gill Hennessman:
    TRWTF:
    Quoting an identifier also makes it case-sensitive, whereas unquoted names are always folded to lower case. For example, the identifiers FOO, foo, and "foo" are considered the same by PostgreSQL, but "Foo" and "FOO" are different from these three and each other. (The folding of unquoted names to lower case in PostgreSQL is incompatible with the SQL standard, which says that unquoted names should be folded to upper case. Thus, foo should be equivalent to "FOO" not "foo" according to the standard. If you want to write portable applications you are advised to always quote a particular name or never quote it.)
    This is yet another example of why case-insensitivity is a bloody retarded idea. WTF is so hard about having identifiers be treated exactly as they are? Don't even get me started on all the definitions of "upper" and "lower" across languages...

    Most stupid invention in modern programming languages is case sensitive variables. A programmer would never find his way to "Main Street" as the sign says "MAIN STREET"

    I'd have to disagree.

    While it's an inconvenience, I wouldn't want to allow programmers to code like this.

    var MAinsTReet = ... maINSreET = ...

    And besides if you use camel case.

    upperSon upPerson

    are two different things

    IDE should convert everything to match the case of the variable definition, and flag it immediately if you define two variables with the same name. Not a problem.

    So, basically, Visual Basic and Apple Script are the only languages that get it right. Sad thing is, this is true.

    IDE != language

  • Mr. AHole DBA (unregistered) in reply to dv
    dv:
    Mr. AHole DBA Guy:
    Funnyguy:
    TRWTF is Postgres

    Why is Postgres TRWTF? You don't like a feature rich free RDBMS?

    You mean like.... Firebird?

    While I'm sure Firebird has it's place, it's no where near as mature as Postgres and is lacking heavily in features: http://www.sql-workbench.net/dbms_comparison.html

  • Mr. AHole DBA (unregistered) in reply to lluismf
    lluismf:
    Because it can't perform joins on remote servers, a feature available in Oracle 20 years ago (Db links).

    And how much does a Oracle RAC cost (to perform joins on remote servers) VS. using a free Postgres license that provides readable replicas that you can perform joins against all day?

    That's right, Oracle costs more than the sun" compared to Postgres.

    Try to think about the big picture. The business shouldn't sign over a million dollar check because you want to perform joins against remote servers, when they could just hire a different architect to design a better solution for under $150k salary. Heck, they could call me.

  • (cs) in reply to Mr. AHole DBA
    Mr. AHole DBA:
    lluismf:
    Because it can't perform joins on remote servers, a feature available in Oracle 20 years ago (Db links).

    And how much does a Oracle RAC cost (to perform joins on remote servers) VS. using a free Postgres license that provides readable replicas that you can perform joins against all day?

    You don't need RAC for that, any version other than the free XE will do. Not that Oracle Standard Edition is cheap though...
  • Mr. AHole DBA (unregistered) in reply to nerd4sale
    nerd4sale:
    Mr. AHole DBA:
    lluismf:
    Because it can't perform joins on remote servers, a feature available in Oracle 20 years ago (Db links).

    And how much does a Oracle RAC cost (to perform joins on remote servers) VS. using a free Postgres license that provides readable replicas that you can perform joins against all day?

    You don't need RAC for that, any version other than the free XE will do. Not that Oracle Standard Edition is cheap though...

    Good to know Oracle isn't going to charge you RAC for that at least. Their fees page looks like a Ruth Chris Steakhouse menu, I'm surprised they don't charge you for the fork.

  • McKay (unregistered) in reply to foxyshadis
    foxyshadis:
    Darth Paul:
    And this is why SQL Server databases should be developed in a BIN2 environment, because that enforces case-sensitivity for everything, including code. This is why major open source SQL Server projects are so difficult to get running on anything except legacy latin-based environments, because the programmers DO program like that when case sensitivity is not enforced.
    This comment a pile of steaming WTF.

    Binary collation is a huge WTF. There ARE standard collations for each language, along with a few "master" collations, and none of them are binary collation. We've had the Unicode standard for 20 years, stop trying to turn the clock back to 1970, damn it.

    Case-sensitivity should be done on an as-needed basis, not by default. There are very few times in real-life when you actually want case-sensitivity. Even worse, turning on case-sensitivity when it goes against the standard that supposedly governs your work is basically slapping the future maintainers of your code in the face, just to make you feel a little better. Case-sensitivity in code is purely a construct of simpler compilers (and a reaction against the excesses of bad BASIC code); although you can still write in vi/notepad, IDEs could enforce code-formatting standards by the late 80's, obviating the need.

    Lastly, if developers don't test anything with an umlaut in the first place, what makes you think that enabling case-sensitive collation will fix that?

    Case insensitivity equality is a failure of basic mathematics that can't be overcome.

    If a=b, then f(a) = f(b). That's a pretty standard rule in mathematics. But if "aPpLe" = "ApPLe", then though they are "equal", some functions applied to them will not be equal. Fail.

  • anonymous (unregistered) in reply to McKay
    McKay:
    Case insensitivity equality is a failure of basic mathematics that can't be overcome.

    If a=b, then f(a) = f(b). That's a pretty standard rule in mathematics. But if "aPpLe" = "ApPLe", then though they are "equal", some functions applied to them will not be equal. Fail.

    Adding quotes makes aPpLe and ApPLe into completely different things. aPpLe and ApPLe are names, and they're the same. With quotes around them, they're character strings, and they're not equal. Anyone who uses string manipulation functions on names deserves to be slapped.

Leave a comment on “Not Your Quotidian Database”

Log In or post as a guest

Replying to comment #:

« Return to Article