{"id":539,"date":"2020-03-09T13:22:56","date_gmt":"2020-03-09T19:22:56","guid":{"rendered":"http:\/\/redmonk.com\/rstephens\/?p=539"},"modified":"2020-03-09T14:17:23","modified_gmt":"2020-03-09T20:17:23","slug":"slackchat-jan20-programming-languages","status":"publish","type":"post","link":"https:\/\/redmonk.com\/rstephens\/2020\/03\/09\/slackchat-jan20-programming-languages\/","title":{"rendered":"RedMonk SlackChat: January 2020 Programming Language Rankings"},"content":{"rendered":"<p><em>This iteration of the RedMonk Programming Language Rankings is brought to you by MongoDB. No matter the language, MongoDB helps developers solve their hardest data problems. Build better, bigger, and faster with <a href=\"https:\/\/www.mongodb.com\/cloud\/atlas?utm_campaign=sponsorship&amp;utm_source=redmonk&amp;utm_medium=referral\">MongoDB Cloud<\/a>.<\/em><\/p>\n<p><strong>kelly<\/strong> (<a href=\"https:\/\/redmonk.com\/kfitzpatrick\/\">Kelly Fitzpatrick<\/a>): The purpose of this chat is to discuss the findings of the January 2020 RedMonk Programming Language Rankings, sponsored by our good friends at MongoDB.<\/p>\n<p>RedMonk publishes rankings every six months, and we felt it would be good to have a discussion to get behind the numbers and charts. For folks who may have missed them, this conversation references <a href=\"https:\/\/redmonk.com\/sogrady\/2020\/02\/28\/language-rankings-1-20\/\">the January 2020 rankings<\/a> and the <a href=\"https:\/\/redmonk.com\/rstephens\/2020\/02\/28\/redmonk-top-20-languages-over-time-january-2020\/\">Top 20 Language Over Time for January 2020<\/a><\/p>\n<p><a href=\"https:\/\/redmonk.com\/sogrady\/2020\/02\/28\/language-rankings-1-20\/\"><img decoding=\"async\" src=\"https:\/\/redmonk.com\/sogrady\/files\/2020\/02\/lang.rank_.120.wm_.png\" \/><\/a><\/p>\n<p><a href=\"https:\/\/redmonk.com\/rstephens\/2020\/02\/28\/redmonk-top-20-languages-over-time-january-2020\/\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-538\" src=\"http:\/\/redmonk.com\/rstephens\/files\/2020\/02\/redmonk-language-rankings-january-2020.png\" alt=\"RedMonk top 20 programming languages over time, 2012 - 2020\" width=\"2100\" height=\"1675\" srcset=\"https:\/\/redmonk.com\/rstephens\/files\/2020\/02\/redmonk-language-rankings-january-2020.png 2100w, https:\/\/redmonk.com\/rstephens\/files\/2020\/02\/redmonk-language-rankings-january-2020-520x415.png 520w, https:\/\/redmonk.com\/rstephens\/files\/2020\/02\/redmonk-language-rankings-january-2020-1024x817.png 1024w, https:\/\/redmonk.com\/rstephens\/files\/2020\/02\/redmonk-language-rankings-january-2020-768x613.png 768w, https:\/\/redmonk.com\/rstephens\/files\/2020\/02\/redmonk-language-rankings-january-2020-1536x1225.png 1536w, https:\/\/redmonk.com\/rstephens\/files\/2020\/02\/redmonk-language-rankings-january-2020-2048x1634.png 2048w, https:\/\/redmonk.com\/rstephens\/files\/2020\/02\/redmonk-language-rankings-january-2020-480x383.png 480w, https:\/\/redmonk.com\/rstephens\/files\/2020\/02\/redmonk-language-rankings-january-2020-786x627.png 786w\" sizes=\"auto, (max-width: 2100px) 100vw, 2100px\" \/><\/a><\/p>\n<p>Now that we have all of the important background information out, what were your general impressions of this round of rankings?<\/p>\n<p><strong>monkchips<\/strong> (<a href=\"https:\/\/redmonk.com\/jgovernor\/\">James Governor<\/a>): BEST RANKINGS EVAR!<\/p>\n<p><strong>kelly<\/strong>: @monkchips No confirmation bias there at all.<\/p>\n<p><strong>sogrady<\/strong> (<a href=\"https:\/\/redmonk.com\/sogrady\/\">Steve O&#8217;Grady<\/a>): As the rankings typically go, it had some surprises, even in the Top 10 which almost never happens.<\/p>\n<p>We had our first non-Java or JavaScript language in the Top 2 ever, and TypeScript continued its remarkable ascent.<\/p>\n<p><strong>rachel<\/strong> (<a href=\"https:\/\/redmonk.com\/rstephens\/\">Rachel Stephens<\/a>): This is the first time since I\u2019ve started working on them that there\u2019s been any movement in the Top 5.<\/p>\n<p><strong>monkchips<\/strong>: Right?<\/p>\n<p><strong>sogrady<\/strong> Is that right, @rachel? Didn\u2019t PHP and Python trade places since you\u2019ve been doing them?<\/p>\n<p>Either way, yes, there was a lot of notable movement.<\/p>\n<p><strong>rachel<\/strong>: I have no sense of time before having a kid. This is the first time there\u2019s been a change since I stopped consistently sleeping, in any case.<\/p>\n<p><strong>sogrady<\/strong>: lol<\/p>\n<p><strong>rachel<\/strong>: In any case, the Python move was definitely interesting to see. I\u2019m curious if that will be sustainable or if it\u2019s just a blip. It has some definite momentum, but it&#8217;s hard when the metrics are inherently cumulative.<\/p>\n<p><strong>monkchips<\/strong>: So is Python winning, or is Java losing?<\/p>\n<p><strong>kelly<\/strong>: Can&#8217;t they both be winning?<\/p>\n<p><strong>sogrady<\/strong>: The former. First, because they\u2019re tied. Second, because we haven\u2019t seen any notable dropoff in Java, but we have seen Python continue to make gains in various disciplines.<\/p>\n<p><strong>monkchips<\/strong>: OK, so here is the thing. While I know Python has made huge strides, certainly in becoming &#8220;the language of data science&#8221; and has a growing community very well-indexed on both Stack Overflow and GitHub, I am really interested in the team&#8217;s ideas about what specifically has given it this latest push.<\/p>\n<p><strong>sogrady<\/strong>: I\u2019m not sure if it\u2019s so much a push, as much as the culmination of a long term approach. Python isn\u2019t necessarily the best language in a given area &#8211; say, data science &#8211; but it\u2019s good at a lot of things. Combine that with a syntax that\u2019s easy to learn, and it\u2019s not hard to understand why the language is growing.<\/p>\n<p><strong>kelly<\/strong>: I mentioned this last time, but to me the increased prevalence of Python in various types of introductory programming resources is huge.<\/p>\n<p><strong>monkchips<\/strong>: Oh tell me more about that onboarding insight, @kelly.<\/p>\n<p><strong>kelly<\/strong>: It is good at a lot of things. If Python is where a critical mass of early-career programmers are comfortable, that will shape how they look for other types of learning resources, how they interact with public projects, the types of questions they are asking in forums, etc.<\/p>\n<p><strong>sogrady<\/strong>: Agreed. R\u2019s continued strength is similar; the language has obvious shortcomings, syntactical, performance and otherwise &#8211; but every stats and data science course anywhere is based on it and its ecosystem. Having been trained in it, then, a ton of statisticians and data scientists continue to use it post-graduation.<\/p>\n<p><strong>kelly<\/strong>: I like this idea of certain languages acting as &#8220;gateway languages&#8221; to learning other software development concepts. And not too long ago, Java was that gateway language for many (although that has changed).<\/p>\n<p><strong>monkchips<\/strong>: I still feel like Python is sort of an enigma. Like it doesn&#8217;t feel like an &#8220;enterprise standard&#8221; in many ways, but I know that if I went to many companies&#8217; data science teams they&#8217;re hiring Python folks like nobody&#8217;s business.<\/p>\n<p><strong>rachel<\/strong>: It\u2019s also a great glue language that lets disparate code interoperate. In that sense it makes a lot of sense for enterprises to invest in Python as a way of investing in their established code. Also: <a href=\"https:\/\/xkcd.com\/353\/\">https:\/\/xkcd.com\/353\/<\/a><\/p>\n<p><strong>kelly<\/strong>: So aside from Python&#8217;s ascent, are there any other surprises in this round&#8217;s rankings that we should dig into?<\/p>\n<p><strong>sogrady<\/strong>: TypeScript\u2019s continued growth is definitely worth discussing. I half-expected it to bounce back out of the Top 10 as Swift did before it &#8211; instead it moved up in the Top 10 which is exceptionally difficult to do. We haven\u2019t seen that before in fact, I\u2019m pretty sure.<\/p>\n<p>And looking at @rachel\u2019s historical language ranking chart confirms it: we have not seen a language break into the Top 10 and keep growing before &#8211; ever.<\/p>\n<p><strong>rachel<\/strong>: The traction around TypeScript is impressive; the number of JavaScript devs I\u2019ve chatted with that are complete converts to the approach is sizable.<\/p>\n<p><strong>kelly<\/strong>: One of the questions we got on Twitter about this round of rankings actually addresses both TypeScript&#8217;s ascent and Python&#8217;s ranking, so I am going to throw it in here:<\/p>\n<blockquote class=\"twitter-tweet\">\n<p dir=\"ltr\" lang=\"en\">how big is the gap between #1 &amp; #2? With devs favouring TypeScript over JavaScript could we see Python make it to the top spot next year? (esp given growth in data analysis)<\/p>\n<p>\u2014 Tracy Miranda (@tracymiranda) <a href=\"https:\/\/twitter.com\/tracymiranda\/status\/1235949246731505665?ref_src=twsrc%5Etfw\">March 6, 2020<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p><strong>sogrady<\/strong>: As a rule, people shouldn\u2019t read too much into the gap between one ranking and another, but that being said I don\u2019t expect Python to challenge JavaScript any time soon. Python may be virtually everywhere, but JavaScript is literally everywhere.<\/p>\n<p>If anything, TypeScript is likely to be additive for JavaScript overall.<\/p>\n<p><strong>monkchips<\/strong>: Yeah, JavaScript is the general purpose language of general purpose languages.<\/p>\n<p>Regarding TypeScript&#8230; VS Code is written in TypeScript, and everyone super loves VS Code; I feel like this is related to the answer there. A great IDE, a solid language, with maintainability aspects that make it amenable to getting value out of an IDE. Very often two things have to come together to really drive a language forward. We&#8217;ve seen frameworks drive language adoption &#8211; Rails and Ruby, Node, and serverside JavaScript. But an IDE is a great way to showcase the value of a language, particularly in an era of modular codebases.<\/p>\n<p><strong>sogrady<\/strong>: It sure isn\u2019t hurting TypeScript, that\u2019s for sure.<\/p>\n<p><strong>monkchips<\/strong>: Regarding Tracy&#8217;s question though, it puts me in mind of one of the challenges and beauties of our rankings. Beauty, in that it seems like JavaScript and TypeScript could both be &#8220;top tier languages&#8221; in their own right. Challenging, because TypeScript is a superset of JavaScript.<\/p>\n<p><strong>kelly<\/strong>: Also, if I was a staunch TypeScript aficionado, I would be unhappy to see it thrown uncritically into the JavaScript bucket. The way we name things counts.<\/p>\n<p><strong>sogrady<\/strong>: Well, we\u2019re not really doing that, are we? We examine it on its own. It\u2019s got its own trajectory separate and apart from JavaScript.<\/p>\n<p><strong>kelly<\/strong>: It does!<\/p>\n<p><strong>monkchips<\/strong>: Just as we&#8217;re discussing JavaScript ascendance in multiple niches comes this great question:<\/p>\n<blockquote class=\"twitter-tweet\">\n<p dir=\"ltr\" lang=\"en\">We&#8217;ve really struggled to understand the breakout of client side JavaScript vs server side JavaScript. Anything that poked into those numbers would be lovely \ud83d\ude42<\/p>\n<p>\u2014 Justin Beckwith (@JustinBeckwith) <a href=\"https:\/\/twitter.com\/JustinBeckwith\/status\/1235953324702093312?ref_src=twsrc%5Etfw\">March 6, 2020<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p><strong>sogrady<\/strong>: We definitely don\u2019t have numbers on that, I don\u2019t think. It\u2019s an interesting question, though. Maybe we can go back and do some examination of top projects. The short answer, though, is that the reason JavaScript is so big is that there\u2019s a ton of it both front and back end.<\/p>\n<p><strong>monkchips<\/strong>: Oh yes &#8211; Top Projects could definitely be an excellent overlay.<\/p>\n<p><strong>kelly<\/strong>: Changing gears a bit, another question from the Twitterverse:<\/p>\n<blockquote class=\"twitter-tweet\">\n<p lang=\"en\" dir=\"ltr\">For which language are people the worst at following goid security hygiene, like patching vulns, using 2FA, etc<\/p>\n<p>&mdash; Maya Kaczorowski (@MayaKaczorowski) <a href=\"https:\/\/twitter.com\/MayaKaczorowski\/status\/1235950964055494656?ref_src=twsrc%5Etfw\">March 6, 2020<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p><strong>sogrady<\/strong>: It\u2019s a great question that we definitely don\u2019t have an answer to, but I\u2019m betting the some of Maya\u2019s coworkers &#8211; specifically the folks from Semmle &#8211; would have thoughts. Thoughts that they should share.<\/p>\n<p><strong>rachel<\/strong>: Yes, please, Semmle!<\/p>\n<p><strong>monkchips<\/strong>: I kind of like the fact &#8220;good security hygiene&#8221; became &#8220;goid security hygiene&#8221; &#8211; i feel there&#8217;s a pretty good metaphor in there, Very Meta. Thanks Maya, and congratulations on the new gig at GitHub!<\/p>\n<p><strong>rachel<\/strong>: But that general theme of language safety is visible in our rankings if you look at the upwards trajectory of statically typed languages. TypeScript and Rust (#21, just off our trends chart) are great examples here.<\/p>\n<p>There are security concepts that apply to all languages, but the languages with inherent safety features are having a moment.<\/p>\n<p><strong>sogrady<\/strong>: That\u2019s an excellent point. Safety as a language driver is for sure a trend.<\/p>\n<p><strong>kelly<\/strong>: I am taking this as a sign to also address one of the Rust questions we received:<\/p>\n<blockquote class=\"twitter-tweet\">\n<p dir=\"ltr\" lang=\"en\">It seems like Rust is picking up speed, or am I just listening to too many episodes of On The Metal?<\/p>\n<p>\u2014 Rich Burroughs (@richburroughs) <a href=\"https:\/\/twitter.com\/richburroughs\/status\/1235944189243920384?ref_src=twsrc%5Etfw\">March 6, 2020<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p><strong>monkchips<\/strong>: Rust is still for the heavy metal fans, at this point. But the big question that has been answered over the last couple of rankings will be found in another source of signal &#8211; jobs and job postings. Many more organisations are spinning up Rust projects, and hiring developers to work on them. Rust is becoming a systems language not just of repute but of production workloads.<\/p>\n<p><strong>sogrady<\/strong>: As for Rust picking up speed, we\u2019re definitely seeing increased traction, but it was static in ranking in this run. It\u2019s clearly an important language &#8211; and there are some individual instances where people are choosing it over Go for specific reasons, often the latter\u2019s garbage collection &#8211; but it\u2019s much less accessible than, say, Python or even Kotlin so its growth has been much slower.<\/p>\n<p><strong>kelly<\/strong>: By &#8220;individual reasons,&#8221; might you mean those cited in <a href=\"https:\/\/blog.discordapp.com\/why-discord-is-switching-from-go-to-rust-a190bbca2b1f\">Discord&#8217;s switch from Go to Rust<\/a>?<\/p>\n<p><strong>sogrady<\/strong>: That\u2019s one of the higher profile examples, definitely.<\/p>\n<p><strong>monkchips<\/strong>: Why x moved to x is a popular tech chatter trope, feeding both confirmation bias and outrage. But yes Rust is winning advocates all the time.<\/p>\n<p><strong>kelly<\/strong>: A final set of questions: are there any key takeaways we missed? And any predictions on what we might see in our next rankings?<\/p>\n<p><strong>monkchips<\/strong>: I think we expected to see more growth with Kotlin, and haven&#8217;t. So it&#8217;s good to know where we&#8217;ve been wrong.<\/p>\n<p><strong>sogrady<\/strong> I think what we saw this run, and what we\u2019ve seen in the past several, is a few key trends driving language adoption:<\/p>\n<ul>\n<li>Languages that are versatile (e.g. JavaScript, Python, even Java)<\/li>\n<li>Languages that lend themselves to safety (e.g. Rust, TypeScript)<\/li>\n<li>Languages that piggyback off of large existing language communities (e.g. Kotlin, TypeSafe)<\/li>\n<li>Languages that are driven by adoption of library\/framework\/etc. (e.g. JavaScript and most recently Dart)<\/li>\n<\/ul>\n<p>Conversely, what we\u2019ve seen is that languages that don\u2019t necessarily fit into one of those categories have seen limited to no growth. One of the most obvious examples there is Go, which has been the would be successor to Java for core infrastructure projects for years, but hasn\u2019t really broken out as many expected.<\/p>\n<p>It\u2019s an important language, and a critical one for a wide array of infrastructure projects, but it\u2019s not clear where more growth is going to come from.<\/p>\n<p><strong>rachel<\/strong>: That is an excellent summary. It will definitely be interesting to watch what happens with Go in the coming iterations.<\/p>\n<p><strong>kelly<\/strong>: On my end, I just want to make sure we acknowledge @monkchips&#8217;s introduction of the phrase &#8220;redmonk horn of confirmation bias&#8221; into the world<\/p>\n<blockquote class=\"twitter-tweet\">\n<p dir=\"ltr\" lang=\"en\">One of the most interesting set of rankings we have ever published. If you like python or <a href=\"https:\/\/twitter.com\/typescript?ref_src=twsrc%5Etfw\">@typescript<\/a> come and drink deep from the redmonk horn of confirmation bias. <a href=\"https:\/\/t.co\/2DzTYG4FEB\">https:\/\/t.co\/2DzTYG4FEB<\/a><\/p>\n<p>\u2014 Always Warren (@monkchips) <a href=\"https:\/\/twitter.com\/monkchips\/status\/1233432946188615680?ref_src=twsrc%5Etfw\">February 28, 2020<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p><strong>sogrady<\/strong> You mean the greatest phrase in the history of phrases?<\/p>\n<p><strong>rachel<\/strong>: Indeed.<\/p>\n<p><strong>kelly<\/strong> Yes, exactly. And that&#8217;s a wrap!<\/p>\n<p><strong>rachel<\/strong>: Nice work, team!<\/p>\n<p><strong>monkchips<\/strong> Yes. Our work here is done.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This iteration of the RedMonk Programming Language Rankings is brought to you by MongoDB. No matter the language, MongoDB helps developers solve their hardest data problems. Build better, bigger, and faster with MongoDB Cloud. kelly (Kelly Fitzpatrick): The purpose of this chat is to discuss the findings of the January 2020 RedMonk Programming Language Rankings,<\/p>\n","protected":false},"author":45,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","footnotes":"","jetpack_publicize_message":"Wherein the @redmonk team discusses language ranking trends and tackles some questions from the community","jetpack_is_tweetstorm":false},"categories":[68],"tags":[],"class_list":["post-539","post","type-post","status-publish","format-standard","hentry","category-programming-languages"],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/redmonk.com\/rstephens\/wp-json\/wp\/v2\/posts\/539","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redmonk.com\/rstephens\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redmonk.com\/rstephens\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redmonk.com\/rstephens\/wp-json\/wp\/v2\/users\/45"}],"replies":[{"embeddable":true,"href":"https:\/\/redmonk.com\/rstephens\/wp-json\/wp\/v2\/comments?post=539"}],"version-history":[{"count":0,"href":"https:\/\/redmonk.com\/rstephens\/wp-json\/wp\/v2\/posts\/539\/revisions"}],"wp:attachment":[{"href":"https:\/\/redmonk.com\/rstephens\/wp-json\/wp\/v2\/media?parent=539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redmonk.com\/rstephens\/wp-json\/wp\/v2\/categories?post=539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redmonk.com\/rstephens\/wp-json\/wp\/v2\/tags?post=539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}