14 ms·
I am sorry to say but this is an overly simplistic answer. We've had Javascript since 1995. We've been building great applications with it as early as the 2000s
by dimitrios1 6y ago
I am sorry to say but this is an overly simplistic answer. We've had Javascript since 1995. We've been building great applications with it as early as the 2000s, Yahoo being on the forefront. We had complex charting applications and dashboards in an era where JavaScript was still interpreted by the latest cutting edge browser: Internet Explorer 6. This was also a time of much slower internet speeds across the board.
Bad software development slows the web down. The web, for what it is and does, is an incredibly fast network. The problem is people no longer care about performance, nor do you have the engineering talent to write performant web applications. Yes some of this can be boiled down to companies not prioritizing performance, and product managers pushing for more features and tracking, but we've always had these constraints, and tight deadlines, and seemed to deliver just fine. It was part of the expectations.
Our craft is degrading, I hate to say. We've allowed the vocal minority who were shouting "gatekeepers!" to water down the discipline of software development to the point where yes, you install a single npm dependency so you can reverse your array.
- joosters 6y agoBad software development slows the web down This is an empty statement and another overly simplistic answer. Of course bad software development slows the web down, because you're defining slow web sites as being badly developed.
- hansel_der 6y ago> because you're defining slow web sites as being badly developed whats wrong with that? living throu the computers/internet/web for 25 years i can attest that there is truth in wirth's law, if only that folks are lazy.
- vlovich123 6y agoOp is pointing out the argument is tautological and doesn’t add anything insightful to the discussion. All tautological statements are true. You could similarly write: “Lazy software development is why websites are slow because slow websites are caused by lazy development.” “Greedy business practices are why websites are slow because advertising slows down the web and advertising is the result of greedy business practices”. These are feel good statements that don’t actually provide any insight on the market forces at play nor provide any path to improving things.
- dimitrios1 6y agoIt's a misreading of the point I was making. I was refuting the claim "javascript slows the web down" by qualifying it with "bad javascript slows the web down"
- nightski 6y agoRight, but then you conclude that it is just incompetent engineering. That may be true in some cases, but in a lot of cases it's because it's not worth it to the business in terms of time or resources to do good engineering. Great engineering is not just about having great engineers, but a huge budget because it's very, very expensive.
- dimitrios1 6y agoWhatever the causes may be, the end result is poor engineering. I didn't say incompetent, but rather lazy and lower quality. Reading further into my point, I mention that often time this carelessness comes as a result of businesses pressing without giving attention to proper resources. But nonetheless, the end result of all of a businesses choices: hiring decisions, budget decisions, scheduling decisions, feature prioritizations, all the same result in the root cause of poor engineering.
- Xevi 6y ago> "Whatever the causes may be, the end result is poor engineering. I didn't say incompetent, but rather lazy and lower quality." The engineering might be perfectly fine if you take into account the deadlines, budgets and requirements from the clients/managers. If you pay someone to build a house on a short deadline with a small budget, then you'll obviously get a crappy house. But the skill that went into building that house in such a short time, and on such a low budget, might be extremely high. Good engineering doesn't mean a perfect product. It just means you managed to deliver the best possible one out of the situation you were in. It's up to the owner of the product to decide if it's good enough.
- chriswarbo 6y ago
- dimitrios1 6y agoTouché -- I am attempting to make a distinction between the general statement of "javascript slows the web down" to a certain type of Javascript slows the web down, namely lazy and careless Javascript slows the web down. We reach for the dependency first instead of carefully analyzing our requirements and making an engineering decision. I've seen it countless times, fallen victim to it a few times myself. It's really easy to do. No one stops to ask, "perhaps we do not need a hard dependency, and need to include that 15kb library, but rather just need a few functions from it?" or "perhaps a simple algorithm would indeed suffice." We mindlessly reach for complex regex engines to solve simple parsing problems, try to garner "functional programming cred" by reaching for a series of collection functions from our favorite 50kb utility package when a simple c-style for loop would have not only sufficed, but indeed got the job done much faster. All this results in bloated, unoptimized javascript bundles. To top it off, we under cache, and aggressively cache bust, and ship unminified bundles with oodles of source maps because of "developer experience" I can't tell you how many times I see, to this day, a fortune 500 company bundling an entire unminified javascript framework. Wirth's law indeed. Hope this was a little less empty. These are my observations having done this for a few decades now and managing developers these days.
- joosters 6y agoI agree with all you are saying, but I wonder how much this actually comes down to software developers. I suspect (but have absolutely no data!) that for many sites, the pressure to add extra stats, tracking, advertising, monitoring, etc etc, comes from 'above' and it's not the developers' choice to add these mountains of javascript libraries to their sites. Perhaps they should push back, but what leverage do the developers have?
- trhway 6y agopretty much like enterprise software. The similar situation allows for an obvious for many conclusion - there is no money in performance, or more exactly the opportunity cost of performance is higher than benefit.
- TimPC 6y agoI'll try and offer the more controversial point. Good software development can slow the web down. People are often optimizing for code reusability, code quality, ease of debugging and other advantages of some heavyweight frameworks rather than raw load time. Often this is the right call as engineering is a cost centre. Where it goes wrong is when things get too slow and too bloated to the point you're actually having people abandon the site before load but most of the major frameworks used properly don't offer that extreme a tradeoff. I also have no idea what % of these sites have reached that level.
- MaxBarraclough 6y ago> The problem is people no longer care about performance, nor do you have the engineering talent to write performant web applications. I don't think that's the whole story. I don't have hard numbers but Electron-based applications seem to reliably be far more bloated than applications using ordinary GUI frameworks. I agree that deprioritising performance is part of the problem, but as far as I can tell the web is a very poorly performing GUI framework, when it's used as such.
- commandlinefan 6y ago> the engineering talent to write performant web applications Which, for the most part, is celebrated. Nearly nobody actually understands what they're doing anymore - I challenge anybody to point to the Javascript in their web app and explain what the purpose of each file is. Just the purpose, just the top level files. I doubt the majority of web devs can (if they could, they'd realize they don't need at least half of them).