screen-shot-2017-01-26-at-14-36-43

Strange question I know for a blog title, but just got off the phone and inspired to put virtual pen to paper.  In a multi-cultural world where many languages are spoken we never hear the debate about which national or even wider language is ‘better’ than any other language.  The UN to my knowledge are not championing an international agenda to move countries to adopt a ‘newer more sexy’ global language…

However in the IT realm certain languages are perceived as better and are therefore justify expending large sums of money to get the promised land of a new language.  Take for example a client executive who just called me about a cloud opportunity for mainframe.  The client scenario is that the client wanted to migrate from COBOL on their mainframe to .NET.  3-years in the project has failed, the promised land of .NET has delivered little if any working functionality, the mainframe environment has continued to grow in the interim, the business challenge remains… The net net is that 3-years has been lost, money has been wasted, the management team has moved on, but the business still faces the same challenges.

COBOL, Fortran and PL/I are all languages, they are solid well understood languages, think of them as something like Mandarin in the spoken sense.  Java, Ruby, Python and GO are also solid, well understood languages, think of them as Swedish in the spoken world.  The challenge is not the language, no CEO ever asks a team to embark on a project to change an IT language.  CEO’s ask their IT teams to drive innovation, deliver the new app, drive delivery optimisation, but in all cases delight clients!

As Enterprise Architects look to deploy new Line of Business driven applications the discussion should be how do we leverage the existing architecture, using my analogy the body of spoken and written word that existing in a country, to build on…  In the same way no country premier would ask his country to change its language from say British to Spanish to achieve economic growth for instance, in no way should an IT leader embark on a a change of language to deliver on a business driven objective…

So as you face the challenge of how do you deploy your new application, don’t ask how do I throw all of this away mainframe stuff away and go to GO, Erlang, Ruby or Python, what you should be asking is how do I leverage the business logic and proven data structures that sit on the mainframe and allow new modern interfaces and API’s access that data and logic.  The API Economy is alive and well on the mainframe, be it RESTful API’s connecting to CICS, IMS or DB2 or be it Linux open source apps running co-resident to z/OS applications…

In short no language is better than any other language…  Don’t embark on a risky re-platforming exercise just to get to a new application programming language, its both a risky endeavour, but it also realises little or no business value. No end client will ever care about how the app they engage with is written or where it runs, what they will care about is that its quick, always on and most of all delights them… put your focus there…