Hacker News new | past | comments | ask | show | jobs | submit login

>SQL has a steep learning curve.

Does it? I think SQL just sucks and its tooling sucks too

Even SQL Management Studio which felt way better than PGAdmin is miles behind IntelliSense that's offered by Visual Studio for C# (when it comes to reliability)

SQL would benefit a lot from being like C#'s LINQ (Query syntax) e.g:

var result = from s in stringList

            where s.Contains("Tutorials") 

            select s;

some SQLv2 is something we need



try DataGrip, it's got really nice intellisense and autocomplete. I'm not sure how your example from linq is any better than SQL

   select s from stringList where s like '%Tutorials%'


Sometimes I wonder, why does SQL syntax has select at the beginning. The Query execution order is FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> ORDER BY -> LIMIT.

Isn't it more intuitive to write?

  from stringList where s like '%Tutorials%' select s


SQL was designed back when https://en.wikipedia.org/wiki/Fourth-generation_programming_... was a thing. One part of that was a preference for "more natural" syntax, in a sense of mapping closer to regular English. The rationale was that a sufficiently high-level language with "natural" syntax can be easily taught to non-programmers, so that they can make reports directly etc.

This supposed benefit was never actually realized; instead, we got a language more convoluted than it had to be, and programmers specializing in solving hard problems with it. This seems to be one of those cyclical things in the industry where each generation of engineers has to re-learn by repeating the same mistake - witness all the "low-code" and "no-code" buzz today.


The difference is when you type "select (here)" then your tool cannot really give you hints about column names in table

because you haven't specified the table yet.

Meanwhile LINQ starts with table name.

Ofc you can always go ahead and write queries in "different order"


It's annoying for sure but a smart editor could simply offer you all possible columns in the current context, moving the more likely candidates to the front (as determined through some sort of machine learning - which is in fact what major IDEs have started to do lately) and then automatically append "from $table". Same thing with joins.


>It's annoying for sure but a smart editor could simply offer you all possible columns in the current context

I'm using databases with >500 of tables

I guess it's not that trivial





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: