• toastal@lemmy.ml
    link
    fedilink
    arrow-up
    4
    arrow-down
    4
    ·
    9 months ago

    Folks acting like Python is the only language without semicolons. 😏

    I got tripped up so many time in the last 3 weeks using PHP after years in ML family languages. I am already newlining & it’d be poor style to put more than one statement on a line so what is the point of these semicolons?

    • palordrolap@kbin.social
      link
      fedilink
      arrow-up
      19
      arrow-down
      1
      ·
      9 months ago

      In some languages
      a newline does not
      necessarily indicate
      the end of a statement.

      In others, sometimes it could, but would leave things ambiguous
      as to whether the statement was ended or not.

      And so, punctuation is necessary.

      • toastal@lemmy.ml
        link
        fedilink
        arrow-up
        3
        ·
        9 months ago

        But newlines + indentation are supported by a lot of languages & when it is, it’s easier to read since the prevailing convention is already to newline, then in indent. When you follow the usual coding styles or autoformatted & removed the semicolons, you’ve gained nothing for readability & added noise. I much prefer the languages that take this convention & bake it in so you don’t have to have that that visual noise—and in these languages, I never felt the parsing rules were ambiguous.

    • pixelscript@lemmy.ml
      link
      fedilink
      English
      arrow-up
      7
      ·
      9 months ago

      it’d be poor style to put more than one statement on a line

      Unlike Python, most languages do not endorse a specific concept of style. You’re free to dabble in all the bad style choices you like, on the off chance that once in a blue moon they prove to be situationally useful.

      • CanadaPlus@lemmy.sdf.org
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        9 months ago

        Why haven’t custom parsers become more of a thing? All the compiler or interpreter really needs is a valid parse tree. You could even have some kind of special command or directive to switch styles, if a section would be really ugly otherwise.

      • toastal@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        9 months ago

        With indentation-based languages the bad coding style we are talking about is putting multiple statements on a line or unindenting a block …& never has that been something I wanted to do. I would rather this aspect be enforced at the language for readability where there is still room in all other aspects to try out other styles.

      • toastal@lemmy.ml
        link
        fedilink
        arrow-up
        3
        ·
        9 months ago

        The best languages about really embracing punctuation as you would in English is Prolog & Erlang with their periods, semicolons, & commas.