Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

But to be even fairer, JS has evolved into quite a nice language to work with over the last few years and I'd hope that developers who've used it in the past would take the time to re-evaluate it.


Over the last few years, JavaScript has been ruined as a language for beginners, proponents of functional programming, and anyone who likes elegance.

But as a language for professionals who are willing to spend 40 hours a week on it and devote week after week to learning the internals of massive, rickety declarative APIs like Babel and Webpack, yes JavaScript has improved a lot for that audience.

You have to be a dedicated professional though, ideally a former Rubyist. If you’re not, stay away. Learn Python.

If you’re 20 and have learned just the basics of coding, but have not made any deep forays into software engineering, and can focus on a brand new codebase, and only support bleeding edge browsers, modern JavaScript is also ok too.

Personally I think it’s the wrong direction. I went back to ES5 and am developing a non-insane toolset for that language.


JS language and Debug tools are fun and getting better. Tower-of-Babel crazy frameworks is not getting better.. IMHO


Has it? My last look at it was a year or so ago and it looked like a shit show I wouldnt want to touch with a barge pole..

Web front end and JS just seems like insanity.

I don't know how anyone can use node...

What would you recommend to someone averse to js to try and change their mind?


> What would you recommend to someone averse to js

I guess it depends on what your concerns are:

• If you're worried about too many libraries to pick from, I'd just go with the most popular ones. React is a pretty solid choice.

• If you're worried about config being a pain, I'd recommend going with one of the starter tools like Create React App. Build tools are indeed a bit complex, but hopefully that's getting better over time.

• If you're scared by lack of type safety or worried about language quirks, I'd recommend TypeScript. (Flow is also quite good.)

In particular, TypeScript (and Flow) provides much more flexible static typing than I've used in any other mainstream language. You get the nice navigation, autocomplete, and static checking that you'd expect from a typed language, and I've found that I spend much less time needing to think about how to write my code in a way that appeases the type system.

Here's a tutorial that hits all of the points above: https://github.com/Microsoft/TypeScript-React-Starter


well, quite frankly I'm not really trying to change anyone's mind, ultimately people are going to come to their own conclusions about which languages they prefer or like to work with.

I don't know how anybody could see what's going on with React and not be interested, it (at least for me) took what was once a very painful process of manipulating the DOM and working with the front-end and made it into an enjoyable and streamlined process. React actually brings order to what once a very messy and insane process.

I've used Node in production, it works very well for rapid prototyping. I could get a Node app up communicating with a diverse set of public APIs in minutes. It's not like Java or C# where I'm having to fumble around with a hefty IDE, a bunch of very strict typing, an entire compilation process and massively bloated web libraries. Node is a very lightweight alternative to that.

I think it's kind of a shame that the JS ecosystem has such a steep learning curve, which I think is where a lot of the hate stems from but once you learn it can be quite a powerful stack.


What would you recommend to someone averse to js to try and change their mind?

I'd recommend taking a look at Vue (https://vuejs.org/v2/guide/). You can write nontrivial and well-structured apps with just a text editor and not deal with npm/node unless you choose to. I also find it to be both simpler and more flexible than React.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: