I think the lack of current day productivity is due to there being so much more input available. 15-20 years ago you were forced to get into the mix of things and try things out because there weren't 800 blog posts and 227 youtube videos on the topic you're trying to learn.
Nowadays it's too easy to research yourself to death without trying anything because you're making decisions based on no experience, but instead experiences of others.
In attempts to find the perfect solution, you often do nothing. Always remember that you can get a lot done without it being perfect.
I look back at some old PHP projects I did in the early 2000s. Projects that have 7,500 line PHP files with mixed in HTML, JS, PHP, SQL, etc., but the funny thing is, some of those projects are still running today, unmaintained for 10+ years but work flawlessly on some old crappy shared host. Drag / drop FTP deploys with no version control of course.
But I agree for most part. I also have +15jr old PHP sites running. It was like upload and forget.
But I'm so glad we now have version control and better IDEs.
Yeah version control is definitely a win.
I mean, back in the day my idea of testing was to take something like a blog.php file, copy it to blog2.php. Make my changes and upload it to the live production server. Since this new "2" version of the page wasn't linked anywhere I was free to manually test it in privacy.
Then if it worked as expected, I would delete the old blog.php file, rename the blog2.php to blog.php and upload it. That was a "release".
Zero downtime deploys without Kubernetes or load balancers, circa 2003.
it always irks me when i read a sentence like that.
* if something went wrong, your site would've been down. completely. irrelevent and easy to recover from as a small hobby page, but incredibly expensive if you need to honor a high uptime SLA.
* stateless services that don't need schema migrations are still very easy to upgrade without kubernetes -- or load balancers for that matter.
- FTP - deploys where one or two files would silently “not deploy” and since there are no automated testing, or error logging, it would sit like that for days until someone finds the issue
- Version control - its great when you’re a solo dev on a project, but once you have more people editting the same project, things begin to break very fast. And god help us if we’ve been editing the same file at the same time.
- SQL - sql injections anyone? Back then the auto exploit tools might have been in their infancy, and you could get away with security vuls sitting in production for years, but not any longer. The script kiddies are real and would find that _one_ place were you forgot to escape the string
- PHP - yeah 2018 php is actually awsome, but back then? If you had to do _anything_ different from just displaying a document site in english, you were in trouble, memory leaks, charecter encodings, image manipulation ... And someone else’s code was so hard to use that if it was not your main framework, or a single class function, it simply wasn’t worth the bother.
And yes I do have projects that were developed back then with those technologies, and are used successfully to this day (deployed by burning on a CD, and travelling to the next town to install it on a solaris box no less :))
I wouldn’t call dev “easier”, it had different problems, which were mostly solved by new tech. If you tried to do it the old way, you’ll run into the same old issues, _on top of_ the new requirements that you’d be very hard pressed to fullfill.
Better tools and resources like Stack overflow etc.. have made us more productive.
But this has been partially offset by endless feature adding and abstraction upon abstration in software construction.
Its very difficult/impossible for people to stop development on something and say, this is all it can and should be.
IOW, they are mistaking familiarity with tooling with the superiority of tooling.
Not your post, but I saw someone else calling the blog post out as silly. I used to write a lot of PHP for customers when I freelanced, and I use Python a lot now. PHP is very productive for many of the reasons stated and when you are doing very CRUDy apps PHP frameworks seem quite legit now at doing things like MVC.