Author |
Topic |
joe8079
Posting Yak Master
127 Posts |
Posted - 2012-06-30 : 11:42:30
|
Not sure where to post this but would you say becoming a pro at SQL programming is easier than say Java or other programming languages? The reason I ask is one of the programmers at my job said if he needed to he could learn SQL in a week and I kind of took offense to that because it has taken me and other people on my team some time to really develop to where we're at now. I would say we're at a pretty high level using the optimizer, dynamic queries and all kinds of other tools and for someone to say they could learn this in a week was kind offensive. |
|
sunitabeck
Master Smack Fu Yak Hacker
5155 Posts |
Posted - 2012-06-30 : 13:56:06
|
quote: Originally posted by joe8079 Not sure where to post this but would you say becoming a pro at SQL programming is easier than say Java or other programming languages? The reason I ask is one of the programmers at my job said if he needed to he could learn SQL in a week and I kind of took offense to that because it has taken me and other people on my team some time to really develop to where we're at now. I would say we're at a pretty high level using the optimizer, dynamic queries and all kinds of other tools and for someone to say they could learn this in a week was kind offensive.
Your colleague is just as much right as the person who suggests that it is easy to learn chess. It probably takes a few days to master the basic chess moves. But if you want to get to a rating of 1,800, it would take several months or even years of practice for most of us. Almost all of us, with the exception of the gifted few can forget about getting to 2,400. And so it is with SQL programming. Most of us can learn to write "SELECT * FROM Customers" just as easily as the beginning chess player who easily learns the first few moves of the Kings Indian Defense. But to write bug-free reliable queries that will perform well takes a much deeper understanding of relational databases and SQL Server's implementation of it. Except for those among us who can walk on water without the aid of jet skis would find getting to that level of understanding of SQL takes months and years of learning and practice.I would go one step further and suggest that it is harder to learn and be a good SQL programmer than to learn .Net or Java programming. Most of us can naturally think in terms of procedural programming and object-oriented designs. But to think in sets and do set-based programming which is at the heart of database programming takes a special mind-set and is harder - because most human beings don't naturally think in sets. I am not just bloviating - I used to be a .Net programmer until recently.In a lot of SQL databases, you will see cursors and while loops being used liberally. Without a doubt, novice chess players or Java programmers who learned SQL in one week wrote those queries. Unfortunately (or fortunately) SQL Server, like a Stradivarius, quite often makes even mediocre players sound awesome. |
|
|
Michael Valentine Jones
Yak DBA Kernel (pronounced Colonel)
7020 Posts |
Posted - 2012-06-30 : 16:00:54
|
That remark was probably meant as an insult.I would give more credibility to a comment from someone who had actually mastered TSQL, Java, and several other languages.My guess would be that they haven't mastered any programming languages, so had no basis for that statement. It's easy to run your mouth about something you don't understand.I'm fairly certain that I could master quantum mechanics, general relativity, and string theory in about a week if I really wanted to. CODO ERGO SUM |
|
|
joe8079
Posting Yak Master
127 Posts |
Posted - 2012-06-30 : 16:42:59
|
thanks, I feel a lot better. I do feel mastering SQL takes time and patience and it is not something you pick up over night. |
|
|
madhivanan
Premature Yak Congratulator
22864 Posts |
Posted - 2012-07-02 : 02:07:18
|
Getting into basic learning is easy not only in sql MadhivananFailing to plan is Planning to fail |
|
|
elwoos
Master Smack Fu Yak Hacker
2052 Posts |
Posted - 2012-07-02 : 06:16:02
|
Some time ago a computing lecturer claimed that if you knew one programming language you could learn another in a week or two. At the time he may not have been too far off the mark. Even if it was true then I'm not sure it is now.The difference with SQL is the kind of mindset you need, if you can think in terms of sets you will grasp it a lot quicker. All too often on these forums there have been examples of where developers had "learnt" SQL and written some of the most horrible code ever seen because they don't have the mindset. If you don't believe me just search for cursors.As others have said you can learn the basics fairly readily but mastery is a whole different ball game. Thankfully we have SQLTeam -----------Insanity: doing the same thing over and over again and expecting different results. |
|
|
robvolk
Most Valuable Yak
15732 Posts |
Posted - 2012-07-02 : 06:55:21
|
http://pragprog.com/book/btlang/seven-languages-in-seven-weeksIf your co-worker can knock out that book in the prescribed seven weeks, then maybe they can learn SQL in another week. UNTIL they do that, however... |
|
|
Michael Valentine Jones
Yak DBA Kernel (pronounced Colonel)
7020 Posts |
Posted - 2012-07-02 : 08:31:37
|
quote: Originally posted by robvolk http://pragprog.com/book/btlang/seven-languages-in-seven-weeksIf your co-worker can knock out that book in the prescribed seven weeks, then maybe they can learn SQL in another week. UNTIL they do that, however...
I've haven't even heard of five of the seven languages. CODO ERGO SUM |
|
|
Michael Valentine Jones
Yak DBA Kernel (pronounced Colonel)
7020 Posts |
Posted - 2012-07-02 : 08:35:51
|
Of course, some people are better than others at learning new languages.http://en.wikipedia.org/wiki/Richard_Francis_Burton"...He was known for his travels and explorations within Asia, Africa and the Americas as well as his extraordinary knowledge of languages and cultures. According to one count, he spoke 29 European, Asian and African languages..."CODO ERGO SUM |
|
|
joe8079
Posting Yak Master
127 Posts |
Posted - 2012-07-02 : 17:00:09
|
this is good to know, just wanted to make sure other people felt the same way. Anyway, my co worker is a java/php developer and is kind of arrogant so this def makes me feel better. |
|
|
robvolk
Most Valuable Yak
15732 Posts |
Posted - 2012-07-02 : 17:21:44
|
quote: Anyway, my co worker is a java/php developer and is kind of arrogant
Kinda redundant, isn't it? I can GUARANTEE you they know nothing about SQL.This will make you feel better:http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.htmlhttp://www.codinghorror.com/blog/2012/06/the-php-singularity.html |
|
|
X002548
Not Just a Number
15586 Posts |
Posted - 2012-07-04 : 12:52:48
|
What about their credentials? |
|
|
nigelrivett
Master Smack Fu Yak Hacker
3385 Posts |
Posted - 2012-07-04 : 13:39:22
|
He's right. Just like you can learn any language (including Java and php) in a few days.You can also go on a course and learn what's available in a week.Whether you will know how to use it is another matter.I usually reckon I can get to the level in a few weeks that a lot of people who claim to know a language are at (just because I know a lot of languages). To be competant at a basic level I would say takes a couple of years solid usage and a willingness to learn.==========================================Cursors are useful if you don't know sql.SSIS can be used in a similar way.Beer is not cold and it isn't fizzy. |
|
|
StFe
Starting Member
44 Posts |
Posted - 2012-07-04 : 14:49:23
|
Of course, SQL is much a simpler lang than e.g. C++.Plus, it is a declarative lang and afaik it was inventedfor managers and other "profanes". |
|
|
Transact Charlie
Master Smack Fu Yak Hacker
3451 Posts |
Posted - 2012-07-05 : 06:34:01
|
interesting topic. Kudos!Seven languages in Seven weeks is a very good book. I really like the Pragmatic series as a whole. Shame they included Ruby rather than python as I much prefer python's practicality (though they are almost interchangeable)For this audience I can thourougly recommend: Seven Databases in Seven Weeks. It covers Postgres as the introduction to relational databases then delves into a bunch of different NoSql solutions.Riak in particular is amazing as a distributed massively scaleable key value store -- which auto distributes and has a great take on the CAP theorem (Consistency / Availability / Partition tolerance). The architecture of Riak will blow you away when you get into it's workings.If you want to add more capacity and performance to a riak cluster you simply fire up a new instance and attach it. Riak will do the rest!And Neo4J will make you think about your data in a whole new way - if you can get your head around the graph theory.....For me:A good database developer (or data developer) doesn't just know how to write boilerplate SQL. You need to know about normalization - when and when to stop, have a working grasp of set theory (but also realize that the engine you use really does do things in a procedural way 'under the hood'. You need to be able to model your data for the task at hand. Also you need to be familiar not just with 'a language' but with a whole application stack (sql server / oracle / whatever) and know how to get the best out of that stack (index types / execution plans etc)just because Sql is (ostensibly) a declarative language does not mean that it is always easy to BE declarative. CURSOR's are a prime example of this -- they are a declarative failure.I started my career in development as a pure SQL dev. The declarative emphasis is something that I take with me whenever I use another language. That's one of the reasons I like linq in .net (note that linq is NOT THE SAME as linq2sql which is horrible)For every language you use you should know the paradigm of the language -- sql is declarative and set based. .Net is a general purpose object oriented language - python a dynamic duck typed extensible interpreted language where if you need to do something that isn't your buisness logic then someone else will have done it all-ready....For anyone to say they could learn a language in a week to a professional level is absurd these days. More so if those languages have no paradigm in common. Compare moving between java and c#.net or SqlServer to Postgres against pure C to a lisp based functional language like clojure.if the paradigm is the same then you will pick up the syntax fast.If the whole concept of the languages are different then you will not appreciate the 'why' of the language for a long time.Transact CharlieMsg 3903.. The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION. |
|
|
X002548
Not Just a Number
15586 Posts |
Posted - 2012-07-05 : 10:49:45
|
quote: Originally posted by StFe Of course, SQL is much a simpler lang than e.g. C++.Plus, it is a declarative lang and afaik it was inventedfor managers and other "profanes".
Really...I find this amusing |
|
|
X002548
Not Just a Number
15586 Posts |
Posted - 2012-07-05 : 10:50:27
|
Try Assembler |
|
|
DonAtWork
Master Smack Fu Yak Hacker
2167 Posts |
Posted - 2012-07-05 : 11:42:44
|
Best programming language evar: http://en.wikipedia.org/wiki/Whitespace_%28programming_language%29How to ask: http://weblogs.sqlteam.com/brettk/archive/2005/05/25/5276.aspx |
|
|
Transact Charlie
Master Smack Fu Yak Hacker
3451 Posts |
Posted - 2012-07-05 : 12:09:50
|
I thought you may have squeezed in a little code sample between your post and signature there. but no: just a bunch of carriage returns......Transact CharlieMsg 3903.. The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION. |
|
|
StFe
Starting Member
44 Posts |
Posted - 2012-07-05 : 12:10:01
|
Always thought it's Brainf**k, now it's Whitespace.My favorite langs are C++ (know from it only abt. 20-30%%, only its modest subset),Python 2.5 and hmm... PHP v.5 and higher.As to (pure) SQL, I don't know what else I'd code in it.But, if honestly, I'm a bit tired of programming.Dreaming about some serene, rural life heh |
|
|
StFe
Starting Member
44 Posts |
Posted - 2012-07-05 : 12:11:27
|
quote: Originally posted by Transact Charlie I thought you may have squeezed in a little code sample between your post and signature there. but no: just a bunch of carriage returns......Transact CharlieMsg 3903.. The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION.
hahahahahahahahahahhahahhahahahhahah!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|
|
Next Page
|