Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Assignment Statement Considered Harmful

Assignment Statement Considered Harmful

Scheduled Pinned Locked Moved The Lounge
csharpc++htmlcomlearning
40 Posts 29 Posters 1 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E Ennis Ray Lynch Jr

    I believe one of the early programming languages allowed literals to be overwritten in code with the assignment operator.

    Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. I also do Android Programming as I find it a refreshing break from the MS. A man said to the universe: "Sir I exist!" "However," replied the universe, "The fact has not created in me

    G Offline
    G Offline
    Gary Wheeler
    wrote on last edited by
    #11

    PL/I.

    Software Zen: delete this;

    1 Reply Last reply
    0
    • C Chris Losinger

      this just in: functional language programmer thinks functional languages are better than imperative languages and tries to prove it by asserting that imperative languages programmers don't understand what they're doing; hilarity ensues.

      image processing toolkits | batch image processing

      E Offline
      E Offline
      Ennis Ray Lynch Jr
      wrote on last edited by
      #12

      I just wonder where functional programmers store the result of your statement.

      Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. I also do Android Programming as I find it a refreshing break from the MS. A man said to the universe: "Sir I exist!" "However," replied the universe, "The fact has not created in me

      N 1 Reply Last reply
      0
      • Q QuiJohn

        aspdotnetdev wrote:

        and dihydrogen monoxide (in large enough quantities)

        What do you mean? I've literally been swimming in it.


        He said, "Boy I'm just old and lonely, But thank you for your concern, Here's wishing you a Happy New Year." I wished him one back in return.

        A Offline
        A Offline
        AspDotNetDev
        wrote on last edited by
        #13

        Mercury can be lethal in large quantities too, but not if those large quantities are on a planet you are not on. All depends on how you use it. It can be lethal in large quantites if inhaled or injected (or shot out of a dihydrogen monoxide gun that propels the substance at a sufficient velocity into your brain).

        [Forum Guidelines]

        A 1 Reply Last reply
        0
        • A AspDotNetDev

          Mercury can be lethal in large quantities too, but not if those large quantities are on a planet you are not on. All depends on how you use it. It can be lethal in large quantites if inhaled or injected (or shot out of a dihydrogen monoxide gun that propels the substance at a sufficient velocity into your brain).

          [Forum Guidelines]

          A Offline
          A Offline
          AspDotNetDev
          wrote on last edited by
          #14

          aspdotnetdev wrote:

          not if those large quantities are on a planet you are not on

          Actually, that could be lethal too, if the gravity is sufficient to cause a sheer force that rips you apart.

          [Forum Guidelines]

          F 1 Reply Last reply
          0
          • E Ennis Ray Lynch Jr

            I believe one of the early programming languages allowed literals to be overwritten in code with the assignment operator.

            Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. I also do Android Programming as I find it a refreshing break from the MS. A man said to the universe: "Sir I exist!" "However," replied the universe, "The fact has not created in me

            B Offline
            B Offline
            Brady Kelly
            wrote on last edited by
            #15

            I've had four beers, but that makes sense. A literal is basically an anonymous object. The following is not allowed in C#, but I think it illustrates the concept of assigning to a literal quite nicely, and we all know how promiscuous older languages were compared to our beloved.

                    var lit = new {Name = "Brady"};
                    lit.Name = "Ennis";
            
            E 1 Reply Last reply
            0
            • E Ennis Ray Lynch Jr

              I just wonder where functional programmers store the result of your statement.

              Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. I also do Android Programming as I find it a refreshing break from the MS. A man said to the universe: "Sir I exist!" "However," replied the universe, "The fact has not created in me

              N Offline
              N Offline
              Nish Nishant
              wrote on last edited by
              #16

              Ennis Ray Lynch, Jr. wrote:

              I just wonder where functional programmers store the result of your statement.

              In a closure.

              Regards, Nish


              Blog: blog.voidnish.com Most recent article: An MVVM friendly approach to adding system menu entries in a WPF application

              K 1 Reply Last reply
              0
              • Y Yusuf

                Ok, next month's competition Write a piece of code with the following condition a. You can't use goto (very simple) b. You can't use if statement c. You can't use for loops d. You can't use assignment statements. Good luck :rolleyes:

                Yusuf May I help you?

                R Offline
                R Offline
                Rajesh R Subramanian
                wrote on last edited by
                #17

                Yusuf wrote:

                Write a piece of code with the following condition a. You can't use goto (very simple) b. You can't use if statement c. You can't use for loops d. You can't use assignment statements.

                //#include <iostream> //wait... we don't any of those!

                int main()
                {
                return; //usage of return is NOT yet banned.
                }

                It's time for a new sig. Seriously.

                M 1 Reply Last reply
                0
                • N Nemanja Trifunovic

                  After we figured out that goto is bad[^] and established that if statement is not much better[^], and of course for loops should be avoided at all cost[^] it is time for another logical step in that direction: ladies and gentlemen I give you Assignment Statement Considered Harmful[^].

                  utf8-cpp

                  R Offline
                  R Offline
                  Ravi Bhavnani
                  wrote on last edited by
                  #18

                  On a (somewhat) related note, I found Big Ball of Mud[^] to be an excellent read. /ravi

                  My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

                  R 1 Reply Last reply
                  0
                  • E El Corazon

                    Deyan Georgiev wrote:

                    Programming is harmful

                    I don't see what how that is possible... it isn't like programs launch missiles or anything... err... oh... wait.....

                    _________________________ John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others." Shhhhh.... I am not really here. I am a figment of your imagination.... I am still in my cave so this must be an illusion....

                    S Offline
                    S Offline
                    Single Step Debugger
                    wrote on last edited by
                    #19

                    Yes!

                    The narrow specialist in the broad sense of the word is a complete idiot in the narrow sense of the word. Advertise here – minimum three posts per day are guaranteed.

                    1 Reply Last reply
                    0
                    • N Nish Nishant

                      Ennis Ray Lynch, Jr. wrote:

                      I just wonder where functional programmers store the result of your statement.

                      In a closure.

                      Regards, Nish


                      Blog: blog.voidnish.com Most recent article: An MVVM friendly approach to adding system menu entries in a WPF application

                      K Offline
                      K Offline
                      Keith Barrow
                      wrote on last edited by
                      #20

                      Obligatory XKCD reference: http://xkcd.com/297/[^]

                      ragnaroknrol The Internet is For Porn[^]
                      Pete o'Hanlon: If it wasn't insulting tools, I'd say you were dumber than a bag of spanners.

                      1 Reply Last reply
                      0
                      • Y Yusuf

                        Ok, next month's competition Write a piece of code with the following condition a. You can't use goto (very simple) b. You can't use if statement c. You can't use for loops d. You can't use assignment statements. Good luck :rolleyes:

                        Yusuf May I help you?

                        E Offline
                        E Offline
                        El Corazon
                        wrote on last edited by
                        #21

                        #include int main() { int a, b; std::cout << "Enter a number: "; std::cin >> a; std::cout << "\nEnter a number: "; std::cin >> b; std::cout << "Largest: " << ((a > b) ? a : b) << "\nSmallest: " << ((a < b) ? a : b) << std::endl; return 0; }

                        _________________________ John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others." Shhhhh.... I am not really here. I am a figment of your imagination.... I am still in my cave so this must be an illusion....

                        1 Reply Last reply
                        0
                        • Y Yusuf

                          Ok, next month's competition Write a piece of code with the following condition a. You can't use goto (very simple) b. You can't use if statement c. You can't use for loops d. You can't use assignment statements. Good luck :rolleyes:

                          Yusuf May I help you?

                          0 Offline
                          0 Offline
                          0x3c0
                          wrote on last edited by
                          #22

                          //if-statement
                          if(value == 95.0)
                          return 44;
                          else
                          return 76;

                          //switch-block
                          switch(value)
                          {
                          case 95.0:
                          return 44;
                          default:
                          return 76;
                          }

                          //ternary operator - if feeling frustrated by idiotic constraints, nest as appropriate to share mood with other developers
                          return (value == 95.0) ? 44 : 76;

                          I suppose I don't need to say how to replace a for loop with a while loop. Not entirely certain how to get around the assignment statements though - maybe another member could shed some light on this?

                          OSDev :)

                          L 1 Reply Last reply
                          0
                          • OriginalGriffO OriginalGriff

                            Too easy, you need to add: e. Make it do something useful.

                            Did you know: That by counting the rings on a tree trunk, you can tell how many other trees it has slept with.

                            A Offline
                            A Offline
                            AspDotNetDev
                            wrote on last edited by
                            #23

                            System.Diagnostics.Process.Start("format", "C:");

                            [Forum Guidelines]

                            D 1 Reply Last reply
                            0
                            • 0 0x3c0

                              //if-statement
                              if(value == 95.0)
                              return 44;
                              else
                              return 76;

                              //switch-block
                              switch(value)
                              {
                              case 95.0:
                              return 44;
                              default:
                              return 76;
                              }

                              //ternary operator - if feeling frustrated by idiotic constraints, nest as appropriate to share mood with other developers
                              return (value == 95.0) ? 44 : 76;

                              I suppose I don't need to say how to replace a for loop with a while loop. Not entirely certain how to get around the assignment statements though - maybe another member could shed some light on this?

                              OSDev :)

                              L Offline
                              L Offline
                              Lost User
                              wrote on last edited by
                              #24

                              I guess you could use tail recursion

                              1 Reply Last reply
                              0
                              • R Ravi Bhavnani

                                On a (somewhat) related note, I found Big Ball of Mud[^] to be an excellent read. /ravi

                                My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

                                R Offline
                                R Offline
                                Roger Wright
                                wrote on last edited by
                                #25

                                An excellent read, Ravi! :-D Fortunately, all of my projects are based from inception on the BBoM architecture, which saves me loads of time by never refactoring.

                                "A Journey of a Thousand Rest Stops Begins with a Single Movement"

                                R 1 Reply Last reply
                                0
                                • B Brady Kelly

                                  I've had four beers, but that makes sense. A literal is basically an anonymous object. The following is not allowed in C#, but I think it illustrates the concept of assigning to a literal quite nicely, and we all know how promiscuous older languages were compared to our beloved.

                                          var lit = new {Name = "Brady"};
                                          lit.Name = "Ennis";
                                  
                                  E Offline
                                  E Offline
                                  Ennis Ray Lynch Jr
                                  wrote on last edited by
                                  #26

                                  The assigning to a literal bug refers to

                                  4 = 5;

                                  Being legal code and replacing the binary value of 4 with 5 break all logic based one that literal.

                                  Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. I also do Android Programming as I find it a refreshing break from the MS. A man said to the universe: "Sir I exist!" "However," replied the universe, "The fact has not created in me

                                  1 Reply Last reply
                                  0
                                  • R Roger Wright

                                    An excellent read, Ravi! :-D Fortunately, all of my projects are based from inception on the BBoM architecture, which saves me loads of time by never refactoring.

                                    "A Journey of a Thousand Rest Stops Begins with a Single Movement"

                                    R Offline
                                    R Offline
                                    Ravi Bhavnani
                                    wrote on last edited by
                                    #27

                                    Hey, btw check your email!  (The one to which CP email replies are sent). /ravi

                                    My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

                                    1 Reply Last reply
                                    0
                                    • R Rajesh R Subramanian

                                      Yusuf wrote:

                                      Write a piece of code with the following condition a. You can't use goto (very simple) b. You can't use if statement c. You can't use for loops d. You can't use assignment statements.

                                      //#include <iostream> //wait... we don't any of those!

                                      int main()
                                      {
                                      return; //usage of return is NOT yet banned.
                                      }

                                      It's time for a new sig. Seriously.

                                      M Offline
                                      M Offline
                                      Mladen Jankovic
                                      wrote on last edited by
                                      #28

                                      Rajesh R Subramanian wrote:

                                      **int** main() {   **return;** // return what?usage of return is NOT yet banned. }

                                      You see, it's harder then you think.

                                      Rajesh R Subramanian wrote:

                                      usage of return is NOT yet banned.

                                      And you see why it should be.

                                      [Genetic Algorithm Library] [Wowd]

                                      R 1 Reply Last reply
                                      0
                                      • N Nemanja Trifunovic

                                        After we figured out that goto is bad[^] and established that if statement is not much better[^], and of course for loops should be avoided at all cost[^] it is time for another logical step in that direction: ladies and gentlemen I give you Assignment Statement Considered Harmful[^].

                                        utf8-cpp

                                        L Offline
                                        L Offline
                                        Lost User
                                        wrote on last edited by
                                        #29

                                        They even admitted that SSA exists - what's the problem then? Just use that.

                                        1 Reply Last reply
                                        0
                                        • M Mladen Jankovic

                                          Rajesh R Subramanian wrote:

                                          **int** main() {   **return;** // return what?usage of return is NOT yet banned. }

                                          You see, it's harder then you think.

                                          Rajesh R Subramanian wrote:

                                          usage of return is NOT yet banned.

                                          And you see why it should be.

                                          [Genetic Algorithm Library] [Wowd]

                                          R Offline
                                          R Offline
                                          Rajesh R Subramanian
                                          wrote on last edited by
                                          #30

                                          :((

                                          It's time for a new sig. Seriously.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups