T-Sql rant

  • steve dassin (4/3/2009)


    The sql community has ignored someone whose spent a lifetime trying to explain why there's nothing relational about sql.

    Heh... a lot of us got it the first time... We're just tired of listening to the rhetoric about it because... it just doesn't matter. 😉

    --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

  • SQL is an ANSI-standard language. I like that simplicity. What works on SQL Server can work on Oracle and can work in MySQL -- or any other ANSI-standard database. There's a strategic advantage -- and elegance -- to this.

    The old phrase, KISS, is very appropriate here. There's no reason why the simple instructs of SQL should be complexed up. And, easily enough, my ANSI-standard SQL code on SQL Server can be moved directly to MySQL without a hitch.

    It's data we're working with here. T-SQL does the basics, wrapped around an ANSI-standard language. I'm a big believer in getting to the data quickly and with minimal constructs in the way. OOP is a beautiful process/language -- but methinks it gets in the way of the more efficient simplicity of SQL itself.

    Seth J Hersh

  • Jeff Moden (4/3/2009)


    steve dassin (4/3/2009)


    The sql community has ignored someone whose spent a lifetime trying to explain why there's nothing relational about sql.

    Heh... a lot of us got it the first time... We're just tired of listening to the rhetoric about it because... it just doesn't matter. 😉

    >We're just tired of listening to the rhetoric about it..

    I can at least relate to this sentiment. For many rhetoric by itself is just not compelling enough. That's precisely why I ask users to work with the material directly. No one expects anyone is going all in based on anyone's word about it. But I can see no reason for a wall of indifference. After all I'm not talking to people picked randomly from a phone directory There are highly educated and skilled professionals here.

    >it just doesn't matter

    That's childish. Since when has inquisitiveness died?

    best,

    steve

    www.beyondsql.blogspot.com

  • Thanks Steve... but you missed the other part... why does anyone think it matters so much? SQL is what it is... use it or not. You're trying to help out in some of it's shortcomings by having written DataPhor and telling people about why you think its beneficial. That doesn't require brow beating people into thinking SQL sucks... the brow beatings are what cause the wall. Heh... you have to "LET people see it your way." And, if you really want to banner your cause, all you people that say SQL sucks so much should get together and write a new full-up RDBMS, market it, and sell it.

    --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

  • steve dassin (4/3/2009)


    DCPeterson (4/3/2009)


    Chris Date's incoherency principle is in full force...

    Now that's funny! 🙂 The sql community has ignored someone whose spent a lifetime trying to explain why there's nothing relational about sql. If only the sql community could hear itself think. That giant sucking sound you do hear is the incoherent nature of sql. Maybe all those naive developers aren't so stupid after all 🙂

    www.beyondsql.blogspot.com

    I respect the contributions of E.F.Codd and Chris Date and would welcome the opportunity to transition to a truly relational DBMS. Unfortunately, despite several efforts to do so, the actual implementation of such a DBMS is apparently quite difficult if not impossible to achieve. So, we are stuck with SQL which is not relational, but it's better than the alternatives that currently exist. It works, maybe not as well as it should, but I'd rather light a dim bulb than sit and curse the dark...

    Nobody is saying that programmers are stupid, but some of them clearly don't understand SQL or even the concept of working with sets. It is these who cry the loudest and blame SQL for their problems, when in fact it is their inability to see beyond their hierarchical trees and inheritance models that cause much of the pain.

    I'll admit that it's been awhile, but I did look at Dataphor back when it was a commercial product (I take from your comments that it's now open source). The performance was not terrific, and the learning curve hardly justified the benefit I saw could be derived from its use. Frankly, it just didn't eliminate any pain points, so why bother? Maybe it's worth a second look, but I'm a pretty busy guy. Your brow beating about the flaws of SQL does not increase my desire to give Dataphor another look...

    /*****************

    If most people are not willing to see the difficulty, this is mainly because, consciously or unconsciously, they assume that it will be they who will settle these questions for the others, and because they are convinced of their own capacity to do this. -Friedrich August von Hayek

    *****************/

  • DCPeterson (4/4/2009)


    steve dassin (4/3/2009)


    DCPeterson (4/3/2009)


    Chris Date's incoherency principle is in full force...

    Now that's funny! 🙂 The sql community has ignored someone whose spent a lifetime trying to explain why there's nothing relational about sql. If only the sql community could hear itself think. That giant sucking sound you do hear is the incoherent nature of sql. Maybe all those naive developers aren't so stupid after all 🙂

    www.beyondsql.blogspot.com

    I respect the contributions of E.F.Codd and Chris Date and would welcome the opportunity to transition to a truly relational DBMS. Unfortunately, despite several efforts to do so, the actual implementation of such a DBMS is apparently quite difficult if not impossible to achieve. So, we are stuck with SQL which is not relational, but it's better than the alternatives that currently exist. It works, maybe not as well as it should, but I'd rather light a dim bulb than sit and curse the dark...

    Nobody is saying that programmers are stupid, but some of them clearly don't understand SQL or even the concept of working with sets. It is these who cry the loudest and blame SQL for their problems, when in fact it is their inability to see beyond their hierarchical trees and inheritance models that cause much of the pain.

    I'll admit that it's been awhile, but I did look at Dataphor back when it was a commercial product (I take from your comments that it's now open source). The performance was not terrific, and the learning curve hardly justified the benefit I saw could be derived from its use. Frankly, it just didn't eliminate any pain points, so why bother? Maybe it's worth a second look, but I'm a pretty busy guy. Your brow beating about the flaws of SQL does not increase my desire to give Dataphor another look...

    Well, they'll stone ya when you're trying to be so good,

    They'll stone ya just like they said they would.

    They'll stone ya when you're tryin' to go home.

    Then they'll stone ya when you're there all alone.

    But I would not feel so all alone,

    Everybody must get stoned.

    Rainy Day Sql #12 And #35 by Dylan

    >...the learning curve hardly justified the benefit I saw could be derived from its use.

    Yeah this is the general feeling of developers to learning sql 🙂 Ok dataphor is a beast and learning all the different aspects is rather daunting. But I've a much narrower focus when it comes to sql programmers and experts. I'm advocating getting into it via dataphors query construction. I'm suggesting you not so much study it as 'play' with it. After all what's more near and dear to the hearts of sql folks than a good query challenge 🙂 I think sql'ers will enjoy and take satisfaction in the declarative 'algebra' as opposed to the sql approach. C'mon do you really have something against parentheses? 🙂 Closure is not a concept that's usually thrown around in sql circles. But it's rather easy and very, very playful 🙂 As for 'benefits' that'll come later after your head gets around some new ways of dealing

    with things. Hell its not that easy to write about the benefits of body painting. But I'm told that those that do enjoy it..a lot 🙂

    >Your brow beating about the flaws of SQL does not increase my desire to give Dataphor another look...

    I'm aware of this trap. I'm not going to win many friends trashing your favorite restaurant. I'm trying to be positive without boring people to death 🙂 Take a bite of a few of my blog articles. Maybe you'll find something playful that tastes good. Maybe you like thinking in terms of types as well as sets. Maybe Date really knows what he's talking about 🙂

    best,

    steve

    www.beyondsql.blogspot.com

  • steve dassin (4/4/2009)


    C'mon do you really have something against parentheses?

    Actually, yeah. 😉

    --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 (4/4/2009)


    steve dassin (4/4/2009)


    C'mon do you really have something against parentheses?

    Actually, yeah. 😉

    Personally I hate those curly braces. Growl.

  • Jeff Moden (4/4/2009)


    steve dassin (4/4/2009)


    C'mon do you really have something against parentheses?

    Actually, yeah. 😉

    Has this site lost sight of its basic algebraic senses? 🙂 I mean all those ands and ors in your where statements. Now I'm telling you you can apply the same algebra to tables and table expressions. Your not afraid of coming under the influence, are you? 🙂

    best,

    steve

    www.beyondsql.blogspot.com

  • Mike C (4/4/2009)


    Jeff Moden (4/4/2009)


    steve dassin (4/4/2009)


    C'mon do you really have something against parentheses?

    Actually, yeah. 😉

    Personally I hate those curly braces. Growl.

    C'mon you got something against the three stooges too? And I'm not asking you to write in Moe and Larry too. But no Curly no tables, no rows and no lists, Want do you want to do manipulate just numbers and strings? 🙂

  • Hi Everybody

    I didn't notice this "The Thread" since now. I've read (almost) all posts but I think there are some thinks still not said. Just the most important in, in my opinion. I'll keep it short.

    Debugging and IntelliSense

    Fox, you are absolutely correct! Debugging integration is much better in C#! In SQL Server 2008 the debugging functionality is much better and IntelliSense was introduced. Since now the IntelliSense is helpful but still not as good as in C#. Hope this will be better in SQL Server 2010.

    UPDATE

    This is one of the features I'm really missing in C#! Like (pseudo):

    UPDATE anyList SET ObjectInside.AnyProperty = 1 WHERE ObjectInside.OtherProperty == "Hello World";

    Instead of:

    foreach (MyType obj in anyList)

    {

    if (obj.OtherProperty == "Hello World")

    obj.AnyProperty = 1;

    }

    Why T-SQL instead of only C#

    Well, the English word for this would be "all-in-one"; in this case I like much more the German "The oviparous wool-milk-pig" - translated literally.

    I just don't think that SQL is the only other language you have to handle if you use C#. You wrote that you use XML, what about XPath or XSLT. Do you handle huge string operations? What about Reg-Ex? Do you write Web-Pages? What about HTML or Java-Script?

    As you see there are always thinks which have to be done without C#. 😉

    Greets

    Flo

  • steve dassin (4/4/2009)


    Mike C (4/4/2009)


    Jeff Moden (4/4/2009)


    steve dassin (4/4/2009)


    C'mon do you really have something against parentheses?

    Actually, yeah. 😉

    Personally I hate those curly braces. Growl.

    C'mon you got something against the three stooges too? And I'm not asking you to write in Moe and Larry too. But no Curly no tables, no rows and no lists, Want do you want to do manipulate just numbers and strings? 🙂

    Didn't say anything about no tables, rows, or lists. I'm not even against proper use of parenthesis or curly braces but, a good number of languages make them mandatory where they simply don't need to exist.

    --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 (4/5/2009)


    steve dassin (4/4/2009)


    Mike C (4/4/2009)


    Jeff Moden (4/4/2009)


    steve dassin (4/4/2009)


    C'mon do you really have something against parentheses?

    Actually, yeah. 😉

    Personally I hate those curly braces. Growl.

    C'mon you got something against the three stooges too? And I'm not asking you to write in Moe and Larry too. But no Curly no tables, no rows and no lists, Want do you want to do manipulate just numbers and strings? 🙂

    Didn't say anything about no tables, rows, or lists. I'm not even against proper use of parenthesis or curly braces but, a good number of languages make them mandatory where they simply don't need to exist.

    I those curly braces because I'm programming C# but it's like breaking your fingers on German keyboard...!

  • steve dassin (4/4/2009)


    Mike C (4/4/2009)


    Jeff Moden (4/4/2009)


    steve dassin (4/4/2009)


    C'mon do you really have something against parentheses?

    Actually, yeah. 😉

    Personally I hate those curly braces. Growl.

    C'mon you got something against the three stooges too? And I'm not asking you to write in Moe and Larry too. But no Curly no tables, no rows and no lists, Want do you want to do manipulate just numbers and strings? 🙂

    I always preferred Abbott and Costello. Even the Marx Brothers. The Three Stooges never really did it for me, no.

    "But no Curly no tables, no rows and no lists..." This seems to imply that there's no way to represent tables, rows and "lists" without curly braces. I can only assume this holds true specifically for whatever it is you're selling?

  • [font="Verdana"]It puzzles me as well, and I've commented earlier on that. "row-by-row" is just as agonising in Oracle as it is in SQL Server.

    About the only thing I can think of is that Oracle allows you to pass around reference cursors as a way of returning a result set from a stored procedure. That's about the only acceptable use of cursors in Oracle I can think of.

    [/font]

Viewing 15 posts - 421 through 435 (of 465 total)

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