Tech Today – Feb 09, 2018

Digest of and links to articles that I’ve read and explored today. I like to read an average of 10 – 15 articles a day and summarizing and listing them out in this manner forces me to absorb the information in a deliberate manner.

Six Tiny But Awesome ES7 + ES8 Features

I’m always on the prowl for the latest JavaScript tidbits and this one is especially great:

Object.values({ 
    'first': 'first value', 
    'second': 'second value' 
});
// returns ['first value', 'second value']

Object(values) takes a given object (object literals, arrays, strings, etc.) and returns an array with the object’s own enumerable property values. MDN documentation

Object.values('string') returns ['s', 't', 'r', 'i', 'n', 'g']

One thing to note is that object methods as properties are not enumerable:

let sample = {
    method: () => console.log('i is method'),
    notMethod: 'not method'
}
console.log(Object.values(sample)); 
// returns ['not method']

More goodies:
* Array.prototype.includes
* Exponentiation: 2 ** 3; // returns 8

Learning Go as a Node.js Developer

Succinct and simple intro tutorial to Go. The author uses the Gin framework which borrows a lot of ExpressJS’s patterns making it easier for Node devs to set up and go.

Some of the advantages of using Go as a programming language are:
* Compilation is speedy
* Supports concurrency at the language level
* Functions are first class objects
* Garbage collection
* Strings and maps are built into the language

The Faux Fears about Functional Programming

Monads Rule via CommitStrip.com
Monads Rule via CommitStrip.com

An in depth read into Functional Programming with examples in Purescript. I’m a big advocate to functional programming and I’m fortunate enough that most of the dev environments that I’ve worked in pushed the functional paradigm.

The tricky part is when you’re developing in the front end. You’re always mutating something whether it be results of user action or conditional UI states. Separation of concerns of the UI and the logic layers and what not.