Software Programming Languages - Is there a case for standardisation

I have been learning programming languages from the days of my engineering education. I started with Fortran, then learned C, then scripting languages such as Shell, now Python, Javascript, Html, then C++, Java, recent past Go, Scala, Ruby and then I do not see any end of it.  May be I missed listing some of them here from my learning list.

Then I see my continuous struggle to hire right talent for the development work - do we need for this project - Java guy or C++ guy or C person or a person who knows both C and Java or language does not matter here.

In fact, I had very interesting conversations on this topic with my colleagues and team members whether we can expect people to learn another programming language or not quickly if work demands.

Someone from my team resigned last year and when I asked him reason for his resignation - he told me that he wants to build his career just around Python. He does not want to loose his expertise in this language and in his opinion, building expertise in any language takes multiple years. He did not find opportunity in the team in this language and that is why he wanted to leave.

Then I had another conversation with other team member whom we requested to pick up new programming language and he had his concern on that request. He argued that it is not easy.

Two or three years back, I attended one conference and then I heard about polyglot programmers and someone argued that learning programming languages is very easy and in fact, there is a case for polyglot programmers.

This is one side story. Other side story is that I always also had pressure to improve my software teams efficiency and productivity and when I was thinking about that and learning on it, I realised that processes and standards improve efficiency and productivity and when I experimented with that even for my personal productivity, I could see dramatic changes in my own efficiency and productivity.

I have also seen another world which seems very different from standardisation perspective and that is the world of telecom. Telecom has a history of standardisation and I think we have seen benefit of that. GSM, 3G, PSTN networks are example of standardisations where a bit was standardised and a bit was innovated but within boundary of that standardisation. Firms compete in that market on different parameters. May be that standardisation improved abilities of firms to come out with those complex systems in market quicker and ensured certain level of inter-operability.

So my question is that do we have a case for standardisation and unification of programming languages for improved productivity and efficiency for software products so that we can take this industry to completely different level or whether it will stifle creativity and innovation? When I say standardisation and unification, here I do not mean a particular programming language standard but dividing software development requirement into different segments and then identifying only one programming language for that and all software firms collaborate their to define that programming language standard? May be, it will reduce shortage of talent in market since now there will be a bigger resource pool for that language, it will improve software engineers productivity and in turn firms productivity and then may be impact of software industry on society will accelerate much more and we will be able to build much more complex systems quicker.

Any thoughts?







I would say that good observations but learning is continuous process either programming languages or any other things. Even though when you are entrepreneur or self employed or householder,  change and learning is continuous process.  When people grow in the career they start seeing things differently. In fact is it good idea to make choices and adopt changes, however the fundamental of computer science and fundamental of languages remain same. Vocabulary and syntax of the programming languages  tend to change over time  so we have to adopt and cope.  While people see the data science, ML/AI, Big data is the way forward, it totally depends and important to note customers demand. While out of excitement we bring new feature and insight with the product, are our customers willing to pay is the question.

Like
Reply

Wow Sir, You wrote so many articles to learn. It would be my pleasure to read articles of yours

Like
Reply

Languages keep evolving and evolution is a continuous process in any field. I think programming languages are already categorized & standardized (informally though) based on the below factors: 1. Need & type of the Applications(Bigdata/ML/AI/Gaming/System SW/Application SW/ecommerce/online/mobile App) 2. The runtime nature/scope of Applications (real time/non-real time) 3. Targeted users/programmers (expert-level, beginner level....kids) 4. Simplifying /Abstracting the coding complexities from the programmers (ease & speed of coding) 5. The speed & performance requirements of the applications 6. The HW/SW requirements needed by the applications However the choice is left to the programmers/companies to pick the language based on the cost in terms of availability of HW/SW & Human resources

What I mean is a choice of one language for a category of application. It is like producing only one color and one type of car for a specific customer segment.

Like
Reply

To view or add a comment, sign in

More articles by Dr Virendra Gupta

  • Tensorflow 2.0 Keras APIs

    In this short article, there is effort to explain all three classes of APIs being offered by Tensorflow 2.0 Keras APIs…

    1 Comment
  • How to Start on Learning about Design Thinking

    Based on my research on design thinking, I will say that if you want to get quick essence and sense of Design Thinking,…

  • Cloud Services Monitoring Middleware

    An interesting paper from Cedillo, Jimenez-Gomez, Abraham and Insfran (2015) on monitoring middleware for cloud…

    1 Comment
  • Some Trends in Data Management and Processing

    Some Trends in Data Management and Processing (a) Processing data locally before moving To minimize data movement seems…

    3 Comments
  • Data Science: Discriminant Analysis

    As name of this technique indicates, this technique can help in identifying variables which can discriminate…

    2 Comments
  • Data Science: Factor Analysis

    Many times, in the business situations or otherwise, we may face very large number of variables or dimensions in the…

    1 Comment

Others also viewed

Explore content categories