Я в целом согласен, но вот в целях обучения мне кажется как раз таки полезно реализовать с нуля. А потом уже использовать инструмент, где это делается одной строкой. Но уже с пониманием, как это работает, и как если что можно исправить или модифицировать