Hacker Newsnew | past | comments | ask | show | jobs | submit | manuelabeledo's commentslogin

> You can’t be a successful country full of lawyers and doctors only. You have to actually build something

The GDP sector composition of most of the largest economies is heavily service biased. So, no.


> Having AI in the mix could potentially fix the problem(partially).

Any examples?

As far as I understand, claims in the current AI cycle are wildly exaggerated, and sometimes companies rely on sort of circular deals to make revenue appear higher than it actually is, e.g. OpenAI and Microsoft or Nvidia. Wouldn't that mean that AI companies are primed to oversell and underdeliver, effectively making the problem even worse?


On your first question, it is impossible to unlink it from Twitter, since Musk being feverishly active there, and then buying the platform, was the catalyst for a new wave of right wing support for him and his industries.

[flagged]


If you take the claims at face value, then the process was 100% fair and xAI provides the best models and guardrails for processing top secret data at a lower cost, compared to the competition. Personally, I find this unlikely.

We also know that Musk has been cozy with the current administration, and spearheaded the very same “efficiency” campaign at show here.

I think it would be naive to blindly believe Musk and the DOD claims and ignore their common history.


It is also estimated that it has lost 80% of its valuation and has ~$9 billion of negative equity.

How can it have lost 80% of its valuation when Elon Musk bought it for $44 billion and then sold it to an entirely different entity at a valuation of $45 billion, and then that entity was bought by a completely different third entity for a valuation of $250 billion?

“entirely different entity” and “completely different third entity” are both doing a lot of heavy lifting

How can it have lost 80% of its valuation when Elon Musk bought it for $44 billion and then sold it to Elon Musk at a valuation of $45 billion, and then that entity was bought by Elon Musk for a valuation of $250 billion?

Wait a second here!


Poe's law at its best!

For those downvoting... I'm pretty sure this is satirical.

Elon Musk sold it to Elon Musk. The price must have been meaningful. Wait till he does it again!

Unless the specification is also free of bugs and side effects, there is no guarantee that a rewrite would have fewer bugs.

Plenty of rewrites out there prove that point.


Yes, but that's the point.

We're not writing code in a computer language any more, we're writing specs in structured English of sufficient clarity that they can be generated from.

The debugging would be on the specs.


> writing specs in structured English of sufficient clarity

What does "sufficient clarity" mean? And is it english expressive enough and free of ambiguities? And who is going to review this process, another LLM, with the same biases and shortcomings?

I code for a living, and so far I'm OK with using LLMs to aid in my day to day job. But I wouldn't trust any LLM to produce code of sufficient quality that I would be comfortable deploying it in production without human review and supervision. And most definitely wouldn't task a LLM to just go and rewrite large parts of a product because of a change of specs.



I think the nuanced take on Joel's rant is this: it was good advice for 26 years. It became slightly less good advice a few months ago. This is a good time to warn overenthuastic people that it’s still good advice in 2026, and to start a discussion about which of its assumptions remain to be true in 2027 and later.

> For specialized, high-performance systems like video transcoding, this level of hand-tuning is a superpower

Where does SQL fall in the video transcoding pipeline?


> just because raw SQL queries work great for your toy blog/todo app with 3 tables

In my experience, ORMs work well for toy projects, but become cumbersome to maintain in enterprise ones, especially where performance matters. There is a large overlap between engineers who refuse to learn SQL because it's not "convenient", and those who prefer ORMs because they are "easier", resulting in cohorts that don't know how to use either.

But also, I don't see how ORMs make managing large databases any easier, other than those with embedded migration capabilities, which can be very well extracted to their own tools.


Mostly agreed with the author about ORMs. The provided querying abstraction works against developers when queries reach a certain level of complexity, and at the end of the day, understanding these complexities is not optional.

But I would caution against adding too much business logic to the database, and tying message passing to your database doesn’t sound like the best of ideas.


But there's also value gained in it, isn't there? I very much like doctrine's query builders and being able to analyze and manipulate queries programmatically, e.g. dynamically add a filter to a query and a join if needed. That's pretty simple with a query builder once you've gotten comfortable with the concept and the ORM itself, but it's pretty hard to do with plain sql unless you write plenty of specific code to handle all the known things you might care about.

It sounds to me that you saying that SQL is hard because you’d rather learn the intricacies of an ORM.

Also, this whole point predicates upon the assumption that ORMs are infallible when translating queries into SQL, which most definitely are not.


No, I'm saying if you want to alter SQL queries programmatically, you'll either do some quick hacks with regexps that you'll regret, or you need to build something to do that, and that will look suspiciously like a query builder.

I’m having a hard time trying to understand exactly what you want to do, that cannot be done with SQL. Any concrete examples?

I personally rely on views to reuse base queries and then add filters on top of them.


Migrations aren’t necessarily tied to ORMs. There are tons of tools out there to run migrations and nothing else.

Agreed, in many Spring projects I worked migrations were handled by flyway or liquibase while the ORM was always Hibernate.

There are projects, like SQLC, that cover most of the perceived advantages of ORMs, without the downsides.

One of these downsides is, in my opinion, the fact that they hide the very details of the implementation one necessarily needs to understand, in order to debug it.


Let me just say that I wrote my first (professional) SQL queries about 25 years ago and at various post points have worked extensively with Postgres, a bit less so with Oracle, and occasionally with MySQL and MSSQL. (And also some of the JSON object store databases before switching to Postgres for that stuff.) The only ones I’ve used ORMs with are Postgres and MySQL.

SQLC does not address most of the perceived advantages to ORMs. Sure it addresses some of the concerns of hand-writing and sending SQL to databases from various languages, but that’s not what most people I’ve spoken to in the past couple of decades most valued about ORMs. What most projects really need databases for is some place to essentially store context-sensitive variable values. Like what email address to send something to if the user ID is 12345. I’ve never, ever had to debug ORM’s SQL when doing things like that. Rarely have I needed to with more complex chains of filters or whatnot, and that usually involved taking a slightly different approach with the given ORM tools rather than modifying them or writing my own SQL. When I’ve had more complex needs that required using some of the more exotic Postgres features, writing my own queries has been trivial. It’s of paramount importance for developers to understand the frameworks and libraries, such as ORMs, they’re using because those implementation details touch everything in your code. Once you understand that, the code your ORM composes to make your queries is an IDE-click away.

Not having to context switch between writing SQL and whatever native language you’re working in, especially for simple tasks, has yielded so so so much more to my time and mental space than being exactly 100% sure that my code is using that left join in exactly the way I want it to.


First of all, congrats on your career.

Second, an ORM is just a translation layer, i.e. it does not compile to any binary format the database understands, and instead it gets translated to SQL, which is the standard, minus extensions. SQL is ubiquitous. It’s the closest to a lingua franca that we have in the context of software engineering. And I’m going to be blunt here and say that purposefully avoid learning and understanding SQL if it is part of the job, should disqualify anyone from it.

I’ve been around for some decades too, and to me, ORMs haven’t worked out. They are vastly different one from another and they often create issues that are clear as day when the query is written as SQL. If I go from a Typescript codebase to Python to Java, then, according to you, I should learn the intricacies of Sequelize, SQLAlchemy, and JPA/Hibernate, instead of just SQL. And granted, different SQL dialects have different quirks, but more often than not, the pitfalls are more apparent than when switching between ORMs.

And I can guarantee that someone equipped with a good foundation in SQL will be more successful debugging a Sequelize based application, than someone who has relied on SQLAlchemy.

What most people I know and worked with need, is types. Types help glue SQL and any other language together. If I can run any SQL query and the result comes back as an object, I’m good.

Now, if your point is that ORMs are OK for toying around, I may agree, but still, why would I go through that trouble when I know SQL.


SQLC for me has been able to replace most cases of use an ORM for. It made most of the boilerplate of using plain SQL go away, I get type safe responses, and it forces me to be more mindful of the queries I write.

In an app where we do use an ORM (Prisma), we sometimes have weird database spikes and it’s almost always an unintended heavy ORM query.

The only two things I miss in solutions like sqlc are dynamic queries (filters, partial inserts) and the lack of a way to add something to every query by default (e.g., always filtering by tenant_id.)


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

Search: