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

I hope no one looks at this as advice... I was in this position for a long time, and looking back, it's a completely unsustainable (and, in my opinion, irresponsible) method of development.

Problems with PHP itself aside, rolling your own from scratch only ever works out well for projects that start small and stay small. Even if the code is sane and readable, a developer starting with a site like this will need to understand either all of the patterns that are being used or to read and understand all of the code before being able to confidently and effectively work with it.

Contrast this to a framework, where similarly-sane code will yield something anyone with experience in the framework can almost-immediately begin working with.

Both have an up-front cost; however, the first incurs that cost every time any new developer starts working with any project done in such a way. The second is incurred once, period, making the startup time on any project on the same framework dramatically lower.

Frameworks are by no means a silver bullet, but their utility should not be underestimated, and the very nasty maintenance cost effects of the parent's post should be similarly understood.



The most important thing about a codebase is how it is designed at a large scale, its architecture. Using a framework often dictates a specific architecture, and this might lead to more manageable code bases.

But you can come up with a clear architecture without using a framework. For example, most projects I work on are well suited for a modular design. I can build them from many small, independent parts. So I write lots of PHP scripts consisting of some SQL queries on top and some presentation logic below. Introducing an ORM and separating Model/View/Controller would just add unnecessary complexity!

In my case, modularity ensures maintainability; there's no need for anyone to read all of the code before they can start working on something. Reading all of the code is only necessary if you write spaghetti code; but inexperienced developers will have no problem writing unmaintainable spaghetti code using any choice of framework!




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: