Stop the implementation monkeys before they get you and your little dog, too.
Recently at Inovāt, we started what I like to call “The Great Review”. In order to stay at the top of our game, we have begun to review the software tools we have used historically in order to weed out the codebase garden and maintain a healthy developer growth.
Development and design agencies have gotten into the bad habit of being artistically acceptable implementation shops. While I'm not one to downplay the importance of doing what you know, what you know may not be enough or even the right solution.
A FOSS (Free and Open-Source Software) revolution of the past decade has herald with it a growing number of decent platforms and frameworks. You have the infamous WordPress and Expression Engine 2, Ruby On Rails, Django mixed with exciting new language choices like Go by Google or even Elixr, a language build atop the Erlang VM.
With the fundamentals of object-oriented and functional programming being immutable at their respective theoretical levels, I challenge all developers to stop being a one trick pony.
While I could pontificate my stance on the various frameworks and platforms available and start a flame war in the comments; I am going to focus more on a couple of the newer things I’ve seen that excite my passion for software.
It Starts With Language.
There has been a resurgence of programming languages in the past decade; some due in part to Marc-André Cournoyer’s wonderful “How To Create Your Own Freaking Awesome Programming Language” and a new era of young, ambitious programmers. But here I am simply going to cover two of my favorite.
In order to best explain Go, I have to fall back on how it is described on it’s site:
“Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.”
There is really no better way to describe this language and its many virtues without getting into the technical side of things. Go brings an ease to the development of applications and systems that require concurrency and cloud-scalability to programmers who may not have the experience when dealing with concurrent programing paradigms. Not only is it simple, its small, lightweight and easy to deploy and distribute.
If you or anyone you’ve met has tried to learn and write something in Erlang, you will love Elixir. Erlang is an old telecomm language that still probably runs telephony networks around the world. It is highly scalable, extremely fault-tolerant and just plain hard to write.
This is where Elixir comes in. Elixir runs atop of the Erlang VM and aims to break down the barrier to entry in leveraging what Erlang has to offer. One if not the greatest aspect of Elixir is its simplified syntax. This allows a developer coming from any other programming background to use what they know more effectively when building concurrent, distributed and fault-tolerant applications with hot code upgrades.
The Right Framework.
Before you go and post a blast at me in the comments, I want to remind you that I am simply touching on these things in retrospect to what we do at Inovāt and not as a industry wide manifesto.
We here tend to be a PHP crew as it is one of the lowest cost languages to implement and maintain long-term for companies due too its large community of developers. While the same could be said for Ruby and NodeJS, we find our team to thrive with PHP and use that to our advantage.
I have reviewed and contributed to the communities of Laravel, Li3(Lithium), CakePHP and even Magento. They all do some great things and have some of the healthiest open-source communities you can find. The challenge was to find a tool that allowed our designers and developers to leverage what they know and keep their process intact instead of changing to accommodate the opinionated tooling.
Enter Craft. Craft is written on the Yii framework, which has some rising traction in the PHP world, and without compromise appeals to both designers and developers. I haven’t seen a UI/UX as good as Crafts base control panel in quite a long time. Pixel & Tonic has done a great job boiling down the cruft you tend to find in things like WordPress and EE2 into a great launching point to create both beautiful and well engineered sites.
I am excited to dig into, and start contributing back to, the Craft community and I am sure I will have more to say on it in the near future. But for now I just wanted to give it a much due shout out.
When you start working on building a solution out for your clients, take a moment to evaluate the problems and pitfalls you may encounter just implementing what you know. There is never time or money enough to not risk taking on something new and that is part of the excitement of being a programmer. So grab the code by the horns and give something new a spin.
Header image by Dulce Dahlia