while (true) and for (; ; ) [modified]
-
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
Real men use "goto" :p
-
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
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.
-
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
-
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 use them although not often. I also often add an empty IDisposable to classes in C# because I like to wrap things in "using" :~
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
-
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
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) -
Real men use "goto" :p
Beat me to it!
cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP
-
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 like em just fine, in things like state machines, where the endpoint is unknown. do{...}while(ok) is ok, too.
-
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 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
NextLike somebody else mentioned, they may have their uses in background threads.
-
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
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
-
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
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
-
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
:laugh:
Christopher Duncan Author of The Career Programmer Watch Bad Programmer! - Premieres May, 2011
-
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
-
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 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
-
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
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 anif
and then use the condition, I prefer an immediatebreak
.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] -
I have only used them, or their equivalent in other languages, for testing something. Never in production.
Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.” I wouldn't let CG touch my Abacus! When you're wrestling a gorilla, you don't stop when you're tired, you stop when the gorilla is.
-
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
-
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 just used while(condition); in a unit test to test an async method for retrieving a business object. I can't imagine a use for them in production code though.
There is no failure only feedback
That's not even in the same category.
Curvature of the Mind now with 3D
-
I just used while(condition); in a unit test to test an async method for retrieving a business object. I can't imagine a use for them in production code though.
There is no failure only feedback
any way, if you are targeting 4.0, check this: SpinUntil[^]
Curvature of the Mind now with 3D