<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.8.6">Jekyll</generator><link href="https://codelani.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://codelani.com/" rel="alternate" type="text/html" /><updated>2019-12-10T15:00:17-10:00</updated><id>https://codelani.com/feed.xml</id><title type="html">CodeLani</title><subtitle>Build the next great programming language. CodeLani Version 4.0.0</subtitle><entry><title type="html">Hello, world…year 3!</title><link href="https://codelani.com/posts/hello-world-year-3.html" rel="alternate" type="text/html" title="Hello, world...year 3!" /><published>2019-11-15T02:00:00-10:00</published><updated>2019-11-16T13:07:36-10:00</updated><id>https://codelani.com/posts/hello-world-year-3</id><content type="html" xml:base="https://codelani.com/posts/hello-world-year-3.html">&lt;p&gt;I started CodeLani 2 year ago today!&lt;/p&gt;

&lt;p&gt;Since that time:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;In the past year, CodeLani has gone from less than 1,400 languages to over 3,800! Almost a 3x increase!&lt;/li&gt;
  &lt;li&gt;In the past year, I added the &lt;a href=&quot;https://codelani.com/lists/patterns.html&quot;&gt;programming language patterns page&lt;/a&gt; which now lists 90 patterns!&lt;/li&gt;
  &lt;li&gt;I also added the &lt;a href=&quot;https://codelani.com/lists/extensions.html&quot;&gt;file extensions page&lt;/a&gt; which lists over 1,300 file extensions!&lt;/li&gt;
  &lt;li&gt;The &lt;a href=&quot;https://codelani.com/lists/calendar.html&quot;&gt;programming language design conference page&lt;/a&gt; has 6 conferences listed for 2020.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Unfortunately the number of articles on CodeLani is 14 (counting this one). Just like last year, limited time and resources has meant building up the dataset took priority. Hopefully the next year will see a lot of growth in number of posts!&lt;/p&gt;</content><author><name></name></author><summary type="html">I started CodeLani 2 year ago today!</summary></entry><entry><title type="html">How many major global programming competitions are there?</title><link href="https://codelani.com/posts/how-many-major-global-programming-competitions-are-there.html" rel="alternate" type="text/html" title="How many major global programming competitions are there?" /><published>2019-09-04T00:00:00-10:00</published><updated>2019-09-05T13:08:36-10:00</updated><id>https://codelani.com/posts/how-many-major-global-programming-competitions-are-there</id><content type="html" xml:base="https://codelani.com/posts/how-many-major-global-programming-competitions-are-there.html">&lt;p&gt;I have done many problems on &lt;a href=&quot;https://projecteuler.net/&quot;&gt;Project Euler&lt;/a&gt; but I’ve never participated in &lt;a href=&quot;https://en.wikipedia.org/wiki/Competitive_programming&quot;&gt;competitive programming&lt;/a&gt;. The other day I got curious, what does the competitive programming landscape look like?&lt;/p&gt;

&lt;p&gt;I started my quest by watching a &lt;a href=&quot;https://www.youtube.com/watch?v=F4rykKLcduI&quot;&gt;great interview&lt;/a&gt; with a &lt;a href=&quot;https://www.youtube.com/channel/UCBr_Fu6q9iHYQCh13jmpbrg&quot;&gt;competitive programmer&lt;/a&gt;. Then I did some searching. Below are my results.&lt;/p&gt;

&lt;h3 id=&quot;there-are-16-major-programming-competitions&quot;&gt;There are 16 major programming competitions&lt;/h3&gt;

&lt;p&gt;The first one started in 1970. A few of the newer ones are online only.&lt;/p&gt;

&lt;h3 id=&quot;most-of-them-started-or-are-hosted-in-the-usa&quot;&gt;Most of them started or are hosted in the USA&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;https://codelani.com/assets/hostCountries.png&quot; alt=&quot;Vis1&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;the-list&quot;&gt;The List&lt;/h3&gt;

&lt;p&gt;Here is my list. You can contribute to it on &lt;a href=&quot;https://github.com/codelani/codelani/blob/master/competitions.ssv&quot;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;name&lt;/th&gt;
      &lt;th&gt;started&lt;/th&gt;
      &lt;th&gt;firstHostCountry&lt;/th&gt;
      &lt;th&gt;type&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;https://www.imo-official.org/&quot;&gt;IMO&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/International_Mathematical_Olympiad&quot;&gt;1959&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;Romania&lt;/td&gt;
      &lt;td&gt;Mathematics&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;https://icpc.baylor.edu/&quot;&gt;ICPC&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/International_Collegiate_Programming_Contest&quot;&gt;1970&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;USA&lt;/td&gt;
      &lt;td&gt;Programming&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;https://www.acsl.org/&quot;&gt;ACSL&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/American_Computer_Science_League&quot;&gt;1978&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;USA&lt;/td&gt;
      &lt;td&gt;Programming&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;https://ioinformatics.org/&quot;&gt;IOI&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/International_Olympiad_in_Informatics&quot;&gt;1989&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;Bulgaria&lt;/td&gt;
      &lt;td&gt;Programming&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;https://icfpcontest2019.github.io/&quot;&gt;ICFPProgrammingContest&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/ICFP_Programming_Contest&quot;&gt;1998&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;USA&lt;/td&gt;
      &lt;td&gt;Programming&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;https://www.topcoder.com/&quot;&gt;TopCoder&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Topcoder&quot;&gt;2001&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;USA&lt;/td&gt;
      &lt;td&gt;Programming&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;https://tco19.topcoder.com/&quot;&gt;TopCoderOpen&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Topcoder_Open&quot;&gt;2001&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;USA&lt;/td&gt;
      &lt;td&gt;Programming&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;https://codingcompetitions.withgoogle.com/codejam&quot;&gt;GoogleCodeJam&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Google_Code_Jam&quot;&gt;2003&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;USA&lt;/td&gt;
      &lt;td&gt;Programming&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;https://ieeextreme.org/&quot;&gt;IEEEExtreme&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/IEEEXtreme&quot;&gt;2006&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;Online&lt;/td&gt;
      &lt;td&gt;Programming&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;https://www.codechef.com/&quot;&gt;CodeChef&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/CodeChef&quot;&gt;2009&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;India&lt;/td&gt;
      &lt;td&gt;Programming&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;https://codeforces.com/&quot;&gt;CodeForces&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Codeforces&quot;&gt;2010&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;Russia&lt;/td&gt;
      &lt;td&gt;Programming&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;https://atcoder.jp/&quot;&gt;AtCoder&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;2010&lt;/td&gt;
      &lt;td&gt;Japan&lt;/td&gt;
      &lt;td&gt;Programming&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;https://www.kaggle.com/&quot;&gt;Kaggle&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Kaggle&quot;&gt;2010&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;USA&lt;/td&gt;
      &lt;td&gt;DataScience&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;https://www.facebook.com/hackercup/&quot;&gt;FacebookHackerCup&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Facebook_Hacker_Cup&quot;&gt;2011&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;USA&lt;/td&gt;
      &lt;td&gt;Programming&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;https://www.hackerearth.com/&quot;&gt;HackerEarth&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/HackerEarth&quot;&gt;2012&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;USA&lt;/td&gt;
      &lt;td&gt;Programming&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;https://www.hackerrank.com&quot;&gt;HackerRank&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/HackerRank&quot;&gt;2012&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;USA&lt;/td&gt;
      &lt;td&gt;Programming&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;gennady-korotkevich&quot;&gt;Gennady Korotkevich&lt;/h3&gt;

&lt;p&gt;I came across one interesting stat in my research. &lt;a href=&quot;https://en.wikipedia.org/wiki/Gennady_Korotkevich&quot;&gt;Gennady Korotkevich&lt;/a&gt; is a programmer who is currently the highest rated programmer on &lt;em&gt;all&lt;/em&gt; 5 of the major competitive programming sites!&lt;/p&gt;

&lt;h3 id=&quot;future-work&quot;&gt;Future work&lt;/h3&gt;

&lt;p&gt;It would be interesting to see trends in the number of participants and prize amounts in these competitions over time. I’m curious if &lt;a href=&quot;https://en.wikipedia.org/wiki/Esports&quot;&gt;eSports&lt;/a&gt; with prizes in the millions, will sap people away from programming competitions.&lt;/p&gt;</content><author><name></name></author><summary type="html">I have done many problems on Project Euler but I’ve never participated in competitive programming. The other day I got curious, what does the competitive programming landscape look like?</summary></entry><entry><title type="html">How many programmers are there in the world?</title><link href="https://codelani.com/posts/how-many-programmers-are-there-in-the-world.html" rel="alternate" type="text/html" title="How many programmers are there in the world?" /><published>2019-05-26T00:00:00-10:00</published><updated>2019-05-26T13:59:06-10:00</updated><id>https://codelani.com/posts/how-many-programmers-are-there-in-the-world</id><content type="html" xml:base="https://codelani.com/posts/how-many-programmers-are-there-in-the-world.html">&lt;p&gt;There are around &lt;a href=&quot;https://www.census.gov/popclock/&quot;&gt;7.574 billion people in the world&lt;/a&gt;. How many of them are programmers?&lt;/p&gt;

&lt;p&gt;The answer, of course, depends on how you define “programmer”. But before I define “programmer” and share my estimates, let’s look at what some other sources say.&lt;/p&gt;

&lt;h1 id=&quot;what-do-other-people-say&quot;&gt;What do other people say?&lt;/h1&gt;

&lt;h4 id=&quot;github---36-million-developer-accounts&quot;&gt;GitHub - 36 million developer accounts&lt;/h4&gt;

&lt;p&gt;As of May 2019 GitHub had &lt;a href=&quot;https://venturebeat.com/2019/05/23/github-adds-donation-button-token-scanning-and-enterprise-tools/&quot;&gt;36 million developer accounts&lt;/a&gt;. Now, some of these are inactive, some are duplicates, and some are owned by people who signed up for GitHub but aren’t programmers. I myself have at least 2 GitHub accounts. Some programmers aren’t on GitHub–though I’m finding that to be increasingly rare.&lt;/p&gt;

&lt;p&gt;If we guess that 30% of GitHub accounts are for non-programmers and 20% are duplicates, and that 90% of programmers have a GitHub account, we get an estimate of &lt;b&gt;20 million programmers in the world&lt;/b&gt;.&lt;/p&gt;

&lt;h4 id=&quot;evans-data-corporation&quot;&gt;Evans Data Corporation&lt;/h4&gt;

&lt;p&gt;Evans Data Corporation estimated there were &lt;a href=&quot;https://evansdata.com/press/viewRelease.php?pressID=268&quot;&gt;23 million developers in 2018&lt;/a&gt;.&lt;/p&gt;

&lt;h4 id=&quot;international-data-corporation&quot;&gt;International Data Corporation&lt;/h4&gt;

&lt;p&gt;IDC says &lt;a href=&quot;https://www.idc.com/getdoc.jsp?containerId=US44363318&quot;&gt;“there were 22.30 million software developers in the world at the outset of 2018”&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Daxx created some &lt;a href=&quot;https://www.daxx.com/blog/development-trends/number-software-developers-world&quot;&gt;nice visualizations&lt;/a&gt; of both the IDC and Evans data.&lt;/p&gt;

&lt;h1 id=&quot;what-do-i-say&quot;&gt;What do I say?&lt;/h1&gt;

&lt;p&gt;I will define a programmer as someone who edits a text document in a &lt;a href=&quot;http://codelani.com/lists/languages.html&quot;&gt;programming language&lt;/a&gt; at least once a week, on average, in an IDE or text editor.&lt;/p&gt;

&lt;p&gt;My early guess: there were between 10 and 30 million programmers in 2018.&lt;/p&gt;</content><author><name></name></author><summary type="html">There are around 7.574 billion people in the world. How many of them are programmers?</summary></entry><entry><title type="html">Does every programming language have a central package repository?</title><link href="https://codelani.com/posts/does-every-programming-language-have-a-central-package-repository.html" rel="alternate" type="text/html" title="Does every programming language have a central package repository?" /><published>2019-02-04T02:00:00-10:00</published><updated>2019-08-28T17:35:19-10:00</updated><id>https://codelani.com/posts/does-every-programming-language-have-a-central-package-repository</id><content type="html" xml:base="https://codelani.com/posts/does-every-programming-language-have-a-central-package-repository.html">&lt;p&gt;Like millions of other programmers, every day I depend on central package repositories (CR) like &lt;a href=&quot;http://npmjs.org&quot;&gt;npm&lt;/a&gt;, &lt;a href=&quot;https://pypi.python.org&quot;&gt;PyPI&lt;/a&gt; and &lt;a href=&quot;https://cran.r-project.org/&quot;&gt;CRAN&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The other day I was curious: does every programming language have one of these? I decided to find out. I pointed my crawler and trained a model to check for a package repository for every one of the 3,006 languages I am tracking. The results surprised me.&lt;/p&gt;

&lt;h3 id=&quot;-only-1-have-them&quot;&gt;★ Only 1% have them&lt;/h3&gt;

&lt;p&gt;My model found only 39 languages with central package repositories. (For comparison, Wikipedia lists ~20). That’s just ~1% of languages. I thought it would be higher.&lt;/p&gt;

&lt;h3 id=&quot;-30-of-the-top-100-have-them&quot;&gt;★ ~30% of the Top 100 have them&lt;/h3&gt;

&lt;p&gt;Given that a programming language is very popular and appears in my top 100 list, it is about 15 - 30x more likely to have a CR. Given a language is not in the top 100, &amp;lt;1% will have a CR.&lt;/p&gt;

&lt;h3 id=&quot;-2-million-packages-total&quot;&gt;★ 2 Million+ Packages Total&lt;/h3&gt;

&lt;p&gt;There are over 2,000,000 packages (aka modules or libraries) across these CRs. That means there are about 1,000x more packages than there are programming languages.&lt;/p&gt;

&lt;p&gt;With that many packages, name collision is certainly a problem (maybe a subject for another post), though not as much of a problem as in the domain system where 130,000,000+ “.coms” alone are registered.&lt;/p&gt;

&lt;h3 id=&quot;-the-top-5-account-for-80-of-all-packages&quot;&gt;★ The top 5 account for ~80% of all packages&lt;/h3&gt;

&lt;p&gt;At over 900,000, Javascript’s &lt;a href=&quot;http://npmjs.org&quot;&gt;npm&lt;/a&gt; has almost more packages than all other CRs combined. Javascript, Java, PHP, Perl, and Python account for about 80% of packages.&lt;/p&gt;

&lt;h3 id=&quot;-github-has-over-100000000-repositories&quot;&gt;★ GitHub has over 100,000,000 repositories&lt;/h3&gt;

&lt;p&gt;Given the size of GitHub, and it’s growth as somewhat of a universal central package repository (though totally unmoderated), and given that many (if not the majority) of the packages in these CRs are also listed on GitHub, it’s conceivable that GitHub is the largest CR and that the number of packages out there is easily 10x bigger than 2M.&lt;/p&gt;

&lt;h3 id=&quot;-newer-languages-are-not-more-likely-to-have-crs&quot;&gt;★ Newer languages are not more likely to have CRs&lt;/h3&gt;

&lt;p&gt;This surprised me. The median age of a language with a CR is 24 (1995). Of the top 5 languages I mentioned above, all were created by then. Almost always the creation of the CR follows the launch of the language, sometimes by months or sometimes by years. I expected most CRs to be from newer languages, but that wasn’t the case. While some new languages like Rust and Julia have CRs, others like Go and Kotlin do not.&lt;/p&gt;

&lt;h3 id=&quot;-a-visual&quot;&gt;★ A Visual&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;https://codelani.com/assets/packages-repos.png&quot; alt=&quot;Vis1&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;-the-list&quot;&gt;★ The List&lt;/h3&gt;

&lt;p&gt;Here’s my list of the main central package repositories for languages that have them. I cut the list a bit to only include CRs with more than 100 packages available. As always, &lt;a href=&quot;mailto:feedback@codelani.com&quot;&gt;let me know if you spot any omissions or mistakes&lt;/a&gt;!&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;id&lt;/th&gt;
      &lt;th&gt;website&lt;/th&gt;
      &lt;th&gt;packages&lt;/th&gt;
      &lt;th&gt;appeared&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/javascript.html&quot;&gt;javascript&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;http://npmjs.org&quot;&gt;http://npmjs.org&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;901,025&lt;/td&gt;
      &lt;td&gt;1995&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/java.html&quot;&gt;java&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://search.maven.org/&quot;&gt;https://search.maven.org/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;266,776&lt;/td&gt;
      &lt;td&gt;1995&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/php.html&quot;&gt;php&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://packagist.org/&quot;&gt;https://packagist.org/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;211,636&lt;/td&gt;
      &lt;td&gt;1995&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/perl.html&quot;&gt;perl&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://www.cpan.org/&quot;&gt;https://www.cpan.org/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;176,876&lt;/td&gt;
      &lt;td&gt;1987&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/python.html&quot;&gt;python&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://pypi.python.org/pypi&quot;&gt;https://pypi.python.org/pypi&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;167,097&lt;/td&gt;
      &lt;td&gt;1991&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/ruby.html&quot;&gt;ruby&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://rubygems.org/&quot;&gt;https://rubygems.org/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;154,445&lt;/td&gt;
      &lt;td&gt;1995&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/csharp.html&quot;&gt;csharp&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://www.nuget.org/&quot;&gt;https://www.nuget.org/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;141,524&lt;/td&gt;
      &lt;td&gt;2000&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/swift.html&quot;&gt;swift&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://cocoapods.org/&quot;&gt;https://cocoapods.org/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;57,000&lt;/td&gt;
      &lt;td&gt;2014&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/clojure.html&quot;&gt;clojure&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://clojars.org/&quot;&gt;https://clojars.org/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;23,459&lt;/td&gt;
      &lt;td&gt;2007&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/rust.html&quot;&gt;rust&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://crates.io/&quot;&gt;https://crates.io/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;22,486&lt;/td&gt;
      &lt;td&gt;2010&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/r.html&quot;&gt;r&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://cran.r-project.org/&quot;&gt;https://cran.r-project.org/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;13,674&lt;/td&gt;
      &lt;td&gt;1993&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/haskell.html&quot;&gt;haskell&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://hackage.haskell.org/&quot;&gt;https://hackage.haskell.org/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;13,487&lt;/td&gt;
      &lt;td&gt;1990&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/matlab.html&quot;&gt;matlab&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://www.mathworks.com/matlabcentral/fileexchange/&quot;&gt;https://www.mathworks.com/matlabcentral/fileexchange/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;9,718&lt;/td&gt;
      &lt;td&gt;1984&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/erlang.html&quot;&gt;erlang&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://hex.pm/&quot;&gt;https://hex.pm/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;8,069&lt;/td&gt;
      &lt;td&gt;1986&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/tex.html&quot;&gt;tex&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://ctan.org/&quot;&gt;https://ctan.org/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;5,649&lt;/td&gt;
      &lt;td&gt;1978&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/stata.html&quot;&gt;stata&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://www.stata.com/manuals/rssc.pdf&quot;&gt;https://www.stata.com/manuals/rssc.pdf&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;4,608&lt;/td&gt;
      &lt;td&gt;1985&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/smalltalk.html&quot;&gt;smalltalk&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;http://smalltalkhub.com/&quot;&gt;http://smalltalkhub.com/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;4,534&lt;/td&gt;
      &lt;td&gt;1972&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/powershell.html&quot;&gt;powershell&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://www.powershellgallery.com/&quot;&gt;https://www.powershellgallery.com/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;4,382&lt;/td&gt;
      &lt;td&gt;2006&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/emacs-editor.html&quot;&gt;emacs-editor&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://melpa.org/&quot;&gt;https://melpa.org/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;4,079&lt;/td&gt;
      &lt;td&gt;1976&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/dart.html&quot;&gt;dart&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://pub.dartlang.org/&quot;&gt;https://pub.dartlang.org/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;2,751&lt;/td&gt;
      &lt;td&gt;2011&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/maple.html&quot;&gt;maple&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://www.maplesoft.com/applications/&quot;&gt;https://www.maplesoft.com/applications/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;2,650&lt;/td&gt;
      &lt;td&gt;1982&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/ocaml.html&quot;&gt;ocaml&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://opam.ocaml.org/&quot;&gt;https://opam.ocaml.org/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;2,224&lt;/td&gt;
      &lt;td&gt;1996&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/lua.html&quot;&gt;lua&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://luarocks.org/&quot;&gt;https://luarocks.org/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;2,047&lt;/td&gt;
      &lt;td&gt;1993&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/julia.html&quot;&gt;julia&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://pkg.julialang.org/&quot;&gt;https://pkg.julialang.org/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;1,906&lt;/td&gt;
      &lt;td&gt;2012&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/d.html&quot;&gt;d&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://code.dlang.org/&quot;&gt;https://code.dlang.org/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;1,498&lt;/td&gt;
      &lt;td&gt;2001&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/dynamo-visual-language.html&quot;&gt;dynamo-visual-language&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://dynamopackages.com/&quot;&gt;https://dynamopackages.com/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;1,494&lt;/td&gt;
      &lt;td&gt;2011&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/haxe.html&quot;&gt;haxe&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://lib.haxe.org/&quot;&gt;https://lib.haxe.org/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;1,303&lt;/td&gt;
      &lt;td&gt;2005&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/racket.html&quot;&gt;racket&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://pkgs.racket-lang.org/&quot;&gt;https://pkgs.racket-lang.org/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;1,122&lt;/td&gt;
      &lt;td&gt;1994&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/elm.html&quot;&gt;elm&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://package.elm-lang.org/&quot;&gt;https://package.elm-lang.org/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;594&lt;/td&gt;
      &lt;td&gt;2012&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/coldfusion.html&quot;&gt;coldfusion&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://www.forgebox.io&quot;&gt;https://www.forgebox.io&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;519&lt;/td&gt;
      &lt;td&gt;1995&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/nim.html&quot;&gt;nim&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://nimble.directory/&quot;&gt;https://nimble.directory/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;499&lt;/td&gt;
      &lt;td&gt;2008&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/spark.html&quot;&gt;spark&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://spark-packages.org/&quot;&gt;https://spark-packages.org/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;441&lt;/td&gt;
      &lt;td&gt;1988&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/prolog.html&quot;&gt;prolog&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;http://www.swi-prolog.org/pldoc/doc/_SWI_/library/prolog_pack.pl&quot;&gt;http://www.swi-prolog.org/pldoc/doc/&lt;em&gt;SWI&lt;/em&gt;/library/prolog_pack.pl&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;275&lt;/td&gt;
      &lt;td&gt;1972&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;a href=&quot;/languages/mathematica.html&quot;&gt;mathematica&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;http://packagedata.net/&quot;&gt;http://packagedata.net/&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;210&lt;/td&gt;
      &lt;td&gt;1988&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;Notes: as Jay18001 pointed out, a few of these repositories serve packages for more than one language. Cocoapods =&amp;gt; Objective-C, and Nuget =&amp;gt; F# and other .Net langs. In this post I collapsed things so each repo only has 1 language.&lt;/p&gt;

&lt;p&gt;Update: 8/26/2019. Multiple readers pointed out that my stat for Ruby was off by 10x. I used the # I found on this page (https://rubygems.org/gems), which turned out to be just the gems beginning with the letter A. I apologize for the mistake and am very grateful for the corrections.&lt;/p&gt;</content><author><name></name></author><summary type="html">Like millions of other programmers, every day I depend on central package repositories (CR) like npm, PyPI and CRAN.</summary></entry><entry><title type="html">Which programming languages use indentation?</title><link href="https://codelani.com/posts/which-programming-languages-use-indentation.html" rel="alternate" type="text/html" title="Which programming languages use indentation?" /><published>2019-01-21T02:00:00-10:00</published><updated>2019-01-22T13:22:37-10:00</updated><id>https://codelani.com/posts/which-programming-languages-use-indentation</id><content type="html" xml:base="https://codelani.com/posts/which-programming-languages-use-indentation.html">&lt;p&gt;&lt;a href=&quot;/languages/python.html&quot;&gt;Python&lt;/a&gt;, as one of the top 10 programming languages in the world, is the most popular programming language that treats indentation as significant. In &lt;a href=&quot;https://en.wikipedia.org/wiki/Off-side_rule&quot;&gt;these languages&lt;/a&gt;, programmers indent their code blocks instead of using braces, brackets, or other visible characters.&lt;/p&gt;

&lt;p&gt;I was curious about how common these languages were so I did some brief analysis to answer these questions:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;How common is this type of language?&lt;/li&gt;
  &lt;li&gt;How many languages use significant indentation?&lt;/li&gt;
  &lt;li&gt;Are new indentation languages on the rise?&lt;/li&gt;
&lt;/ol&gt;

&lt;h4 id=&quot;1-fewer-than-2-of-programming-languages-have-significant-indentation&quot;&gt;&lt;strong&gt;1) Fewer than 2% of programming languages have significant indentation&lt;/strong&gt;&lt;/h4&gt;

&lt;p&gt;&lt;img src=&quot;https://codelani.com/assets/fractions-indentation.png&quot; alt=&quot;Vis1&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;2-only-36-out-of-2500-programming-languages-in-my-database-use-indentation&quot;&gt;&lt;strong&gt;2) Only 36 out of 2,500 programming languages in my database use indentation&lt;/strong&gt;&lt;/h4&gt;

&lt;p&gt;These languages use indentation:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/languages/abc.html&quot;&gt;abc&lt;/a&gt;, &lt;a href=&quot;/languages/aldor.html&quot;&gt;aldor&lt;/a&gt;, &lt;a href=&quot;/languages/boo.html&quot;&gt;boo&lt;/a&gt;, &lt;a href=&quot;/languages/buddyscript.html&quot;&gt;buddyscript&lt;/a&gt;, &lt;a href=&quot;/languages/cobra.html&quot;&gt;cobra&lt;/a&gt;, &lt;a href=&quot;/languages/coffeescript.html&quot;&gt;coffeescript&lt;/a&gt;, &lt;a href=&quot;/languages/csl.html&quot;&gt;csl&lt;/a&gt;, &lt;a href=&quot;/languages/curry.html&quot;&gt;curry&lt;/a&gt;, &lt;a href=&quot;/languages/elixir.html&quot;&gt;elixir&lt;/a&gt;, &lt;a href=&quot;/languages/f-sharp.html&quot;&gt;f-sharp&lt;/a&gt;, &lt;a href=&quot;/languages/genie.html&quot;&gt;genie&lt;/a&gt;, &lt;a href=&quot;/languages/haml.html&quot;&gt;haml&lt;/a&gt;, &lt;a href=&quot;/languages/haskell.html&quot;&gt;haskell&lt;/a&gt;, &lt;a href=&quot;/languages/inform.html&quot;&gt;inform&lt;/a&gt;, &lt;a href=&quot;/languages/iswim.html&quot;&gt;iswim&lt;/a&gt;, &lt;a href=&quot;/languages/literate-coffeescript.html&quot;&gt;literate-coffeescript&lt;/a&gt;, &lt;a href=&quot;/languages/livescript.html&quot;&gt;livescript&lt;/a&gt;, &lt;a href=&quot;/languages/madcap-vi.html&quot;&gt;madcap-vi&lt;/a&gt;, &lt;a href=&quot;/languages/madcap.html&quot;&gt;madcap&lt;/a&gt;, &lt;a href=&quot;/languages/makefile.html&quot;&gt;makefile&lt;/a&gt;, &lt;a href=&quot;/languages/markdown.html&quot;&gt;markdown&lt;/a&gt;, &lt;a href=&quot;/languages/miranda.html&quot;&gt;miranda&lt;/a&gt;, &lt;a href=&quot;/languages/nemerle.html&quot;&gt;nemerle&lt;/a&gt;, &lt;a href=&quot;/languages/net-format.html&quot;&gt;net-format&lt;/a&gt;, &lt;a href=&quot;/languages/nim.html&quot;&gt;nim&lt;/a&gt;, &lt;a href=&quot;/languages/occam.html&quot;&gt;occam&lt;/a&gt;, &lt;a href=&quot;/languages/org.html&quot;&gt;org&lt;/a&gt;, &lt;a href=&quot;/languages/promal.html&quot;&gt;promal&lt;/a&gt;, &lt;a href=&quot;/languages/python.html&quot;&gt;python&lt;/a&gt;, &lt;a href=&quot;/languages/restructuredtext.html&quot;&gt;restructuredtext&lt;/a&gt;, &lt;a href=&quot;/languages/sass.html&quot;&gt;sass&lt;/a&gt;, &lt;a href=&quot;/languages/scss.html&quot;&gt;scss&lt;/a&gt;, &lt;a href=&quot;/languages/spin.html&quot;&gt;spin&lt;/a&gt;, &lt;a href=&quot;/languages/stylus.html&quot;&gt;stylus&lt;/a&gt;, &lt;a href=&quot;/languages/xl-programming-language.html&quot;&gt;xl-programming-language&lt;/a&gt;, &lt;a href=&quot;/languages/yaml.html&quot;&gt;yaml&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;According to my present database, languages that strip indentation are about &lt;strong&gt;70x&lt;/strong&gt; more common than languages that employ it.&lt;/p&gt;

&lt;p&gt;My methods and models are not yet perfect and may have missed some indentation languages. If my models missed ~80% of the languages, that would still be a 10x difference between the two classes of languages. If you know of a missing language, please &lt;a href=&quot;mailto:feedback@codelani.com&quot;&gt;let me know&lt;/a&gt;.&lt;/p&gt;

&lt;h4 id=&quot;3-the-creation-of-indentation-sensitive-languages-has-ticked-up-but-not-by-much&quot;&gt;&lt;strong&gt;3) The creation of indentation sensitive languages has ticked up, but not by much&lt;/strong&gt;&lt;/h4&gt;

&lt;p&gt;&lt;img src=&quot;https://codelani.com/assets/indentation-time.png&quot; alt=&quot;Vis1&quot; /&gt;&lt;/p&gt;

&lt;p&gt;While there have been some notable new languages using significant indentation in the 2000’s, some of the biggest new languages don’t, including Go, Swift, Rust, TypeScript, Julia and Kotlin.&lt;/p&gt;

&lt;p&gt;Takeaway: According to my current data, there has not been a significant increase in new languages using significant indentation.&lt;/p&gt;

&lt;h3 id=&quot;future-work&quot;&gt;Future Work&lt;/h3&gt;

&lt;p&gt;I would like to expand upon this to help language designers answer the question: will adding significant indentation increase the odds of my language becoming successful? I will continue to invest in my data collection and mining efforts to ensure I am not missing accurate information about the lesser documented languages.&lt;/p&gt;

&lt;p&gt;UPDATE: masonic on HackerNews pointed out that COBOL should be included on this list. The column position of tokens is indeed significant in COBOL (and FORTRAN too), so perhaps in the next update I’ll clarify this categorization to adhere more closely to the offside rule, or will include a broader definition of significant indentation that includes some of these additional languages&lt;/p&gt;</content><author><name></name></author><summary type="html">Python, as one of the top 10 programming languages in the world, is the most popular programming language that treats indentation as significant. In these languages, programmers indent their code blocks instead of using braces, brackets, or other visible characters.</summary></entry><entry><title type="html">Hello, world…year 2!</title><link href="https://codelani.com/posts/hello-world-year-2.html" rel="alternate" type="text/html" title="Hello, world...year 2!" /><published>2018-11-15T02:00:00-10:00</published><updated>2019-01-22T13:22:37-10:00</updated><id>https://codelani.com/posts/hello-world-year-2</id><content type="html" xml:base="https://codelani.com/posts/hello-world-year-2.html">&lt;p&gt;I started CodeLani 1 year ago today!&lt;/p&gt;

&lt;p&gt;Since that time:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;CodeLani has gone from less than 400 languages to over 1,300! A 3x+ increase!&lt;/li&gt;
  &lt;li&gt;CodeLani has gone from less than 1GB to over 140GB of raw data! A 100x+ increase!&lt;/li&gt;
  &lt;li&gt;CodeLani has gone from tracking a few dozen dimensions to over 1,350! A 30x+ increase!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Unfortunately the number of articles on CodeLani is 9 (counting this one). Limited time and resources has meant building up the dataset took priority. Hopefully the next year will see a lot of growth in number of posts!&lt;/p&gt;</content><author><name></name></author><summary type="html">I started CodeLani 1 year ago today!</summary></entry><entry><title type="html">When did GitHub become the place to host new programming language projects?</title><link href="https://codelani.com/posts/when-did-github-become-the-place-to-create-new-programming-languages.html" rel="alternate" type="text/html" title="When did GitHub become the place to host new programming language projects?" /><published>2018-11-06T02:00:00-10:00</published><updated>2019-01-22T13:22:37-10:00</updated><id>https://codelani.com/posts/when-did-github-become-the-place-to-create-new-programming-languages</id><content type="html" xml:base="https://codelani.com/posts/when-did-github-become-the-place-to-create-new-programming-languages.html">&lt;p&gt;Before GitHub started in 2008, the source code for nascent programming languages was stored in a variety of places. In the early days it was physical media; later on it was publicly accessible servers; and even later it started moving to online source control systems like self-hosted SVN servers or Sourceforce.&lt;/p&gt;

&lt;p&gt;But nowadays new language creation happens on GitHub more than anywhere else. Of the 44 languages created in 2008 that I track, 7% were put on GitHub that same year. Last year it was over 50%.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://codelani.com/assets/github_new.png&quot; alt=&quot;Vis1&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This does not include languages that were created and then moved their source control to GitHub a year or more after their creation. I wanted to know, if you are starting a language, should you create the GitHub project right away? According to the data that is the popular thing to do.&lt;/p&gt;

&lt;p&gt;In the future I hope to refine this list to include factors such as whether the language has a corporate sponsor and how that affects things. I also hope to add more missing languages to the database, as always.&lt;/p&gt;

&lt;p&gt;Data used for this chart:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-csv&quot;&gt;appeared,newLangs,repoOnGitHubSameYear,percent
1950,2,0,0
1951,2,0,0
1952,1,0,0
1953,1,0,0
1955,4,0,0
1956,3,0,0
1957,4,0,0
1958,5,0,0
1959,6,0,0
1960,10,0,0
1961,2,0,0
1962,2,0,0
1963,8,0,0
1964,9,0,0
1965,5,0,0
1966,9,0,0
1967,6,0,0
1968,9,0,0
1969,8,0,0
1970,17,0,0
1971,6,0,0
1972,10,0,0
1973,6,0,0
1974,10,0,0
1975,6,0,0
1976,14,0,0
1977,13,0,0
1978,8,0,0
1979,5,0,0
1980,18,0,0
1981,4,0,0
1982,9,0,0
1983,13,0,0
1984,11,0,0
1985,24,0,0
1986,23,0,0
1987,14,0,0
1988,18,0,0
1989,13,0,0
1990,18,0,0
1991,16,0,0
1992,16,0,0
1993,32,0,0
1994,19,0,0
1995,27,0,0
1996,37,0,0
1997,29,0,0
1998,17,0,0
1999,20,0,0
2000,26,0,0
2001,32,0,0
2002,20,0,0
2003,25,0,0
2004,33,0,0
2005,30,0,0
2006,33,0,0
2007,30,0,0
2008,44,3,7
2009,30,7,23
2010,19,3,16
2011,45,9,20
2012,28,10,36
2013,26,16,62
2014,38,19,50
2015,26,12,46
2016,27,10,37
2017,26,15,58
2018,7,4,57
&lt;/code&gt;&lt;/pre&gt;</content><author><name></name></author><summary type="html">Before GitHub started in 2008, the source code for nascent programming languages was stored in a variety of places. In the early days it was physical media; later on it was publicly accessible servers; and even later it started moving to online source control systems like self-hosted SVN servers or Sourceforce.</summary></entry><entry><title type="html">Which countries produce the most programming languages?</title><link href="https://codelani.com/posts/which-countries-produce-the-most-programming-languages.html" rel="alternate" type="text/html" title="Which countries produce the most programming languages?" /><published>2018-10-28T02:00:00-10:00</published><updated>2019-01-22T13:22:37-10:00</updated><id>https://codelani.com/posts/which-countries-produce-the-most-programming-languages</id><content type="html" xml:base="https://codelani.com/posts/which-countries-produce-the-most-programming-languages.html">&lt;p&gt;Each programming language was created in a place (or perhaps, in a set of distributed places) and I am attempting to collect that data.&lt;/p&gt;

&lt;p&gt;Currently I have the country of birth for about 260 of the over 1,000 languages I track.&lt;/p&gt;

&lt;p&gt;In my data so far, the US has birthed more languages than all other countries combined.&lt;/p&gt;

&lt;p&gt;After the U.S. comes the UK, Canada, France, and China, in that order.&lt;/p&gt;

&lt;p&gt;There could be bias in my dataset, of course, as I haven’t yet added country for most languages. Things will clarify as the database continues to mature.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://codelani.com/assets/countries.png&quot; alt=&quot;Vis1&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Data used for this chart:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-csv&quot;&gt;country,count
AU,2
BE,1
BR,1
CA,12
CH,9
DE,6
DK,1
FR,11
GB,23
IS,1
IT,2
JP,4
KR,1
NG,1
NL,4
NO,4
PL,1
PT,1
RU,4
SE,4
US,167
&lt;/code&gt;&lt;/pre&gt;</content><author><name></name></author><summary type="html">Each programming language was created in a place (or perhaps, in a set of distributed places) and I am attempting to collect that data.</summary></entry><entry><title type="html">What letters do programming languages start with?</title><link href="https://codelani.com/posts/what-letter-should-your-language-start-with.html" rel="alternate" type="text/html" title="What letters do programming languages start with?" /><published>2018-10-25T02:00:00-10:00</published><updated>2018-10-25T10:20:08-10:00</updated><id>https://codelani.com/posts/what-letter-should-your-language-start-with</id><content type="html" xml:base="https://codelani.com/posts/what-letter-should-your-language-start-with.html">&lt;p&gt;As the chart below shows, the number of programming languages beginning with a certain letter varies as much as 10x by letter.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://codelani.com/assets/firstLetter.png&quot; alt=&quot;Vis1&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Below is the same list, sorted by popularity.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://codelani.com/assets/firstLetter-sorted.png&quot; alt=&quot;Vis2&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A curious observation: why are A and C both ~3x more popular than B?&lt;/p&gt;

&lt;p&gt;Data used for these charts:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-csv&quot;&gt;firstLetter,n
a,59
b,22
c,75
d,20
e,28
f,38
g,30
h,15
i,23
j,27
k,15
l,45
m,57
n,31
o,30
p,69
q,10
r,33
s,76
t,24
u,13
v,13
w,9
x,10
y,4
z,6
&lt;/code&gt;&lt;/pre&gt;</content><author><name></name></author><summary type="html">As the chart below shows, the number of programming languages beginning with a certain letter varies as much as 10x by letter.</summary></entry><entry><title type="html">What is the growth in programming languages over time?</title><link href="https://codelani.com/posts/what-is-the-growth-in-programming-languages-over-time.html" rel="alternate" type="text/html" title="What is the growth in programming languages over time?" /><published>2017-12-09T00:00:00-10:00</published><updated>2019-01-22T13:22:37-10:00</updated><id>https://codelani.com/posts/what-is-the-growth-in-programming-languages-over-time</id><content type="html" xml:base="https://codelani.com/posts/what-is-the-growth-in-programming-languages-over-time.html">&lt;p&gt;As I build up my database of programming languages I hope to be able to answer questions like:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;is the rate of new language creation accelerating, slowing down, or constant?&lt;/li&gt;
  &lt;li&gt;what spurs the creation of new programming languages?&lt;/li&gt;
  &lt;li&gt;can we predict how many new languages will be released next year? in 5 years? in 10 years?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At the moment I am tracking 533 computer languages and I currently have creation years for more than half of those, including for 271 of the most popular ones.&lt;/p&gt;

&lt;p&gt;Here is a simple line graph of the cumulative number of languages I have by year.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://codelani.com/assets/programmingLanguagesOverTime.png&quot; alt=&quot;Vis1&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I will wait until I have more data to do more serious analysis (for example: the dip in the growth rate toward the end is likely due to my incomplete dataset and not indicative of a trend change).&lt;/p&gt;

&lt;p&gt;But until I can provide a more comprehensive analysis, I thought I’d share my first look.&lt;/p&gt;

&lt;p&gt;Update (12/10/2017): a number of readers have pointed out that some of the languages on this list are not programming languages. Future posts like this will be sure to exclude those.&lt;/p&gt;

&lt;p&gt;Data used in this article as csv:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-csv&quot;&gt;language,releaseYear
plankalkul,1948
g-code,1950
flow-matic,1955
regex,1956
fortran,1957
lisp,1958
algol,1958
cobol,1959
ibm-rpg,1959
mad,1959
jovial,1960
sako,1960
si,1960
teco,1963
ascii,1963
apl,1964
basic,1964
pl-i,1964
simula,1965
bcpl,1966
mumps,1966
logo,1967
spss,1968
b,1969
gml,1969
pascal,1970
forth,1970
scheme,1970
isbn,1970
lse,1971
c,1972
prolog,1972
smalltalk,1972
intercal,1972
ml,1973
sql,1974
diff,1974
sed,1974
tcp,1974
z-notation,1974
lex,1975
yacc,1975
sas,1976
s,1976
awk,1977
bourne-shell,1977
idl,1977
m4,1977
datalog,1977
pearl,1977
modula-2,1978
tex,1978
x86,1978
dbase,1979
ada,1980
scribe,1980
udp,1980
karel,1981
maple,1982
postscript,1982
turing,1982
abap,1983
vhdl,1983
turbo-pascal,1983
matlab,1984
objective-c,1984
transact-sql,1984
verilog,1984
common-lisp,1984
rpl,1984
asn-1,1984
simulink,1984
cpp,1985
clipper,1985
stata,1985
ampl,1985
arm,1985
bibtex,1985
bison,1985
ia-32,1985
latex,1985
mips,1985
erlang,1986
labview,1986
oberon,1986
eiffel,1986
fjolnir,1986
gas,1986
gdb,1986
gnuplot,1986
mathcad,1986
object-pascal,1986
sgml,1986
perl,1987
sparc,1987
unicode,1987
wolfram,1988
mathematica,1988
octave,1988
tcl,1988
picolisp,1988
bash,1989
coq,1989
http,1989
z-shell,1990
haskell,1990
j,1990
scilab,1990
pl-sql,1991
python,1991
visualbasic,1991
qbasic,1991
antlr,1992
gzip,1992
opengl,1992
powerpc,1992
lua,1993
r,1993
k,1993
applescript,1993
brainfuck,1993
html,1993
pdf,1993
utf-8,1993
vba,1993
cilk,1994
racket,1994
delphi,1995
java,1995
javascript,1995
php,1995
ruby,1995
visual-foxpro,1995
cfml,1995
mysql,1995
qt,1995
vbscript,1996
ocaml,1996
asp,1996
css,1996
drakon,1996
jscript,1996
lilypond,1996
postgresql,1996
puredata,1996
rest,1996
squeak,1996
supercollider,1996
uml,1996
xml,1996
c--,1997
mmx,1997
modelica,1997
rdf,1997
rpm,1997
curl,1998
actionscript,1998
soap,1998
vml,1998
vvvv,1998
autoit,1999
asterisk,1999
netlogo,1999
tom-oopl,1999
unlambda,1999
xpath,1999
alice,2000
csharp,2000
cmake,2000
drupal,2000
geo-ml,2000
sqlite,2000
subversion,2000
wsdl,2000
xbl,2000
d,2001
visualbasicnet,2001
processing,2001
json,2001
nsis,2001
protobuf,2001
svg,2001
tinyc,2001
yaml,2001
scratch,2002
gosu,2002
jsharp,2002
restructuredtext,2002
textile,2002
groovy,2003
boo,2003
autohotkey,2003
q,2003
amqp,2003
llvmir,2003
sawzall,2003
whitespace,2003
wordpress,2003
scala,2004
asymptote,2004
markdown,2004
nginx,2004
owl,2004
solr,2004
tiddlywiki,2004
fsharp,2005
sagemath,2005
django,2005
git,2005
haxe,2005
linotte,2005
mercurial,2005
mql,2005
puppet,2005
rails,2005
powershell,2006
aws,2006
hexagon,2006
jquery,2006
ooxml,2006
sass,2006
scss,2006
vala,2006
wml,2006
yii,2006
apex,2007
clojure,2007
cuda,2007
cython,2007
linq,2007
lolcode,2007
thrift,2007
xcore,2007
xquery,2007
nim,2008
geojson,2008
pandas,2008
pig,2008
pure,2008
sparql,2008
umple,2008
go,2009
coffeescript,2009
less,2009
mongodb,2009
opencl,2009
redis,2009
rust,2010
azure,2010
risc-v,2010
dart,2011
kotlin,2011
elixir,2011
google-cloud,2011
schemaorg,2011
stripe,2011
swagger,2011
webgl,2011
julia,2012
elm,2012
qalb,2012
typescript,2012
asmjs,2013
ats,2013
crystal,2014
hack,2014
swift,2014
idris,2014
solidity,2014
graphql,2015
webassembly,2015
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;i&gt;Reproducibility Notes: The data in this post comes from the CodeLani database. It is possible to build a continually updating version of this article that updates as more data comes in.&lt;/i&gt;&lt;/p&gt;</content><author><name></name></author><summary type="html">As I build up my database of programming languages I hope to be able to answer questions like:</summary></entry></feed>