But this is less so when programmers are off the clock. There aren't a whole lot of professions whose practitioners go home after work and do more work just for fun, but programming is a world of side projects—the job is the hobby and the hobby is the job. The appeal of side projects is, naturally, freedom. Off the clock, we can build whatever the hell we want, whether it's meant to be the seeds of a startup, a new electronic music instrument, or just a fun game.
Off the clock, it's also more likely that we can pick and choose programming languages based on which ones we actually like. There are some of the same constraints, of course, but if we really, really wanted to, say, build a web application in C++, we could. It's with this in mind that Julia Silge, a data scientist at Stack Overflow, decided to chew through the site's vast data trove for programming language questions appearing only on the weekends vs. those appearing on weekdays (work days). The results are pretty interesting.
Silge and colleagues looked at 10,451,274 questions posted to the site on weekdays and 2,132,073 questions posted on weekends. From this pool, they gleaned about 10,000 total tags in use and then conducted a frequency analysis on those tags. Results are below.
The left, weekday side is dominated by, well, uncool technologies. These are often proprietary (closed-source) things likely to be in a big corporate environment. Sharepoint is a team collaboration tool; Oracle focuses on enterprise software (that is, software for big organizations); Excel is Microsoft's spreadsheet program; Internet Explorer is Internet Explorer. Five tags on the left are related to Microsoft.
The right side is dominated by academic-friendly technologies and platforms well-suited to rapid prototyping, such as Heroku and Google App Engine. The leading tag on the right, Haskell, is a challenging functional language, a wicked satisfying programming paradigm that happens to be very in right now. Meanwhile, assembly is a generic term for the very low-level languages representing the last human-readable step before code becomes machine code. It's likely to be used in embedded environments where developers are writing code directly for hardware; one might write assembly code for an Arduino board, for example. OpenGL is a graphics programming interface used in making video games, VR, and other things you'd probably consider to be more fun than hacking on spreadsheets. Python is always a good time.
Here's another perspective, which is how the weekend/weekday ratio has changed over time for certain technologies:
Both Ruby and Rails and Scala have declined in weekend use and increased in weekday use, indicating that these technologies are bleeding through as more developers become interested in them and understand their "real-world" utility. On the flip side, "If we look for the tags that have increased the most in weekend activity, we see the game engine Unity3D, as well as a number of tags used for building mobile apps," Silge writes. "It looks like developers are designing more games and apps on the weekends now than in previous years."