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. while (true) and for (; ; ) [modified]

while (true) and for (; ; ) [modified]

Scheduled Pinned Locked Moved The Lounge
hostingcloudquestion
76 Posts 48 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.
  • W wizardzz

    What are your views on these? How often do you use or see them and in what cases? Just curious, it's a little debate with my project's Architect. To clarify, I don't mean the preference between the 2, but the use of such loops in production.

    "Life should not be a journey to the grave with the intention of arriving safely in a pretty and well preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming "Wow! What a Ride!" — Hunter S. Thompson

    modified on Thursday, March 10, 2011 12:10 PM

    J Offline
    J Offline
    Joan M
    wrote on last edited by
    #12

    Typical in PLC programs and machine programming in which you need to create an infinite loop that controls all the behavior of the machine itself. Most of them though have it implicitly working without the programmer knowledge... Also it was sometimes used in oooooold programs in which the sequential programming (that thing that existed before OOP)... It can also be used for testing... It can also be used to crash a computer ==> while(true){a=a+0.00000000001;} // patience... it will explode sometime... well, this can also be used to cook eggs direct on the computer's box... and after that (and even I know you did not asked for that...) I prefer "while(true)" it seems more clear to me...

    [www.tamelectromecanica.com] Robots, CNC and PLC machines for grinding and polishing.

    1 Reply Last reply
    0
    • N Nish Nishant

      Okay, I can't think of why anyone'd have a while-true (or otherwise infinite) loop that does not have any normal exit conditions. Although you could break out via an exception it just does not seem very clean to me.

      Regards, Nish


      New article available: Resetting a View Model in WPF MVVM applications without code-behind in the view My technology blog: voidnish.wordpress.com

      H Offline
      H Offline
      Hans Dietrich
      wrote on last edited by
      #13

      I agree. There must be a mechanism to exit such loops cleanly.

      Best wishes, Hans


      [Hans Dietrich Software]

      1 Reply Last reply
      0
      • W wizardzz

        What are your views on these? How often do you use or see them and in what cases? Just curious, it's a little debate with my project's Architect. To clarify, I don't mean the preference between the 2, but the use of such loops in production.

        "Life should not be a journey to the grave with the intention of arriving safely in a pretty and well preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming "Wow! What a Ride!" — Hunter S. Thompson

        modified on Thursday, March 10, 2011 12:10 PM

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

        LABEL: ..code GOTO LABEL Much nicer.

        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. "And they, since they Were not the one dead, turned to their affairs" -- Robert Frost

        1 Reply Last reply
        0
        • W wizardzz

          What are your views on these? How often do you use or see them and in what cases? Just curious, it's a little debate with my project's Architect. To clarify, I don't mean the preference between the 2, but the use of such loops in production.

          "Life should not be a journey to the grave with the intention of arriving safely in a pretty and well preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming "Wow! What a Ride!" — Hunter S. Thompson

          modified on Thursday, March 10, 2011 12:10 PM

          C Offline
          C Offline
          Chris Meech
          wrote on last edited by
          #15

          Would you be talking about an Alderson Loop[^]. :) While the Wiki article is not a definitive reference, it seems that the practical use of infinite loops are minimal. I'd recommend to avoid them entirely. :)

          Chris Meech I am Canadian. [heard in a local bar] In theory there is no difference between theory and practice. In practice there is. [Yogi Berra] posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]

          1 Reply Last reply
          0
          • W wizardzz

            What are your views on these? How often do you use or see them and in what cases? Just curious, it's a little debate with my project's Architect. To clarify, I don't mean the preference between the 2, but the use of such loops in production.

            "Life should not be a journey to the grave with the intention of arriving safely in a pretty and well preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming "Wow! What a Ride!" — Hunter S. Thompson

            modified on Thursday, March 10, 2011 12:10 PM

            R Offline
            R Offline
            RugbyLeague
            wrote on last edited by
            #16

            I use them although not often. I also often add an empty IDisposable to classes in C# because I like to wrap things in "using" :~

            T 1 Reply Last reply
            0
            • W wizardzz

              What are your views on these? How often do you use or see them and in what cases? Just curious, it's a little debate with my project's Architect. To clarify, I don't mean the preference between the 2, but the use of such loops in production.

              "Life should not be a journey to the grave with the intention of arriving safely in a pretty and well preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming "Wow! What a Ride!" — Hunter S. Thompson

              modified on Thursday, March 10, 2011 12:10 PM

              D Offline
              D Offline
              Dave Parker
              wrote on last edited by
              #17

              Real men use "goto" :p

              C 1 Reply Last reply
              0
              • N Nish Nishant

                Okay, I can't think of why anyone'd have a while-true (or otherwise infinite) loop that does not have any normal exit conditions. Although you could break out via an exception it just does not seem very clean to me.

                Regards, Nish


                New article available: Resetting a View Model in WPF MVVM applications without code-behind in the view My technology blog: voidnish.wordpress.com

                L Offline
                L Offline
                Luc Pattyn
                wrote on last edited by
                #18

                break, return, yield, goto, throw, Application.Exit(), longjmp(), ... can all be justified given the right circumstances. :)

                Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum

                Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.

                1 Reply Last reply
                0
                • W wizardzz

                  What are your views on these? How often do you use or see them and in what cases? Just curious, it's a little debate with my project's Architect. To clarify, I don't mean the preference between the 2, but the use of such loops in production.

                  "Life should not be a journey to the grave with the intention of arriving safely in a pretty and well preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming "Wow! What a Ride!" — Hunter S. Thompson

                  modified on Thursday, March 10, 2011 12:10 PM

                  B Offline
                  B Offline
                  bob16972
                  wrote on last edited by
                  #19

                  They are both handy from time to time (expression parsing and times when you don't know how many iterations will be needed). I personally prefer while(TRUE) so as not confuse any VB programmer that comes across my code.

                  H 1 Reply Last reply
                  0
                  • W wizardzz

                    What are your views on these? How often do you use or see them and in what cases? Just curious, it's a little debate with my project's Architect. To clarify, I don't mean the preference between the 2, but the use of such loops in production.

                    "Life should not be a journey to the grave with the intention of arriving safely in a pretty and well preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming "Wow! What a Ride!" — Hunter S. Thompson

                    modified on Thursday, March 10, 2011 12:10 PM

                    N Offline
                    N Offline
                    Nemanja Trifunovic
                    wrote on last edited by
                    #20

                    wizardzz wrote:

                    What are your views on these?

                    Infinite tail-recursion is much nicer.

                    utf8-cpp

                    1 Reply Last reply
                    0
                    • R RugbyLeague

                      I use them although not often. I also often add an empty IDisposable to classes in C# because I like to wrap things in "using" :~

                      T Offline
                      T Offline
                      TheGreatAndPowerfulOz
                      wrote on last edited by
                      #21

                      RugbyLeague wrote:

                      IDisposable to classes in C#

                      That's silly. It serves no purpose, except obfuscation and misrepresentation, if you don't implement the IDisposable!

                      "If your actions inspire others to dream more, learn more, do more and become more, you are a leader." - John Quincy Adams "Let me get this straight. You know her. She knows you. But she wants to eat him. And everybody's okay with this?" - Timon

                      R 1 Reply Last reply
                      0
                      • W wizardzz

                        What are your views on these? How often do you use or see them and in what cases? Just curious, it's a little debate with my project's Architect. To clarify, I don't mean the preference between the 2, but the use of such loops in production.

                        "Life should not be a journey to the grave with the intention of arriving safely in a pretty and well preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming "Wow! What a Ride!" — Hunter S. Thompson

                        modified on Thursday, March 10, 2011 12:10 PM

                        I Offline
                        I Offline
                        Ian Shlasko
                        wrote on last edited by
                        #22

                        Checking my production system, it looks like I've used while (true) in six places... #1: Background thread that continuously monitors a Named Pipe #2: Background thread that periodically checks for application updates #3: Background thread that uploads trades as they're queued #4: Background thread that watches for incoming messages from the server #5: Background thread that sends heartbeats to the server #6: Background thread that handles message routing ON the server Basically, all of them are intended to run throughout the life of the application... They all have a sleep or a wait handle, but otherwise just loop continuously... It's a useful construct. Yes, I suppose I could add a global "Shutting down" condition, but it just hasn't been necessary. They catch the thread abort, clean up in the 'finally', and are designed so as not to damage anything external if the shutdown interrupts them at any point.

                        Proud to have finally moved to the A-Ark. Which one are you in?
                        Author of the Guardians Saga (Sci-Fi/Fantasy novels)

                        1 Reply Last reply
                        0
                        • D Dave Parker

                          Real men use "goto" :p

                          C Offline
                          C Offline
                          Chris Maunder
                          wrote on last edited by
                          #23

                          Beat me to it!

                          cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP

                          1 Reply Last reply
                          0
                          • W wizardzz

                            What are your views on these? How often do you use or see them and in what cases? Just curious, it's a little debate with my project's Architect. To clarify, I don't mean the preference between the 2, but the use of such loops in production.

                            "Life should not be a journey to the grave with the intention of arriving safely in a pretty and well preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming "Wow! What a Ride!" — Hunter S. Thompson

                            modified on Thursday, March 10, 2011 12:10 PM

                            C Offline
                            C Offline
                            Chris Losinger
                            wrote on last edited by
                            #24

                            i like em just fine, in things like state machines, where the endpoint is unknown. do{...}while(ok) is ok, too.

                            image processing toolkits | batch image processing

                            1 Reply Last reply
                            0
                            • W wizardzz

                              What are your views on these? How often do you use or see them and in what cases? Just curious, it's a little debate with my project's Architect. To clarify, I don't mean the preference between the 2, but the use of such loops in production.

                              "Life should not be a journey to the grave with the intention of arriving safely in a pretty and well preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming "Wow! What a Ride!" — Hunter S. Thompson

                              modified on Thursday, March 10, 2011 12:10 PM

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

                              I like to consolidate:

                              for (; ; MessageBox.Show("Hello")) ;

                              :rolleyes: And here's the best I could do in VB.net:

                              For i As Integer = 0 To 0 Step 0
                              Next

                              Like somebody else mentioned, they may have their uses in background threads.

                              [WikiLeaks Cablegate Cables]

                              1 Reply Last reply
                              0
                              • N Nish Nishant

                                Most compilers (managed and native) will generate the same output code for either construct. So it's more a matter of style and preference. Personally, the while(true) seems more readable and it's more obvious what it's meant to do.

                                Regards, Nish


                                New article available: Resetting a View Model in WPF MVVM applications without code-behind in the view My technology blog: voidnish.wordpress.com

                                C Offline
                                C Offline
                                Christopher Duncan
                                wrote on last edited by
                                #26

                                Nishant Sivakumar wrote:

                                what it's meant to do.

                                Hang the app with an endless loop? :)

                                Christopher Duncan Author of The Career Programmer Watch Bad Programmer! - Premieres May, 2011

                                N 1 Reply Last reply
                                0
                                • C Christopher Duncan

                                  Nishant Sivakumar wrote:

                                  what it's meant to do.

                                  Hang the app with an endless loop? :)

                                  Christopher Duncan Author of The Career Programmer Watch Bad Programmer! - Premieres May, 2011

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

                                  Christopher Duncan wrote:

                                  Hang the app with an endless loop?

                                  Only on a single core machine :-D

                                  Regards, Nish


                                  New article available: Resetting a View Model in WPF MVVM applications without code-behind in the view My technology blog: voidnish.wordpress.com

                                  C P 2 Replies Last reply
                                  0
                                  • N Nish Nishant

                                    Christopher Duncan wrote:

                                    Hang the app with an endless loop?

                                    Only on a single core machine :-D

                                    Regards, Nish


                                    New article available: Resetting a View Model in WPF MVVM applications without code-behind in the view My technology blog: voidnish.wordpress.com

                                    C Offline
                                    C Offline
                                    Christopher Duncan
                                    wrote on last edited by
                                    #28

                                    :laugh:

                                    Christopher Duncan Author of The Career Programmer Watch Bad Programmer! - Premieres May, 2011

                                    1 Reply Last reply
                                    0
                                    • W wizardzz

                                      What are your views on these? How often do you use or see them and in what cases? Just curious, it's a little debate with my project's Architect. To clarify, I don't mean the preference between the 2, but the use of such loops in production.

                                      "Life should not be a journey to the grave with the intention of arriving safely in a pretty and well preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming "Wow! What a Ride!" — Hunter S. Thompson

                                      modified on Thursday, March 10, 2011 12:10 PM

                                      J Offline
                                      J Offline
                                      Jun Du
                                      wrote on last edited by
                                      #29

                                      I don't find many situations where I must use either. Something like while(!done) gives you a control over whether and when to exit, normal or abnormal.

                                      Best, Jun

                                      C 1 Reply Last reply
                                      0
                                      • W wizardzz

                                        What are your views on these? How often do you use or see them and in what cases? Just curious, it's a little debate with my project's Architect. To clarify, I don't mean the preference between the 2, but the use of such loops in production.

                                        "Life should not be a journey to the grave with the intention of arriving safely in a pretty and well preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming "Wow! What a Ride!" — Hunter S. Thompson

                                        modified on Thursday, March 10, 2011 12:10 PM

                                        Mike HankeyM Offline
                                        Mike HankeyM Offline
                                        Mike Hankey
                                        wrote on last edited by
                                        #30

                                        I use the while(true) consistently...in embedded apps. (AVR)

                                        If you are cross-eyed and have dyslexia, can you read all right? http://www.hq4thmarinescomm.com[^] JaxCoder.com[^]WinHeist - Windows Electronic Inventory SysTem

                                        1 Reply Last reply
                                        0
                                        • J Jun Du

                                          I don't find many situations where I must use either. Something like while(!done) gives you a control over whether and when to exit, normal or abnormal.

                                          Best, Jun

                                          C Offline
                                          C Offline
                                          CPallini
                                          wrote on last edited by
                                          #31

                                          Not always. In C applications, for instance, you may know in the middle of the loop that you've to exit and while you may skip the following statements with an if and then use the condition, I prefer an immediate break.

                                          If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
                                          This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
                                          [My articles]

                                          J J 2 Replies 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