Latest news about Bitcoin and all cryptocurrencies. Your daily crypto news habit.
My last story is more than a year old.
In all this time many things changed. I became a professional programmer at a large company. I no more work on my own but with many colleagues. I realized backend, frontend and mobile code, becoming what is know as “fullstack programmer”.
The language I used the most was javascript.
I do not liked it at the beginning … .and not even at the end!Now I’m proficient with it and I’ve learned many things about Node and Express, Angular and React, Appcelerator and React Native.I used it on Salesforce Commerce Cloud Projects and Endless Aisle Projects (not open-source software) for some very interesting e-commerce customers.
The only thing right about it is that it give me the flexibility to move fast between projects and quickly become productive.
So I abandoned the idea of learning many languages for a specific area, but I want to generalize my knowledge to be skilled in all three areas where I worked this year.
I don’t like the ecosystem that become messy very fast, it breaks very often and you find difficult to leverage the code on an uniform style, especially working in a team, so that all its strengths often become its worst weaknesses…
But the dimensions of its community create the continuous effervescence that gives life to many interesting projects and clearly Javascript for now is still essential for web frontend development.Last year I tried functional programming (with Elixir) and I appreciated the efficiency and the quality of the code I was able to create.
Unfortunately it is not possible to write mobile application with Elixir.
I tried Clojure, but I don’t like its syntax.
Than I read and liked very much “Domain Modelling Made Functional” by Scott Wlaschin, so I try F# and I see it is really near at what I need but I’m not completely convinced ( it is slow at compiling and putting together all pieces is not always simple).
When I used React Native in our last project, I liked it very much. I learned that React was not born with javascript in mind, and his creator @jordwalke was also the creator of ReasonML, a new syntax for the old, efficient and fast OCaml language to be more comfortable for someone arriving from Javascript.
It can compile and use the ecosystem of Javascript (with the very efficient Bucklescript) or in Native Code (for example for developing fast backend code).
The generated javascript is indistinguishable from that created by hand by a programmer, for example the factorial function in Reason:
Become like this, compiled by Bucklescript:
This allows any company to gradually introduce ReasonML, obtaining its efficiency and the advantages derived from it such as his powerful, safe type inference meaning you rarely have to annotate types, but everything gets checked for you.
You can using Domain Modelling as described in Scott Wlaschin’s book, having to write less tests and gaining safe and professional code.
This is the path I want to follow in 2019, at work when possible and for my side projects.
I’m looking at all the resource available:
Exploring ReasonML and functional programming by Dr. Axel Rauschmayer
Web Development with ReasonML by J. David Eisenberg
Get Started with Reason and by Nik Graf
Reason bootcamp by Vladimir Novick
The community is very friendly and you can find help and other resource in the dedicated Discord Channel .
And now an important post scriptum.
This year I also studied another language that I think will have something to say in the coming years…Dart.
The language has evolved and is modern and efficient, but Flutter is absorbing all its efforts and attentions. Google should have also brought some energy to the backend side.
Do not get me wrong: Flutter is spectacular! If I was given the opportunity to focus solely on the development of mobile apps or only the frontend (looking at how the platform is evolving), it would certainly be my first choice.
The search for the perfect fullstack language was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.
Disclaimer
The views and opinions expressed in this article are solely those of the authors and do not reflect the views of Bitcoin Insider. Every investment and trading move involves risk - this is especially true for cryptocurrencies given their volatility. We strongly advise our readers to conduct their own research when making a decision.