JavaScript challenge for old developers

by Janeth Kent Date: 24-02-2019 javascript developers node


Let's take a moment to talk about you and your relationship with JavaScript before we talk about all the technical things.

If you're like me, you've been writing HTML documents with HTML "development" (=_=) for a long time. You've found this strange thing called JavaScript, but you've only used it in a basic way to add interactivity to your web pages from time to time.

Then you also wanted to know how to build complex websites - you learned a programming language like PHP, Ruby, Java, and started writing "backend" code.

But again, you kept an eye on JavaScript, you saw that with the introduction of jQuery, Prototype and the like, things became more advanced in JavaScript and that this language was more than just window.open.

Although it was nice to have jQuery at your disposal to make whenever you felt like spicing up a website, at the end of the day you were, at best, a user of JavaScript, but not a developer of JavaScript.

And then Node.js came.

How pretty cool is JavaScript on the server?

So, you decided it's time to look over the old-new JavaScript. But wait, writing applications for Node.js is one thing; understanding why they have to be written, the way they are written means understanding JavaScript.

And for real this time.

Because JavaScript really lives two, maybe even three lives (the funny little DHTML helper from the mid-90's, the more serious frontend stuff like jQuery and likes, and now on the server side), it's not that easy to find information that helps you learn JavaScript in the "right" way, to write Node.js applications in a way that makes you feel that you don't just use JavaScript.

Because that's the hook: You're an experienced developer, you don't really want to learn a new technique just by spoofing and misusing it; you want to make sure you approach it from the correct angle.

On the same lines: When you start learning modern JavaScript, there is a good chance that the solution to your problem will still be worked out. In fact, it is very possible that only one code review will be merged into the package you are using.

When you work with an old language such as PHP, you google a question or problem, and nearly 100 percent of the time you find a 5-year - old Stack Overflow answer that solves it, or a full discussion in the documentation (complete, heavily commented and unparalleled).

I have found myself browsing through comments on GitHub significant issues and source code only to find evidence that contradicts out - of - date documentation more than once.

The other hard thing about learning JavaScript in 2017: it will take you as long as you build the app. The number and variety of tools and plugins, packages and dependencies and the editor setup and configuration required to do so "the right way" are enough to stop you before you even start.

I had to let go of doing it the proper way from the beginning, and allow myself to fumble through plain amateur setups just to get comfortable with individual tools.

Then I’d find out better ways and incorporate what I could, when I could, on each new project.

The JS world has a lot of work to do in this regard.

When you learn a new language, you write code, then blow it up, and then write more. My modern JavaScript education was a stepladder of tutorials, then a small solvable project, in which I compiled a list of issues and questions, then a check-in with my colleagues for responses and justifications, then more tutorials, then a slightly larger project, more questions, a check-in-washing, rinsing, repeating.

The most critical thing I had to remember in the end was this: Doing is learning. Doing pretty badly?

It’s still learning.

These days, learning modern JavaScript can feel like a futile WTF workout. If you missed your brain for those brief moments, Google's Addy Osmani has the right advice:

I encourage folks to adopt this approach to keeping up with the JavaScript ecosystem: first do it, then do it right, then do it better. […]

It takes time, experimentation and skill to master the fundamentals of any new topic. Beginners shouldn’t feel like they’re failing if they’re not using the library-du-jour or reactive-pattern of the week. It took me weeks to get Babel and React right. Longer to get Isomorphic JS, WebPack and all of the other libraries around it right. Start simple and build on that base.

 

 
by Janeth Kent Date: 24-02-2019 javascript developers node hits : 5009  
 
Janeth Kent

Janeth Kent

Licenciada en Bellas Artes y programadora por pasión. Cuando tengo un rato retoco fotos, edito vídeos y diseño cosas. El resto del tiempo escribo en MA-NO WEB DESIGN END DEVELOPMENT.

 
 
 

Related Posts

Difference between arrow and normal functions in JavaScript

In this tutorial we are going to see how arrow functions differ from normal JavaScript functions. We will also see when you should use one and when you should use…

JavaScript Arrow functions: What they are and how to use them

In this article we are going to see what they are and how to use JavaScript Arrow Functions, a new feature introduced with the ES6 standard (ECMAScript 6). What are Arrow…

How to insert an element into an array with JavaScript

In this brief tutorial you will learn how to insert one or more elements into an array with JavaScript. For this we will use the splice function. The splice function will not…

What is the difference between primitives types and objects in JavaScript?

In this short tutorial we are going to look at the differences between primitive types and objects in JavaScript. To start with, we're going to look at what primitive types…

How to get DOM elements with JavaScript

When you access any element of the DOM, it is usual to save it in a variable. This is something that at first might seem very simple, but if you…

How to reverse an array in JavaScript

In this tutorial we are going to see how you can change the order of the elements of an array so that they are inverted. You could use a loop…

How synchronize the scroll of two divs with JavaScript

In case you have two divs of different sizes you may sometimes want to scroll both at the same time but at different speeds depending on their size. For example,…

How to use the codePointAt method in JavaScript

The JavaScript codePointAt method has more or less the same function as the charCodeAt method, used to get the 16-bit Unicode representation of the character at a certain position in…

How to check if a value is a number in JavaScript

In this short tutorial we are going to look at the various methods that exist to find out if a value is a number in JavaScript.   1. Using the isNaN() function   One…

How to use the charCodeAt method in JavaScript

The charCodeAt method is accepted by strings in JavaScript, returning the 16-bit Unicode code of the character at the position we pass as a parameter to the method. The charCodeAt method…

How to use the charAt method in JavaScript

The charAt method is accepted by strings in JavaScript, returning the position of the character passed as a parameter within the string. If the string contains multiple occurrences of the character…

Strings in JavaScript: What they are and how to use them

In this tutorial we are going to explain what strings are and how they are used in JavaScript. The tutorial is intended for people who are learning to program in…

We use our own and third-party cookies to improve our services, compile statistical information and analyze your browsing habits. This allows us to personalize the content we offer and to show you advertisements related to your preferences. By clicking "Accept all" you agree to the storage of cookies on your device to improve website navigation, analyse traffic and assist our marketing activities. You can also select "System Cookies Only" to accept only the cookies required for the website to function, or you can select the cookies you wish to activate by clicking on "settings".

Accept All Only sistem cookies Configuration