A journey to functional JavaScript: Part 1 – fundamentals

JavaScript has a quite fascinating history. Brendan Eich created on his own the first language prototype in just ten days. Its implementation was highly influenced by the concepts of first-class functions from Scheme and prototypes from Self. Initially it was developed under the name Mocha, but released as LiveScript. The latter name didn’t last long either. Java was so hot back in 1995, that Netscape decided to take marketing move and rename their new language to JavaScript. This decision has greatly influenced the way JavaScript has been perceived for many years. Outward similarities to Java promoted imperative, object-oriented style among developers using it. Ideas borrowed from Scheme have always enabled using functional programming styles as well. However it was never the case until it started to get momentum a few month ago.

Continue reading A journey to functional JavaScript: Part 1 – fundamentals

ReactJS Wrocław meetup #7

In September of this year, I experienced my first exposure to the art of public speaking. I gave a talk at ReactJS Wrocław #7 meetup. I already published my presentation on my blog and you can find it here. I’m glad that I decided to share my lessons learned while working on the Calypso project. I’m satisfied with the topic I picked, but I’m afraid I could do a way better job explaining code examples I presented. It looks like I’m going to have plenty of opportunities to work on projects based on React in the upcoming year. I’m looking forward to it and I hope to find another excuse to speak to the audience again.

Continue reading ReactJS Wrocław meetup #7

Exploring functional JavaScript

I started exploring functional programming (FP) concepts over a year ago. I have already shared my initial learning materials in one of the previous posts. It was only the beginning of my journey and today I would like to give you a much more detailed update on that topic. I picked the most interesting resources I discovered in the recent months. They helped me understand how functional programming can improve the developer’s experience when you work with JavaScript.

Continue reading Exploring functional JavaScript

Calypso data kung fu – WordPress.com use case

This post is going to be used as a presentation during my upcoming talk at ReactJS Wrocław meetup. The event is planned for Thursday, September 29, 2016 at 19.00. You can find more details here.

Calypso

Calypso is the codename for a WordPress.com admin interface. This is what I wrote about it in one of my previous posts:

This is a universal (aka isomorphic) JavaScript single page app written in ES6 using webpack, express, ReactFlux Redux, WordPress Rest API and many other front-end libraries.

Continue reading Calypso data kung fu – WordPress.com use case

Calypso – new WordPress.com

I’ve been working at Automattic only for 8 months now, but I must admit that so far this is the most exciting period of my 10 years long professional career. I’m lucky to work with amazing people on new WordPress.com admin interface called Calypso. This is an universal (aka isomorphic) JavaScript single page app written in ES6 using webpack, express, ReactFlux, WordPress Rest API and many other front-end libraries.

Continue reading Calypso – new WordPress.com

Learning functional programming

Lately I wanted to explore more in-depth functional programming concepts. When I was looking for resources I found an interesting bundle (with 60% discount) from O’Reilly :

It turned out they are really nice because they present code examples for the different programming languages like: Java, Scala or Closure. That approach gives you a bigger picture how functional programming can be applied. I’d say that the book contains almost everything you can see in the related video, plus it’s more up to date and it contains a bit more details. On the other hand the video is much more interactive.

Continue reading Learning functional programming

Using JavaScript ES6 in practice

We all know this language as JavaScript, but the official name is ECMAScript. The most recent official Ecma Standard is called ES5 (ECMAScript Language Specification Edition 5.1). It was published in June 2011 by TC39 (Ecma Technical Committee 39) – the committee evolving JavaScript. Focused development of the sixth edition started earlier in 2009, as the fifth edition was still being prepared for publication. It was initially named ES.next, but it’s widely known as ES6. This year new official name was announced ES2015 (The 2015 ECMAScript Language Specification). This is because TC39 plans to publish new version of JavaScript with small set of changes each year from now on. The final ES6 draft was published on April 14, 2015 and spec is frozen now. Formal publication is expected to be done in June 2015. Before that will happen it is already possible to get familiar with unofficial HTML version of the ES6 working draft. However I strongly recommend to check first very concise overview of ECMAScript 6 features. Another excellent resource to start with is ECMAScript 6 new features overview & comparison website that presents ES5 equivalent code next to ES6 code.
Continue reading Using JavaScript ES6 in practice