Reviewing Github's trending lists

I developed a habit of reviewing Github’s trending lists every week. I will review the top trending projects across all languages and for the few languages that I am interested in following. Recently, that list for me has been:

  • Javascript
  • Python
  • Julia

I started looking at these trending lists for reasons similar to others. It was a way of finding new and interesting projects. It was only recently that I started to realize that I was able to glean more of these lists than before.

There are other ways that as software engineers, coders, and programmers, we can find out about interesting projects that we had not heard of before. There are pleny of podcasts that discuss different projects or interview engineers behind prominent tools. There are blogs and forums where projects are discussed. I think the reason that I look at the github trending lists is because it is more structured, more immediate, and closer to the source.

Writing this now, I am thinking about the type of questions that are hard to answer elsewhere:

  • What are new projects being developed in javascript? python? Really, any specific language that a person might be interested in.
  • What sort of tasks is a programming language suited to?
  • What direction is a programming language heading in?

I find the latter two questions more interesting. Aside from answering specific questions, the trending lists also highlights patterns that shed light on questions I might not have thought to ask.

I read a few articles highlighting the achievements and implications of work in Julia thus far. I took a look at Julia’s Github trending list, expecting to see a list of mathematical and statistical tools. What I saw were web frameworks, simple low level utilities, and what I thought I might find. When I considered further, it made sense. Julia 1.0 was recently released. Given the first major version was just released, given the community is growing, and given the time the community has had, what is on the trending list highlights that Julia is in its growing phase.

julia trending

So, if that is the story of a young language, then what is the story of more established languages like javascript and python. For the most part, what I found in the javascript trends indicated that despite the introduction of Node.js that allows for server side javascript applications, the work in the language was predominantly geared towards the web.

js trending

Although, the web may constitute a majority of code written today, python highlights the possibilities for a language that did not specifically spring to enhance the web experience. In the python trends, I found more solutions geared towards machine learning, data, crawling, and obtaining information from various APIs. Specifially, I saw mentions of PyTorch, Keras, TensorFlow, Youtube, SoundCloud, home automation, and another lightweight machine learning library.

python trending

Acting on patterns

For me, the patterns are more interesting than the new project trending for a week. I find that while I will look at a new project and perhaps review its source code, I am unlikely to remember this project unless I have an immediate application in the near future. Patterns are something that generally remain on hand at the back of my mind and come up in conversation with colleagues.

© 2019. All rights reserved.