• Cob All (unregistered)

    Come on, nobody has called shenanigans yet? This is the oldest joke in computer programming: uppity idiot X thought if it compiles it's done. Together with the now mandatory layers of WTF editor embellishment.

    More interesting is this claim:

    a cobweb-laden mainframe with no external point of access
    followed by
    We can stage an intermediate server.

    ......aaaaand the intermediate server accesses the mainframe how exactly?

    Fake story is fake. Not funny.

  • The Balance (unregistered) in reply to Cob All
    Cob All:
    Fake story is fake. Not funny.

    At least your hilarious comment has rescued the thread though, eh?

  • Evan (unregistered) in reply to TGV
    TGV:
    I still don't get it. Can you explain it to me, not using one of Fred's difficult metaphors, but perhaps in terms of fixed-point algebra?
    You know how you often are interested in just the least fixed point of a function over a partial order? If you have something you think might be it, you can't just plug in the value and see if you get the same thing out, because all that tells you it is a fixed point and not necessarily it's the least.
  • Screwel (unregistered)

    It's like school. Just because you ace all your humanities courses, doesn't mean you know fuckall about anything.

  • (cs)

    My adviser in college demonstrated it this way: We were in his office. He challenged us to write a simple program to take a person out of his office and to the entry desk.

    In general, the result was something like: "Stand up, turn right, walk forward to the door, turn the knob, open the door, walk forward, turn right, walk forward to the desk."

    Having obtained the above instructions in writing on his blackboard, and after confirming that we all were satisfied with them, he then rose from behind his desk, went to the door (which had been closed) and opened it.

    "How does your program work now?" he asked.

    I've never seen a shorter or more effective demonstration of the cause and nature of bugs.

  • anon (unregistered)
    “We coded the application. We debugged until it compiled without errors. When we run it- core dump!”

    Wat?

  • foo AKA fooo (unregistered) in reply to Coyne
    Coyne:
    My adviser in college demonstrated it this way: We were in his office. He challenged us to write a simple program to take a person out of his office and to the entry desk.

    In general, the result was something like: "Stand up, turn right, walk forward to the door, turn the knob, open the door, walk forward, turn right, walk forward to the desk."

    Having obtained the above instructions in writing on his blackboard, and after confirming that we all were satisfied with them, he then rose from behind his desk, went to the door (which had been closed) and opened it.

    "How does your program work now?" he asked.

    I've never seen a shorter or more effective demonstration of the cause and nature of bugs.

    walk_to (door);
    // BUGFIX: door may not be closed
    if (opened (door))
      close (door);
    // END BUGFIX
    turn_knob ();
    open (door);
    

    And so they learnt about the nature of bug fixes in The Real World(tm).

  • (cs) in reply to abarker
    abarker:
    ¯\(°_o)/¯ I DUNNO LOL:
    In addition, there is no parens in that statement. Maybe you are referring to parenthesis or brackets. Since I'm guessing, you may be trying to say parents. There should be a special kind of hell for people who misuse the words that way twice. Or not.
    For those who aren't familiar with this abbreviation, and don't know how to use a dictionary (or search engine) I easily found this definition.

    As you are admittedly guessing, I thought I'd give you something definitive.

    In the URL, I see "www.merriam-webster.com" and not "www.oed.com", so it can hardly be called definitive. "Definitive" perhaps, or allegedly definitive, but not definitive.

  • (cs) in reply to QJo
    QJo:
    Steve The Cynic:
    I'd have to assign ARWTF status to Fred and/or his attempts at explaining the problem. Seriously, did he really try to explain to a programmer using weak non-programming metaphors?

    Try this next time:

    Fred, speaking: Look, here's a line of code I'm about to compile. I want to add X and Y together and store the result in Z. Fred, typing: Z = X - Y; Fred, speaking: Will that compile? Nick: um, yes Fred: Is it going to do what I *wanted*? That is, is it going to add X and Y? Nick: um, no Fred: So "it compiles" isn't good enough, is it?
    If Nick still doesn't get it, haul out the GAU-8 from your back pocket and ...

    Oh, and yes, I know it won't compile as a stand-alone statement, thanks for letting me know about that.

    Nick: But dude, it's wrong[/]! Fred: But it compiles, right? Nick: But dude, it's [i]wrong[/]! Fred: That's not the point: using your logic, because it compiles, it must be right -- agreed? What you said to me just now is: if it compiles, it must be right, yeah? Nick: But dude, it's [i]wrong[/]! Fred: So, just because your code compiles, that doesn't mean it's right? Nick: But dude, it [i]COMPILES!

    And around and around, in ever increasing circles.

    You overlooked step 2: If Nick still doesn't get it, haul out the GAU-8 from your back pocket and ...

  • (cs) in reply to qazwsx
    qazwsx:
    anonymous:
    foo AKA fooo:
    dv:
    Fixed point algebra? Just because you can write 1/0, which is perfectly sane and understandable to anyone, it doesn't mean that you can actually compute that expression.
    No, sorry, still don't get it. Could you perhaps provide an example of biology, or chemistry, or perhaps history of arts? I'm sure that will really help, thanks.
    If you isolate a rare specimen, it may not be the one you're looking for. Dude, IT BITES!

    If you artificially synthesize a compount, it may not be the one you were trying to create. Dude, IT EXPLODES!

    If you give come canvas a couple of brush strokes, it may not become the masterpiece you intended. Dude, IT IS MODERN ART!

    I'm afraid I still don't understand. Can you give it to me in plumbing terms, with an Italian accent?

    Just because the toilet has a pipe fitted doesn't mean it isn't going into your mouth.

  • Carrie (unregistered) in reply to qazwsx
    qazwsx:
    anonymous:
    foo AKA fooo:
    dv:
    Fixed point algebra? Just because you can write 1/0, which is perfectly sane and understandable to anyone, it doesn't mean that you can actually compute that expression.
    No, sorry, still don't get it. Could you perhaps provide an example of biology, or chemistry, or perhaps history of arts? I'm sure that will really help, thanks.
    If you isolate a rare specimen, it may not be the one you're looking for. Dude, IT BITES!

    If you artificially synthesize a compount, it may not be the one you were trying to create. Dude, IT EXPLODES!

    If you give come canvas a couple of brush strokes, it may not become the masterpiece you intended. Dude, IT IS MODERN ART!

    I'm afraid I still don't understand. Can you give it to me in plumbing terms, with an Italian accent?

    Just-a because-a all the pipes are a-connected, doesn't a-mean you haven't a-connected the U-bend to-a the taps. If-a sh*t coming out of your taps, is-a more likely your plumbing is-a bad than the city water supply.

  • GunShowTrash (unregistered)

    I can't believe this stuff still goes on. Story time, 4chan-style:

    Be me. Be mid-'80s. Work for Now Defunct Military Aircraft Company. Assigned to tiger team to bail out Subcontractor Now Defunct Electronics Space Division. Test equipment project. All kinds of schedule/quality/delivery trouble. SameOldSongDance.jpg Subcontractor writing ATLAS compiler (It's an old test language). Still being developed; no compiler errors but generated bad code. Subcontracter also writing test programs for avionics in ATLAS too, at same time. Subcontractor defines "avionics test program debugged" as "compiled without errors." Military Aircraft Company: ImOKWithThis.jpg 1980s defense industry is endless buckets of money.

    This still goes on. DeityOfYourChoice help us.

  • Scourge of Programmers (unregistered) in reply to Steve The Cynic
    Steve The Cynic:
    QJo:
    Steve The Cynic:
    I'd have to assign ARWTF status to Fred and/or his attempts at explaining the problem. Seriously, did he really try to explain to a programmer using weak non-programming metaphors?

    Try this next time:

    Fred, speaking: Look, here's a line of code I'm about to compile. I want to add X and Y together and store the result in Z. Fred, typing: Z = X - Y; Fred, speaking: Will that compile? Nick: um, yes Fred: Is it going to do what I *wanted*? That is, is it going to add X and Y? Nick: um, no Fred: So "it compiles" isn't good enough, is it?
    If Nick still doesn't get it, haul out the GAU-8 from your back pocket and ...

    Oh, and yes, I know it won't compile as a stand-alone statement, thanks for letting me know about that.

    Nick: But dude, it's wrong[/]! Fred: But it compiles, right? Nick: But dude, it's [i]wrong[/]! Fred: That's not the point: using your logic, because it compiles, it must be right -- agreed? What you said to me just now is: if it compiles, it must be right, yeah? Nick: But dude, it's [i]wrong[/]! Fred: So, just because your code compiles, that doesn't mean it's right? Nick: But dude, it [i]COMPILES!

    And around and around, in ever increasing circles.

    You overlooked step 2: If Nick still doesn't get it, haul out the GAU-8 from your back pocket and ...

    What is the GAU-8?

  • RakerF1 (unregistered) in reply to Scourge of Programmers

    Google is your friend: https://www.google.com/#q=GAU-8

  • (cs) in reply to Ronan
    Ronan:
    If it compiles, the computer understand what you tell it to do. That doesn’t mean what you told it to do is what you wanted it to do.

    Not even close. It only means your compiler didn't catch any compiling errors. It's easy to compile code followed by % run :Bus Error Core Dump

    or %run FileNotFound

    among others.

  • anonymous (unregistered) in reply to ¯\(°_o)/¯ I DUNNO LOL
    ¯\(°_o)/¯ I DUNNO LOL:
    RFox:
    return (5);
    There should be a special kind of hell for people who put parens on all their return statements. It's a statement, not a function!

    But I would have mercy on those who don't know when sizeof can be used without parens.

    I would not. And don't get me started on people who write Javascript like this:

    if (typeof(name) === "string")
    

    There are TWO grievous sins there - the parentheses, because typeof isn't a function, and using an exact equality operator to compare two values that are both strings, always, by definition.

  • Itsa-mee (unregistered) in reply to anonymous
    anonymous:
    qazwsx:
    anonymous:
    foo AKA fooo:
    No, sorry, still don't get it. Could you perhaps provide an example of biology, or chemistry, or perhaps history of arts? I'm sure that will really help, thanks.
    If you isolate a rare specimen, it may not be the one you're looking for. Dude, IT BITES!

    If you artificially synthesize a compount, it may not be the one you were trying to create. Dude, IT EXPLODES!

    If you give come canvas a couple of brush strokes, it may not become the masterpiece you intended. Dude, IT IS MODERN ART!

    I'm afraid I still don't understand. Can you give it to me in plumbing terms, with an Italian accent?

    Me-a goes down da pipe, ma not finds-a mushroom!

    I-a defeat-a the big monsta, but they say the princess, she's-a in anotha castle.

  • Scourge of Programmers (unregistered) in reply to RakerF1
    RakerF1:
    Google is your friend: https://www.google.com/#q=GAU-8

    TRWTF is not using lmgtfy

  • (cs) in reply to Steve The Cynic
    Steve The Cynic:
    abarker:
    ¯\(°_o)/¯ I DUNNO LOL:
    In addition, there is no parens in that statement. Maybe you are referring to parenthesis or brackets. Since I'm guessing, you may be trying to say parents. There should be a special kind of hell for people who misuse the words that way twice. Or not.
    For those who aren't familiar with this abbreviation, and don't know how to use a dictionary (or search engine) I easily found this definition.

    As you are admittedly guessing, I thought I'd give you something definitive.

    In the URL, I see "www.merriam-webster.com" and not "www.oed.com", so it can hardly be called definitive. "Definitive" perhaps, or allegedly definitive, but not definitive.

    Maybe he meant "definitionatious" ?

  • mara (unregistered) in reply to foo AKA fooo
    foo AKA fooo:
    dv:
    TGV:
    CaptainOblivious:
    >If it compiles, the computer understand what you tell it to do. >That doesn’t mean what you told it to do is what you wanted it to do.

    Now I get it!

    I still don't get it. Can you explain it to me, not using one of Fred's difficult metaphors, but perhaps in terms of fixed-point algebra?
    Fixed point algebra? Just because you can write 1/0, which is perfectly sane and understandable to anyone, it doesn't mean that you can actually compute that expression.

    No, sorry, still don't get it. Could you perhaps provide an example of biology, or chemistry, or perhaps history of arts? I'm sure that will really help, thanks.
    Just because a long line of the fittest specimens survived and gave rise to you, does not mean that you will ever breed....thankfully
  • anonymous (unregistered) in reply to mara
    mara:
    foo AKA fooo:
    dv:
    TGV:
    CaptainOblivious:
    >If it compiles, the computer understand what you tell it to do. >That doesn’t mean what you told it to do is what you wanted it to do.

    Now I get it!

    I still don't get it. Can you explain it to me, not using one of Fred's difficult metaphors, but perhaps in terms of fixed-point algebra?
    Fixed point algebra? Just because you can write 1/0, which is perfectly sane and understandable to anyone, it doesn't mean that you can actually compute that expression.

    No, sorry, still don't get it. Could you perhaps provide an example of biology, or chemistry, or perhaps history of arts? I'm sure that will really help, thanks.
    Just because a long line of the fittest specimens survived and gave rise to you, does not mean that you will ever breed....thankfully
    If breeding was the primary goal in life, then the logical answer to that would be raep.
  • (cs)

    So, it compiled, but didn't prove it worked? Maybe he just needed to learn how to prove it first?

    http://thedailywtf.com/Articles/The-Proven-Fix.aspx

  • anonymous (unregistered) in reply to The Bytemaster
    The Bytemaster:
    So, it compiled, but didn't prove it worked? Maybe he just needed to learn how to prove it first?

    http://thedailywtf.com/Articles/The-Proven-Fix.aspx

    Why work it out on paper? That's what the compiler is for!

  • foo AKA fooo (unregistered) in reply to Scourge of Programmers
    Scourge of Programmers:
    RakerF1:
    Google is your friend: https://www.google.com/#q=GAU-8

    TRWTF is not using lmgtfy

    What's lmgtfy?

    Also, what's infinite recursion?

  • John (unregistered) in reply to Obvious Corporal
    Obvious Corporal:
    I just tell it to ... "Do what I mean, not what I say!"

    Ah. You want a Perl programmer.

  • nmclean (unregistered) in reply to foo AKA fooo
    foo AKA fooo:
    Scourge of Programmers:
    RakerF1:
    Google is your friend: https://www.google.com/#q=GAU-8

    TRWTF is not using lmgtfy

    What's lmgtfy?

    Also, what's infinite recursion?

    http://bit.ly/1oLMPh6

  • (cs) in reply to Doctor_of_Ineptitude
    Doctor_of_Ineptitude:
    Working on Embedded Systems, I have become a stickler for no warnings left. And I use the highest warning levels sanely possible. That and unit tests (writing them for such systems is a bitch) means that my code basically works as intended. Learning that making a working product requires a lot more than just writing the code for it took a lot of sweat.

    Unfortunately, that does not always work. I had a problem with one COBOL compiler where there was an interaction between the Report Writer and the check for uninitialised variables such that a run with no input data would not be properly handled. When I took out that check option, the program worked.

    Sincerely,

    Gene Wirchenko

  • (cs)

    They should have been using a dependently typed programming language - then, if it compiles, then they also have a computer-generated proof of correctness!

  • Doodpants (unregistered) in reply to anonymous
    anonymous:
    And don't get me started on people who write Javascript like this:
    if (typeof(name) === "string")
    
    There are TWO grievous sins there - the parentheses, because typeof isn't a function, and using an exact equality operator to compare two values that are both strings, always, by definition.

    Douglas Crockford disagrees with you on the second one; he advocates always using === and !== instead of == and !=.

  • (cs) in reply to lushr
    lushr:
    They should have been using a dependently typed programming language - then, if it compiles, then they also have a computer-generated proof of correctness!
    “Beware of bugs in the above code; I have only proved it correct, not tried it.” – D. E. Knuth.

    Seriously, you end up with a proof that the code obeys some correctness definition, but not that the correctness definition actually solves the problem that you care about. Nor do you get a proof anyone would want to use your code (people aren't mathematical objects in any useful sense).

  • Evan (unregistered) in reply to lushr
    lushr:
    They should have been using a dependently typed programming language - then, if it compiles, then they also have a computer-generated proof of correctness!
    I haven't quite played with dependently-typed languages or proof assistants, but I have dabbled a little with the likes of ML and Haskell. And as much as I like them, my experience aligns more closely with "the difference between something that can go wrong and something that cannot possibly go wrong is that when the thing that cannot possibly go wrong goes wrong, it usually turns out to be impossible to get at or repair." :-)
  • (cs) in reply to GunShowTrash
    GunShowTrash:
    >Subcontractor defines "avionics test program debugged" as "compiled without errors." >Military Aircraft Company: ImOKWithThis.jpg >1980s defense industry is endless buckets of money.
    >MFW plane crashes (both senses) at airshow in front of President...

    It wasn't just the '80s which had far too much cash.

  • (cs)

    Day 1, hour 1 of programming for any person, they should learn the difference between syntax errors and logical errors.

  • (cs) in reply to Doodpants
    Doodpants:
    anonymous:
    And don't get me started on people who write Javascript like this:
    if (typeof(name) === "string")
    
    There are TWO grievous sins there - the parentheses, because typeof isn't a function, and using an exact equality operator to compare two values that are both strings, always, by definition.

    Douglas Crockford disagrees with you on the second one; he advocates always using === and !== instead of == and !=.

    There should be a special place in hell for wish-it-was-strongly-typed languages.

  • RedWizard (unregistered) in reply to Coyne
    Coyne:
    My adviser in college demonstrated it this way: We were in his office. He challenged us to write a simple program to take a person out of his office and to the entry desk.

    In general, the result was something like: "Stand up, turn right, walk forward to the door, turn the knob, open the door, walk forward, turn right, walk forward to the desk."

    Having obtained the above instructions in writing on his blackboard, and after confirming that we all were satisfied with them, he then rose from behind his desk, went to the door (which had been closed) and opened it.

    "How does your program work now?" he asked.

    I've never seen a shorter or more effective demonstration of the cause and nature of bugs.

    +1

  • (cs) in reply to Coyne
    Coyne:
    My adviser in college demonstrated it this way: We were in his office. He challenged us to write a simple program to take a person out of his office and to the entry desk.

    In general, the result was something like: "Stand up, turn right, walk forward to the door, turn the knob, open the door, walk forward, turn right, walk forward to the desk."

    Having obtained the above instructions in writing on his blackboard, and after confirming that we all were satisfied with them, he then rose from behind his desk, went to the door (which had been closed) and opened it.

    "How does your program work now?" he asked.

    I've never seen a shorter or more effective demonstration of the cause and nature of bugs.

    "Working as designed. Specs never mentioned an open door. Open Door policy will be implemented in Phase 2. We'll send you the bill."

  • garaden (unregistered) in reply to Steve The Cynic
    Steve The Cynic:
    You overlooked step 2: If Nick still doesn't get it, haul out the GAU-8 from your back pocket and ...

    "Are those depleted uranium rounds, or are you just happy to see me?"

    CAPTCHA: erat. A-1 Exterminators smells erat, but they leave the big jobs to A-10 Exterminators.

    I'm surprised and gratified to see someone else here who loves the Warthog :)

  • (cs) in reply to garaden
    garaden:
    I'm surprised and gratified to see someone else here who loves the Warthog :)

    Who doesn't? IT'S PLANE BUILT AROUND A GUN

    (not really, but never let the truth get in the way of a good story)

  • anonymous (unregistered) in reply to Doodpants
    Doodpants:
    anonymous:
    And don't get me started on people who write Javascript like this:
    if (typeof(name) === "string")
    
    There are TWO grievous sins there - the parentheses, because typeof isn't a function, and using an exact equality operator to compare two values that are both strings, always, by definition.

    Douglas Crockford disagrees with you on the second one; he advocates always using === and !== instead of == and !=.

    No, he advocates almost always using === and !== instead of == and !=.

    I'll allow that, but when you should know that it cannot affect the outcome, using === and !== just screams "I'm ignorant and have no clue what I'm doing, or why, but somebody once told me that == and != are dangerous". It's like riding around with the training wheels still on.

  • Phuul (unregistered) in reply to anonymous
    anonymous:
    Doodpants:
    anonymous:
    And don't get me started on people who write Javascript like this:
    if (typeof(name) === "string")
    
    There are TWO grievous sins there - the parentheses, because typeof isn't a function, and using an exact equality operator to compare two values that are both strings, always, by definition.

    Douglas Crockford disagrees with you on the second one; he advocates always using === and !== instead of == and !=.

    No, he advocates almost always using === and !== instead of == and !=.

    I'll allow that, but when you should know that it cannot affect the outcome, using === and !== just screams "I'm ignorant and have no clue what I'm doing, or why, but somebody once told me that == and != are dangerous". It's like riding around with the training wheels still on.

    Using exact comparisons is not necessarily mean someone is riding around with training wheels. I often code defensively. A coworker hates when I bracket if statements when there is only one line. But I know that in the future some idiot is not going to read it properly and add something stupid in the wrong place. If I force them to put in into the brackets it should at least limit the danger. What if someone replaced the typeof call with mywackyfunction in the future? Well it probably will still be a pile of dung but at least if they return the wrong thing the test will fail.

    After seeing all the crap that is the codebase I have to maintain I'm all for doing things that could limit future stupidity.

  • (cs) in reply to Phuul
    Phuul:
    Using exact comparisons is not necessarily mean someone is riding around with training wheels. I often code defensively. A coworker hates when I bracket if statements when there is only one line. But I know that in the future some idiot is not going to read it properly and add something stupid in the wrong place. If I force them to put in into the brackets it should at least limit the danger. What if someone replaced the typeof call with mywackyfunction in the future? Well it probably will still be a pile of dung but at least if they return the wrong thing the test will fail.

    After seeing all the crap that is the codebase I have to maintain I'm all for doing things that could limit future stupidity.

    I think that person was talking about blindly using exact comparisons without exception, "just because." A concrete mindset by someone who would pay no attention to warnings, and would probably never read a site like this, although would probably be featured on it.

  • Yoda (unregistered) in reply to ZoomST
    ZoomST:
    Take it easy, the computer will not care about the parenthesis, and I don't see it being such an eyesore that makes the code unreadable. Well, if they abuse it in a LISP fashion, then the hell must be open for them.

    (object I (to (aspersion your)) (of Lisp)) (is (code Lisp) (and simple readable logical))

  • (cs) in reply to ZoomST
    ZoomST:
    ¯\(°_o)/¯ I DUNNO LOL:
    RFox:
    return (5);
    There should be a special kind of hell for people who put parens on all their return statements. It's a statement, not a function!

    But I would have mercy on those who don't know when sizeof can be used without parens.

    Dude, IT COMPILES. In addition, there is no parens in that statement. Maybe you are referring to parenthesis or brackets. Since I'm guessing, you may be trying to say parents. There should be a special kind of hell for people who misuse the words that way twice. Or not. Take it easy, the computer will not care about the parenthesis, and I don't see it being such an eyesore that makes the code unreadable. Well, if they abuse it in a LISP fashion, then the hell must be open for them.
    There should be a special kind of hell for people who make errors when pointing out that someone made an error.

    "Parenthesis" is singular. "Parentheses" is plural.

    Now cue the reply about a special place in hell for pedants...

  • John (unregistered)

    I want a refund on this WTF.

  • suscipere (unregistered) in reply to anonymous
    anonymous:
    I'll allow that, but when you should know that it cannot affect the outcome, using === and !== just screams "I'm ignorant and have no clue what I'm doing, or why, but somebody once told me that == and != are dangerous".
    If it can't affect the outcome, why should == be preferable to ===, other than for subjective stylistic reasons? Personally I'd use == there, but I wouldn't scream at someone if they decided to only use == when they specifically need its "fuzzy" behaviour.
  • Satan (unregistered) in reply to Pawprint
    Pawprint:
    "Parenthesis" is singular. "Parentheses" is plural.

    Now cue the reply about a special place in hell for pedants...

    As it happens, there is a special hell for people who post what I was going to say before I say it.

  • anonymous (unregistered) in reply to suscipere
    suscipere:
    anonymous:
    I'll allow that, but when you should know that it cannot affect the outcome, using === and !== just screams "I'm ignorant and have no clue what I'm doing, or why, but somebody once told me that == and != are dangerous".
    If it can't affect the outcome, why should == be preferable to ===, other than for subjective stylistic reasons? Personally I'd use == there, but I wouldn't scream at someone if they decided to only use == when they specifically need its "fuzzy" behaviour.
    Javascript is supposed to be fuzzy. It's a loosely-typed language.
  • Bottom Problems (unregistered) in reply to anonymous
    anonymous:
    Javascript is supposed to be fuzzy. It's a loosely-typed language.

    My bowels are the loosely type. They're not good.

  • Anomaly (unregistered)

    Parentheses are not just for function calls. You can use them to force orders of operations in expressions.

    (x + y) * n is different then x + y * n for almost all cases.

  • (cs) in reply to Anomaly
    Anomaly:
    Parentheses are not just for function calls. You can use them to force orders of operations in expressions.

    (x + y) * n is different then x + y * n for almost all cases.

    Yeah, but in:

    return (5);

    The parentheses are considered redundant.

    I just tested this in PyCharm (which I just happened to have open, and does seem to be quite the code nanny), and it does display a warning, which I would have to agree with, regardless of language.

Leave a comment on “Flawless Compilation”

Log In or post as a guest

Replying to comment #:

« Return to Article