Programming Languages

By Haoyang Li (hl2425) , Yuhao Lu (yl3539) , Yue Wang (yw2359) , Yue Zhao (yz2697)

The History of Programming Languages

The family net is constructed by recursing the parents of many popular programming languages and connecting them to the early languages that we know. All connections are constructed according to Wikipedia. It is not a complete family net of the entire world of programming languages. All programming languages root from the initial languages, Assembly, which is just a direct mapping of machine instructions.

The majority of programming languages is compiled. The initial interpreted language appeared in 1960s, but the burst of interpreted languages happened in 1990s when Python and JavaScript were invented along with the commercialization of Internet. Other than Assembly, Loops is also neight compiled nor interpreted, it is a language designed for registers. We can see from the family net that Lisp, C, C++ and Smalltalk are the most influencial programming languages. They are all pioneers of their time, whose influence is not surprising.

The efficiency presents the results published in speed-comparison. It is the time that each language spends on calculating pi using an iterative method. The speed of interpreted languages is obviously much slower than compiled languages. Unless specially designed for high performance scenarios, new languages tend to be slower since human, rather than machine, is the major bottleneck in mordern development.

The Popularity of Programming Languages

It is unrealistic to show the popularity trending of all programming languages, but it will be interesting though to just show the most popular ones. The popularity diagram consists of a bar chart and a line chart. The data source for both charts comes from Google Trends. Referring to the data of the line chart, we selected the top four hottest technologies as search queries worldwide from 2004-02 to 2021-12. Users can switch the search query by clicking on the Select dropdown box. For the data of the bar chart, we picked five different programming languages within North America from 2004-02 to 2021-12. By hovering over the line chart, the content of the bar chart will change respectively as the corresponding timeline changes.

The correlation between technologies and programming languages is not obvious in most cases. But it can be found that some of the technologies demonstrate connections with programming languages. For example, as the "Machine Learning" popularity increases over time, the popularity of "Python" increases correspondingly.

The chord diagram displays the result of a survey conducted by Stack Overflow.The flow between one language to another represents the portion of people who works in one language currently, but wish to work in another language in the future. The flows are colored the same as its target language. In the future, there seems to be more growth in the popularity of Python and JavaScript.