Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Is Ruby "ruthlessly productive" for building a fast, highly concurrent program that can be deployed to X platforms with minimal fuss? No.

Is Golang "ruthlessly productive" for interfacing with complex relational databases? No, not even with generics.

Tradeoffs, every language has 'em.



What mainstream programming language is good for interfacing with complex relational databases?


Rust is getting there, with sqlx[0] you can write plain sql and it gets validated at compile time.

[0]https://github.com/launchbadge/sqlx


Any language with metaprogramming like operator overloading so you can create an ergonomic ORM, basically.

For such a language to be reasonably productive you want to be able to overload "mystruct.myvar" to not simply grab "myvar" from memory, but smartly fetch it from a remote database, cache it, etc.

It will never be perfect (blah blah impedence mismatch) but a proper ORM is so much more productive and readable than writing crap like `Manager(mystruct).GetAttr("myvar")...` or bespoke SQL composition.


Elixir is great at it and becoming increasingly mainstream.


SQL. Typescript with library like pgtyped basically allows you to write raw SQL queries and then generates all the static typings for them.


F# by way of type providers. Many other languages could similarly bridge the gap with codegen.


> Is Golang "ruthlessly productive" for interfacing with complex relational databases?

neither is ruby lol.




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

Search: