Live data from Hacker News

JavaScript development is not fun for me anymore

medium.com

101–110 of 123 posts

Re: JavaScript development is not fun for me anymore

#101

Earlier quoted context omitted.

With all due respect, React and Redux are still "in" and one of those buzz word frameworks right now. Your sentiment would mean a lot more if you were still having success with something like Angular 1. You aren't proving you are resilient to changes by using one of the most current buzz-word filled frameworks out there for two years. The real test happens when your framework of choice truly becomes obsolete, like wi…

I completely agree. We are using Angular 1.x at my day job and my team and I are feeling the pain. Manual DOM manipulation compared to React's virtual DOM feels like what it must have used to feel like comparing jQuery to Angular 1. Perhaps frameworks don't rust in the sense that they deteriorate in terms of capabilities over time. But that doesn't mean that they don't become obsolete. Especially when you're building…

We're using Angular 1 too, chosen just over two years ago.

The two-way binding/digest nature has really become our enemy. Everything we write has to account for digests and we've wound up with some terribly ugly code to account for digest problems.

Angular 1 is great for hobbyists and it makes implementing simple forms easy but when you use it for an enterprise app, it hurts.

Our app is still vastly better than decade-old 1.0 we've replaced, but we sure hate the digest now.

Re: JavaScript development is not fun for me anymore

#102
JS moving in the direction of being compiled, statically typed, and adding lots of boilerplate for various reasons. When I started writing JS, it was partially to get away from these things in the .NET world. So, to be honest I don't enjoy these changes in isolation, but I understand why they are happening.

I like that we're starting to think in a more systematic way about how to organize applications, and I think that bigger codebases and teams probably benefit from using static types. But god, sometimes when you open up these codebases they sometimes hardly look like JS anymore. Not to mention the tooling and build stuff, which still have a lot of maturing to do.

Re: JavaScript development is not fun for me anymore

#103
post #45
post #7

I don't think there's that big a problem with how many front-end frameworks there are, and the pace of development. I think the problem is people who feel they have to use the latest and greatest feature and they have to know all the frameworks. At my company we picked a stack and stuck with it. That happened to be React and Redux. I hear Angular 2 and Vue are really great frameworks but I feel under no pressure to r…

> That happened to be React and Redux. To be fair, I would put react in the same generation of frameworks as Angular 2 and Vue. It just got to the same basic virtual dom + modular components design earlier than the rest. Vue and Angular 2 don't really offer much besides marginal performance boosts (react fiber, preact etc erase this) and a more familiar way of programming for programmers in the last generation of fra…

When people downvote enough to grey out what seems to me to be a decent opinion, I wish they'd at least offer a counterpoint. I agree with bbatha, if this is such a downvote worthy sentiment, I'd like to hear why so I can improve my own thinking.

Re: JavaScript development is not fun for me anymore

#104

But JS dev has never been fun. Web dev is fun because the browser is a freaking awesome plateform. However, it is _despite_ of JS. There's not a single characteristic of this language that makes it better than any other mainstream high level language out there. We use it because we have no reasonable alternative on the browser. It has always been a pain to use, requiring: - avoiding part of the language that is badly…

I don't have a lot of arguments against tooling/framework issues in the JS world now. The proliferation and churn and quality limits are part of what make things very much not-fun for me. Good thing I can ditch to the server side and other places when I need a break. :) I think things like Vue, though, mark a point where developers are stepping back after the recent madness and asking themselves exactly what problem their tools and frameworks are really trying to solve and starting to do better.

But when it comes to the language itself... speak for yourself. Up until about 5 years ago, I thought JS development was a blast, and I was enjoying it enough that I was using Rhino as my alternate language for the JVM and having fun there too.

And I've built things in a dozen languages, so this isn't didn't-know-much-else-ism.

The fun didn't start, though, until I stopped expecting it to be something else.

"avoiding part of the language that is badly designed to escape traps" == understand the language well enough that what you expect to happen is what actually happens (and accept that just because you're familiar with one behavior in other languages doesn't obligate any other language to replicate it -- those expectations do not necessarily constitute the principle of least surprise).

"recreating basic features that you take for granted in any other tech like isolation, namespacing, primitive stlib features, etc." == understand the features that exist in JS well enough that you know how they can do the job you expected features from other languages to be required in order to do

And that's been true of any fun language I've found. There are some languages that never became fun for me because either I don't want to do things the way that the designers do (and in some cases because I expect the designers don't want anybody to have fun, they just want it to be a tool), but all the ones that did become fun required me to actually learn them first. And if somebody actually likes dynamic scripting languages at all, I'm baffled if JS-the-language isn't something they can't achieve contented productivity in. In fact, I'd go so far as to say I'm skeptical that a developer who can't achieve that in JS can genuinely achieve it in Python or Ruby.

"remember the most popular projects in JS (coffee, tsx, jsx, babel, webpack, etc) are mostly projects allowing you... to avoid writing JS."

For one thing: coffeescript has never been anything other than JS semantics, saying that using babel is an attempt to avoid using JS is like arguing that using Python 3 is an attempt to avoid using Python, and JSX is entirely orthogonal to this topic as it's essentially a templating tool that happens to be a language extension (like E4X) instead of a string processing library.

For another thing... I do remember that 10 years ago that among the contenders for JS libraries there were a number whose central conceit was that the problem with web development was that JS wasn't enough like development in some other language. Prototype's ethos, for example, seemed to be that it wasn't enough like Ruby.

jQuery was like "nope, the chief pain point is our browser APIs, what if we had some that were more amenable to concise practical use, took advantage of JS's functional strengths, and were normalized across browsers?"

I think it's pretty obvious in retrospect who had the key insight.

And I think that most of the progress from this point will come from people who have the same insight: understand JS's strengths, play to them, don't treat the browser or the language as if they need to be some other platform, think about what the general project pain points really are.

Re: JavaScript development is not fun for me anymore

#105
post #18

React + (early flux and later mobx) made web development fun again for me. I was burned out at the end of the jquery era with all the different homemade structures and the limitations of browsers. Then I came back to React and babel/gulp (later webpack). Suddently there was structure in the front end that was easy to get into a project and contribute. Building components just felt right. Also js was almost a modern l…

I fully agree. I had that "click" moment with react that really made larger, more complex interfaces seem manageable. Granted that it's still not easy, but most of the time complex apps are tricky to develop and maintain, making sure that they work across a whole load of different devices and their varying screen sizes.

With the huge number of frameworks/libraries/guidelines out their for JS developers, if you can't find a combination that works for you... then front-end work just isn't for you. A lot of people moan about the massive choice of frameworks and libraries. But even the most popular, most maintained and most loved ones will be replaced in a number of years. So find your combination, learn it inside out and ride it's wave until it's time to learn something new that changes paradigms and mindsets.

Re: JavaScript development is not fun for me anymore

#106
Spend your time learning something that isn't subject to fads. In five or ten years, React will be a distant memory. Just like all the PHP frameworks are now.

Focus on getting good at the web platform standards. I personally jump at any opportunity to learn new web platform APIs, graphics techniques, design patterns, data structures, and different business domains, and stay away from technologies that are fad-driven.

Get good at a few basic tools and focus on application development. It's not about the code its what we make with the code.

Re: JavaScript development is not fun for me anymore

#107
I started to feel the same way as the author when 2016 rolled around. I found myself getting caught up in the paranoia of using the latest, greatest, most popular (i.e. supported) framework. Teammates would come to me with a bunch of proposals about how to use X over Y. We questioned continued use of Angular 1.x and had similar negative experiences with the build processes around the latest javascript frameworks. It really had gotten a bit out of hand considering our scope.

I found the light at the end of the tunnel with Riotjs. It is close enough to the bare-metal JS runtime to keep you sharp in that regard, but also provides a lot of utility around building components without tying your hands in any particular way. For someone who is trying to build the best UX experience possible, I feel like riot or even vanilla JS provide a much better experience for expressing yourself.

Front-end frameworks seem to me to be just a way to systemize the UX/UI problem into a thing that back-end engineers can reason with. Staring down a blank HTML/JS/CSS document without any constraints imposed on you can be a very daunting task until you truly get a feel for it. I strongly believe that one can be VERY productive on even the most complex web project without use of any frameworks, assuming they have the correct "artistic" mindset and the ability to balance that with systemizing the problem. My perspective is that the web is 3 languages (HTML/CSS/JS) and they need to be treated as equals. Any time you bring in a framework that does not consider all 3 with the same priority, I strongly feel like you are losing something.

Since switching to riot/vanilla js, I have spent WAY more time thinking about how I want the UX to be than how I can force it into the various boxes some framework wants me to. In the Angular world, things like "it would be nice if that checkbox turned into a DDL when checked" would result in sweaty palms and much googling for phrases like "dynamic element swap directive" and an entire afternoon wasted. When you are used to working with DOM directly on a daily basis, this is a hilariously trivial activity requiring about 2 seconds of deep attention.

Re: JavaScript development is not fun for me anymore

#108
post #53

Earlier quoted context omitted.

Vue is the only glimmer of hope a JS project gave me for the last 5 years. I actually sent a donation the very first afternoon I started to read their doc, because I decided that even if I would not end up using it, I wanted the author to be supported for just existing in the universe. Of course I ended up using it anyway.

Out of curiosity, what did Vue do for you that React didn't? I've been writing React for three years now and I can't find a compelling reason to even try Vue out.

Vue for me means not being tied to the whims of Facebook or Google (Angular) and the directions they need to take their development. Google's reputation for ditching projects and their extremely, IMO, convoluted documentation makes them not even a consideration for me.

Re: JavaScript development is not fun for me anymore

#109
post #35

Despite its flaws I tend to stick with Backbone whenever I need to do anything sufficiently complex on the frontend, and jQuery if it's any simpler. When writing software for money I've always found it pays to take a conservative approach.

I wouldn't jump too far ahead when writing software for money, it's always better to use something you know will work and have enough familiarity with to adjust around its deficiencies.

But I think Angular 2, React and Vue are all getting to that point if not there already.

Re: JavaScript development is not fun for me anymore

#110

Earlier quoted context omitted.

This is why you should choose a frontend framework with a LTS (long-term support) program. (For example, Angular 4 or Ember.) You don't have to upgrade to the latest version of the framework, just the latest LTS version which will have all the relevant bug/security fixes. Only when the framework starts to drop support for the LTS version do you have to deal with upgrading and learning whatever new features they have…

Maybe it is worth to add that a LTS release in JS land isn't what non JS developers would expect. LTS releases with support for 6 months? Seriously?

For Ember at least, the LTS is 4 releases, however all versions are backwards compatible up to the point at which they bump the major version. So you can just keep upgrading whiteout changing code for potentially years.
Post reply on HN