October 29, 2018 at 9:16 pm
Comments posted to this topic are about the item Skills for Everyone in Tech
Aunt Kathi Data Platform MVP
Author of Expert T-SQL Window Functions
Simple-Talk Editor
October 30, 2018 at 3:56 am
October 30, 2018 at 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? 😀
--Jeff Moden
Change is inevitable... Change for the better is not.
October 30, 2018 at 6:58 am
I have to disagree about the mathematics. I've heard this "need math!" creed my whole career (40 years) and it simply is not true.
Of course, if you're dealing with math-related programs (like statistics, plotting, mapping, 3D CAD, etc.) then you do need it. But the vast majority of applications and nearly all database work does NOT need anything beyond the most basic of algebra (and Boolean algebra). Even relational algebra isn't required for 3NF, only to derive the principles--which has already been done.
It has been said programs are literally math and in a very special sense this is true, but the integer, finite-state math involved is as different from general, non-finite mathematics as the plant kingdom is from the animal kingdom.
If I actually ever need to deal with higher math (say, calculus) I go find a mathematician (or more likely, Google the formulas needed).
Finally, soft skills are important--if you're dealing with enterprise environments. There everything is political and you need basic political skills so you don't piss off somebody who then makes it their life's ambition to get you fired. In the SMBs where I've spent the majority of my career people skills beyond "don't be a jerk" aren't really needed.
But then again, I don't really consider requirements gathering a people skill, it's more forensics, but I'm probably biased. 🙂
October 30, 2018 at 7:41 am
Jeff Moden - Tuesday, October 30, 2018 6:39 AMIf 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
J. Drew Allen
Business Intelligence Analyst
Philadelphia, PA
October 30, 2018 at 7:52 am
I got my undergrad in math and have found about half of it very helpful in my professional career. Discrete math is particularly helpful when working in SQL. I am curious how many people here have needed calculus. I had the option of studying either operations research (optimization) or statistics for my degree and I went with OR. While it has been helpful on a few occasions, I really wish I also had the statistics background as I've run into many challenges, particularly in the areas where DBA and BI development overlap, that really require statistical proficiency.
Anyone out there ever used calculus in their programming career?
Be still, and know that I am God - Psalm 46:10
October 30, 2018 at 8:01 am
drew.allen - Tuesday, October 30, 2018 7:41 AMJeff Moden - Tuesday, October 30, 2018 6:39 AMIf 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.
--Jeff Moden
Change is inevitable... Change for the better is not.
October 30, 2018 at 8:08 am
Jeff Moden - Tuesday, October 30, 2018 8:01 AMdrew.allen - Tuesday, October 30, 2018 7:41 AMJeff Moden - Tuesday, October 30, 2018 6:39 AMIf 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
J. Drew Allen
Business Intelligence Analyst
Philadelphia, PA
October 30, 2018 at 8:34 am
drew.allen - Tuesday, October 30, 2018 8:08 AMJeff Moden - Tuesday, October 30, 2018 8:01 AMdrew.allen - Tuesday, October 30, 2018 7:41 AMJeff Moden - Tuesday, October 30, 2018 6:39 AMIf 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
This may not be an entirely accurate description but it's what I used to get my head around the difference...
In a procedural language, you're telling the computer what you want it to do. In a declarative language, you're telling the computer what result you want.
The difference being, in the declarative language, algorithms, not the programmer, choose the actual process steps needed to get at the desired result.
October 30, 2018 at 8:38 am
david.gugg - Tuesday, October 30, 2018 7:52 AMAnyone out there ever used calculus in their programming career?
Nope, not in my 27+ years of programming.
-------------------------------------------------------------
we travel not to escape life but for life not to escape us
Don't fear failure, fear regret.
October 30, 2018 at 8:38 am
drew.allen - Tuesday, October 30, 2018 8:08 AMJeff Moden - Tuesday, October 30, 2018 8:01 AMdrew.allen - Tuesday, October 30, 2018 7:41 AMJeff Moden - Tuesday, October 30, 2018 6:39 AMIf 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.
--Jeff Moden
Change is inevitable... Change for the better is not.
October 30, 2018 at 11:49 am
roger.plowman - Tuesday, October 30, 2018 6:58 AMI have to disagree about the mathematics. I've heard this "need math!" creed my whole career (40 years) and it simply is not true.Of course, if you're dealing with math-related programs (like statistics, plotting, mapping, 3D CAD, etc.) then you do need it. But the vast majority of applications and nearly all database work does NOT need anything beyond the most basic of algebra (and Boolean algebra). Even relational algebra isn't required for 3NF, only to derive the principles--which has already been done.
It has been said programs are literally math and in a very special sense this is true, but the integer, finite-state math involved is as different from general, non-finite mathematics as the plant kingdom is from the animal kingdom.
If I actually ever need to deal with higher math (say, calculus) I go find a mathematician (or more likely, Google the formulas needed).
Finally, soft skills are important--if you're dealing with enterprise environments. There everything is political and you need basic political skills so you don't piss off somebody who then makes it their life's ambition to get you fired. In the SMBs where I've spent the majority of my career people skills beyond "don't be a jerk" aren't really needed.
But then again, I don't really consider requirements gathering a people skill, it's more forensics, but I'm probably biased. 🙂
I do agree with knowing mathematics is handy. Not so much how to do integration by parts or partial differential equations. But how to think logically. Mathematics teaches you that. Although, I'd point out that other degrees in college do, too, such as a degree in philosophy. (For those few who get degrees in philosophy.)
Anyway, I've gotten a degree in mathematics and it's what helped me get into this field in the first place.
Kindest Regards, Rod Connect with me on LinkedIn.
October 30, 2018 at 1:43 pm
david.gugg - Tuesday, October 30, 2018 7:52 AMI got my undergrad in math and have found about half of it very helpful in my professional career. Discrete math is particularly helpful when working in SQL. I am curious how many people here have needed calculus. I had the option of studying either operations research (optimization) or statistics for my degree and I went with OR. While it has been helpful on a few occasions, I really wish I also had the statistics background as I've run into many challenges, particularly in the areas where DBA and BI development overlap, that really require statistical proficiency.Anyone out there ever used calculus in their programming career?
Oh so true. Haven't touched an integral in decades, the only trig I've used is on my home projects.
...
-- FORTRAN manual for Xerox Computers --
October 30, 2018 at 2:34 pm
david.gugg - Tuesday, October 30, 2018 7:52 AMI got my undergrad in math and have found about half of it very helpful in my professional career. Discrete math is particularly helpful when working in SQL. I am curious how many people here have needed calculus. I had the option of studying either operations research (optimization) or statistics for my degree and I went with OR. While it has been helpful on a few occasions, I really wish I also had the statistics background as I've run into many challenges, particularly in the areas where DBA and BI development overlap, that really require statistical proficiency.Anyone out there ever used calculus in their programming career?
Hmm... have I ever used calculus as in written a differential or integral equation to solve something since college, no I have not. But I have gotten quite a lot of use out of some of the various lessons from computer science that are based on applied calculus.
October 31, 2018 at 8:41 am
jay-h - Tuesday, October 30, 2018 1:43 PMdavid.gugg - Tuesday, October 30, 2018 7:52 AMI got my undergrad in math and have found about half of it very helpful in my professional career. Discrete math is particularly helpful when working in SQL. I am curious how many people here have needed calculus. I had the option of studying either operations research (optimization) or statistics for my degree and I went with OR. While it has been helpful on a few occasions, I really wish I also had the statistics background as I've run into many challenges, particularly in the areas where DBA and BI development overlap, that really require statistical proficiency.Anyone out there ever used calculus in their programming career?
Oh so true. Haven't touched an integral in decades, the only trig I've used is on my home projects.
Same here. I've not used any Calculus at all. Nor differential equations (partial or ordinary). Like Jay-h said, I've used trig, but for home projects. Nice to know, though. Statistics and probability has been helpful in my career.
Kindest Regards, Rod Connect with me on LinkedIn.
Viewing 15 posts - 1 through 15 (of 18 total)
You must be logged in to reply to this topic. Login to reply