4 ms·
SQL is unnecessarily clunky in just about every respect. It's mind boggling that the syntax of a language designed in the 1970s has so many ardent defenders.
by strbean 1y ago
SQL is unnecessarily clunky in just about every respect. It's mind boggling that the syntax of a language designed in the 1970s has so many ardent defenders.
- dotancohen 1y agoProbably because us old geezers are still using CLI interfaces on our servers and, often, on our desktops. We still use VIM. And we still listen to Led Zeppelin. Your new fad NoSQL may or may not be relevant tomorrow. SQL has inertia. I have no problem finding experienced SQL developers. Do there even exist experienced developers for technologies that have been invented yesterday? Will you be able to find somebody to maintain it tomorrow?
- setr 1y agoOne of the things I find most annoying about DBAs is they don’t understand just how utterly awful their tooling is. The error messages alone should be enough to throw a hissy fit, but as a group they’ve never dreamed of a life better than the misery of ERROR ON LINE 1: <entire query> The aggressively common pipe-delimited sproc output (the standard hack to get around commas being common in strings, instead of finding a legitimate data format) is another clear example of the brain damage the poor DBA incurs through constant investment in “modern” relational databases.
- lucketone 1y agoI ran away from comfy DB-centered job, just because of the quality of the tooling. Technically it is good enough to perform the function, but at the same time it’s just soul-crushing how much quality of life is being wasted.
- TristanBall 1y agoLarping as a dba now, and trust me many of us do know, and its a source of ongoing suffering, but we're often not developers and don't necessarily have the choice of tooling. Right now the DB I'm paid to babysit provides cli tools that flip between tabular and k/v list output without making that configurable, or a tabular form that doesn't include headers, or a 3rd party tool that will, but has the spectacularly annoying "error on line 1 : multi-line query" issue. Or things that are slow or only talk via generic protocols like odbc etc etc etc I think you're being a little unfair about the pipe delimited thing though, it's a least worst compromise based on who we're providing the data too - non technical business people, the vast majority of whom use excel or similar tools and couldn't even tell you what "data format" means, let alone configure their systems to parse something else. Personally I had a bit of an epiphany around the ascii delimiters (us/fs/rs/gs) which work extremely well when the data is ascii/utf-8, and make data interchange between shell cli tools very easy. But they've also invisible and little business software supports them in a friendly way. Telling someone in accounts or market to "use octal 034" helps no one. And I've resigned myself to using multiple tools, dev with tool 1 with decent error messages, tool 2 for production use because it can actually produce sane output formats. What I don't have a choice on is which db we use, and it's not modern or cool and honest most things don't even have drivers for it
- strbean 1y ago> We still use VIM. VIM has autocomplete nowadays old man! ;) No excuse to use a language that has the syntax of "get (things...) from (thing)" and make it impossible contextually to know what the possible (things...) are until later. > Your new fad NoSQL may or may not be relevant tomorrow. NoSQL is a misnomer, this is exactly why the whole conversation I'd like to have is nearly impossible. SQL and relational aren't synonyms. The guys who co-opted the name NoSQL to mean "non-relational DBs" really screwed us. It's like someone created a movement called "No-C++" and defined it to mean "we are only going to use programming languages that run in an interpreter, no bare metal!" Then someone comes along suggesting the ideas behind Rust etc. and everyone argues against it by saying "No-C++ is dumb, sometimes you need to run on the bare metal!" That's before you even encounter the people who firmly claim that SQL and the relational model are one and the same, and there is no conceivable other way to represent it. Which I regularly do encounter here on HN.
- taffer 1y agoThere are many people defending relational databases, and rightly so, but I have never heard anyone defend the syntax of SQL. It's just that everyone standardised on it as the language of relational databases in the 1980s. Its inertia is hard to beat.
- deleted 1y ago[deleted]
- bazoom42 1y agoI’m not sure how many defend SQL syntax. It is a clunky syntax over a great concept, the relational model. But SQL often gets conflated with relational, hence the term NOSQL for non-relational databases.