In a recent blog post, our Director of Client-Server Modernization, Kris Ceuppens, wrote that the majority of requests for OO languages we've been seeing lately are targeting Windows or *Nix. "When the target platform remains Mainframe, then COBOL seems to have become the de facto standard for (business) programming language for migration projects.” he stated in the "What will you generate?" article.
Anubex's clients seem to make similar choices across different geographies (Europe, North-America, Asia-Pacific).
Java and C# remain popular OO languages
Java (J2EE) and C#.Net are taught to most Bachelor and Master students studying Computer Science / ICT and remain popular for business application programming.
Having asked a few academics which language they prefer to teach first, I learned most prefer to teach Java (and sometimes C) during the first academic year as Java provides students with a broad perspective on open source technologies. C#.NET is then taught at a later stage (e.g. 2nd year) and – funny enough – students then seem to quickly indicate which language they like or not and form two “blood groups”: the “Java-ists” and the “C#-ists”.
While the job market requires both profiles, we today notice that experienced “Java-ists” are in shorter supply and – as a result - can demand slightly higher compensation. The better “C#-ists” should however not worry: they also enjoy good job opportunities and – having a tendency to focus solely on the “Microsoft stack” – can build a nice career in front-end and/or back-end development.
Anubex is a bit special in the sense that we offer clients – in case they prefer to leave the mainframe - the choice between the “Open source stack” (Java on Linux) and “Microsoft stack” (.NET on Windows).
As this implies that we build automated conversion tools in Java and C#, we prefer to recruit developers who like both OO languages. As “duo-ists” are however hard to find, we’ve also recruited “Java-ists” who subsequently learned C# and vice versa.
Luckily, we see that the number of first-year ICT students is re-increasing AND that people with other degrees (e.g. marketing) re-orient their career towards ICT later on by taking evening classes to obtain a graduate ICT degree.
Last but not least, senior software developers – who are incentivized to work longer and study Java or C# at a later stage after having programmed many years in procedural languages such as COBOL (see below).
As a result, Java and C# can continue to remain popular for the foreseeable future. Although functional programming languages - such as Scala or Haskell - may gain traction and be taught in the years to come, we have not seen any enquiry from clients or prospects so far.
After 50 years, COBOL is still around
For clients and prospects who prefer to remain on the mainframe, COBOL – albeit 50 years old and less and less taught to Bachelor or Master students - remains popular. These days, procedural COBOL programs can be easily reused in the .NET or Java platforms, and integrated with newly written C# and Java code.
Some banks and insurance companies recruit school leavers and train them on-the-job to become COBOL developers. They anticipate that their age pyramid will accelerate – i.e. senior COBOL developers will quickly retire – and applications will need to be maintained in COBOL for quite some time.
Other clients admit that it becomes hard to convince talented, young recruits to follow such a path and choose - for instance - NetCOBOL as an intermediate step towards .NET, thus targeting to recruit the best young talents more easily.
As a migration company, we thus anticipate to continue to convert large applications – for clients who prefer to remain on the mainframe - from 4GL (such as Natural) to COBOL while other clients – who prefer to migrate to a distributed environment (Linux or Windows) will either prefer a COBOL-to-COBOL conversion or a conversion towards Java or C#.
In addition to cost cuts, the latter clients may gain business agility and an easier integration between back-end applications on the one hand and modern UI technologies - such as web - on the other hand.