I Would Never Use an ORM, by Matteo Collina

I Would Never Use an ORM, by Matteo Collina

JetBrains

1 год назад

70,175 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

Talking about Computer Science
Talking about Computer Science - 19.09.2023 22:23

yes, me too. Important to know them for enhancing existing apps that already use it. But my own projects - no ORM: lighter and faster. Who understands SQL and DAO pattern may build clean solutions. That is my POV.

Ответить
Sirajul Muneer
Sirajul Muneer - 15.09.2023 00:05

Status Check:
Is he still staying strong on his choice of not to use an orm anymore in his life?

Ответить
anonymous@anonymity
anonymous@anonymity - 20.07.2023 12:58

What kind of opinionated idiots Jetbrains are inviting for webinars. Really, such a hopeless channel.

Ответить
anonymous@anonymity
anonymous@anonymity - 20.07.2023 12:56

Pure bullshit!!! Do not watch this video and save yourself some valuable time.

Ответить
Cale McCollough
Cale McCollough - 23.06.2023 19:35

I love this guy's accent.

Ответить
Sort of
Sort of - 15.04.2023 07:41

Just putting it out there, Pareto principle is not a fact at all, its very circumstantial and not very reliable when put throught rigor. And optimizations based on this will suffer the same fate. Its' time we stop using shitty examples and spreading misinformation based on hearsay.

Ответить
k
k - 15.04.2023 01:17

This type of content regarding being against "x" technology confuses those of us who are learning a lot, you no longer know if the paradigm you are studying is correct, if it is correct or not to use certain resources.

So what the hell do you recommend to those of us who are just starting out?

Ответить
Pavan S
Pavan S - 02.04.2023 19:09

This was a good watch, thank you !

Ответить
Roman Munar
Roman Munar - 07.03.2023 12:26

🤦 comments aren't shipping any software any time soon. ux demands are at all time high right now. you can't spend too much time on mundane tasks. orms offer better dx for doing the those tasks and ensuring everything is well buckled so that if things will break, they break before deployment and not test before things break. < i smell gaslighting on the latter. we can't rely on code reviews alone for catching every case there is nor should we be able to cover all test cases. defense programming creeps in here
example story. if you're a guest, only show 3 post previews of someone's profile. in this example, if you hand-coded your authz rules in sql, not only are you leaking your business logic in your data server, changes will not break even they should be. IME best to avoid hard-set rules and you want to put them in a single place so changes are safer to do.

Ответить
Danilo Marques
Danilo Marques - 17.01.2023 23:46

Orm makes the easy tasks easier and the hard tasks harder.

Ответить
a a
a a - 12.12.2022 22:53

did I just watched an ad ?

Ответить
human ardaki
human ardaki - 12.12.2022 01:58

over exaggerate and underestimate, what else can i expect from a life dedicated serious nodejs developer, i accept that i'm an average programmer, but i wouldn't buy that tons of brilliant minds before me did it wrong to be corrected in 24 minutes through another js framework ending with "-fiy" creator...

Ответить
V M
V M - 10.12.2022 07:33

So we should write SQL for everything?

Ответить
Fernando R
Fernando R - 10.12.2022 03:18

Actually I would prefer using ORMs over the microservice architecture (and orchestration) madness that comes with it.

Ответить
The Mixtape Archive
The Mixtape Archive - 09.12.2022 09:03

As Ted Neward said, ORM is the Vietnam of computer science. :)

Ответить
Pesthuf
Pesthuf - 08.12.2022 23:25

I feel like every time people complain about ORMs, they complain about active record ORMs and others where the model classes are bloated spaghetti tightly coupled to the DB.
And even if not, there's usually complaints about n+1 queries, as if every competent ORM didn't have multiple ways to stop that.
Or deliberate ignorance to the fact that you can still make complex queries by writing SQL when it makes sense to.

The only SQL I saw in this presentation was some DDL to create migrations. All the actual queries were handled by some magic transformation thingy, more magical than any ORM I've ever seen. How would you actually run your own complex SQL query? How do you handle a more complex update case where you need to query data, then patch part of it from user input and part of it from some other source? How do you do all of that transactional? Locking, optimistic and pessimistic?
In my experience, logging becomes ugly when you're never sure which fields of your entity were actually pulled from the database. It's also bad when you query some related data that you happened to have already queried earlier and changed, but haven't commit _yet_; An ORM, it will know that the entities were already hydrated and return references to your existing, updated entities (unless you explicitly want it not to); some self-written SQL repository will give you what's in the DB right now, so now you get to deal with inconsistent data. Dirty reads aren't a feature, but a bug.

Ответить
Tempus Magia
Tempus Magia - 08.12.2022 06:35

This is one of the worst videos Jetbrains has released for sure

Ответить
Martin Verrisin
Martin Verrisin - 07.12.2022 14:04

He's confusing general ORM with one instance of it he didn't like...

Ответить
Fabio Maulo
Fabio Maulo - 06.12.2022 22:30

Pere con le noci. Un ORM solo si occupa della persistenza e gli oggetti non sono row del DB di fatto il "Mapping" si occupa esattamente di trasformare file e colonne in grafi. Puoi usare ORM ed aavere una struttura basata in features e/o microservices con widespread persistences... e lo dico perché sono 15 anni che le cose che faccio funzionano cosí. Comunque opinioni sono opinioni, l'importante é non crederci troppo a quello che si dice.

Ответить
Giovanni Andrea D'Aquino
Giovanni Andrea D'Aquino - 06.12.2022 13:32

Love this stuff Matteo ❤

Ответить
Jagdeep Singh
Jagdeep Singh - 05.12.2022 20:01

Did not expect such a video on JetbrainsTV.
Have high expectations. Got a bad idea implemented in probably the worst possible manner.

This was a promotional content, at best.

TBH, I am short on words to express the concerns and disappointments that I have from this video.

Ответить
Bez Imienny
Bez Imienny - 04.12.2022 10:56

I wasted 25 minutes of my life

Ответить
papamoney
papamoney - 03.12.2022 04:11

horrible, this prick has only worked on small projects to have this kind of opinion... unfortunately, most of us work on large stuff

Ответить
Toni Tabak
Toni Tabak - 01.12.2022 23:35

Love it

Ответить
RagdollRocket
RagdollRocket - 01.12.2022 20:06

using npm while talking about introducing complexity using ORM (I agree 100% btw.) seems weird.

Ответить
Khang Tran
Khang Tran - 30.11.2022 19:53

Has this guy ever worked on a real project? 😂

Ответить
Hugo
Hugo - 29.11.2022 19:05

Never say Never.

Ответить
Tín Phạm
Tín Phạm - 29.11.2022 08:01

Focus on domain problem, when i use SQL i start to concern about all those SQL stuff, it too low level for me, the code seem ugly, why i need to concern about return value is a collection of rows, it can't be lint since it live inside TS/JS file, also you can write reusable class with ORM, data mapper, seperate between domain class and database entity class.

Ответить
OktarinTentakel
OktarinTentakel - 29.11.2022 02:29

So, basically you wrote an unmature version of Django in JS. Congratulations on this. I always wondered when JS would catch up on these 15-year-old ideas. Interesting to see, but neither new nor revolutionary I'm afraid.

Ответить
non equivalence
non equivalence - 29.11.2022 00:46

This is technological propaganda in its finest form, these people seriously don't know what they're talking about. Why would you not use an ORM, which, typically, handles malicious attacks like SQL injections under the hood? Why would you manually handle stuff like that instead of using an ORM? Why would you write raw SQL queries when using an ORM is more secure? JetBrainsTV, if you're reading this, it's best to take this video down. You're spreading dangerous misinformation. What a shame.

Ответить
MS
MS - 28.11.2022 21:11

You're using JS on the backend and swearing at ORM. You must have gone crazy.

Ответить
Meceffeuk Ada
Meceffeuk Ada - 28.11.2022 04:04

The arguments are so so bias and inconvenient.

Ответить
Floooobz Dagget
Floooobz Dagget - 28.11.2022 02:33

Sorry, dude! CTO/Architect/Developer for over 30 years. You are wrong.

Ответить
Rainhard vidiansyah
Rainhard vidiansyah - 27.11.2022 20:21

Jpa hibernate saves my whole life 😂😂😂

Ответить
Baker Kawesa
Baker Kawesa - 27.11.2022 18:48

I grew out of ORM and other indirections years ago. I like simplicity.

Ответить
teenspirit1
teenspirit1 - 27.11.2022 18:22

Models are database tables. So soon you will have 2000 models: well, duh! If you have 2000 tables, you have 2000 models. My guy has no point at all.

Ответить
Anonymologist
Anonymologist - 27.11.2022 18:00

I don’t see why so many people say that js is slow in backend. Most of the time the slowness results from the one who writes codes, not the language itself. In fact, considering io bound nature of most web applications and the v8 engine, js can have performance roughly equal with or even better than compiled languages like C++.

Ответить
WAYNE
WAYNE - 27.11.2022 16:02

Try Object Role Modeling. Many things can be derived from a well thought out model of the facts at hand.

Ответить
Osama Bashir
Osama Bashir - 27.11.2022 15:15

Nice!

Ответить
FooCo2009
FooCo2009 - 27.11.2022 13:42

2min in, why orm is bad:
- you are not able to handle 2000 models
- there is no place to put the business logic but controller or model
- orm code results in spaghetti code - always

complete unrealistic and false assumptions

Ответить
A
A - 27.11.2022 12:48

I want to learn concepts on building an ORM. What are these concepts?

Ответить
Hamid Rez
Hamid Rez - 27.11.2022 09:08

To me it looks like he just wrote a clickbait title ,to introduce his own framework while only talking about orm cons to make it look legit

Ответить
wh chi
wh chi - 27.11.2022 05:05

I will treate ORM as infrastructure layer in DDD, which makes great separation of concerns.

Ответить
Allan Nielsen
Allan Nielsen - 27.11.2022 03:34

Platformatic = ORM + Code generator.... I don't see the difference.

Ответить
Assane Mbengue
Assane Mbengue - 27.11.2022 00:37

He said " Objet oriented mapping ", seriously ?

Ответить
Jim
Jim - 26.11.2022 17:28

"Models represents a row in a database", Wrong, that would be a ROM. ORM takes an object model and uses a relational database for persistence. When using an ORM your thought process should be evolve to "Database? Isn't that where I store my objects?"

Ответить
Michael Bitzer
Michael Bitzer - 26.11.2022 12:07

Been using EdgeDB to avoid orms and it is such a joy to work with.

Ответить
Michael Bitzer
Michael Bitzer - 26.11.2022 12:05

For the people complaining about him using JS for the backend, this is a JS talk.

Ответить