Guest Editorial: On writing SQL

  • Not anymore 🙂

    [font="Times New Roman"]-- RBarryYoung[/font], [font="Times New Roman"] (302)375-0451[/font] blog: MovingSQL.com, Twitter: @RBarryYoung[font="Arial Black"]
    Proactive Performance Solutions, Inc.
    [/font]
    [font="Verdana"] "Performance is our middle name."[/font]

  • Not ever, it sounds like. Well done.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.
    "Change is inevitable... change for the better is not".

    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)
    Intro to Tally Tables and Functions

  • Jeff Moden (12/12/2008)


    Heh... I've found that helical fletching makes a high velocity pork chop sound really cool as well as enhancing the flight path... haven't gotten into the bowyer mode of building launchers because, unless the bone is just right, pork chops are difficult to properly set a nock in. 😉

    go traditional, loose the gadgets, decrease the distance and add some mass and I'll bet you can split bone. 🙂

    ------------------------------

    Enjoyed readings everyones thoughts and have used variants of many of these ideas in the last 20 or so years. often find that the software engineering principles I learned years ago, still suit me best regardless of what I'm working on. these include the software development lifecycle of whiche testing was a big part and breaking the parts down in to manageable piece. As for documention I often write the psuedo code (more english than code) into the application as part of the documentation to help explain these parts. Of course how far I take depends on scope, but the principles are always there.

    -- Optimist with experience and still learning

  • Ed Salva (12/16/2008)


    Jeff Moden (12/12/2008)


    Heh... I've found that helical fletching makes a high velocity pork chop sound really cool as well as enhancing the flight path... haven't gotten into the bowyer mode of building launchers because, unless the bone is just right, pork chops are difficult to properly set a nock in. 😉

    go traditional, loose the gadgets, decrease the distance and add some mass and I'll bet you can split bone. 🙂

    ------------------------------

    Enjoyed readings everyones thoughts and have used variants of many of these ideas in the last 20 or so years. often find that the software engineering principles I learned years ago, still suit me best regardless of what I'm working on. these include the software development lifecycle of whiche testing was a big part and breaking the parts down in to manageable piece. As for documention I often write the psuedo code (more english than code) into the application as part of the documentation to help explain these parts. Of course how far I take depends on scope, but the principles are always there.

    BWAAA-HAAA! Sounds like professional experience there!

    I agree... My absolute best and most valuable experience in the computational world was teaching myself microprocessors, some heavy duty binary math, Boolean Algebra, and hand assembled machine language about 6 years before Bill Gates could spell DOS. Had to do that because the Navy had me and another fellow write a 200 hour course on micro's, digital logic devices, and using the micro to not only drive the digital logic devices, but troubleshoot them using only the micro as well. For fun, I did thinks like write a voice sampler/playback system (try THAT with only a 1Mhz system!!) and a tone generator. To get the class interested at the start of the course, I had one "conductor" micro driving to other micros to play Bach Inventions for Guitar 1 & 2. Keep in mind... micro only along with a single bi-directional A/D converter. Now those were the days.

    Anyway, a lot of the same techniques I learned in writing the course and all that "horsing" around are still serving me well today. For example, the Tally table is nothing more than an "X-Register" to me and I use it in about the same way although the data is certainly different. When it is used (sometimes most inappropriately), bit mapping is a walk in the park. And the concept of pages is ages old.

    Personally, I think everyone getting into computers should have to learn hand assembly of machine language using only a hex keypad and hex register display... just like I think people should learn a little math before they're even allowed to come close to just a 4 function calculator.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.
    "Change is inevitable... change for the better is not".

    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)
    Intro to Tally Tables and Functions

  • Jeff Moden (12/16/2008)Personally, I think everyone getting into computers should have to learn hand assembly of machine language using only a hex keypad and hex register display... just like I think people should learn a little math before they're even allowed to come close to just a 4 function calculator.

    Alright Mr. RBAR, I think that's called 'HBAH', Hex By Agonizing Hex.

    Just because you had to walk uphill in the snow both ways doesn't mean that those of us who rode the bus should have to.

    ---------------------------------------------------------
    How best to post your question[/url]
    How to post performance problems[/url]
    Tally Table:What it is and how it replaces a loop[/url]

    "stewsterl 80804 (10/16/2009)I guess when you stop and try to understand the solution provided you not only learn, but save yourself some headaches when you need to make any slight changes."

  • Jeff Moden (12/16/2008)


    Ed Salva (12/16/2008)


    Jeff Moden (12/12/2008)


    Personally, I think everyone getting into computers should have to learn hand assembly of machine language using only a hex keypad and hex register display.

    I learned assembler well enough to write business programs, so I see what you mean. However, the reason we have compilers and high level languages is to abstract the low level stuff. I manage a business app development team. A programmer who could code a compiler would be no use to my team, but a good hacker with two years of customer service experience at McDonalds certainly would, if you see what I mean.

  • gcopeland (12/17/2008)


    Jeff Moden (12/16/2008)


    Ed Salva (12/16/2008)


    Jeff Moden (12/12/2008)


    Personally, I think everyone getting into computers should have to learn hand assembly of machine language using only a hex keypad and hex register display.

    I learned assembler well enough to write business programs, so I see what you mean. However, the reason we have compilers and high level languages is to abstract the low level stuff. I manage a business app development team. A programmer who could code a compiler would be no use to my team, but a good hacker with two years of customer service experience at McDonalds certainly would, if you see what I mean.

    In terms of business, there is a certain "Walmart" logic to what you say. But you can't help admire a well crafted system.

    -- Optimist with experience and still learning

  • Ed Salva (12/17/2008)


    In terms of business, there is a certain "Walmart" logic to what you say. But you can't help admire a well crafted system.

    Ah, but notice you said "craft", not "engineer". Knowledge of assembly-level processes can help a craftsman deliver a good business system, but it is not sufficient.

  • BWAA-HAAAA! As opposed to what? Today's bloated "systems" and people who think spreadsheets and XML are an efficient manner of data transfer? Right... 😉

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.
    "Change is inevitable... change for the better is not".

    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)
    Intro to Tally Tables and Functions

  • Jeff Moden (12/17/2008)


    BWAA-HAAAA! As opposed to what? Today's bloated "systems" and people who think spreadsheets and XML are an efficient manner of data transfer? Right... 😉

    Now Jeff, I admire your technical expertise, but I knew beforehand you would say that, which is why I brought this subject up in the first place.

    I always have to explain to tech gurus that, in business, the only poorly written system is one that doesn't meet customer requirements. I agree that it should also be good from a technical perspective, but only because that demonstrates good craftsmanship. The customer could care less.

  • Jeff Moden (12/17/2008)


    BWAA-HAAAA! As opposed to what? Today's bloated "systems" and people who think spreadsheets and XML are an efficient manner of data transfer? Right... 😉

    Oh, man, don't remind me. I need to do an XML transfer system from one Access database into another Access database. I can't do it directly because we don't control the code for either system.

    *sigh* :sick:

    -----
    [font="Arial"]Knowledge is of two kinds. We know a subject ourselves or we know where we can find information upon it. --Samuel Johnson[/font]

  • I have nothing related to the technical aspects of this article that haven't already been said, but I too have to take exception 😛 on the art of fletching becoming obsolete. I've been passing on primitive bowmaking and arrow building skills to as many people as I can schedule into my tiny workshop for many years now. I have a good friend (http://www.raptorarchery.com/) who among other ventures in his archery business makes quite a tidy sum harvesting and selling yew wood to the royal archer society of England, where they are not allowed to harvest the few remaining yew trees they have left. He markets nicely finished custom arrows as well as the raw materials to make them (shameless plug).

    I haven't tried fletching a pork chop yet, a complete broom handle is the longest I've gone for and atl-atl dart, but I've found that a frozen turkey launches quite nicely in my trebuchet. It was a spur of the moment urge to sling the bird after we had some thanksgiving guests not show up and we were standing around wondering what to to with the extra fowl, after consuming multiple howebrews of course.


    maddog

  • Keep in mind... micro only along with a single bi-directional A/D converter. Now those were the days.

    Jeff,

    It's obvious what a bi-directional A/D converter is, but it's hard for me to picture it. I don't think I've ever seen that chip.

    Tom Garth
    Vertical Solutions[/url]

    "There are three kinds of men. The one that learns by reading. The few who learn by observation. The rest of them have to pee on the electric fence for themselves." -- Will Rogers
  • maddogs (12/17/2008)


    I have nothing related to the technical aspects of this article that haven't already been said, but I too have to take exception 😛 on the art of fletching becoming obsolete. I've been passing on primitive bowmaking and arrow building skills to as many people as I can schedule into my tiny workshop for many years now. I have a good friend (http://www.raptorarchery.com/) who among other ventures in his archery business makes quite a tidy sum harvesting and selling yew wood to the royal archer society of England, where they are not allowed to harvest the few remaining yew trees they have left. He markets nicely finished custom arrows as well as the raw materials to make them (shameless plug).

    I haven't tried fletching a pork chop yet, a complete broom handle is the longest I've gone for and atl-atl dart, but I've found that a frozen turkey launches quite nicely in my trebuchet. It was a spur of the moment urge to sling the bird after we had some thanksgiving guests not show up and we were standing around wondering what to to with the extra fowl, after consuming multiple howebrews of course.

    Dude! When's the party? Archery, trebuchets, home-brew... I'm so there.

    ----------------------------------------------------The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood... Theodore RooseveltThe Scary DBAAuthor of: SQL Server 2017 Query Performance Tuning, 5th Edition and SQL Server Execution Plans, 3rd EditionProduct Evangelist for Red Gate Software

  • gcopeland (12/17/2008)


    Ed Salva (12/17/2008)


    In terms of business, there is a certain "Walmart" logic to what you say. But you can't help admire a well crafted system.

    Ah, but notice you said "craft", not "engineer". Knowledge of assembly-level processes can help a craftsman deliver a good business system, but it is not sufficient.

    You've got me with my words but not my intent. Much of the stuff at walmart is engineered too. BTW Walmart is a conundrum it's easy to argue either side.

    -- Optimist with experience and still learning

Viewing 15 posts - 46 through 60 (of 73 total)

You must be logged in to reply to this topic. Login to reply