1 Programming Languages: Best First Language for a Software Developer David Thompson Computer Science Degree Program, Central Methodist University CS130: Introduction to Computer Science Professor Jimerson December 15, 2022 2 Programming Languages: Best First Language for a Software Developer Which language should an aspiring software developer learn first? There are over 50 programming languages widely used today including languages such as COBOL and FORTRAN that were created over 60 years ago. In comparison, newly created languages present fewer job openings but these opportunities could increase over time if the language becomes popular. Some languages present much higher starting salaries than other languages, which is a primary focus of this paper. Not all languages are easily learned; although there are more similarities than differences between languages, some languages are inherently much more difficult to learn to the extent that they should be excluded from consideration as a first language. This paper demonstrates that Python, Ruby, JavaScript, and Go are languages that embody all of these characteristics; they are in demand, they offer acceptable starting salaries, and they are easily learned as a programmer’s first language. Let us now take a look at the programs which were eliminated due to their degree of learning difficulty. C++ and Haskell both got a two thumbs down rating on learning effort by Suzdalnitski, who went as far as stating that “ . . . (to learn Haskell) one has to be well-versed in category theory first” (Suzdalnitski, 2020). Java got one thumb down (Suzdalnitski, 2020), and Veeraraghavan rated both Java and C# as intermediate languages. Kotlin was rated as an intermediate to advanced language to learn, and Scala was designated as complex (Veeraraghavan, 2022). Now let us consider languages that are easy to learn. Python is regarded as one of the easiest languages to learn, with clean, easily learned syntax (Brookshear & Brylow, 2020). Suzdalnitski gave it one thumb up and suggested that it can be picked up by beginners in a couple of weeks (Suzdalnitski, 2020). Python was rated as a 3 beginner level language by Veeraraghavan and was the top pick by ISHIR (ISHIR, 2022). Ruby is known for being relatively simple to learn (Veeraraghavan, 2022) and JavaScript got one thumb up by Suzdalnitski, who stated that “it is one of the easiest to learn.” JavaScript was rated as a beginner to intermediate language by Veeraraghavan, and Go got one thumb up by Suzdalnitski who feels “it could be learned in a month.” Swift was rated as beginner to intermediate by Veeraraghavan, and Suzdalnitski gave it one thumb up, stating that it could be learned in a month with previous experience. Veeraraghavan says that both C++ and PHP are beginner to intermediate languages. Based on the compilation of these surveys, we conclude that Python, Ruby, JavaScript, and Go are all relatively easy to learn. In addition to being easy to learn, a new software developer will also want a language that is in high demand in order to increase the odds of finding gainful employment. Python was written late 1980s, and it is one of the top-ten most-used languages (Brookshear & Brylow, 2020). Suzdalnitski says “Python is one of the most popular (languages) in the world” (Suzdalnitski, 2020). ISHIR states that it is “One of the most in demand languages” (ISHIR, 2022). Ruby “is broadly used” and “JavaScript is the most popular (language) in the world” (Veeraraghavan, 2022). Go is one of the fastest-growing languages (Veeraraghavan, 2022). There are over 3 billion devices running apps that were built with Java, it is in the backend of countless websites including Google, Amazon, Twitter, and YouTube, and Veeraraghavan says it is in high demand. Verraraghavan also feels that Swift is gaining in popularity, but is still a young language, and mentions that PHP was used to build more than 80% of the websites on the Internet, however its use is declining. “C# is used by roughly one- 4 third of all software developers and is particularly relevant for Microsoft developers” (Veeraraghavan, 2022). Looking at this data we see that our top four picks in languages that are easily learned are also languages that are in high demand – Python, Ruby, JavaScript, and Go – so let us take a look at the compensation a programmer can expect as they begin a career in software development. Table 1 Language Scala Rust Perl R C C++ Kotlin Java SQL Clojure Python Swift Ruby Go PHP JavaScript Haskell MATLAB HTML TypeScript Glassdoor $ 118,480 $ 104,193 $ 104,448 $ 93,977 $ 93,719 $ 93,719 $ 92,860 $ 92,072 $ 91,222 $ 85,838 $ 83,640 $ 88,826 $ 85,831 $ 89,203 $ 89,546 $ 84,013 $ 80,075 $ 83,092 $ 74,423 $ 64,509 Zip Recruiter $ 151,062 $ 129,558 $ 122,373 $ 116,330 $ 107,911 $ 107,911 $ 106,379 $ 99,635 $ 97,856 $ 100,802 $ 102,432 $ 97,009 $ 99,559 $ 95,342 $ 94,728 $ 96,046 $ 95,768 $ 92,679 $ 80,416 $ 70,002 Averaged $ 134,771 $ 116,876 $ 113,411 $ 105,154 $ 100,815 $ 100,815 $ 99,620 $ 95,854 $ 94,539 $ 93,320 $ 93,036 $ 92,918 $ 92,695 $ 92,273 $ 92,137 $ 90,030 $ 87,922 $ 87,886 $ 77,420 $ 67,256 To obtain the national average base salary for a programming language, we have taken the salaries provided by Glassdoor and Zip Recruiter and averaged the two (see Table 1). For comparison, the median pay for a software developer in 2021 was $109,020, or $52.41 per 5 hour (U.S. Bureau of Labor Statistics, 2022). The salary range starts with Scala at the number one position commanding an impressive base salary of $134,771 and in 20 th position we have TypeScript at $67,256 – less than half what one could expect as a software developer who is proficient writing code in Scala. However, Scala is considered a complex language as are many others in our top 20 list, so let us focus on the salaries of the four languages that we have determined are both easy to learn and in demand. If we round the salaries to the nearest thousand, this is how it looks (see Table 2): Table 2 Language Base Salary Ruby $ 101,000 Python $ 96,000 JavaScript $ 93,000 Go $ 88,000 There are many considerations that an aspiring software developer should take into account in deciding which programming language to learn first. Many of these considerations are outside of the scope of our research, such as what classes are offered and at what institutions and at what cost. Our research has focused on three important criteria; how easy a language is to learn, is the language in demand, and how much does it pay. We conclude that Ruby, Python, JavaScript and Go meet this criteria and should be seriously considered as excellent candidates for a software developer’s first programming language. 6 References U.S. Bureau of Labor Statistics. (2022). Occupational Outlook Handbook, Software Developers, Quality Assurance Analysts, and Testers Veeraraghavan, Sruthi. (2022). Most Popular Programming Languages to Learn in 2023 Brookshear, J. Glenn, Brylow, Dennis. (2020). Computer Science an Overview (13th ed.). Pearson Education Limited. ISHIR. (2022). Top 75 Programming Languages: Comparison and by Type Suzdalnitski, Liya. (2020). These Modern Programming Languages Will Make You Suffer