Languages of the Machine… Do you understand them? You Better!

 
Languages of the Machine…Do you understand them? You Better!

Most of us, who do not belong to the field of computer sciences, are painstakingly unaware when it comes to the world of programming languages and are afraid to even try and attempt to understand it. There are alphabets, and numbers, and symbols, all working together to form a giant web of disarray (or an artistic masterpiece; depending on how you look at it). We might have had a brief encounter with them in our school life, but have since looked the other way whenever presented with an opportunity to learn more about them later on. However, in doing so, we forget that coders and programming languages have fundamentally changed the way of life.

Coding is making a shift from side-stream to mainstream. A recruiter might no longer judge an applicant by the degrees he/she holds, but the knowledge and experience in a particular programming language. A working understanding of a programming language takes a few years of practice before one can manage to comprehend a code, and therefore an individual with these skills at their disposal can have an upper hand amongst an increasingly competitive world.

Shift to Electric Vehicles – How will it impact GCC Automobiles Sector

As technology becomes more and more integrated into the core business of an organization, we are increasingly witnessing the rise of an in-house tech team to manage the day to day functioning of the code base, similar to that of an in-house finance team. Computer programming as skill is therefore evolving from a field that used to be open exclusively to engineers, to a one that is a prerequisite in any and every industrial spectrum. As automation tools, web designing, statistical modelling, AI and machine learning become integral to the functioning of organizations, the knowledge of a programming language is increasingly becoming a “must have” qualification for any new applicant.

Industry Roles Ripe for Disruption

It is difficult to think of a job role today, which cannot be automated by a piece of code in the future. From portfolio management and digital marketing to medical diagnosis and legal advisors, almost all job roles are ripe for disruption sometime in the future.

Recent advancements in technology and automation are disrupting some of the traditional roles in the finance industry. Stock picking which was ones a highly coveted skill, is now being pushed to the corner as pension funds, retirement plans, and even retail investors are moving towards passive funds that run on autopilot. Accounting is no exception. In recent years, we see the implementation of Artificial intelligence and Blockchain technology slowly taking over the accounting industry. It is only a matter of time before people with no knowledge on computer programs start struggling to get a job. Whether you are in banking, risk management, portfolio management, or any other field of finance, your role either already requires or will soon require you to be able to program in at least one programming language. As businesses become more and more automated and technology driven, finance professionals with programming skills are going to be in demand and can help you stay relevant in the job market.

Not only finance, but with the digitalisation of society, marketing too is experiencing a renaissance. Marketing jobs are increasingly dependent on the need to be able to create, modify and maintain websites. Everyone seems to be fighting for customer attention on every social media platform, which can then lead to revenue via advertisements. Therefore, Digital Marketing roles nowadays require you to possess programming skills, especially when it comes to Search Engine Optimization (SEO). SEO is the process of increasing the quality and quantity of website traffic by increasing the visibility of a website or a web page to existing and potential users.

For medical practitioner, the advantages that come with the ability to code are tremendous. New healthcare applications and platforms are arising faster than ever before, many of which, founded by Doctors and Nurses themselves. In an era of electronic medical records and telemedicine, it is handy to be technically proficient. Doctors could therefore leverage their combined knowledge of computer science and medicine to tackle the rising complexity in health care problems. Tech-savvy doctors at Stanford Children’s Hospital in the United States launched a mobile program in 2015 that allowed diabetic patients share their blood glucose levels with their providers and caregivers. In 2019, they designed a new mobile app to help patients quickly find a doctor, call for an appointment, access their medical records and navigate the hospital campus (Healthier.stanfordchildrens). All across the globe, hospitals have built apps to study asthma, Parkinson’s disease, autism, epilepsy, breast cancer and other ailments (Kqed.org).

The roles played out by an architect and a programmer are also quite similar. One designs the physical spaces around, while the latter designs virtual user interfaces. Coding could thereby help architects explore new architectural forms and investigate how architecture can evolve and adapt to the ever-changing. Usually, design tools use various complex automation routine algorithms, which many architects fail to understand, hence their usage of the tool is limited and their overall efficiency is reduced. However, if they know exactly what these algorithms represent and how they influence the outcome of a geometry, they can make much more conscious and efficient decisions in the design process.

Moreover, managers with a knowledge on programming would not only be able to have better discussion with developers, but will also be able to conveying instructions with clarity. It would also give them the knowledge to try to better the code as well as solve minor issues on their own without depending much on the developer.

Basic Overview on Programming Languages

Programming languages help us make decisions based on logical rules, automate mundane repetitive tasks, and manipulate data with ease. Programming languages are mainly used to control the performance of a machine or to express algorithms. Several different programming languages have been created and more are created every year, each with their own unique features. HTML, Ruby and JavaScript are great for building web sites; Java and C++ are often used to develop software and run infrastructures, whereas Python and R are the tools of choice for analysing statistics. Languages often make trade-offs in terms of convenience, safety, and speed, much like vehicles. The trade-off is dictated by the job at hand. Because each language is different, each may be best suited for a certain purpose.

At their most foundational level, programming languages all serve the same purpose, which is to turn human thoughts into binary code of 1’s and 0’s that a computer understands. However, on the surface, where humans interact with them, they vary a lot. With a strong need for unique and diverse programming languages, it is virtually impossible to create a single universal programming language that meets all needs. Moreover, programming languages are often revised and even combined with other languages over time, in order to meet the evolving technological needs. A programming language is therefore a tool for humans to express ideas to computers. A tractor-trailer, a bicycle, and a Tesla are all vehicles. They all have wheels and steering and will get you from point A to point B. However, we use them for different things. Programming languages are similar. Beyond mere utility, developers choose tools based on personal tastes. Because there are many choices for good programming languages, developers can select the one that works the best for them.

Most of the popular programming languages under discussion are “open source”, which means that no one owns them and no one profits out of their use.  Open source software refers to the software, which uses the code freely available on the Internet. The code can be copied, modified or deleted by other users and organizations. It is developed by a combined effort, under which programmers from all over the world improve upon the code and share the changes with the public. As the software is open to the public and several people work on its improvement, the result is that it constantly updates, improves and expands.

Closed source software on the other hand means that the software is a proprietary and closely guarded code. Only the original authors of software can access, copy, and alter that software. In a case with closed source software, users do not purchase the software, but only pay to use it.

Application Perspective

There are numerous general and all-purpose programming languages, each with their own specialties, advantages and disadvantages. However, while the democratisation of coding and assistance from vast code libraries has made it easier to become a coder, other developments have made life more challenging for professional coders. An ever-evolving technological environment means skills need to be updated frequently and client prefer coders with mastery of multiple languages, also called full-stack developers.

As per the Developer Survey Results 2019 by Stack Overflow, more people use JavaScript than use any other programming language. PHP appears to be falling out of favour as popularity for Python rises. For the seventh year in a row, JavaScript is the most commonly used programming language used by 68% of the survey respondents. Python, now the fourth most popular programming language, was used by 41.7% of respondents at Stack Overflow survey. In 2019, Python edged out Java in overall ranking, much as if it surpassed C# last year and PHP the year before making it the fastest-growing major programming language today.

The Evolution of Programming Languages (% of programmers using the language)
The Evolution of Programming Languages (% of programmers using the language)
Source: Stack overflow, Marmore Research

Python has seen maximum adoption in the finance industry because of its ease of use, and a large number of open source libraries available that you can use to incorporate into your programs. Some of the largest investment banks and hedge funds have used it to build their core trading and risk management systems. Python is also very suitable for data analytics, which is at the heart of finance.

There are also several specialized programming languages, used for their edge in specific tasks. These include programming languages such as Haskell, and statistical programming languages such as MATLAB and R programming. Haskell is a functional programming language with application in many industries and applied in many projects. For example, ABN AMRO used it in a project where they wanted to measure the counterparty risk on portfolios of financial derivatives for their investment banking activities. MATLAB and R-Programming are statistical languages and are a great add-on along with a general programming language such as Python. R has a great developer community around it and very interesting packages to help users perform a variety of analysis. R also has good support for big data analytics. We have also seen a rise in specialised programing languages that are built into a financial software. For example, TradingStation, a technical analysis software, has a trader’s programming language called EasyLanguage, which allows you to create and modify indicators and trading strategies.

GCC Regulatory Review – 2019

Apart from programming languages, there is also a high demand for database management professionals.  SQL, which is a language of working with databases, helps to effectively store, retrieve, and modify data from the databases.

For individuals willing to expand their knowledge base to best prepare for any future uncertainties, a useful strategy would therefore be to learn Python/Java Script (a general-purpose language), R-programming (for specialised statistical abilities) and SQL (the top database query language used in most organizations).

In summary, we have a variety of programming languages and this diversity makes interesting programs, interesting companies, and interesting careers possible. The world that we are currently living in, and the world that is slowly unravelling in front of our eyes, is and will increasingly be dominated by these pieces of codes. It is a language, which not only helps us interact with the physical world, but also with the digital world in our day-to-day lives. Technological revolution stops for no one and disruption in the core fundamentals of any industry is the major driving force in its evolution. This disruption gives birth to new job roles and individuals with dynamic abilities would be the ones to capitalize on them.

 

Appendix

Top 20 Programming Languages in 2019 (% of programmers using the language):
Top 20 Programming Languages in 2019 (% of programmers using the language)
Source: Stack overflow, Marmore Research

Our Latest Articles