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

Dark Mode on website using CSS and JavaScript

In today’s article we are going to learn how to build pretty much standard these days on the web pages and that is the alternative color mode and switching between…

JavaScript: Spread and Rest operators

In today’s article we are going to talk about one of the features of the ES6 version(ECMAScript 2015) of JavaScript which is Spread operator as well as Rest operator. These features…

Javascript: what are callbacks and how to use them.

Today we are going to learn about a concept that is widely used in javascript and that is used quite a lot by today's frameworks, libraries, especially NodeJS. This is…

HTTP Cookies: how they work and how to use them

Today we are going to write about the way to store data in a browser, why websites use cookies and how they work in detail. Continue reading to find out how…

The package managers npm and yarn: main differences

Npm and yarn are package managers that help to manage a project’s dependencies. A dependency is, as it sounds, something that a project depends on, a piece of code that…

The Javascript asign() method to merge and clone objects

In this article, we will be covering Object.assign()method in javascript in detail with examples. A javascript object is a collection of key-value pairs. Keys are also known as properties of object. Keys…

All the javascript functions and methods to manipulate arrays

This article will show that the prominent JavaScript array functions are .map(), .filter(), and .reduce(), and will then go through examples of instances in which .every() and .some() would save…

TypeScript: The evolution of JavaScript

When you're involved in the development of a large project, programming languages like JavaScript don't seem to be the best solution. Their lack of elements such as Language Aids has…

Awesome JavaScript Games and Js Software to create Games

Best sites js13kGames 2019 - Highlights from the js13kGames 2019 competition. js13kGames 2018 - 13 Games in ≤ 13kB of JavaScript. js13kGames 2017 - Build a game in 13kB or less with js13kGames. Adventure Triangle:…

Is JavaScript good for machine learning?

One of the things you always hear when you are talking to someone related to the M.L. world is that, one must learn Python because the vast majority of the…

First steps into JavaScript – a practical guide 3

After we learned the basic ofaccessing DOM elementsandhow to modify them,we are ready for the more exciting parts – handling DOM events. This allows us to make our web way more…

JavaScript: Promises explained with simple real life examples

Handling asynchronous data flows is complex, who hasn't faced codes like this one?: checkWeather('palma de mallorca', (error, weather) => { if (error) throw error; if (weather === 'well') { return checkFlights('palma…

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