Beehaw
  • Communities
  • Create Post
  • search
    Search
  • Login
  • Sign Up
 257m   ( @257m@lemmy.ml )  to Programming@programming.dev · 2 years ago

What are your programming hot takes?

message-square
message-square
374
link
fedilink
223
message-square

What are your programming hot takes?

 257m   ( @257m@lemmy.ml )  to Programming@programming.dev · 2 years ago
message-square
374
link
fedilink
  •  argv_minus_one   ( @argv_minus_one@beehaw.org ) Banned
    link
    fedilink
    arrow-up
    137
    ·
    2 years ago

    Dynamic typing is insane. You have to keep track of the type of absolutely everything, in your head. It’s like the assembly of type systems, except it makes your program slower instead of faster.

    •  Cratermaker   ( @Cratermaker@discuss.tchncs.de ) 
      link
      fedilink
      arrow-up
      28
      ·
      2 years ago

      Nothing like trying to make sense of code you come across and all the function parameters have unhelpful names, are not primitive types, and have no type information whatsoever. Then you get to crawl through the entire thing to make sense of it.

    •  NiftyBeaks   ( @NiftyBeaks@lemm.ee ) 
      link
      fedilink
      arrow-up
      7
      ·
      2 years ago

      I’m not sure that’s a hot take outside early uni programmers.

    •  railsdev   ( @railsdev@programming.dev ) 
      link
      fedilink
      arrow-up
      4
      ·
      edit-2
      2 years ago

      deleted by creator

    •  uniqueid198x   ( @uniqueid198x@lemmy.dbzer0.com ) 
      link
      fedilink
      arrow-up
      4
      ·
      2 years ago

      You can do typing through the compiler at build time, or you can do typing with guard statements at run time. You always end up doing typing tho

    •  Olissipo   ( @Olissipo@programming.dev ) 
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 years ago

      I like it in modern PHP, it’s balanced. As strict or as loose as you need in each context.

      Typed function parameters, function returns and object properties.

      But otherwise I can make a DateTime object become a string and vice-versa, for example.

      •  argv_minus_one   ( @argv_minus_one@beehaw.org ) Banned
        link
        fedilink
        arrow-up
        1
        ·
        2 years ago

        What happens when you coerce a string to a date-and-time but it’s not valid?

        Where I’m from (Rust), error handling is very strict and very explicit, and that’s how it should be. It forces you to properly handle everything that can potentially go wrong, instead of just crashing and looking like a fool.

        •  Olissipo   ( @Olissipo@programming.dev ) 
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 years ago

          My point is, you won’t ever try. You’d only use “weak” variables inside the function you’re working on.

          It’s explicit when you absolutely need it to be, when the function is being called and you need to know what arguments to pass and what it’ll return

          •  argv_minus_one   ( @argv_minus_one@beehaw.org ) Banned
            link
            fedilink
            arrow-up
            1
            ·
            2 years ago

            A string being parsed as a date-time is presumably user input, which is potentially invalid.

            •  Olissipo   ( @Olissipo@programming.dev ) 
              link
              fedilink
              English
              arrow-up
              1
              ·
              2 years ago

              When you say user, you mean a user of a function? In that case PHP would throw a TypeError, and presumably only happens when developing/testing.

              If you mean in production, like when submitting a form, an Exception may be thrown. In which case you catch it and return some error message to the user saying the date string is invalid.

              •  argv_minus_one   ( @argv_minus_one@beehaw.org ) Banned
                link
                fedilink
                arrow-up
                1
                ·
                2 years ago

                By “user” I mean the person who is using the application.

                Using exceptions for handling unexceptional errors (like invalid user input) is a footgun. You don’t know when one might be raised, nor what type it will have, so you can easily forget to catch it and handle it properly, and then your app crashes.

                •  Olissipo   ( @Olissipo@programming.dev ) 
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  2 years ago

                  you can easily forget to catch it and handle it properly

                  Even if I coded the form by hand and that happened, it’s on me, not on the programming language.

                  But I don’t, I use a framework which handles all that boilerplate validation for me.

    •  Boomkop3   ( @Boomkop3@reddthat.com ) 
      link
      fedilink
      arrow-up
      1
      ·
      11 months ago

      I kinda wanna say… skill issue? But really, dynamic typing is great as long as it fits the problem your solving and you keep your types simple or even just primitive

Programming@programming.dev

programming@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: !programming@programming.dev

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person’s post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you’re posting long videos try to add in some form of tldr for those who don’t want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



Visibility: Public
globe

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

  • 102 users / day
  • 703 users / week
  • 1.79K users / month
  • 3.93K users / 6 months
  • 445 local subscribers
  • 24.3K subscribers
  • 2.15K Posts
  • 18.1K Comments
  • Modlog
  • mods:
  •  snowe   ( @snowe@programming.dev ) 
  •  Ategon   ( @Ategon@programming.dev ) 
  •  MaungaHikoi   ( @MaungaHikoi@lemmy.nz ) 
  •  UlrikHD   ( @UlrikHD@programming.dev ) 
  • BE: 0.19.13
  • Modlog
  • Legal
  • Instances
  • Docs
  • Code