5 ms·
Looking at this page, and reading the comments here on HN, I'm glad I'm not a web developer. What a mess.
by philtar 9y ago
Looking at this page, and reading the comments here on HN, I'm glad I'm not a web developer. What a mess.
- degenerate 9y agoThe 'mess' is like trying to buy a car. Once you get through all the annoying sales pitches, conflicting opinions, dealer gotchas, options, and mental monthly payments... you're finally in your new car and happily rolling along, learning how it works and making it fit with your life. Then as time passes you see all your friends and strangers driving X, you hear about Y, and you really wish you could get your hands on Z, and all of a sudden your car feels inadequate so you hate it and complain about it until you can get your new car... or maybe you'll build your own car... hmm. The mess of Web development is choosing what to use. It's pretty fun once you get behind the wheel.
- mrisoli 9y agoThis is the best analogy about web development in a while and totally spot on, as long as you know your way around your own basic tooling it is pretty easy.
- tyingq 9y agoI like it too, but depending on where you work, it might have been the "fleet manager" that picked the car, and you're just driving it. Not much difference until the "fleet manager" changes their mind for the next project.
- igotsideas 9y agoMy first car was a 96 ford escort. I hated that car. That is what we are driving at work (WPF). I want a tesla.
- kuschku 9y agoThe issue with web development is that there’s no good, or working solutions. Every car that’s up for offer is missing something. One of them can only be driven if you control every single circuit manually, the next is missing an engine, and another has no windows, roof, doors, or seats. Each of the tools would probably be useful for some purpose in a way, but with the entire toolbox of JS utils combined, it’s just a fractal of bad design. On the other hand, you can look over into the JVM world, and, well it just works. There’s one option for dependency management and handling of compilation and preprocessing (gradle), you don’t have to handle any complicated libraries or anything, you can very easily add annotation processors or asset preprocessors as easily as adding a new dependency, and basically everything works natively together. I want to add preprocessing so my JVM 8 code works on JVM 6 or later? I simply add the retrolambda preprocessor, and am done. One LOC. Configuring Babel in the JS world, on the other hand, ends up with several hundred lines of webpack or grunt or gulp configs, you end up dealing with either merging all assets or using system js or whatever the latest fad is. The JS world has recreated all the complexity of the JVM world, but worse.
- CharlesW 9y ago> The issue with web development is that there’s no good, or working solutions. This complaint generally comes from the opposite direction—that the JS ecosystem provides "too much choice", which can lead to FOMO or analysis paralysis if you let it. > On the other hand, you can look over into the JVM world, and, well it just works. There’s one option for dependency management and handling of compilation and preprocessing (gradle)... Gradle, Maven, Buck, Pants, Bazel…
- kuschku 9y ago> This complaint generally comes from the opposite direction—that the JS ecosystem provides "too much choice", which can lead to FOMO or analysis paralysis if you let it. That’s exactly the issue. You have two hundred choices, but all are broken. Every single choice is missing something. You could patch them together, and get something that kinda works... ...or the developers of the two hundred solutions could work together on a handful of solutions, and have a handful of working solutions. > Gradle, Maven, Buck, Pants, Bazel… Buck, Pants, and Bazel are basically unused for now, as none of them handle dependencies properly, and they are almost exclusively used in large, corporate codebases with vendored dependencies. They are as relevant to this discussion as Perforce is to a discussion about version control: Most startups or users will never have to deal with it.
- anigbrowl 9y agoThis is not a good recipe for long-term stability or usability. Doing even simple things is horribly and unnecessarily complicated and feature creep is inevitable. This doesn't lead to innovation, just accumulation.
- pier25 9y agoNothing stops you from sticking with PHP and jQuery if you think that's better.