NodeOS: how much is too much?

The number and variety of npm packages were always a topic for irony and ridicule. If you are not getting what I am talking about, check out the is-odd npm package with 76 million downloads, is-positive/is-negative packages, literally a package to bless your code and many others. While this seems funny, this poses a serious problem, which may lead to negative consequences. But this time, the community pushed even further and introduced NodeOS, an “operating system powered by node.js and npm”. I am going to explain why this is not true and what it says about the JS community.

read more “NodeOS: how much is too much?”

Builder pattern in JavaScript without classes

Design patterns are a vital part of software development. They describe common problems and solutions to them. One such pattern is the builder pattern. As Wikipedia puts it, it is “a design pattern designed to provide a flexible solution to various object creation problems in object-oriented programming”. However, I am here to show you that it does not only apply to object-oriented languages and can be achieved in JavaScript without classes.

read more “Builder pattern in JavaScript without classes”

Please stop using classes in JavaScript

For years, OOP (object-oriented programming) was the de-facto standard in software engineering. The concepts of classes, polymorphism, inheritance, and incapsulation dominated and revolutionized the development process. But everything has an expiration date, programming paradigms included. In this article I will talk about why were classes introduced in the first place, why it is a bad idea to use classes in JavaScript, and what are some of the alternatives.

I am not going to talk about why OOP is fading away in general, but you can check out this great article for more info.

read more “Please stop using classes in JavaScript”