• Nagesh (unregistered) in reply to The Undertaker
    The Undertaker:
    The Undertaker:
    Andrew Norman O'ther:
    Svick:

    Would you prefer to write code like this?

    If he was alive today, Mr Pythagoras would be spinning in his grave.

    What? Alive? In his grave?
    Please, show some sensitivity. I had a son that was alive in his grave, and let me assure you: it is no laughing matter.
    When setting up joke, do not be forgeting to cahnge sock pupet handel.

  • Sarudak (unregistered) in reply to Nagesh

    That is really funny... I totally didn't catch that...

  • (cs) in reply to dkf
    dkf:
    Anon:
    No magic numbers!
    const int FOUR = 4;
    b.multiply(b).subtract(Integer.valueOf(FOUR).multiply(a.multiply(b)))
    Amateur.
    Strictly, the developer should have looked up a MathematicalConstantProvider implementation on the enterprise service bus rather than hard-coding that constant at all, so that it can all be configured correctly during deployment. That way, maximal flexibility would be achieved for only minimal extra complexity.

    Now, excuse me while I fall off my chair laughing…

    Perfect. That should compile and run fine. Now go away and look up the quadratic formula, you prats.

  • ted (unregistered) in reply to Andrew Norman O'ther
    Andrew Norman O'ther:
    Svick:
    Math.Divide(
      Math.Plus(
        Math.Minus(b),
        Math.Sqrt(
          Math.Minus(
            Math.Times(b, b),
            Math.Times(4, Math.Times(a, b)),
      Math.Times(2, a))
    

    Would you prefer to write code like this?

    If he was alive today, Mr Pythagoras would be spinning in his grave.

    Or chomping on Viagra at some bar in Silicon Valley picking up women.

  • Anketam (unregistered) in reply to A Gould
    A Gould:
    trtrwtf:
    Code Slave:
    There should be a rule that when your title includes "Architect" you should no longer be laying hands on code (much like a building Architect never picks up a hammer).

    Of course, the counter example is when a coder says "We should do <idiot idea>, because it's Best Practices" to a more senior person and then can't tell them who says so or explain why it is "Best Practice".

    "Laying hands on the code"? What is he, a faith hacker?

    OK, now I have the urge to spend the rest of my day walking up to co-workers' desks, laying hands on their machines and shouting "Let your Spreadsheet.. be HEALED!".

    Thanks.

    OK, but seriously - everyone should stop, take a moment, and be totally jealous of a guy who has managed to get a coding job where management is completely unwilling to overrule him. Yes, this guy is an arse, but if you could code what you want, give any BS reason you wanted, and be assumed to be Absolutely Correct, wouldn't you powertrip a little too?

    Should not joke too much about laying on of hands on a computer. One time I was trying to fix a computer that was really misbehaving. Rebooting it did not help, it was randomly locking up and everything. I was conviced the computer was demon possesed so I layed on hands and performed an exorcism. Scary thing was the computer started working.
  • MWF (unregistered)
    "Third-party libraries introduce unnecessary risk into projects," the Global Services Enterprise Systems Lead Architect – or, The Architect, as he preferred to be called – would often say. "If the library is closed sourced, then we will be unable to fix bugs. If it is open-sourced, then we will not only have another codebase to maintain, but it will introduce certain legal risks."

    This is actually fairly spot-on, when speaking generally.

    If there exists some third-party solution that exactly solves your problem, then they can be quite useful - assuming that the legal department okays the licensing agreement, of course.

    But it's not often the case that you can find some library out there that really does what you want. Too many times people want to pull in third-party libraries that offer nearly what they want. That leads to nothing but headaches - you spend lots of time creating workarounds to try and mimic the behavior you really want. On long-term projects, the time spent on workarounds often ends up being longer than the time it would have taken to just write what you needed in the first place.

    People also tend to pull in large third-party libraries for tiny bits and pieces (or libraries with massive, overly-complicated dependency chains), leading to application bloat that may cause problems if you need to maintain a small footprint.

    Then of course there are the times when the third-party library is distributed under some licensing agreement that is likely to cause conflict with the legal department; it would be better to check that upfront and consider the tradeoffs in time spent writing the functionality yourself versus time spent battling with legal.

  • Fat (unregistered) in reply to Svick
    Svick:
    Иagesh:
    This is why operator overloading is sacred animal feces. Operators (+,-,=,÷ etc.) are nothing but syntactical jujubes. All serious programming should use proper method calls only. Just like Java.
    Math.Divide(
      Math.Plus(
        Math.Minus(b),
        Math.Sqrt(
          Math.Minus(
            Math.Times(b, b),
            Math.Times(4, Math.Times(a, b)),
      Math.Times(2, a))
    

    Would you prefer to write code like this?

    (/ (+ (- b)
          (sqrt (- (* b b)
                   (* 4 a c)))) 
       (* a 2))
    

    Doesn't that look good?

  • (cs) in reply to Patrick Magee
    Patrick Magee:
    Patrick Magee:
    Architect = "Prick"

    if(Architect.Equals("Prick")) { Architect.IsSacked = true; }

    ??? where is the edit button??

    I'm sorry, the edit button is located in a third-party library that our standard practices forbid us to use.

  • (cs) in reply to Fat
    Fat:
    Svick:
    Иagesh:
    This is why operator overloading is sacred animal feces. Operators (+,-,=,÷ etc.) are nothing but syntactical jujubes. All serious programming should use proper method calls only. Just like Java.
    Math.Divide(
      Math.Plus(
        Math.Minus(b),
        Math.Sqrt(
          Math.Minus(
            Math.Times(b, b),
            Math.Times(4, Math.Times(a, b)),
      Math.Times(2, a))
    

    Would you prefer to write code like this?

    (/ (+ (- b)
          (sqrt (- (* b b)
                   (* 4 a c)))) 
       (* a 2))
    

    Doesn't that look good?

    Are you trying to say either is really readable?

  • Some damn Yank (unregistered) in reply to Patrick Magee
    Patrick Magee:
    Architect == "Prick"

    if(Architect.Equals("Prick")) { Architect.IsPromoted = true; }

    FIFY
  • Fat (unregistered) in reply to C-Octothorpe

    Of course not. On the contrary, I'm saying that you can get rid of all of the operators, and your code still will look pretty readable.

  • Some damn Yank (unregistered)

    The real WTF is that Tennyson didn't just copy the Money class from the GSESF into his code (not into another library - that would violate company policy) and fix it there himself. Surely every class in all code isn't put into the GSESF, and if they are then with the high volume of new additions surely he could slip it in under a different name.

    Captcha: causa - the first step toward causamex, the united North American government.

  • eric76 (unregistered)

    Just out of curiosity, in a money class with an autoincrement (++) defined, would it autoincrement by a penny, a dollar, or something else?

    I suspect that if the Federal government did it, it would autoincrement by a billion while an autodecrement would also increment by a billion.

  • Fat (unregistered) in reply to Fat

    Damn, I thought you wrote "equally readable", not "really readable". I'm saying that LISP code is quite easy to understand.

  • Some damn Yank (unregistered) in reply to MWF
    MWF:
    "Third-party libraries introduce unnecessary risk into projects," the Global Services Enterprise Systems Lead Architect – or, The Architect, as he preferred to be called – would often say. "If the library is closed sourced, then we will be unable to fix bugs. If it is open-sourced, then we will not only have another codebase to maintain, but it will introduce certain legal risks."

    This is actually fairly spot-on, when speaking generally.

    Yeah, but try working at a place with this policy and NO internal libraries or tools, either. "You're on your own, bub!" Glad I'm not there anymore.
  • நாகேஷ் (unregistered) in reply to MWF
    MWF:
    This is actually fairly spot-on, when speaking generally.

    If there exists some third-party solution that exactly solves your problem, then they can be quite useful - assuming that the legal department okays the licensing agreement, of course.

    But it's not often the case that you can find some library out there that really does what you want. Too many times people want to pull in third-party libraries that offer nearly what they want. That leads to nothing but headaches - you spend lots of time creating workarounds to try and mimic the behavior you really want. On long-term projects, the time spent on workarounds often ends up being longer than the time it would have taken to just write what you needed in the first place.

    So, based on what I'm reading here, it's easier to write something new than to add small amounts of functionality to an almost complete solution?

    That, sir, is poppycock!

    If one buys shahi paneer but finds it too bland, does one throw out precious food and make his own recipe from scat? No. Instead he just adds some bhut jolokia and he is very happy customer.

  • (cs)

    If I'd been asked to give a performance review, I would have said, "Continuing to employ this person as Architect introduces unnecessary risk."

  • (cs) in reply to Svick
    Svick:
    Иagesh:
    This is why operator overloading is sacred animal feces. Operators (+,-,=,÷ etc.) are nothing but syntactical jujubes. All serious programming should use proper method calls only. Just like Java.
    Math.Divide(
      Math.Plus(
        Math.Minus(b),
        Math.Sqrt(
          Math.Minus(
            Math.Times(b, b),
            Math.Times(4, Math.Times(a, b)),
      Math.Times(2, a))
    

    Would you prefer to write code like this?

    The guys who wrote the specs for MathML probably thought the same

  • t3D (unregistered) in reply to நாகேஷ்
    நாகேஷ்:
    MWF:
    This is actually fairly spot-on, when speaking generally.

    If there exists some third-party solution that exactly solves your problem, then they can be quite useful - assuming that the legal department okays the licensing agreement, of course.

    But it's not often the case that you can find some library out there that really does what you want. Too many times people want to pull in third-party libraries that offer nearly what they want. That leads to nothing but headaches - you spend lots of time creating workarounds to try and mimic the behavior you really want. On long-term projects, the time spent on workarounds often ends up being longer than the time it would have taken to just write what you needed in the first place.

    So, based on what I'm reading here, it's easier to write something new than to add small amounts of functionality to an almost complete solution?

    That, sir, is poppycock!

    Not if I have to release my "small amounts of functionality" to the whole world to see and my business is making money off of the software I write.

    The GPL can go fuck itself.

  • Bogolese (unregistered) in reply to the beholder
    the beholder:
    Bogolese:
    Иagesh:
    This is why operator overloading is sacred animal feces. Operators (+,-,=,÷ etc.) are nothing but syntactical jujubes. All serious programming should use proper method calls only. Just like Java.

    Let me add the :) for you so everyknow knows you're kidding. You're kidding, right?

    Wasn't the name "Nagesh" clue enough?

    Sadly, no. :-( I have just been enlightened. IHBT

  • Some damn Yank (unregistered) in reply to Anketam
    Anketam:
    Should not joke too much about laying on of hands on a computer. One time I was trying to fix a computer that was really misbehaving. Rebooting it did not help, it was randomly locking up and everything. I was conviced the computer was demon possesed so I layed on hands and performed an exorcism. Scary thing was the computer started working.
    Sounds like a short or something loose that you fixed by physically moving the box. As a mechanical engineer, I find that most electrical/electronic problems are usually fixed by giving the box a good wack.
  • redwolf (unregistered)

    If he really wanted to be THAT independent from frameworks, he shouldn't use .NET in the first place.

  • Rfoxmich (unregistered)

    What he should have said is that "not overloading the == operator introduces unecessary risk into the construction of the application" sigh kids these days.

  • ɥsǝƃɐu (unregistered) in reply to Some damn Yank
    Some damn Yank:
    As a mechanical engineer, I find that most electrical/electronic problems are usually fixed by giving the box a good wack.
    As not a mechanical Engineer, I find that you have much in common with my Nani.
  • (cs) in reply to pjt33
    pjt33:
    b.multiply(b).subtract(Integer.valueOf(4).multiply(a.multiply(b)))
    

    No, no, you need to use the proper factory classes!

    b.multiply(b).subtract((int)new IntegerFactoryFactoryImpl(AbstractIntegerFactoryFactory.DEFAULT_PARAMETERS).createFactory().create("4", NumericBase.StandardDecimal).multiply(a.multiply(b)))

    (I'd link to the relevant bash.org quote, but bash seems to be blocked at work :()

  • Bananas (unregistered) in reply to Svick
    Svick:
    Иagesh:
    This is why operator overloading is sacred animal feces. Operators (+,-,=,÷ etc.) are nothing but syntactical jujubes. All serious programming should use proper method calls only. Just like Java.
    Math.Divide(
      Math.Plus(
        Math.Minus(b),
        Math.Sqrt(
          Math.Minus(
            Math.Times(b, b),
            Math.Times(4, Math.Times(a, b)),
      Math.Times(2, a))
    

    Would you prefer to write code like this?

    YHBT YHL HAND

  • (cs)
    "Standards and Practices" are simply conglomerations of tribal knowledge found to be useful in the majority of cases. Like school, they are a good base to use as a jumping-off point but they often don't live up to the requirements outside of their least common denominator domains.

    Truly amazing logic.

    Standards is a subject that I've spent some time thinking about at a meta level.

    I can agree with "least common denominator", by itself. After all, most standards wind up LCD because they wind up describing those requirements that must exist, as opposed to should exist.

    But really, what standards are mostly about is consensus; as in, "We agree this is the way things (must/should) be done."

    He's just said, "Damn the consensus; I'm doing my own thing." Because it's better? No, because he's "too flaming smart" to be part of a consensus; he decided not to overload ==, and that's that.

    So now everyone else that uses the class must pay in errors and code faults because he's too smart to be part of the tribe.

  • Some damn Yank (unregistered) in reply to Coyne
    Coyne:
    So now everyone else that uses the class must pay in errors and code faults because he's too smart to be part of the tribe.
    People like this should be voted off the island.
  • Some damn Yank (unregistered) in reply to ɥsǝƃɐu
    ɥsǝƃɐu:
    Some damn Yank:
    As a mechanical engineer, I find that most electrical/electronic problems are usually fixed by giving the box a good wack.
    As not a mechanical Engineer, I find that you have much in common with my Nani.
    If you were a box, I'd agree with your Nani. BTW, how old are you?
  • (cs) in reply to Some damn Yank
    Some damn Yank:
    ɥsǝƃɐu:
    Some damn Yank:
    As a mechanical engineer, I find that most electrical/electronic problems are usually fixed by giving the box a good wack.
    As not a mechanical Engineer, I find that you have much in common with my Nani.
    If you were a box, I'd agree with your Nani. BTW, how old are you?
    The trick is to never ask how old they are... Plausible deniability and all that jazz.
  • ᴺᵃᵍᵉsh (unregistered) in reply to Some damn Yank
    Some damn Yank:
    ɥsǝƃɐu:
    Some damn Yank:
    As a mechanical engineer, I find that most electrical/electronic problems are usually fixed by giving the box a good wack.
    As not a mechanical Engineer, I find that you have much in common with my Nani.
    If you were a box, I'd agree with your Nani. BTW, how old are you?
    Old enough to know that most MEs actually would think that was a legitimate electronic repair procedure (read: kinda dumb). Also, I'm old enough to know that your PE (if you have one) explicitly forbids you from offering services or advice outside of your expertise domain. No one is impressed with your "qualifications".

    BTW-Threats of violence over the internet doesn't scare anybody. Ever.

  • Nagesн (unregistered) in reply to C-Octothorpe
    C-Octothorpe:
    The trick is to never ask how old they are... Plausible deniability and all that jazz.
    Wait, did you just admit to pederasty?
  • Ryan (unregistered)

    TRWTF is C# and it's default implementation of ==. Go VB.NET!!! :D

  • (cs) in reply to Nagesн
    Nagesн:
    C-Octothorpe:
    The trick is to never ask how old they are... Plausible deniability and all that jazz.
    Wait, did you just admit to pederasty?
    I plead the fifth, your honor.
  • x00|\|3s!s (unregistered) in reply to C-Octothorpe
    C-Octothorpe:
    Nagesн:
    C-Octothorpe:
    The trick is to never ask how old they are... Plausible deniability and all that jazz.
    Wait, did you just admit to pederasty?
    I plead the fifth, your honor.
    She was in fifth grade!?! You're really sick, you know that?!
  • (cs) in reply to Nagɘsh
    Nagɘsh:
    Nagesh:
    boog:
    Tennyson should have fired back saying "inconsistent behavior of the == operator among value types creates an unnecessary risk".

    I wonder if The Architect would have explained to him that some unnecessary risk is acceptable.

    Witout unecesary risk, there is no return.

    Curry was designed to mask unnecessary risk of storing food in country with no ice.

    Dumbas, Have you herd of Utaranchal or Himlays?

  • (cs) in reply to boog
    boog:
    Nagesh:
    boog:
    Tennyson should have fired back saying "inconsistent behavior of the == operator among value types creates an unnecessary risk".

    I wonder if The Architect would have explained to him that some unnecessary risk is acceptable.

    Witout unecesary risk, there is no return.

    So you're saying unnecessary risk is necessary?

    Interesting...

    I am saying risk is necesary for progres of mankind and human civlisaton. All of you, who is humans, agree with me.

  • (cs) in reply to Some damn Yank
    Some damn Yank:
    ɥsǝƃɐu (faker):
    Some damn Yank:
    As a mechanical engineer, I find that most electrical/electronic problems are usually fixed by giving the box a good wack.
    As not a mechanical Engineer, I find that you have much in common with my Nani.
    If you were a box, I'd agree with your Nani. BTW, how old are you?

    Fake Nagesh is 12, but on other hand, I am much more older.

  • (cs) in reply to Nagesh
    Nagesh:
    boog:
    Nagesh:
    boog:
    Tennyson should have fired back saying "inconsistent behavior of the == operator among value types creates an unnecessary risk".

    I wonder if The Architect would have explained to him that some unnecessary risk is acceptable.

    Witout unecesary risk, there is no return.

    So you're saying unnecessary risk is necessary?

    Interesting...

    I am saying risk is necesary for progres of mankind and human civlisaton. All of you, who is humans, agree with me.

    Woosh?

  • Naqesh (unregistered) in reply to Nagesh
    Nagesh:
    boog:
    Nagesh:
    boog:
    Tennyson should have fired back saying "inconsistent behavior of the == operator among value types creates an unnecessary risk".

    I wonder if The Architect would have explained to him that some unnecessary risk is acceptable.

    Witout unecesary risk, there is no return.

    So you're saying unnecessary risk is necessary?

    Interesting...

    I am saying risk is necesary for progres of mankind and human civlisaton. All of you, who is humans, agree with me.

    Sorry, no humans here; only sock puppets.

  • (cs) in reply to Anketam
    Anketam:
    A Gould:
    trtrwtf:
    Code Slave:
    There should be a rule that when your title includes "Architect" you should no longer be laying hands on code (much like a building Architect never picks up a hammer).

    Of course, the counter example is when a coder says "We should do <idiot idea>, because it's Best Practices" to a more senior person and then can't tell them who says so or explain why it is "Best Practice".

    "Laying hands on the code"? What is he, a faith hacker?

    OK, now I have the urge to spend the rest of my day walking up to co-workers' desks, laying hands on their machines and shouting "Let your Spreadsheet.. be HEALED!".

    Thanks.

    OK, but seriously - everyone should stop, take a moment, and be totally jealous of a guy who has managed to get a coding job where management is completely unwilling to overrule him. Yes, this guy is an arse, but if you could code what you want, give any BS reason you wanted, and be assumed to be Absolutely Correct, wouldn't you powertrip a little too?

    Should not joke too much about laying on of hands on a computer. One time I was trying to fix a computer that was really misbehaving. Rebooting it did not help, it was randomly locking up and everything. I was conviced the computer was demon possesed so I layed on hands and performed an exorcism. Scary thing was the computer started working.

    Possibly caused by some component having gone marginal, and excess electric charge having built up on the casing caused it to drag that component just into the "fail" category. Laying on of hands dissipated that charge. Computer started working. Magic.

  • (cs) in reply to C-Octothorpe
    C-Octothorpe:
    Fat:
    Svick:
    Иagesh:
    This is why operator overloading is sacred animal feces. Operators (+,-,=,÷ etc.) are nothing but syntactical jujubes. All serious programming should use proper method calls only. Just like Java.
    Math.Divide(
      Math.Plus(
        Math.Minus(b),
        Math.Sqrt(
          Math.Minus(
            Math.Times(b, b),
            Math.Times(4, Math.Times(a, b)),
      Math.Times(2, a))
    

    Would you prefer to write code like this?

    (/ (+ (- b)
          (sqrt (- (* b b)
                   (* 4 a c)))) 
       (* a 2))
    

    Doesn't that look good?

    Are you trying to say either is really readable?

          DISCRIMINANT = B * B - 4 * A * C
          DENOM = 2 * A
          REAL_PART = -B / DENOM
          IMAG_PART = 0.0
          IF (DISCRIMINANT .GT. 0) THEN
             REAL_PART = REAL_PART + (SQRT (DISCRIMINANT)) / DENOM
          ELSE
             IMAG_PART = SQRT (-DISCRIMINANT) / DENOM
          END IF
    
  • (cs) in reply to MWF
    MWF:
    Then of course there are the times when the third-party library is distributed under some licensing agreement that is likely to cause conflict with the legal department; it would be better to check that upfront and consider the tradeoffs in time spent writing the functionality yourself versus time spent battling with legal.

    Indeed. A while back, our company got sick of dealing with a particular closed-source image library, that when we reported bugs to them, they refused to fix in a timely manner or possibly at all. So the word from on high was, switch to this other closed-source image library, that did roughly all the same things, just in a different way, so it required restructuring basically everything to do with generating or modifying images (which was a lot.)

    Thankfully, my direct boss was smart enough to suggest that instead of just directly redoing everything for the new image library, we refactor it so as much as possible would go through an abstract library wrapper, so if we ever changed libraries again, we'd mostly just need to rewrite the wrapper (and keep a version of the wrapper for the old library, too). Because, sure enough, after I finished modifying everything to use the new image library... word from a different on-high was there were legal complications (our product could be considered to expose their API, in some twisted legal sense, for which they wanted a bajillion dollars.)

    So after all that, someone ended up tasked with writing our own internal image library, which scared me a bit, but it turned out entirely successful. And now if there are bugs in the image library, I can tell a coworker to fix them, instead of a faceless 3rd party company that couldn't care less. Win!

    Of course, unlike this story, said coworker is open to modifying the API if I have a good reason for considering the current one inadequate. He complains about it all day first, as is his right, but he still fixes it.

  • trtrwtf (unregistered) in reply to Matt Westwood
    Matt Westwood:
    Anketam:
    A Gould:
    trtrwtf:
    Code Slave:
    There should be a rule that when your title includes "Architect" you should no longer be laying hands on code (much like a building Architect never picks up a hammer).

    Of course, the counter example is when a coder says "We should do <idiot idea>, because it's Best Practices" to a more senior person and then can't tell them who says so or explain why it is "Best Practice".

    "Laying hands on the code"? What is he, a faith hacker?

    OK, now I have the urge to spend the rest of my day walking up to co-workers' desks, laying hands on their machines and shouting "Let your Spreadsheet.. be HEALED!".

    Thanks.

    OK, but seriously - everyone should stop, take a moment, and be totally jealous of a guy who has managed to get a coding job where management is completely unwilling to overrule him. Yes, this guy is an arse, but if you could code what you want, give any BS reason you wanted, and be assumed to be Absolutely Correct, wouldn't you powertrip a little too?

    Should not joke too much about laying on of hands on a computer. One time I was trying to fix a computer that was really misbehaving. Rebooting it did not help, it was randomly locking up and everything. I was conviced the computer was demon possesed so I layed on hands and performed an exorcism. Scary thing was the computer started working.

    Possibly caused by some component having gone marginal, and excess electric charge having built up on the casing caused it to drag that component just into the "fail" category. Laying on of hands dissipated that charge. Computer started working. Magic.

    http://catb.org/jargon/html/magic-story.html

  • Dave (unregistered)

    Seriously he thinks overloading an operator will cause less confusion? Most people will typically expect an operator to do its language specified behavior unless they have been specifically informed otherwise.

    I'm personally of the opinion that operator overloading is a dark art that should be practiced only on operators that are otherwise illegal on your given type. If you want to call a method, do so explicitly.

  • Software Libre (unregistered) in reply to t3D
    t3D:
    Not if I have to release my "small amounts of functionality" to the whole world to see and my business is making money off of the software I write.

    The GPL can go fuck itself.

    One or more authors spent months (or years!) writing 98% of what you need. You were able to download their hard work, complete with source code, for free.

    And, you think it's somehow unfair that you can't redistribute THEIR WORK (plus your 2%) without providing the source to the 2%?

    Contact the original authors. They can relicense it to you without the restrictions of the GPL. If you make them a fair offer (say, 98% of the profits, considering they wrote 98% of the code), they might take you up on it.

  • radarbob (unregistered) in reply to Svick
    Svick:
    Иagesh:
    This is why operator overloading is sacred animal feces. Operators (+,-,=,÷ etc.) are nothing but syntactical jujubes. All serious programming should use proper method calls only. Just like Java.
    Math.Divide(
      Math.Plus(
        Math.Minus(b),
        Math.Sqrt(
          Math.Minus(
            Math.Times(b, b),
            Math.Times(4, Math.Times(a, b)),
      Math.Times(2, a))
    

    Would you prefer to write code like this?

    That would be called COBOL 68.

  • (cs) in reply to Matt Westwood
    Matt Westwood:
    Perfect. That should compile and run fine. Now go away and look up the quadratic formula, you prats.
    But first we need a FormulaQueryRegisterLookupBuilderStrategyFactory. After all, we require that our code is ready for the enterprise and doesn't have anything hard-coded that might need to be altered later.

    (Some of this stuff is dangerously close to what I actually spend my days writing. Enterprise service buses are not for the faint-of-heart. Or the sane, frankly.)

  • Anon (unregistered) in reply to நாகேஷ்
    நாகேஷ்:
    If one buys shahi paneer but finds it too bland, does one throw out precious food and make his own recipe from scat?

    Actually I pretty particular about my food containing no scat at all.

  • (cs) in reply to t3D
    t3D:
    நாகேஷ்:
    MWF:
    This is actually fairly spot-on, when speaking generally.

    If there exists some third-party solution that exactly solves your problem, then they can be quite useful - assuming that the legal department okays the licensing agreement, of course.

    But it's not often the case that you can find some library out there that really does what you want. Too many times people want to pull in third-party libraries that offer nearly what they want. That leads to nothing but headaches - you spend lots of time creating workarounds to try and mimic the behavior you really want. On long-term projects, the time spent on workarounds often ends up being longer than the time it would have taken to just write what you needed in the first place.

    So, based on what I'm reading here, it's easier to write something new than to add small amounts of functionality to an almost complete solution?

    That, sir, is poppycock!

    Not if I have to release my "small amounts of functionality" to the whole world to see and my business is making money off of the software I write.

    The GPL can go fuck itself.

    GPL means that when you distribute your software, you have to show your code. If you're not distributing your software, no one gives a fuck. Chances are this was an internal application never seen by the outside world.

    Chances are that the Architect's fear of open-source is unfounded and silly.

Leave a comment on “Tribal Knowledge”

Log In or post as a guest

Replying to comment #:

« Return to Article