I think this feature is definitely useful, but you can virtually do the same thing in other languages with templating engines.
I think this feature is definitely useful, but you can virtually do the same thing in other languages with templating engines.
When people criticise the PHP language I think they really miss the point: it is the PHP platform that is really powerful because of:
1. The shared nothing architecture (it really helps you scale).
2. The rapid development cycle.
3. The portability (Apache, IIS, nginx, persistent in-memory interpreters via PHP-FPM...).
4. The huge amount of native C extensions providing amazing functionality.
Sure the language has warts, but who cares when the platform is this powerful?
In the case of web applications all tend to scale equally well as you can just add another web server. Its the database that causes the scale issues.
With a lightweight PHP framework and a sensibly written app, you can stick to one machine for much longer than you can with Rails, and after that, it will require a fraction of the number of app servers. Beyond that, app processing time is generally much lower without all of that cruft, so you don't need to do as much caching, etc. to get a snappy webpage.
Don't get me wrong though, throwing a bigger hardware box at a problem is a totally viable solution to most problems, up-to a point.
tl;dr: Too many gotchyas for a beginner. I need discipline imposed on me when I'm learning, ymmv.
Doing a tested change and then a pushing to production is a 4 command overhead using git as lazily as possible with maybe an additional 5 minutes spent during initial project setup. You're doing the same coding work, you're just helping to ensure it's not going to create any completely useless work spent undoing mistakes. It's an ounce of prevention, pound of cure argument in my mind.
This all depends on what kind of site it is, of course, but in the context of what he's saying, it makes sense.
Still surprised I got voted down for that, since C and Java are still correct.
In fact, it's what I hated about Java web development the most... You had to compile, package, and deploy every time you made a tiny change. It was a nightmare.
The Play framework uses its own copy of the Eclipse compiler to compile everything on the fly while it is running in development mode...so as you as you save your changes, you can reload your browser and see them immediately.