• @[email protected]
    link
    fedilink
    912 days ago

    I feel the same way about programming languages. There is no way that “User” and “user” should refer to different variables. How many times has that screwed people up, especially in a weekly typed language?

    One of the many things that I feel modern versions of Pascal got right.

    • @Serinus
      link
      11
      edit-2
      12 days ago

      Nope. Completely different.

      Case is often used to distinguish scope. Lowercase is local while uppercase is public. “Name = name” is a pretty standard convention, especially in constructors.

      There is a ubiquitous use case in programming. There is not in the file system.

      • @[email protected]
        link
        fedilink
        512 days ago

        My point is not about how case is meant to be used my point is that it is very easy to make a mistake that is difficult to spot. I think it makes a lot more sense to the case insensitive, and force different names to be used.

      • @calcopiritus
        link
        312 days ago

        This is the first time I’ve seen uppercase denoting scope. Usually it is done with a “_” or “__” prefix.

        Casing styles usually mean different identifier types.

        snake_case or pascalCase for functions and variables, CamelCase for types, UPPER_SNAKE_CASE for constants, and so on.

        If we want to apply this to file systems, you could argue something like: CamelCase for directories, snake_case for files, pascalCase for symlinks, UPPER_SNAKE_CASE for hidden files.

    • @[email protected]
      link
      fedilink
      English
      9
      edit-2
      12 days ago

      My naming convention for C++ is that custom types are capitalized and instances aren’t. So I might write User user;.