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 : 4712  
 
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

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…

Dates in local format with Javascript

In the articles we have about dates in JavaScript we were missing one about how to create dates in local format with JavaScript. That is to say, being able to…

Formatting hours in Javascript

Continuing with the set of articles that talk about internationalisation elements, like the previous one where we talked about relative dates in JavaScript, we will see in this one how…

Request data with prompt in JavaScript

After having published several articles about how to manipulate arrays and dates, today I will publish a post that some of you will find too basic and others will find…

Relative dates in JavaScript

One of the interesting things about the internationalisation library represented in the Int object is the handling of relative dates in Javascript. This handling allows us to represent a date…

How to access webcam and grab an image using HTML5 and Javascript

We often use webcams to broadcast video in real time via our computer. This broadcast can be viewed, saved and even shared via the Internet. As a rule, we need…

The JavaScript forEach loop

We have already talked about how to handle some of loops  types in Javascript including for, for-in and for-off loops. In the case of today we are going to see how…

What are React Hooks and what problems they solve

Working with React, - and before the release of Hooks in version 16.8 -  there was always the possibility to create components in three different ways based on a number of…

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