TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Too Many Tools and Frameworks (2015)

274 pointsby moeamayaover 8 years ago

28 comments

dperfectover 8 years ago
The problem really isn&#x27;t a function of the number of tools and frameworks in existence, but rather in the distribution of popularity among them.<p>Each ecosystem around a set of technologies essentially has its own &quot;Herfindahl index&quot;[1] of sorts. For example, the Ruby ecosystem&#x27;s index might be fairly high, simply because Rails is so dominant (to the point where Ruby and Rails are often conflated by outsiders). On the other end of the spectrum, the current JavaScript landscape seems to have a fairly low index; there are a huge number of tools with very few clear winners at this point in time.<p>I suspect the best&#x2F;healthiest ecosystem is probably somewhere in between that of Ruby and JavaScript. Rails may have ultimately hurt Ruby by its dominance, just as the current volatility in JavaScript tools seems to drive some people away (or at least add frustration).<p>Of course, I have no numbers to back any of this up - it&#x27;s just an observation (one skewed by personal experience, no doubt).<p>[1] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Herfindahl_index" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Herfindahl_index</a>
评论 #12633793 未加载
评论 #12634360 未加载
评论 #12633673 未加载
评论 #12634148 未加载
评论 #12641017 未加载
评论 #12635666 未加载
评论 #12636419 未加载
评论 #12633769 未加载
michaelchisariover 8 years ago
For side projects, it can be a little daunting, but ultimately represents a healthy eco-system.<p>But the issue for me is how employers handles it. No, I don&#x27;t know Angular. But I have used Backbone, Ember &amp; React. So do you really need an Angular expert, especially when Angular is only a few years old and is completely changing in Angular 2?<p>Should employers insist on extensive trade knowledge in a specific framework, or should they be able to hire based on understanding of development and architectural principles, and give a new employee a little bit of leeway to get up to speed on their stack.<p>If it&#x27;s the latter, then you can relax, and focus on reinforcing good practices and understanding the theory about what you&#x27;re working on, and your resume will continue to build.<p>If it&#x27;s the former, then you have to constantly pad your resume with skunkworks projects simply so it doesn&#x27;t seem like you&#x27;re getting &quot;left behind.&quot; And that is exhausting, and not very useful to anyone.
评论 #12633707 未加载
评论 #12634215 未加载
评论 #12633784 未加载
评论 #12633555 未加载
dkarlover 8 years ago
As a back-end developer, I find it interesting that the default answer is a <i>framework</i> — the state of affairs that prevailed ten to twenty years ago in server development. Enterprise Javabeans, Spring, everybody assumed that big, overarching frameworks were awesome and you couldn&#x27;t afford to do without them. Our experience with that mindset has pushed us to the opposite default assumption: everything is better if it can be done as a library than as a framework. We look for libraries that humbly strive to coexist with whatever other libraries we need. The few times I&#x27;ve dipped into web UI Javascript, I&#x27;ve felt like the developers of UI &quot;frameworks&quot; share this mindset much more than the people using their work; often they&#x27;ll explicitly point out that the tool they&#x27;ve built (such as backbone.js) is a <i>library</i> rather than a framework, while the people recommending it to me will say &quot;no no, it&#x27;s a <i>framework,</i>&quot; meaning &quot;no no, it&#x27;s way better than just a library.&quot; Is that an expression of a real difference between back-end and web UI code, or is it just different phases in the tide of opinion?
评论 #12636058 未加载
评论 #12635693 未加载
评论 #12635540 未加载
fauigerzigerkover 8 years ago
I think the complaint about too many tools is really just a euphemism for complaining about peer and employer pressure to always be up-to-date with the latest tools and styles. Developers live in constant fear of falling behind.<p>But is this pressure justified? I see two possibilities:<p>a) The latest crop of the top 10% tools really makes us much more productive than last year&#x27;s crop of the top 10% tools. So the best developers will always filter through a lot of new tools to find the best 10% and benefit from them.<p>b) After accounting for productivity losses incurred by constantly relearning and rewriting everything, the lastest best tools have no productivity benefits. They are just a distraction from the product we&#x27;re supposed to be working on.<p>I don&#x27;t think there is ever a time in history when this question can be answered unequivocally, and therefore it is never possible for good developers to stop looking for better tools completely.<p>However, I feel that at no time in the past quarter century has the pendulum swung so far in the direction of (b) where front end development is concerned. I realize this is very subjective.
drawkboxover 8 years ago
The tools + framework for webdev are javascript, html and css (and assets i.e. images&#x2F;data). Everything else is an abstraction that has trade-offs.<p>Frameworks can help teams create a baseline standard. A custom framework can be something that you need to educate other developers with, better to have an external framework at times. But at the rate of churn, depending on the team and product, some frameworks makes sense and some don&#x27;t. Monolithic frameworks are harder to change, micro can swap more easily.<p>Really in the end, all frameworks and tools are abstractions to help accelerate development, but sometimes they don&#x27;t, and one case of that is constant churn. New frameworks are a healthy sign for active development but they also have a cost associated with them. Frameworks can also abstract away too much and shroud the real platform&#x2F;standards which leads to lock-in. Each project and product has needs that some frameworks fit and some don&#x27;t, real development&#x2F;engineering is deciding what a product&#x2F;project needs.
asimuvPRover 8 years ago
The only way we are going to build better tools is to keep building them. Complaining about the sort of cambrian explosion going on right now on web development is short sighted. Ideas need to be discovered, explored and improved. Everything needs to be challenged. This is unknown territory in many ways. It does get a little hectic and tiring at times but that&#x27;s the price we pay.
评论 #12633716 未加载
userbinatorover 8 years ago
I think the problem isn&#x27;t &quot;too many&quot; --- it&#x27;s the fact that they&#x27;re all reinventing the same things and adding significant complexity in doing so. It&#x27;s an enormous waste of resources both on the part of the developers and the end-users who ultimately have to &quot;bear the bloat&quot;.<p>Web development seems unusually prone to this trend, but I&#x27;ve seen it happen with software in general. I hypothesise that the reason for this happening to web development in particular is largely because the basic problems have already been solved long ago, so all this churn is created by people who are &quot;oversolving the problem&quot;, having nothing else to do than to think of new --- but not necessarily better --- ways of doing it.<p>Introducing complexity must feel productive to a lot of people, and I suppose some derive pleasure from being able to learn about, build, comprehend, and modify such complex systems. But I don&#x27;t. Making websites that require several MB of JS and the latest browser features to display a few KB of static text? I just don&#x27;t see the point.<p>Related: <a href="http:&#x2F;&#x2F;countercomplex.blogspot.com&#x2F;2014&#x2F;08&#x2F;the-resource-leak-bug-of-our.html" rel="nofollow">http:&#x2F;&#x2F;countercomplex.blogspot.com&#x2F;2014&#x2F;08&#x2F;the-resource-leak...</a> and discussion <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=8679471" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=8679471</a>
joelhooksover 8 years ago
I&#x27;ve been building UIs for 20 years, and the tools we have now are the best I&#x27;ve ever had the pleasure to work with. It&#x27;s more fun now than ever. More please.
评论 #12633860 未加载
评论 #12634040 未加载
mgalkaover 8 years ago
&gt; &quot;Using the same standards that categorize 90% of science fiction as trash, crud, or crap, it can be argued that 90% of film, literature, consumer goods, etc. is crap.&quot;<p>90% is also roughly the failure rate of startups. Pareto principle?
评论 #12633818 未加载
dretaover 8 years ago
The problem with “don’t re-invent the wheel” approach to software development is that, IMHO, software engineers are yet to invent the wheel in the first place.
swymanover 8 years ago
Ultimately the responsibility to pick reliable tools lies with the carpenter
评论 #12633527 未加载
评论 #12633554 未加载
评论 #12633531 未加载
thomasnnoover 8 years ago
I totally get what you are saying but it seems to be to be increasingly difficult to find the good frameworks, especially since the badness of some frameworks only manifest on larger scales.
AdrianB1over 8 years ago
Looking at the long term life of an application, the abundance and volatility of the tools and frameworks is a nightmare. Who will find developers for ZZZZ framework in 3 years from now?<p>Also the fragmentation of efforts to improve the tools is a waste of resources. Instead of choosing a few directions and delivering, everyone knows better and it&#x27;s doing his own version of different, but usually not better, tool. That will help anyone else? &quot;Yes!&quot;, they will say. &quot;I don&#x27;t care&quot;, they think.
评论 #12633816 未加载
DanielBMarkhamover 8 years ago
I&#x27;ve been a coder and have watched coders for a long time. I consistently see two trends.<p>As an agile guy, back in the day I wrote an Agile story tracker. Fun times. Then I saw some other Agile project management tools. Then for a while it seemed like every week or two I was getting emails asking me to evaluate yet another agile&#x2F;to-do list tool.<p>It seemed that programmers were unable to grok the agile story concept without making their own tool to use it.<p>But I saw the same kind of thing in the code I wrote. I wouldn&#x27;t just solve a problem; I&#x27;d solve a class of problems. Generalization was awesome! The more I generalize and account for edge cases, the more value I am creating! Woo!<p>Many of us programmers, myself included, are constitutionally incapable of just solving the exact problem we have using the minimal amount of code and then moving on. <i>We confuse coding with value creation, so we build frameworks and tools out of everything.</i> If you build a list sorter, that&#x27;s okay, but if you build a 30KLOC list uber machine, that&#x27;s better, right? After all, it does more. You worked harder at it.<p>The second thing I saw, which was even more painful to realize and accept, was that it was very easy to get &quot;upside down&quot; in a toolset or framework and not even be aware of what&#x27;s going on.<p>The first time I saw it was when I was teaching a mainframe team Visual Basic, back in the 90s. We were building a simple form with a textbox and button. I had showed them the concepts and they were a smart bunch. I started the exercise, but a couple of developers were stumped.<p>Why?<p>When I walked over, the problem they had was the properties page. Sure, they got the concept of drag-and-drop. But once the button was dropped? There were like a million options in there! What was the right font size? What did this thing mean? And so on.<p>I thought that was pretty silly and tried to forget it. But then I noticed in my own work that I&#x27;d get sold on a new set of tools. For sake of argument let&#x27;s use the old Infragistics web controls. They do everything! Amazing control and look-and-feel!<p>I&#x27;d drop them on a web page wanting to create a smart grid. But the grid didn&#x27;t do X, and in my mind, X was what needed to happen. So I&#x27;d poke around at the help file. I&#x27;d go online. In some cases I&#x27;d tear apart the javascript and start fixing it myself. Hey, it&#x27;s only web programming. I can do this.<p>But holy shit that took a lot of time. On my next project when I needed a grid? I dropped a HTML table in. Just added whatever functionality I needed directly from JS. Not only did it take less time, but the resulting codebase was easier to read.<p>Then I started watching the teams I coached. They very rarely talked about actually solving problems, or language&#x2F;foundational issues. Instead they talked about tools and frameworks. This tool or framework would do this cool thing if you tweaked it like this. Joe spent 2 days trying to get Y to work.<p><i>For many, many teams, buying into the framework means buying into a complexity and cognitive overhead that&#x27;s siomply not relevant to the actual problem they&#x27;re trying to solve.</i> I don&#x27;t know. Maybe it makes them feel cool or something. One of the smart kids. But speaking as both a participant and an observer, it&#x27;s whack.<p>tl;dr So sure, let a thousand flowers bloom. But your job isn&#x27;t arranging flower baskets, it&#x27;s helping somebody who&#x27;s down feel better. You might not even need flowers at all. Stop focusing on the tools and start focusing on the solution. Then the tools will work themselves out.
评论 #12635290 未加载
评论 #12635953 未加载
sotojuanover 8 years ago
As an aside, the author of the article is one of the authors of Tachyons—the library I consider the tool that makes me not want to die when designing web pages:<p><a href="http:&#x2F;&#x2F;tachyons.io&#x2F;" rel="nofollow">http:&#x2F;&#x2F;tachyons.io&#x2F;</a>
评论 #12635063 未加载
KerryJonesover 8 years ago
This is simply the Pareto principle (80&#x2F;20) rule, and it&#x27;s true of most things.<p>This is also true of Startups -- most of them die, but that doesn&#x27;t mean they didn&#x27;t add value in validated learning (positively or negatively).<p>Elon Musk has often stated that he thought Space X had very little odds of success, but he continued because he believed he could create value that someone else could build on.
Walkmanover 8 years ago
I disagree. When more developers build the same framework, quality will always be better, because it will be better tested, more reviewed, has more knowledge, has more integrations with tools, packages, other frameworks. I really hate when effort on the same area is distributed. When you have multiple tools instead of one, it&#x27;s hard to find the best one.
jomamaxxover 8 years ago
This is all fine and good - but it would be nice to know which one&#x27;s work well, which are robust, and which one&#x27;s are &#x27;pro level&#x27; - without have to experiment with each one.<p>It&#x27;s really hard to tell these days.<p>After some experience with node.js - I&#x27;m weary to pluck anything that&#x27;s not in the &#x27;top 10&#x27; most established frameworks.
dataharryover 8 years ago
Wake me up when the good ones are created then
andres_kyttover 8 years ago
It&#x27;s a feedback problem. People seek to solve problems and by doing so create new ones. Which also need solutions. That create more problems. Packaging, transpiling etc are already second order problems and there are third and fourth ones as well. This won&#x27;t stop until js becomes completely unusable.
satyajeet23over 8 years ago
(DEVELOPARALYSIS) [<a href="https:&#x2F;&#x2F;techcrunch.com&#x2F;2014&#x2F;10&#x2F;18&#x2F;you-too-may-be-a-victim-of-developaralysis&#x2F;" rel="nofollow">https:&#x2F;&#x2F;techcrunch.com&#x2F;2014&#x2F;10&#x2F;18&#x2F;you-too-may-be-a-victim-of...</a>]
blowskiover 8 years ago
I confess to being one of the people who moans a lot, but this post might be right. I will try to moan less because the JS community has made a lot of progress. I guess the secret is not getting caught up in hype, and focusing on the real value.
heinbehrensover 8 years ago
Java had the same issue in the beginning. Then time and money made many disappear. Now it is Spring and JSF. The hundreds of other frameworks have largely disappeared .<p>You need organisation. Which is again time&#x2F;money&#x2F;resources.
heinbehrensover 8 years ago
Java had the same issue in the beginning. Then time and money made many disappear. Now it is Spring and JSF. The hundreds of other frameworks have largely disappeared .
niftylettuceover 8 years ago
I&#x27;m building a better JS framework <a href="https:&#x2F;&#x2F;github.com&#x2F;crocodilejs&#x2F;crocodile-node-mvc-framework" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;crocodilejs&#x2F;crocodile-node-mvc-framework</a> - release v1.0.0 comes out soon, join in Slack at <a href="http:&#x2F;&#x2F;slack.crocodilejs.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;slack.crocodilejs.com&#x2F;</a>
评论 #12633798 未加载
评论 #12633829 未加载
评论 #12634170 未加载
评论 #12633782 未加载
评论 #12633729 未加载
hoodoofover 8 years ago
The solution - don&#x27;t use them.
vanillajsover 8 years ago
&gt;.io domain<p>why am i not surprised
评论 #12636917 未加载
bungleover 8 years ago
Light bulbs have not improved, they have become worse, and are designed to fail.
评论 #12633827 未加载
评论 #12633695 未加载