TGViewer
DEV: Рубиновые тона DEV: Рубиновые тона @dev_in_ruby_colors · 3.27K subscribers
Post #318 742
Любопытная мысль об ООП в целом:

I really like the way Bruce Richardson put it:

nobody slicing bread thinks they’re sending a message telling the knife to cut the bread or telling the bread to be sliced

OOP is about putting some awkward constraints on the way that you are allowed to use your language. Perhaps in some cases it makes sense, but in most cases it doesn’t. If OOP is about tying some actions to some objects, then if someone wants to perform some action that wasn’t anticipated by the designer, they have a problem.

Therefore OOP forces you to come up with solutions to issues that appear solely because someone decided to use the constraints of OOP in your project, like “which class should this method belong to?” (“oh I know I should create a controller class”).

I believe the only approach that actually scales is trying to express your way of thinking about problem, rather than imposing some arbitrary and artificial constraints beforehand. Solving problems that could be avoided is just a waste of time.


А речь о том, что написание красивого и понятного кода - это искусство, а не ремесло. В некоторых видео (каюсь, в основном только про Ruby) я пытаюсь донести эту мысль. Нужно немного расширить границы и делать не так, как учили (тем более, что обычно вообще никого не "учили"), а как кажется правильным. Да, потом это может оказаться неправильным и неоптимальным, но всё можно переписать. Зато в один прекрасный день вы увидите, что не ЯЗЫК управляет ВАМИ, а ВЫ управляете ЯЗЫКОМ. В конце концов, для кого вообще создавались языки программирования? Уж точно не для железки, которая понимает только нолики и единички (ну, в отдельных случаях бывает ещё троичная логика, да).

Долгое время понять это довольно сложно, потому что выход за рамки приводит к постоянно ломающимся программам - у меня так тоже было довольно долгое время. Но потом - бац - и что-то перещёлкивает, и ты смотришь на это всё несколько иначе.
  • 👍 15
  • 🔥 1
More from @dev_in_ruby_colors
  1. Oct 4, 2026В этом уроке по абстрактной алгебре говорим про ideals (идеалы), factor (quotient) rings и…
  2. Sep 28, 2026Github буйствует
  3. Sep 26, 2026В этом уроке по абстрактной алгебре говорим про области целостности, делители нуля, характ…
  4. Sep 22, 2026А тем временем сказ о ведьмаке, потерявшем память, уже доступен в виде аудиокниги. Целых 1…
  5. Sep 20, 2026В этом уроке по абстрактной алгебре продолжаем говорить о кольцах: в частности о subrings…
  6. Sep 17, 2026Сделал обзор актуальных библиотек JS для сбора данных, 10 штук бодрых решений на все случа…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →