Blog

Coding while Coworking

A look at trends: From Assembly to Python, JS in 30 Seconds or less, and out with Moment.js! The months top 5 trending Github Repos.
Group 4 Created with Sketch.

 

5’ read

There are a fair number of us at MOB working on software development. I thought it could be interesting to take the time to see which codebases have the most activity on Github.  This gives some fun and valuable insight into trending languages, overall developer community interest, and a heads up to emerging projects that are gaining lots of attention.

Let’s explore the top trending ‘repos’ at the time of this writing. If you are like me, you will find the rank somewhat surprising!

  1. Assembly Language: The original sources of MS-DOS 1.25 and 2.0

To see Assembly language topping the list is curious, seeing as it’s rarely ranked in the top ten languages to learn or use. I found number 42 in my research. So, like me, you may ask, why Assembly at number one? I feel there are a few good reasons why this may be the case.

One, perhaps coincidentally, or maybe not, the number one set of developers contributing to GitHub are pushing from Microsoft. Two, there are loads of legacy applications written in Assembly that need to be modernized and upgraded to today’s more cutting-edge languages. While assembly allows you to handcraft code that is very fast, with meager memory requirements for that code, and very lovely developer visibility, the sad truth is, it’s time-consuming and error-prone. A functional language to potentially migrate Assembly to? How about Python, coming in at number three below.

  1. C: Create an Operating System from Scratch

This is a great one. To me, it screams two things. Lots of computer scientists coming into the industry, and two, innovation. C is an efficient, fast, widely known and supported language and is often at the core of computer science degrees. The fact that the trending repo is focused on creating one’s ‘own’ operating system perhaps points to the trending popularity of Linux and also perhaps the increased desire for controlled security of data that is becoming critical to many users in today’s Blockchain era.

  1. Python: The Algorithms

With Algorithms at the core of most if not all great applications, it certainly makes sense to see a trending collection of the most important and popular ones, in one of the worlds most popular languages, Python. This repository shows examples of how to sort through and order various elements of data and sort them by order. For example, a ‘Bubble Sort‘ to sort a line lengths from shortest to longest, and then to do the reverse, or to take a jumbled list of lines and place them in order. Or, a ‘Bucket’ sort, which is an array organizer that sorts similar kinds of data into buckets. For example, sorting all online store orders that were delivered in under five days to ones that took more than five days throughout the year.

  1. Javascript: 30 Seconds of Code (Code you can understand in 30 seconds or less)

Well if this doesn’t speak to society’s tendency to love snippets of things that match our available attention spans, I don’t know what does. 30 seconds is not very long, but that says a lot about Javascript, and it’s parent standardizing language, ECMAScript. It’s very readable, and there are a LOT of people learning and loving it, and it’s very dynamic and flexible. With things like the evolution of node.js acting as a server-side and browser-side language, it’s now a full stack language, and platforms like Angular, paired with tools like Ionic, React.js, and many more are pushing it forward by the day. It’s one of my favourite languages, and this repo has excellent quick examples of how to adapt data, such as flipping an argument from last to first, first to last, or how to manipulate the DOM,  perform math calculations, string manipulations, and much more. Check it out; it’s fun for a bus ride! 🙂

And finally, 5: Javascript: You Don’t need Moment.js

I feel for the creators of moment.js to see this repo trending, but what can you do, things evolve, and trends emerge. Clearly, there is a trend out there around _not_ using the moment.js library. The primary argument against moment.js is it can cause bloat in an otherwise simple application. While this isn’t always the case, it appears that many times it is, and can warrant migrating away from moment to dayjs, or others. Many developers claim their bundle sizes being split in half. Worth exploring if your app uses moment.js or you are just curious about how a popular library can fall from grace.

So, as you can see, and interesting mix. We start with one of the core languages of our time, Assembly, hitting arguably the world’s number one language, Python, and ending with one of the most modern and progressive languages of our time, Javascript, pruning its own innovation out, and replacing it with the new. And, isn’t this the real beauty of code; it’s ability to evolve, get smarter, faster, and easier to use. And also, repositories, amazingly powerful tools that enable all of us to work together to make our shared technology better, every day.

Thanks for reading, follow and get in touch if you have any feedback or ideas to share on this article @jesseseaver.

Info