Let’s be honest. A lot of JavaScript code sucks. Change that!

Image for post
Image for post
Photo by Robert Baker on Unsplash

JavaScript is a force to be reckoned with. It is the single most widely-used programming language in the world. Its simplicity and the abundance of learning resources make it approachable for beginners. Large talent pools make JavaScript appealing to companies of all sizes. A large ecosystem of tools and libraries are a true boon to developer productivity. Having one language to rule both the frontend and backend is a huge benefit, the same skillset can be utilized across the entire stack.

JavaScript’s power is nuclear

JavaScript provides lots of tools and options, which is good! The bitter truth, however, is that it imposes almost no limitations on the developer. Giving JavaScript to somebody inexperienced is akin to giving a box of matches to a 2-year old child along with a can of…


It will make your productivity plummet

Perhaps you’ve heard of so-called “functional” programming. Maybe you’ve even been wondering whether you should try it next.

The short answer is hell no!

Functional programming is full of flaws, is not suitable for real-world projects, and will make your productivity plummet. Why? Keep reading to find out!

Functional Programming is Unable to Fulfill Complex Enterprise Requirements

Image for post
Image for post
Photo by Sean Pollock on Unsplash

Real-world enterprise software demands a complex set of rigorous and compulsory requirements pertaining to the expected amount of embedded abstractions within the software solution. In other words, object-oriented programming enables the programmer to utilize multiple mechanisms of abstraction that fully satisfy the complex requirements demanded by the enterprise.

That was a mouthful, but bear with me! Things will become crystal-clear in a moment. …


Why it’s time to move on from OOP

Image for post
Image for post
Photo by Jungwoo Hong on Unsplash

OOP is considered by many to be the crown jewel of computer science. The ultimate solution to code organization. The end to all our problems. The only true way to write our programs. Bestowed upon us by the one true God of programming himself…

Until…it’s not, and people start succumbing under the weight of abstractions, and the complex graph of promiscuously shared mutable objects. Precious time and brainpower are being spent thinking about “abstractions” and “design patterns” instead of solving real-world problems.

Many people have criticized Object-Oriented Programming, including very prominent software engineers. …


Prerequisites: some familiarity with HTML, JavaScript, and CSS.

Image for post
Image for post

A better introduction to React?

Unfortunately, most of the React tutorials out there have no consideration for best practices and don’t always teach you the “right” way to do React.

In this tutorial, I will go over the basics of React, and the most common bad practices that you might encounter.

This tutorial is going to be long, so make sure to get yourself some coffee!

Why choose React?

Before we get started, let’s stop for a moment and see why React indeed is the best choice.

Declarative

In React, you describe what to render (instead of telling the browser how to do it). …


Disclaimer: this is not an introduction to React, and some familiarity with React is required. For an introduction to React, check my other article: React.js: a better introduction to the most powerful UI library ever created.

Over the years I came to a realization that the only proper way to develop high-quality React applications is by writing stateless functional components.

In this article, I will give a brief introduction of functional components, and of higher-order components. After that, we’ll dive right in into refactoring a bloated React component into a clean and elegant solution consisting of multiple composable higher-order components.

Image for post
Image for post
Photo by Dean Pugh on Unsplash

Introduction to Functional Components

Functional Components are called so because they literally areplain JavaScript functions. …

About

Ilya Suzdalnitski

Senior full-stack engineer. Elixir/ReasonML/React.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store