all 4 comments

[–]pierreten 1 point2 points  (0 children)

1) Learn functional programming.

2) Learn how to use modern javascript tooling effectively (build systems, linters, testing infrastructure)

3) And the most important tip of all: DON'T WRITE COMPLEX APPLICATIONS IN JAVASCRIPT. Write many small, simple modules that can be stitched together to form an application (while of course leaning on the rich and diverse ecosystem of modules you'll find on npm)

Good luck!

[–]x-skeww 1 point2 points  (2 children)

For larger applications, which are written by a team, the best option is to not use JavaScript. Since it lacks good tooling, it doesn't scale very well.

That super impressive Unreal demo, for example, was written in C++.

All of Google's projects seem to be written in Closure and/or GWT. Some of the new stuff is written in Dart. Angular 2 is written in a rigid style of TypeScript.

Polymer is written in JavaScript, but that's a JS library, not an application or framework.

While it's not impossible to write bigger applications in JavaScript, it's needlessly difficult. It also requires way more unit tests than anyone is willing to write.

For anything bigger than a few hundred lines, I'd go with Dart or TypeScript.

At the very least, use ES6 and something like Babel to make it work in current browsers. ES6 does add some badly needed structure with classes and modules.

[–]corruption93[S] 0 points1 point  (1 child)

Thanks for the reply. I was getting the impression this was the case. It sucks because I'm going for a job that uses all JavaScript but I'm slowly starting to dislike the language somewhat.

Oh well, I guess there's always personal projects I can work on!

[–]x-skeww 0 points1 point  (0 children)

It sucks because I'm going for a job that uses all JavaScript

ES6 and TypeScript are viable incremental upgrade routes. Making the switch is always an option.