Skills for Everyone in Tech

  • Jeff Moden - Tuesday, October 30, 2018 6:39 AM

    If knowing how to program in one language basically means that, with some syntax changes, you know how to program in every language, I wonder why so many people have such difficulty with the paradigm change required for programming in SQL.  Of course, it's the differences between what people call "procedural" languages and "declarative" languages.

    And SQL is quite different.  It varies greatly from one RDBMS engine to another, especially when you get into anything sophisticated.

    Heh... now, where's the coffee and what kind of pizza are we having today? 😀

    I guess I can understand, because to me object oriented is like an alien landscape...  I was starting to understand it once, but then I got laid off and never got back into it.  I have done a few small C# projects the past 8 years, but I'm sure they wouldn't pass the OO test.  

    Being in a 2 person shop, I can go for days without seeing anybody if I really try.  Hehehe

  • miapjp - Wednesday, October 31, 2018 10:54 AM

    Jeff Moden - Tuesday, October 30, 2018 6:39 AM

    If knowing how to program in one language basically means that, with some syntax changes, you know how to program in every language, I wonder why so many people have such difficulty with the paradigm change required for programming in SQL.  Of course, it's the differences between what people call "procedural" languages and "declarative" languages.

    And SQL is quite different.  It varies greatly from one RDBMS engine to another, especially when you get into anything sophisticated.

    Heh... now, where's the coffee and what kind of pizza are we having today? 😀

    I guess I can understand, because to me object oriented is like an alien landscape...  I was starting to understand it once, but then I got laid off and never got back into it.  I have done a few small C# projects the past 8 years, but I'm sure they wouldn't pass the OO test.  

    Being in a 2 person shop, I can go for days without seeing anybody if I really try.  Hehehe

    Personally I loved working in C++, because you constructed a model of your objects and behaviors and everything was defined in terms of 'almost like X but different in specific ways". I once got into a discussion of C++ at a resort (yeah, don't ask) and it turns out the guy I was talking to was part of the original development team. Small world.

    But what I never could get the hang of is the declarative languages like Prolog (and to some degree, Lisp). It was hard to imagine getting them to do anything useful.

    ...

    -- FORTRAN manual for Xerox Computers --

  • Jeff Moden - Tuesday, October 30, 2018 8:38 AM

    drew.allen - Tuesday, October 30, 2018 8:08 AM

    Jeff Moden - Tuesday, October 30, 2018 8:01 AM

    drew.allen - Tuesday, October 30, 2018 7:41 AM

    Jeff Moden - Tuesday, October 30, 2018 6:39 AM

    If knowing how to program in one language basically means that, with some syntax changes, you know how to program in every language, I wonder why so many people have such difficulty with the paradigm change required for programming in SQL.  Of course, it's the differences between what people call "procedural" languages and "declarative" languages.

    And SQL is quite different.  It varies greatly from one RDBMS engine to another, especially when you get into anything sophisticated.

    Heh... now, where's the coffee and what kind of pizza are we having today? 😀

    I think it's actually changing from linear to set-based which is more of a paradigm shift.

    Drew

    Basically, those are the same differences as "procedural" and "declarative", IMHO.  A lot of people don't realize that, at its simplest, a SELECT is actually a loop or set of loops behind the scenes. 

    Whatever you wish to call it, the understanding that you have to think about what you want to do to a column rather than what you want do to a row helped me a whole lot when I was a beginner.  So much so that I carry that advice in my signature line below and have gotten feedback from some as to how it suddenly made SQL easier.  They weren't getting the "set based" concept but could easily grasp the "work on columns instead of rows" concept.

    I actually Googled procedural vs. declarative programming before posting, and it sounds like that is a different distinction than linear vs. set-based.  I do think that there is a high correlation between the two, but I don't think that they are necessarily the same.

    Drew

    Guess I'll have to disagree a bit here.  You can actually do "linear set based programming".  It's a key to "Divide'n'Conquer" methods.

    I've been perusing https://en.wikipedia.org/wiki/Linear_programming and its certainly not something I've ever messed with. Are you actively using this sort of stuff? Looks pretty interesting!

  • patrickmcginnis59 10839 - Wednesday, October 31, 2018 12:37 PM

    Jeff Moden - Tuesday, October 30, 2018 8:38 AM

    drew.allen - Tuesday, October 30, 2018 8:08 AM

    Jeff Moden - Tuesday, October 30, 2018 8:01 AM

    drew.allen - Tuesday, October 30, 2018 7:41 AM

    Jeff Moden - Tuesday, October 30, 2018 6:39 AM

    If knowing how to program in one language basically means that, with some syntax changes, you know how to program in every language, I wonder why so many people have such difficulty with the paradigm change required for programming in SQL.  Of course, it's the differences between what people call "procedural" languages and "declarative" languages.

    And SQL is quite different.  It varies greatly from one RDBMS engine to another, especially when you get into anything sophisticated.

    Heh... now, where's the coffee and what kind of pizza are we having today? 😀

    I think it's actually changing from linear to set-based which is more of a paradigm shift.

    Drew

    Basically, those are the same differences as "procedural" and "declarative", IMHO.  A lot of people don't realize that, at its simplest, a SELECT is actually a loop or set of loops behind the scenes. 

    Whatever you wish to call it, the understanding that you have to think about what you want to do to a column rather than what you want do to a row helped me a whole lot when I was a beginner.  So much so that I carry that advice in my signature line below and have gotten feedback from some as to how it suddenly made SQL easier.  They weren't getting the "set based" concept but could easily grasp the "work on columns instead of rows" concept.

    I actually Googled procedural vs. declarative programming before posting, and it sounds like that is a different distinction than linear vs. set-based.  I do think that there is a high correlation between the two, but I don't think that they are necessarily the same.

    Drew

    Guess I'll have to disagree a bit here.  You can actually do "linear set based programming".  It's a key to "Divide'n'Conquer" methods.

    I've been perusing https://en.wikipedia.org/wiki/Linear_programming and its certainly not something I've ever messed with. Are you actively using this sort of stuff? Looks pretty interesting!

    It does look very interesting but, no, not what I was talking about.  Maybe that's why Drew and I had a disconnect.  Maybe he was talking about the type of linear programming that's covered in that article.  I took, by the context it was used in, to mean that he was talking about as (basically) "Top-Down" programming.

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

Viewing 4 posts - 16 through 18 (of 18 total)

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