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 : 5988  
 
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 AND DEVELOPMENT.

 
 
 

Related Posts

How to use the endsWith method in JavaScript

In this short tutorial, we are going to see what the endsWith method, introduced in JavaScript ES6, is and how it is used with strings in JavaScript. The endsWith method is…

What are javascript symbols and how can they help you?

Symbols are a new primitive value introduced by ES6. Their purpose is to provide us unique identifiers. In this article, we tell you how they work, in which way they…

Callbacks in JavaScript

Callback functions are the same old JavaScript functions. They have no special syntax, as they are simply functions that are passed as an argument to another function. The function that receives…

How to create PDF with JavaScript and jsPDF

Creating dynamic PDF files directly in the browser is possible thanks to the jsPDF JavaScript library. In the last part of this article we have prepared a practical tutorial where I…

How to make your own custom cursor for your website

When I started browsing different and original websites to learn from them, one of the first things that caught my attention was that some of them had their own cursors,…

Node.js and npm: introductory tutorial

In this tutorial we will see how to install and use both Node.js and the npm package manager. In addition, we will also create a small sample application. If you…

How to connect to MySQL with Node.js

Let's see how you can connect to a MySQL database using Node.js, the popular JavaScript runtime environment. Before we start, it is important to note that you must have Node.js installed…

JavaScript Programming Styles: Best Practices

When programming with JavaScript there are certain conventions that you should apply, especially when working in a team environment. In fact, it is common to have meetings to discuss standards…

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…