Lemmieres
  • Communities
  • Create Post
  • Create Community
  • heart
    Support Lemmy
  • search
    Search
  • Login
  • Sign Up
TadoTheRustacean@programming.dev to Programmer Humor@programming.dev · 1 year ago

What are variables and semicolons for actually?

message-square
message-square
36
fedilink
100
message-square

What are variables and semicolons for actually?

TadoTheRustacean@programming.dev to Programmer Humor@programming.dev · 1 year ago
message-square
36
fedilink

alert-triangle
You must log in or register to comment.
  • DumbAceDragon@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    25
    ·
    1 year ago

    Finally, pure functional rust.

  • FizzyOrange@programming.dev
    link
    fedilink
    arrow-up
    23
    ·
    1 year ago

    Neat FP style. Pretty verbose though. Someone should invent a terser syntax so you don’t need to write do_two_things everywhere. It’s a common operation so maybe it could even be a single character.

    • TadoTheRustacean@programming.devOP
      link
      fedilink
      arrow-up
      7
      ·
      1 year ago

      If you know about rust you know it’s a programmable programming language, meaning that you can make macros. There could be a macro that would do that but 1. Macros is rust code to write rust code so they have the complexity of rust squared 2. I said to myself the only macros I will allow myself to use in this challenge is println and allow

    • jendrik@discuss.tchncs.de
      link
      fedilink
      arrow-up
      7
      ·
      1 year ago

      Like a semicolon? No, too boring. What about >>=

    • tatterdemalion@programming.dev
      link
      fedilink
      arrow-up
      5
      ·
      1 year ago

      ; is just a monad after all

  • colournoun@beehaw.org
    link
    fedilink
    arrow-up
    15
    ·
    1 year ago

    Isn’t this basically how lisp works?

    • TheAgeOfSuperboredom@lemmy.ca
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Yup! Also languages in the ML family and others I’m sure.

  • gravitas_deficiency@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    12
    ·
    1 year ago

    Now do it without using commas

    • TadoTheRustacean@programming.devOP
      link
      fedilink
      arrow-up
      7
      ·
      1 year ago

      Challenge accepted! If I won’t procrastinate from this procrastinating, tomorrow will be a version 2 without commas!

    • TadoTheRustacean@programming.devOP
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      I’ve did it https://programming.dev/post/12516136

      • gravitas_deficiency@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

  • TheAgeOfSuperboredom@lemmy.ca
    link
    fedilink
    arrow-up
    15
    arrow-down
    3
    ·
    1 year ago

    Yeah, semicolons are ugly anyway and they’d ruin the beautiful expression of your code.

    • dohpaz42@lemmy.world
      link
      fedilink
      English
      arrow-up
      7
      ·
      1 year ago

      On a more serious note, does rust suffer some of the same issues as JavaScript when it comes to omitting semicolons?

      • Deebster@programming.dev
        link
        fedilink
        arrow-up
        10
        ·
        1 year ago

        No…?

      • marcos@lemmy.world
        link
        fedilink
        arrow-up
        7
        ·
        1 year ago

        Do not expect to find anything like Javascript craziness on other languages. Or you’ll be severely disappointed.

        • FizzyOrange@programming.dev
          link
          fedilink
          arrow-up
          6
          arrow-down
          2
          ·
          1 year ago

          There are plenty of languages with warts at least as bad as JavaScript’s. Bash, PHP, C, even relatively sane languages like Python still have huge issues like implicit variable declaration.

          • SpaceNoodle@lemmy.world
            link
            fedilink
            arrow-up
            6
            ·
            1 year ago

            JS and PHP are by themselves in a special ring of hell.

            • TadoTheRustacean@programming.devOP
              link
              fedilink
              arrow-up
              3
              arrow-down
              2
              ·
              1 year ago

              Bash is a bigger one. Luckily there’s nushell

        • jubilationtcornpone@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          4
          ·
          1 year ago
          for (const item in items) { }
          

          !=

          for (const item of items) { }
          
          • xigoi@lemmy.sdf.org
            link
            fedilink
            arrow-up
            2
            ·
            1 year ago

            Still better than

            for _, item in ipairs(items)
            
      • TheAgeOfSuperboredom@lemmy.ca
        link
        fedilink
        arrow-up
        4
        ·
        1 year ago

        Nope. In Rust, a semicolon denotes a statement while a lack of semicolon is an expression so you can’t just omit them at will. This does lead to cool things though like if/else blocks being able to produce values if they end in an expression. But the expression type is checked so you’re less likely to make a mistake. You can see an example here: https://doc.rust-lang.org/rust-by-example/flow_control/if_else.html

        In JavaScript I never skip semicolons because I’ve seen those subtle bugs.

    • OpenStars@startrek.website
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      POV: your project manager went in an “cleaned” it all up by removing them - your (sic) welcome! 😜

  • Ethan@programming.dev
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    4
    ·
    1 year ago

    After programming in Go for nearly a decade, the idea of going back to needing semicolons brings me pain. Rust seems cool, but semicolons 🤢

    • TadoTheRustacean@programming.devOP
      link
      fedilink
      arrow-up
      8
      ·
      1 year ago

      As you can see, rust allows you to not put semicolons at the end of code blocks. The presence of semicolons is not a language killer. It’s a very hard language, but its worth it.

      • asudox@lemmy.world
        link
        fedilink
        arrow-up
        4
        ·
        1 year ago

        I agree. Semicolons are a small “tradeoff” (personally not for me) for such a great language.

      • Ethan@programming.dev
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        The presence of semicolons is not a language killer.

        I’m not saying it is. But every time I have to work in a language that requires semicolons I’m constantly forgetting them and constantly reminded of how nice it is to not have to care in Go.

  • marcos@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    Rust’s semicolon means something like “There’s nothing to see here! Move along! Move along!”, so yeah, you don’t actually need any.

  • NoisyFlake@lemm.ee
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    What’s the font?

    • TadoTheRustacean@programming.devOP
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      JetBrainsMono Nerd Font

      • NoisyFlake@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        How did I not recognize the font I’ve been using for years, lol. Guess it just looks even better on a HiDPI display.

  • tatterdemalion@programming.dev
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    Would you rather have semicolons or significant newlines?

    • TadoTheRustacean@programming.devOP
      link
      fedilink
      arrow-up
      5
      ·
      1 year ago

      Semicolons. Statement’s can be written in multiple lines such as rust io::stdin(&mut foo) .unwrap(). Idk if it would work if the newlines were significant. Also when I paste something, it could be ready hard for the formatter to format it.

  • tatterdemalion@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    1 year ago

    You can replace return foo with just foo.

    • Username@feddit.de
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      Not here, because it’s being used as a function argument.

      • tatterdemalion@programming.dev
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        Oh wow. I hate this lol

  • tatterdemalion@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Well you have a variable foo being mutated. Maybe that’s what they’re for?

  • bitwolf@lemmy.one
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    deleted by creator

Programmer Humor@programming.dev

programmer_humor@programming.dev

Subscribe from Remote Instance

Create a post
You are not logged in. However you can subscribe from another Fediverse account, for example Lemmy or Mastodon. To do this, paste the following into the search field of your instance: !programmer_humor@programming.dev

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

  • Keep content in english
  • No advertisements
  • Posts must be related to programming or programmer topics
Visibility: Public
globe

This community can be federated to other instances and be posted/commented in by their users.

  • 707 users / day
  • 4.67K users / week
  • 8.86K users / month
  • 16K users / 6 months
  • 1 local subscriber
  • 23.2K subscribers
  • 1.36K Posts
  • 42.3K Comments
  • Modlog
  • mods:
  • Feyter@programming.dev
  • adr1an@programming.dev
  • BurningTurtle@programming.dev
  • Pierre-Yves Lapersonne@programming.dev
  • BE: 0.19.9
  • Modlog
  • Instances
  • Docs
  • Code
  • join-lemmy.org