• palordrolap@fedia.io
    link
    fedilink
    arrow-up
    9
    arrow-down
    1
    ·
    2 months ago

    Thought experiment: Would you expect a programming language variable name to be case insensitive?

    That is, if you set foo = 1 and then print FOO, what should happen? Most programming languages throw an error.

    Is this even comparable with filenames, which are, after all, basically variable names that hold large quantities of data?

    If there is a difference, is it the fact it’s a file, or - for a mad idea - should files with only a few bytes of data retain case insensitivity? And if that idea is followed through, where’s the cutoff? 256 bytes? 7?

    (Anyway, Windows filenames are case sensitive, in a sense. If you save “Letter to Grandma.txt” it will retain those two capital letters and all the lower case letters exactly as they are. It won’t suddenly change to “LETTER to Grandma.txt”, despite the fact that if you try to open a file by that name, you’ll get the same file.)

    • MonkderVierte@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      2 months ago

      That is, if you set foo = 1 and then print FOO, what should happen? Most programming languages throw an error.

      JS would say ok

    • wizardbeard@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      2 months ago

      PowerShell variable names and function names are not case sensitive.

      I understand the conventions of using capitalization of those names having specific meanings in regards to things like constants, but the overwhelming majority of us all use IDEs now with autocomplete.

      Personally, I prefer to use prefixes anyway to denote that info. Works better with segmenting stuff for autocomplete, and has less overhead of deriving non-explicit meaning from stuff like formatting or capitalization choices.

      On top of that, you really shouldn’t be using variables with the same name but different capitalization in the same sections of code anyway. “Did I mean to use $AGE, $Age, or $age here?” God forbid someone come through to enforce standards or something and fuck that all up.