Hacker News new | ask | show | jobs
by gitah 4144 days ago
Choosing a tech stack and framework DOES matter greatly. Some technologies make development a lot easier and maintainable. Otherwise everyone will still be using PHP to write their websites. Abstractions does help greatly and frameworks are a good way to get your entire team to think about things using the same abstraction.

The platitude about needing a "talented", "passionate" team is vacuous and meaningless. You might as well write the key aspect of a good app is very little bugs. Absolutely meaningless statement. It's very obvious a bad developer with a good framework will lead to bad output; no need for a 5000 word article on it.

3 comments

Fair points. I'd just like to bring your attention back to the point that

"What the application does and how it behaves is all that matters."

I'm hard pressed to find a rebuttal to this, if only for the reason that implementation is the goal. No one will ask you to write an application in Python, "and who cares what it does". The very opposite is true - no one cares what it's written in as long as it's the necessary implementation.

From here I would like to address my "point" that tech stack and framework don't matter. I think that we're actually on the same page here save for some sloppy wording on my part. I concede that on a per-project basis framework and stack matter. They quite clearly do, and I agree with you.

I would still like to argue that they don't matter as much as we like to think. To use the example you gave - PHP - depending on your purpose, your required implementation, PHP is still a powerful and useful tool. It's easier to work with than many other technologies for certain kinds of solutions. At the same time, it might be a better idea to write a solution on Rails for any number of reasons. These are specific to each project. At the end of the day though, you can successfully implement any number of solutions on a great many different stacks with no great change to implementation. I can write an application and use either PHP or Rails for the backend, Angular or Backbone for the frontend framework if I have one, and for the end user there will be ultimately no difference. I can run a PostgreSQL or a MongoDB database and they won't be able to tell the difference. If this is the case then, what makes a good application? It is the people writing the code, architecting, and meeting the challenges in ways that work with the chosen frameworks and technology stacks. It seems to me that the end result, then, is reached by people and not by stacks or frameworks.

Sorry for the long reply. No harm if you don't reply to it.

In my PHP example, I was referring to programming frameworks in general. Not just front-end ones. Many apps have moved away from PHP as developers recognized its weak abstractions which lead to higher maintenance costs. For front-end, you can simply replace PHP with Java pagelets or jQuery soup.

You can write the same web app (from the user point of view) using Python, Ruby or PHP (frontend: jquery, backbone, angular). I do not disagree with this. However, the choice of frameworks is still very important and will determine your speed of development and any future maintenance.

Saying frameworks are irrelevant since they have the potential to all lead to the same outcomes seems a bit much. Any turing complete language can implement program as another turing complete language, but why do we have assembly vs Java vs C vs Python? Higher level programming languages and frameworks are for the human brain. It turns out the the human brain grasps some concepts better than other concepts: we call the more intuitive concepts abstraction.

Of course people are more important than tools but that doesn't mean tools are unimportant. In same cases the tools are VERY important. There are for example things that are easy to do with javascript that are impossible or almost impossible to do with only server side code. If you feel that people are so much more important than tools that the tools almost makes no effect at all please write more about people then. This article wrote almost nothing about getting the right team, getting people to work together, getting the wishes or expectations from the customers etc. It seemed to say that javascript is overused (which it might be) but with a lot of words.
I've worked on projects that have generated hundreds of millions of dollars, all written in shitty PHP code. Was it a big pain for us developers to maintain it? Yes. Did our struggle matter? No.
Well put. Very succinct.
(Almost) everyone is still using PHP to write their websites. That has nothing to do with front-end frameworks. Except for a couple of new frameworks that are JS on client and server, which are less than niche at this point, all front-end frameworks work with a PHP back-end.