GitHub Commits Reveal The Top 'Weekend Programming' Languages (medium.com) 149
An anonymous reader writes:
Google "developer advocate" Felipe Hoffa has determined the top "weekend programming languages," those which see the biggest spike in commit activity on the weekends. "Clearly 2016 was a year dedicated to play with functional languages, up and coming paradigms, and scripting 3d worlds," he writes, revealing that the top weekend programming languages are:
Rust, Glsl, D, Haskell, Common Lisp, Kicad, Emacs Lisp, Lua, Scheme, Julia, Elm, Eagle, Racket, Dart, Nsis, Clojure, Kotlin, Elixir, F#, Ocaml
Earlier this week another data scientist calculated ended up with an entirely different list by counting the frequency of each language's tag in StackOverflow questions. But Hoffa's analysis was performed using Google's BigQuery web service, and he's also compiled a list of 2016's least popular weekend languages -- the ones people seem to prefer using at the office rather than in their own free time.
Nginx, Matlab, Processing, Vue, Fortran, Visual Basic, Objective-C++, Plsql, Plpgsql, Web Ontology Language, Smarty, Groovy, Batchfile, Objective-C, Powershell, Xslt, Cucumber, Hcl, Puppet, Gcc Machine Description
What's most interesting is the changes over time. In the last year Perl has become more popular than Java, PHP, and ASP as a weekend programming language. And Rust "used to be a weekday language," Hoffa writes, but it soon also grew more popular for Saturdays and Sunday. Meanwhile, "The more popular Go grows, the more it settles as a weekday language," while Puppet "is the champion of weekday coders." Ruby on the other hand, is "slowly leaving the week and embracing the weekend."
Hoffa is also a long-time Slashdot reader who analyzed one billion files on GitHub last summer to determine whether they'd been indented with spaces or tabs. But does this new list resonate with anybody? What languages are you using for your weekend coding projects?
Rust, Glsl, D, Haskell, Common Lisp, Kicad, Emacs Lisp, Lua, Scheme, Julia, Elm, Eagle, Racket, Dart, Nsis, Clojure, Kotlin, Elixir, F#, Ocaml
Earlier this week another data scientist calculated ended up with an entirely different list by counting the frequency of each language's tag in StackOverflow questions. But Hoffa's analysis was performed using Google's BigQuery web service, and he's also compiled a list of 2016's least popular weekend languages -- the ones people seem to prefer using at the office rather than in their own free time.
Nginx, Matlab, Processing, Vue, Fortran, Visual Basic, Objective-C++, Plsql, Plpgsql, Web Ontology Language, Smarty, Groovy, Batchfile, Objective-C, Powershell, Xslt, Cucumber, Hcl, Puppet, Gcc Machine Description
What's most interesting is the changes over time. In the last year Perl has become more popular than Java, PHP, and ASP as a weekend programming language. And Rust "used to be a weekday language," Hoffa writes, but it soon also grew more popular for Saturdays and Sunday. Meanwhile, "The more popular Go grows, the more it settles as a weekday language," while Puppet "is the champion of weekday coders." Ruby on the other hand, is "slowly leaving the week and embracing the weekend."
Hoffa is also a long-time Slashdot reader who analyzed one billion files on GitHub last summer to determine whether they'd been indented with spaces or tabs. But does this new list resonate with anybody? What languages are you using for your weekend coding projects?
Java (Score:2, Informative)
Java is the classic weekday language, taking COBOL's place.
Not that it's poorly designed, but... getting the right things to happen is work that people need to get paid for.
Re: Java (Score:1)
Cue everyone telling you that Java sucks and you should switch to one of the many fad languages.
Re: (Score:1)
I am no advocate of Java but occasionally a well-designed, low resource, application developed using the Java programming language comes along and impresses me.
As for my weekend programming languages recently these include bash, python, R, and SQL (yeah I know it is technically not a programming language in the Turing Complete sense). LaTeX is not a programming language, right?
Re: (Score:2)
It has been used to write some interesting applications [stackoverflow.com], according to Stack Overflow. It is, apparently, a programming language, although one I'm not going to use for weekend projects not involving text formatting.
Re:What brand of hammer? (Score:5, Funny)
Programming languages do not matter. Any program can be written in any language. Programming languages are as interchangeable as hammers.
Yes, that's why I write all of my software in Brainfuck, except for the performance-critical parts which I implement directly as a Turing Machine specification. My "hello world" app might not ship for another 18 months, but when it's finally done it's gonna be awesome.
Re: (Score:3)
Programming languages do not matter. Any program can be written in any language
I wanted to write a non-deterministic term rewriting system in Lisp, but now that you've enlightened me, I'm going to write it in COBOL.
Re:What brand of hammer? (Score:5, Insightful)
What brand of hammer do you use for your weekend carpentry projects?
I think that's the point. We try out and play with new tools on the weekend.
Programming languages do not matter.
They are all tools for essentially the same thing - banging, but they are not identical, and it makes difference what you use. And that's WHY we try new ones, to see if they make our lives easier or not.
Many of them are lousy, and many more are fine, but no better than what we already have, but some of them do make certain things easier in certain projects, and might transition to our regular toolboxes.
Programming languages are as interchangeable as hammers.
I have a regular old claw hammer from Sears for most things. I have a small finishing hammer for stuff like hanging pictures and building bird houses. My brother has a nailgun that I'd borrow if i were doing a big project like framing a basement. I've never had cause to use a ball peen hammer... but if i did any metalworking i'd probably quickly find my claw hammer ... inadequate. I don't have a rubber mallet either, but frequently find myself having to 'work around' not having one... enough that at some point I'll get one.
Re: (Score:2)
Re: (Score:2)
Programming languages are as interchangeable as toolboxes.
If you've ever tried to repair something at a friends house, you know what I'm talking about. You say "That's easy to fix, just get me some tools" and they bring you a shoe box with twine, paper clips and a flat screwdriver. Sure, it's possible to remove phillips screws with a flat screwdriver but it's annoying as hell. Mending stuff with twine and paperclips is better than nothing but if you know of glue guns and rope, it can be a very frustrating
Re: (Score:2)
I had exactly the same feeling when writing numerical code in C#. Everything had to be improvised or created from scratch since there were no relevant libraries and the existing ones could not be applied (sure, there was a binary search but it threw an exception if the element wasn't found. I needed something like upper_bound in C++). Anyway, this was 10 years ago. Maybe things have changed but back then it was definitely the wrong toolbox for the job.
And all despite the fact that (higher-level) C++ and C# are almost identical languages. Now compare them to APL, Forth or Prolog.
Re: What brand of hammer? (Score:3)
Well, emacs lisp is the language that all the extensions and most of the editor is written in, so yes, it matters. The SDKs I'm provided to work on game consoles are all in C++, so we work in C++.
The fact that all these languages are tiring complete doesn't do away with their advantages or disadvantages. In the real world, these choices have consequences.
Re: (Score:2)
Emacs Lisp is something you do on the weekend too. During the week you can't make the excuse that you're changing how your editor works so the project is on hold. Instead you fix up the editor to your liking when not at work.
Re: (Score:2)
Donald, go back to Twitter.
You mean hardly at all? (Score:5, Insightful)
Programming languages are as interchangeable as hammers.
You sound like someone who has never visited the majesty of the Hammer Museum [hammermuseum.org].
The comparison of programming languages to hammers in inadvertently apt; you conclusion not at all.
Some programs are simply much better at some tasks than others. That is why it's good to be familiar with several, instead of just choosing one and claiming " Programming languages are as interchangeable as hammers.".
Re: (Score:1)
Re: (Score:2)
It's "planishing", not "plenishing", unless you've run out and gone to get some more from the stores.
There was a kid in my class who always used to call it a punishing hammer. I was rather surprised the teacher didn't hit him with one; it was allowed in those days, before the bloody Belgians stuck their noses into everything.
Re: (Score:2)
Programming languages do not matter. Any program can be written in any language. Programming languages are as interchangeable as hammers.
And yet no self-respecting programmer writes things in BASIC.
Re: (Score:2)
One of these years I'm going to write a Microsoft 6-bit BASIC interpreter in C++ and write me some BASIC programs. (Yes, I could get one, but that's not the fun way.)
Re: (Score:2)
Re: (Score:2)
For GOTO targets, should I use the original technique of checking line by line to see if it has the right line number, or just keep track of them? Decisions, decisions.
Re: (Score:2)
Re: (Score:2)
Re: (Score:3)
Programming languages do not matter. Any program can be written in any language. Programming languages are as interchangeable as hammers.
That's taking the concept of a Turing completeness a little too far. Malbolge is Turing complete and can theoretically do anything that Java can do. This is "Hello World" in Malbolge:
(=<`#9]~6ZY32Vx/4Rs+0No-&Jk)"Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:'8dc
That string of code was not written by hand- it was generated by a beam search algorithm.
Re: (Score:1)
Re: (Score:2)
Any program can be written in any language
Seriously? Try writing a Web Server in Logo
Re: (Score:2)
Programming languages do not matter. Any program can be written in any language. Programming languages are as interchangeable as hammers.
Yup, that's why I use a plain old claw hammer for everything. Who needs jeweler's hammers, rubber mallets, ball peen hammers, sledgehammers, and jackhammers!?
No love for Delphi? (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
GitHub attempts to autodetect. (Score:1)
Re: (Score:2)
Re: (Score:1)
Some languages may fit the way YOU think but not fit the way an average co-worker thinks.
For personal projects you don't have to give a shit if and how others read your code. Work languages tend to discourage one from being overly clever to make it digestible to a wider audience. It can take the fun out of things, but at least some other coder won't turn grey trying to read your experiment, or vice versa.
Weekend? As in fart with, not work with? (Score:5, Interesting)
Love Python, Java is OK.
Then again, I've never used github neither personally nor professionally, I'm gonna guess these results are biased heavily towards github users, the rest of us (Perforce for me) are completely left out.
/ several years ago we were writing a new test suite
Re: (Score:1)
Yes, sounds like awesome job security. You're a goddamn fool for saying no, now there's at least 3000 engineers that can do your job better than you.
Re: (Score:2)
Re: (Score:2)
When you have a large code base in language X and 3000 (competent) developers working on it: why the hell would you want to switch to a different language?
Doing new stuff in a different language would be ok, but ditching the old code and rewriting it?
Re: (Score:2)
Doing new stuff in a different language would be ok, but ditching the old code and rewriting it?
Well, rewriting old Perl code... Yeah, I guess. Of course, if it were old Python code, it wouldn't be an issue. Perl, as the saying goes, is a write-only language.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Sounds like you don't know any good Perl programmers.
Re: (Score:2)
/ I had been writing Perl regularly for a decade at that point. I did feel like I had found an unicorn.
Re: (Score:2)
Ah, would that there were only 3000 mindless trolls left on the internet.
Re: (Score:2)
Re: (Score:2)
Callback function with a closure, I think?
As long as you understand what closures are, you get it. But you mentioned that you thought it was run-of-the-mill OO language. Closures are not OO concepts. They allow function-like constructs to keep state in a reentrant function without binding it to any one object. It's not a conceptual step above or below OO development. It's a lateral addition to the (let's call it) concept pool. The fact that it is a 1st class citizen in Python (with its own keyword rather than hacked together from other langua
Re: (Score:2)
Elisp is a Friday afternoon language (Score:3)
So during the week, I get my normal work done, but on Friday afternoons, if I've been frustrated with some part of the build system I've written or I want to make something about my process better, I work on tinkering with emacs. Few people need elisp as their main language, but if they're using emacs, they're working in elisp on the weekends to make the rest of their week more liveable.
'Weekend Programming'? (Score:1)
Re: (Score:2)
Work has more than 2 decades of experience supporting software products. The maintenance costs of Perl are far less than C which is less than c++ which is far less than C# which is far less than Python which is far less than Zope.
Zope has been the worst by far. We have hired 3 different people to rewrite a Zope app and import the data into a new system. The thing is the Zope app took about 2 weeks to write in the first place. 3 complete failures. The last time we needed a custom report for the system, i
Re: (Score:2)
mhmhmh (Score:2, Funny)
I write FORTRAN in every language!
Re: (Score:2)
Re: (Score:1)
https://github.com/poettering [github.com]
Erlang the real Rockstar language!! (Score:2)
Come on. All the cool kids use Erlang Outlaw Techno Psychobitch [youtu.be]
Re: (Score:2)
Kicad? (Score:5, Insightful)
top weekend programming languages are: Rust, Glsl... Kicad...
I use KiCad to create schematics and PCB designs. When, and how, did it become a programming language?
Re: Kicad? (Score:4, Informative)
I came here to ask the same thing. Maybe because KiCad component footprints are hosted on GitHub, it got counted as a "language." And given the number of PCBs for hobby projects which get developed on weekends, this might account for its popularity.
Re: (Score:2)
Re: (Score:2)
Puppet has its own programming language do describe dependencies and deployments. I think it is Ruby based, not sure so, looked at it once and immediately hated it, it was to ugly.
Re: (Score:2)
Re: (Score:2)
Well,
I had no problem to use Puppet for what it does, and would likely use bash myself.
I have a problem with the "reinvented" programming language however.
I like programming languages ... if they do something NEW and do it BETTER or with a different PARADIGM than other/older languages. The Puppet language looked more like a missbreed of Ruby/Python/PERL to me though.
Re: (Score:2)
Also, when did Nginx become a language?
Population of Github users (Score:4, Insightful)
Github is especially popular with the Linux crowd. It was, after all, invented to improve development coordination of Linux.
This population skews the results in three significant ways: .NET languages (favored by programmers who want to make money with their code) will be underrepresented in the statistics.
1. Towards obscure and fad languages. This is linked to the extreme fracturing of Linux programmers, each group of which fiercely promotes its own favorite language and tools.
2. Away from Windows. GitHub is especially popular with the open source crowd. This means that C# and
3. Away from projects developed by less-than-genius developers. GitHub still has a steep learning curve for a lot of developers to master, especially those who have been raised on TFS and SubVersion. The obsession with cloning and branching is foreign to these programmers, and they often don't see the point. These types of programmers are typically creating relatively straightforward Web applications, and tend to write their code in C#.
I suspect that the real numbers for weekend coding would feature Microsoft .NET languages much more prominently, if all types of repositories could be counted.
Re: (Score:1)
Hmm, I think that you are confusing git and github.
By the way, I read recently about Microsoft creating a git-friendly file system, and that the Windows code base was managed with git.
Re: (Score:2)
Re: (Score:3)
uhm.. (Score:3)
Re: (Score:2)
No c++ love? (Score:1)
C++ always strict me as a great weekend language: obscure, featureful, fun to play with, but damned if I'd want to use it on a "professional" project.
Re: (Score:2)
Re: (Score:2)
It takes skill, experience, and knowledge to do a good job with C++. If you've got all that, it's a really powerful and expressive language.
Nginx ? (Score:2, Insightful)
So Nginx is a programming language now ? I always thought it was an HTTP and proxy server, not a programming language.
Re: (Score:1)
That was what I was thinking. Unless the config language is now Turing complete and used by hipsters migrating from node and Go.
Objective-C++ ??? (Score:2)
The Multi-Platform Livecode (Score:2)
AHK on the weekend (Score:2)
AutoHotkey... which is basically C with optional curly braces... Did you hear that Python? optional curly braces... imagine that.
Lack Of Python Shows Result Is Invalid (Score:1)
Python is very heavily used both in commercial day jobs and by neophyte/weekend coders. The fact Python appears on none of these lists and that the likes of Nginx - a web server - is suggested to be a programming language, clearly indicates that this "analysis" is utterly worthless.
GIGO. This whole story is garbage.
Go as in golang (Score:2)
Go and some python on weekends.
Should I try Rust next?
During the week it is mostly C, some C# and for scripting, Python.
Re: (Score:2)
Actually, that's the nail on his thumb that he hit. You don't have nails on your head.
Re: (Score:2)
To declare interest, I've done a great deal of contract programming in Perl, for 'big' shops, BBC and a bit of Amazon for example. I've been in the industry since 1976 and done a lot of COBOL, RPG2, Filetab, some PL/1 etc. and more recently some Java and Python. So I'm not a one language programmer, I've been messing with Erland recently too.
Perl takes a lot of shit, and, I agree @ [ % $ (for example)