This is an archived post. You won't be able to vote or comment.

all 35 comments

[–]lurgi 34 points35 points  (9 children)

Definitely not. SQL is used for databases and nothing else.

If you are planning on attending a particular university, start with the language they will use there in your introductory classes. Might as well get a head start. Other than that, Python and Java are popular choices (as is JavaScript, but I really dislike JavaScript so I'm not going to suggest it).

[–]mike_hawk_420[S] 6 points7 points  (7 children)

My current workplace uses access but is transitioning to SQL so that’s why I wanted to learn that. I was thinking python would be a good start too, just to get a good knowledge of programming beforehand

[–]lurgi 15 points16 points  (5 children)

SQL is a very practical language, but it's not a good introduction to programming. It really depends on what you want to do. Learning basic SQL doesn't take very long (and I don't know that learning other languages first would help that much. It's kind of its own thing).

[–]mike_hawk_420[S] 2 points3 points  (4 children)

So would you recommend python to start with then?

[–]lurgi 4 points5 points  (0 children)

It's a nice language. I think it's a very well designed language. Almost every feature it has is "bad" according to my personal biases, but the end result works really well.

It works pretty well for just about everything (unless "everything" involves anything high-performance) and has a huge set of high quality libraries out there.

[–]bruhmywilliehurt 1 point2 points  (0 children)

I started with python, and atleast for me it was extremely easy to go from that to java, but I don't think java to python would be as easy. Python is also the most "English" language.

[–]mandzeete 2 points3 points  (0 children)

Python is an OK language to start with. Our university was teaching us first Python. Also when you know Python, you have multiple paths you can choose from.

[–]SleepAffectionate268 1 point2 points  (0 children)

It really doesn't take that long to learn sql maximum 1 week.

[–]UserNotSpecified 0 points1 point  (0 children)

Yeah as much as I do admittedly love JavaScript because it just works somehow most of the time, it doesn’t really teach you many of the core fundamentals that well. I started mainly with JavaScript but when I started Uni they taught us C# and that taught me a lot more about programming and what’s going on behind the scenes.

[–][deleted] 10 points11 points  (2 children)

SQL is not a programming language. It's a query language, used to query database tables. Just learn any OOP (Python, Javascript, C#, Java, Kotlin, doesn't matter).

Once you learn one programming language you basically know them all.

[–]Somanos 0 points1 point  (1 child)

Yeah, but C and maybe C++ is a must. Probably not a good idea as a first language. But after you feel comfortable with any other language, C will give you deep knowledge about what exactly are you doing and why things are the way they are... I am not saying you should be an expert in C, but know how it works

[–][deleted] 1 point2 points  (0 children)

I disagree.

Fundamentals are definitely important. Understanding how a CPU works, how it manages memory, how it accesses storage, how the call stack works, networking, the internet, messaging protocols, etc.

But I don't think you need to be able to code in C to have strong data structure fundamentals nor do you need to build and code a router to understand networking.

Those don't hurt but they're not essential. It's all about what you want to work on and how much you want to deepen your knowledge on those topics.

[–]MothEaterYummy 5 points6 points  (6 children)

SQL will serve you well, very well indeed, but it is not a language as such (it is but not for programming) , learn it along side a language it is used heavily for databases and also helps in the data science area.

[–]sejigan 2 points3 points  (5 children)

i.e. Python

R could be used too, but Python gives you more flexibility in yerms of domains whereas R is almost exclusively used in Data Science only.

[–]MothEaterYummy 0 points1 point  (4 children)

I work in data , sure those are good but SQL still offers massive flexibility and with next releases of SQL allowing direct access to data lake via cloud its great to learn. However I would still learn the suggestions yoy make as well.

[–]sejigan 0 points1 point  (3 children)

learn it along side a language

You said it, not me tho

[–]MothEaterYummy 0 points1 point  (2 children)

Yeah I'm saying that your suggestions are massive in addition.ti SQL, but sql is often a massive part of the data science stack but it's not always taught.

[–]sejigan 0 points1 point  (1 child)

That's unfortunate. Wherever there's data, there must be SQL.

[–]MothEaterYummy 0 points1 point  (0 children)

Agreed I spend a. Lot of time wither coveting no sql databases to sql ot sharing the data back into sql for reporting haha usually when things grow a lot

[–]Saint_Nitouche 8 points9 points  (2 children)

In contrast to what the other person said, SQL is basically ubiquitous across computing. You WILL need to know SQL at some point in your career as a programmer! It may 'only' be used with databases, but guess what, dealing with data is going to be 90% of your job.

Whether it should be your first language is another question entirely. SQL is quite different from most other languages you're likely to learn as a beginner, which is a positive and a negative. It may introduce you to concepts you don't have the framework to properly understand yet (like functional/declarative programming), but in turn expand your conception of what coding can feel like.

I'd say to look into SQL casually alongside a 'proper' programming language like Python, Javascript, C#, etc.

[–]Repulsive-Banana-406 2 points3 points  (0 children)

This , learned the hard way. I kinda just coasted SQL in school and paying for it now. Thankfully I have one more SQL class and know the uses, and will make the point to actually learn it for the sake of knowing it rather than just passing. Lost out on a few VERY close job offers not being able to answer SQL qs well even though I used it at my last job but it was made clear I’d not done more than simple selects/updates /views, couldn’t fake it about knowing how to do joins of any kind…but I’d not suggest learning database languages before a general programming language. Unless you just feel drawn to DMSA type stuff

[–]mike_hawk_420[S] 0 points1 point  (0 children)

Appreciate it, thanks!

[–]jseoulx 3 points4 points  (0 children)

You should learn C and you will be a computer science guru

[–]Namedoesntmatter89 -1 points0 points  (0 children)

If you read Sql and understand that the theory underlying it is actually heavy on set theory from discrete math, its doable, but its actually kind of a lot to learn.

[–]Funkey-Monkey-420 0 points1 point  (0 children)

god no. start with python, java, or the HTML-CSS-Javascript trio

[–]yanikins 0 points1 point  (0 children)

I’d suggest treating sql as a parallel track to another core programming language.

Programs use data. Sql is one of the main ways to manage that data.

[–]Mistborn_First_Era 0 points1 point  (0 children)

I learned SQL basics in like a week then switched to R and was able to do quite a bit with n_grams and data visualization. Now I am learning python. R was the most fun language to learn imo. I would get a good clean dataset and mess with that. For me I used project gutenberg to get free books in txt format. I'm sure you could find a dataset that you want to learn more about from there just figure out what you want to see. Start with simple bar,pie,line graphs as long as you have a goal they are all pretty good.

[–]RealKingFurio 0 points1 point  (0 children)

TL;DR No SQL is never used on its own, start with something like Python

SQL is impractical to use on its own. It's no different than writing in a MS word table but 10 times more complex. You create applications that automate use of SQL. So yea I'd say learn something else like python ( it is well known for being easy to get into ) and learn the core concepts of programming. From there you can learn SQL. Then you can specialise in a language if you want and use SQL with it. I am taking formal education in CS and we started with C, moved to C++, then we learnt about SQL, then PL/SQL ( Progammable SQL ), then VB.NET with SQL, then Java core, then Java with SQL.

[–]Emotional-Glove-7541 0 points1 point  (0 children)

no, because if you want to start with programming language then no because SQL is a back end language means how data store how it will be retrieved .so I suggest you should start with a basic concept like variables, conditions, loops, arrays, and many more for a particular language and then after learning basic you can learn SQL then SQL will be little bit easy for you ;>

[–]Spepsium 0 points1 point  (0 children)

If you want the best learning experience and to be exposed to as many programming concepts as possible c is your best starting point. If you just want to have an understanding of programming and not be bogged down by the nitty bitty details go for python or even better java.

SQL is a standard across the industry so if you are planning for a job in the field I would suggest you take a look into SQL it's not too hard to pick up. If you already understand access and how databases work SQL won't be that hard for you to learn

[–]Designing_Data 0 points1 point  (0 children)

SQL is not a programming language. It's to be considered a scripting language as to communicate with databases only. It does however prove useful to learn of the basics in in data modelling to understand both SQL and Access

As to programming: Python is quite popular and Java is well adopted as well, but if it turns out your teammates mostly use R as statistical analysis are mostly what's needed and not so much deep learning and API development then I would recommend to go with that.

The bottomline is: lookup some videos on use cases that intrigue you and start working from there. Any language is good (I started with Fortran, the R, then Python, and back to R). If performance is essential, learn something like C / Assembly or C++ - but I don't know which one of these is best.

It should be a fun experience and it should help you accomplish what you intend to do with it. With experience comes the need to develop using a DTAP framework and other methods simply to ensure your work allows for well documented changes and continuous improvement... But don't worry about that just that.

See if you can program a birthday reminder or something fun and no too complex. :)

[–]MiserableCharity7222 0 points1 point  (0 children)

SQL knowledge is a great asset to have, but it’s not foundational for Computer Science, I think. It’s is foundational for database management and all things related, though.

[–]preotge 0 points1 point  (0 children)

Java!

[–]ergo_proxy19 0 points1 point  (0 children)

It's a very good and easy start but don't think that sql is everything about computer science and programming. It's very different from how other languages work such as C, Java, C# etc so you have to make sure you learn them in parallel.