Slashdot Mirror


GitHub Commits Reveal The Top 'Weekend Programming' Languages (medium.com)

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?

149 comments

  1. Java by Anonymous Coward · · 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.

    1. Re: Java by Anonymous Coward · · Score: 1

      Cue everyone telling you that Java sucks and you should switch to one of the many fad languages.

    2. Re: Java by Anonymous Coward · · 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?

    3. Re: Java by Anonymous Coward · · Score: 0

      "occasionally a well-designed, low resource, application developed using the Java programming language comes along"

      Such as? I have yet to see one.

    4. Re: Java by Anonymous Coward · · Score: 0

      You have "yet to see one" because you surround yourself with people who think they are developers when in reality they are nothing but incompetent wannabes.

    5. Re: Java by Anonymous Coward · · Score: 0

      So, no examples then? Colour me surprised..

    6. Re: Java by Anonymous Coward · · Score: 0

      This is some next level dumb

    7. Re: Java by Anonymous Coward · · Score: 0

      I dabble in programming. Mostly I support applications.

      Every application that I have supported that was written in java has been plagued with frustrating intermittent memory leaks and failures that cause terrible problems for business critical processes.

      But, applications still keep getting written in java.

      Java sucks. I don't know enough to why, but decades of experience have shown me that it without a doubt true.

    8. Re: Java by david_thornley · · Score: 1

      LaTeX is not a programming language, right?

      It has been used to write some interesting applications, 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.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  2. Great, more Rust propaganda by Anonymous Coward · · Score: 0

    Subject says everything.

  3. Re:Rusted away by SJWs by Anonymous Coward · · Score: 0

    You've hit the nail on the head, boy.

  4. What brand of hammer? by Anonymous Coward · · Score: 0, Interesting

    What brand of hammer do you use for your weekend carpentry projects?

    Seriously.

    Programming languages do not matter. Any program can be written in any language. Programming languages are as interchangeable as hammers.

    1. Re:What brand of hammer? by Jeremi · · Score: 4, 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.

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    2. Re:What brand of hammer? by Anonymous Coward · · Score: 0

      But what about mallets, carpenter's hammers, sledgehammers, ball-peen hammers, and gavels? Not to mention rock climbing hammers, cow hammers, and mauls of all sizes and shapes. No, programming languages are NOT all the same and they are not interchangeable and you can't write every application or operating system in every language.

    3. Re:What brand of hammer? by K.+S.+Kyosuke · · Score: 2

      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.

      --
      Ezekiel 23:20
    4. Re:What brand of hammer? by vux984 · · Score: 4, 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.

    5. Re: What brand of hammer? by Dixie_Flatline · · Score: 2

      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.

    6. Re:What brand of hammer? by Anonymous Coward · · Score: 0

      I only use Husky tools! Fuck Craftsman!!

    7. Re:What brand of hammer? by Anonymous Coward · · Score: 0

      The carpentry around my house doesn't require a bunch of oddball, bullshit runtime libraries, frameworks, and other crazy amounts of dependencies.

    8. Re:What brand of hammer? by phantomfive · · Score: 1

      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.

      --
      "First they came for the slanderers and i said nothing."
    9. Re:What brand of hammer? by Anonymous Coward · · Score: 0

      Well put. What I want to know is how in the hell none of the world's top five most common languages made it to the weekend *or* weekday lists.

    10. Re:What brand of hammer? by Anonymous Coward · · Score: 0

      >And yet no self-respecting programmer writes things in BASIC.
      Just for kicks I wrote a .mod player bash script just to see if it could be done. It could, but bash interpreted scripts are so goddamn slow; the script struggled to play even at 8kHz sample rate on my 2.3GHz I7 mac.

    11. Re:What brand of hammer? by phantomfive · · Score: 1

      That's really cool. Do you have source code?

      --
      "First they came for the slanderers and i said nothing."
    12. Re:What brand of hammer? by MillionthMonkey · · Score: 2

      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.

    13. Re:What brand of hammer? by CustomSolvers2 · · Score: 0

      Programming languages do not matter. Any program can be written in any language. Programming languages are as interchangeable as hammers.

      I think that this sentence, understood in the right context, is quite accurate. Logically, 20-year ago languages are different to the ones being used right now. Also there are notable differences among different current languages. In any case, an experienced enough programmer in whatever (modern) language should be able to perform 99% of all the programming work without any problem.

      Objectively more (un-)friendly features of a given programming language might be compensated with experience. For example, a programmer used to the peculiarities of certain programming language might not mind them; and might prefer to continue using that language rather than getting used to the peculiarities of a different one which might address some of the problems but might provoke other problems. Or perhaps a less friendly language is more widely used and has a lower number of compatibility issues. Or perhaps a more or less complex system was built on a certain language and rewriting it in a different one wouldn't make too much sense.

      The programming languages as a whole are certainly improving; but thinking that there is an absolutely better alternative independently upon anything else is plainly wrong. I can defend the features of the languages in which I am more experienced, but can also understand that other people might prefer different things for whatever reason. What I cannot defend is those half-learning any new approach and hoping it to (magically) compensate their limited skills. Learning many languages or just a few are both fine-to-me options, but only when learning them properly and not delivering nicely-labelled crap.

      --
      Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
    14. Re: What brand of hammer? by Anonymous Coward · · Score: 0

      Sure it does, unless you're casting nails and brewing up adhesives yourself

    15. Re:What brand of hammer? by CrashNBrn · · Score: 1

      I prefer my Pick-Axe. Plus the Zombie Apocalypse is coming.

    16. Re:What brand of hammer? by Anonymous Coward · · Score: 0

      This is literally the dumbest comment I've ever seen here and that is saying something.

      You clearly know next to nothing about programming.

    17. Re:What brand of hammer? by Anonymous Coward · · Score: 0

      Craftsman here. Dinner first baby.

    18. Re:What brand of hammer? by ath1901 · · Score: 1

      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 experience.

      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.

      By, the way, I counted the hammers in my toolbox at home: 5. Very small, small, regular, small sledgehammer and rubber mallet.

    19. Re: What brand of hammer? by Darinbob · · Score: 1

      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.

    20. Re:What brand of hammer? by Big+Hairy+Ian · · Score: 1

      Any program can be written in any language

      Seriously? Try writing a Web Server in Logo

      --

      Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

    21. Re: What brand of hammer? by david_thornley · · Score: 1

      Donald, go back to Twitter.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    22. Re:What brand of hammer? by david_thornley · · Score: 1

      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.)

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    23. Re:What brand of hammer? by phantomfive · · Score: 1

      Bet you could make it more efficient, too

      --
      "First they came for the slanderers and i said nothing."
    24. Re:What brand of hammer? by santiago · · Score: 1

      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!?

    25. Re:What brand of hammer? by K.+S.+Kyosuke · · Score: 1

      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.

      --
      Ezekiel 23:20
    26. Re:What brand of hammer? by david_thornley · · Score: 1

      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.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    27. Re:What brand of hammer? by phantomfive · · Score: 1

      Back when I was writing basic, the thing I wanted most of all was a tool to renumber the lines. I kept on running out of line numbers, it drove me crazy.

      --
      "First they came for the slanderers and i said nothing."
  5. But what about the rest of us.... by Anonymous Coward · · Score: 0

    That program in Java? I know wer're not sobhuman.

    1. Re: But what about the rest of us.... by Anonymous Coward · · Score: 0

      Java is the #1 language for weekday work. Naturally people pick a goofy fad language for weekend fun and to add something new to their resume.

    2. Re: But what about the rest of us.... by Anonymous Coward · · Score: 0

      Java is the #1 language for weekday work.

      I remember when Java was my weekend language. Back when people were inspired by it and it didn't have a planet full of haters. In the 1.0 and 1.1 days it wasn't really suitable for production work; too many missing pieces. But that changed quickly as mind share grew. I was the first to bring it in house with my employer build things with it.

      Now my weekend language is Rust. It's not really suitable yet for a lot of tasks due to missing pieces; you end up spending too much time on GitHub sorting through multiple half baked 0.3.0 versions of various tools to get much done. But that's changing. The Rust team is very aware of this and their 2017 roadmap directly addresses it. So that will improve. A lot of people really want to use this language and they'll bring it with them when it becomes feasible to do so.

  6. No love for Delphi? by ELCouz · · Score: 1

    Pretty neat week-end language IMO... Not for a living though!

    1. Re:No love for Delphi? by TheRealMindChild · · Score: 1

      Delphi isn't free.

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    2. Re:No love for Delphi? by ELCouz · · Score: 1

      Lazarus is! ...which is a Delphi compatible cross-platform IDE ;)

    3. Re:No love for Delphi? by Anonymous Coward · · Score: 0

      That's a false statement. Starter editions are free.

    4. Re:No love for Delphi? by Anonymous Coward · · Score: 0

      Well we all know who you're shilling for, don't we? ;)

      Take any chance you can get to whore your own project, that's pretty low even for a Slashdot luser. ;)

    5. Re:No love for Delphi? by CrashNBrn · · Score: 1

      Sure. Total Commander. But we all wish it was written in C/C++ and not a closed source program, by a single curmudgeon developer.

    6. Re:No love for Delphi? by ELCouz · · Score: 1

      Shill?!...no way! Just a die hard Delphi / Free Pascal fan ;)

  7. GitHub attempts to autodetect. by hackwrench · · Score: 1

    My repositories that contain QuickBASIC language code for compilation with QB64 are tagged Visual Basic by GitHub.

    1. Re:GitHub attempts to autodetect. by Anonymous Coward · · Score: 0

      ... so you want to be a pretentious elite Basic coder.

    2. Re:GitHub attempts to autodetect. by Anonymous Coward · · Score: 0

      ... so you want to be a pretentious elite Basic coder.

      I developed a statistical analysis application using Microsoft QuickBASIC in 1999 because COBOL was too much of a burden to productivity.

    3. Re:GitHub attempts to autodetect. by bhcompy · · Score: 1

      Mine are in DataBASIC...

  8. Could not care less.. by Anonymous Coward · · Score: 0

    As long as the tool fits the job, use what you are most proficient using.

    1. Re:Could not care less.. by Anonymous Coward · · Score: 0

      Bad news. You're a heretic.

    2. Re:Could not care less.. by Tablizer · · 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.

  9. Weekend? As in fart with, not work with? by Snotnose · · Score: 4, Interesting

    Learned Java on my own a couple years ago, but have never used it in a professional environment. Do a lot of Python on my own. Do C/perl/bash/some C++ at work.

    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
    // I wanted Python, most others wanted Perl
    /// Boss said "3,000 engineers here know Perl, you know Python. Wanna support 3,000 engineers?"
    //// bummer, but he had a damned valid point

  10. Elisp is a Friday afternoon language by Dixie_Flatline · · Score: 2

    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.

  11. 'Weekend Programming'? by sitarlo · · Score: 1

    Is that like when the CEO creates an unrealistic deadline out of thin air and I spend the weekend coding a hack to make it look like a feature kinda sorta works? Surely this study isn't suggesting that people are spending their weekends writing programs in obscure languages just for fun?!?!?

    1. Re:'Weekend Programming'? by Anonymous Coward · · Score: 0

      Students. Young, naive, haven't met that CEO yet.

  12. Matlab's expensive by Anonymous Coward · · Score: 0

    And nowadays licenses are typically managed from a server so it ain't easy to run at home. Otherwise I'd not expect to see it so weekend unpopular. Most people don't want to bother with Octave.

  13. Re:Weekend? As in fart with, not work with? by Anonymous Coward · · 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.

  14. Bullshit by Anonymous Coward · · Score: 0

    Perl is more popular than Java? Not on any day of the week in 2017. This is garbage.

    1. Re:Bullshit by Anonymous Coward · · Score: 0

      I still use Perl on a regular basis. It is the language that separates the competent from the incompetent.

    2. Re:Bullshit by Anonymous Coward · · Score: 0

      Just because perl gives you fifty different ways to do anything doesn't mean you can't write fortran in perl and ignore every perlism.

    3. Re:Bullshit by thogard · · Score: 1

      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, it was a few minutes of work in SQL and Perl.

    4. Re: Bullshit by Anonymous Coward · · Score: 0

      That's because the study is measuring the swing from weekend to weekday commits. You don't get big swings from big languages, you get big swings from small languages. In other words, this is mostly a study of statistical noise.

    5. Re:Bullshit by fluffernutter · · Score: 1

      Perl is the only language that comes usually out of the box with every linux and unix. You write a script in bash, it won't work some places. Java, you need to install the JVM and probably some sort of framework before you're really up and running, which often feels bloated. Python is personally my favorite language, and while it comes on most linux distributions you won't find it on most enterprise unix. Yet perl is there. Write a script in perl and you're good. Not even hard to make work on windows.

      --
      Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
    6. Re: Bullshit by Anonymous Coward · · Score: 0

      Go is the easiest to cross compile, and have it work, across hardware and OS targets.

  15. mhmhmh by Anonymous Coward · · Score: 2, Funny

    I write FORTRAN in every language!

    1. Re:mhmhmh by Anonymous Coward · · Score: 0

      FORTH is the only language for me. It's shorter than FORTRAN.

    2. Re:mhmhmh by Anonymous Coward · · Score: 0

      You are no Mel:
      http://www.catb.org/jargon/html/story-of-mel.html

  16. coding is for losers by Anonymous Coward · · Score: 0

    When I apply for coding jobs, my applications are ignored, every time I apply.

    When I contribute to open source projects, my contributions are ignored, every single time.

    When I write my own open source software, no one uses it, not ever.

    I don't know why I bothered going to university, and I don't know why I bothered earning a computer science degree, because it was a complete waste of money, and I didn't need to earn any degree to be unemployable and ignored.

    Fuck coding. Fuck GitHub. Fuck you.

    1. Re: coding is for losers by Anonymous Coward · · Score: 0

      Link us to your github.

    2. Re: coding is for losers by Anonymous Coward · · Score: 1
    3. Re:coding is for losers by sitarlo · · Score: 2

      Somewhat true. I author software mostly in Unity these days using state machines and I am developing the deepest, most rich and robust applications of my 30+ year career in software development absolutely code free. If you are still churning out lines of application code I highly recommend learning about the excellent x-platform tools like Unity that are available today. If you are writing device drivers or native utilities in C or Assembly, then my hat is off to you for actually practicing programming. Scripting, no matter how sophisticated, is somewhat banal when you think about it. Applying endless standards and APIs to recreate what has already be done before. There just isn't enough risk in it for it to be actually innovative. I'm not pointing fingers, the game engine centric development I do these days is even higher abstraction from the machine, but there is a sense of freedom working in simulated space and time. It's not really programming, it's more like experience design. And for the grossly divisive posts below, imagine a world where people are not judged by the color of their skin or the country they came from. Isn't it a better place?

  17. coding is for h1b by Anonymous Coward · · Score: 0

    OK bye Bob. I do needful. Thank for country. I take job.

  18. You mean hardly at all? by SuperKendall · · Score: 5, Insightful

    Programming languages are as interchangeable as hammers.

    You sound like someone who has never visited the majesty of the Hammer Museum.

    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.".

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:You mean hardly at all? by Anonymous Coward · · Score: 0

      ok. thats great..

      but i have to ask, the gallery doesn't show any shaping hammers. no hide hammers. no mallets, raising hammers or
      plenishing hammers.

      is there some kind of hammer bias going on?

    2. Re:You mean hardly at all? by Hognoxious · · Score: 1

      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.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    3. Re:You mean hardly at all? by Anonymous Coward · · Score: 0

      I've been writing software professionally now for 34 years. I've written in all types of languages professionally. My projects at home tend to be the languages I was using at work unless the compilers were prohibitively expensive.

      But now that companies have stopped using the mentality of using the hammer of the month and have basically settled down to a couple of standards, for MS work at home I use a mixture of VB and C#, mostly VB because routines in the past that I have written and need use of were previously written in VB. I only write C# at work. For Linux work it is only PHP.

      At home I still write OS/2 - eCS software, check my hobbs listings, and for that the only real compiler is straight C.

      But operating system independent client browser software is all JavaScript.

      From my own personal experience, it would be doubtful to pick up a new hammer not required to be used by an employer just to do anything significant at home other than just dabble in it.

      A spoken language would be the same. I speak native English. I learned Spanish to speak with a current girlfriend of whom only spoke Spanish when I met her. I have often thought I would like to speak German since it is similar to English and has roots based on a past shared language. I've never had the time to learn though.

      But I would never think of learning Chinese/Japanese for saying anything other than "Hello", "Good bye" and "Have a nice day". It is too prohibitively expensive to master for my limited use.

  19. Weekend Programming Language means that by Anonymous Coward · · Score: 0

    .. it is no longer a serious contender for real work. Take it off your resume and don't look for any jobs with it because they will be going away.

  20. Re: My biggest commit on the weekend by Anonymous Coward · · Score: 0

    +1

  21. Erlang the real Rockstar language!! by Billly+Gates · · Score: 1

    Come on. All the cool kids use Erlang Outlaw Techno Psychobitch

  22. Kicad? by jenningsthecat · · Score: 4, 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?

    --
    'The Economy' is a giant Ponzi scheme whose most pitiable suckers are the youngest among us and the yet-unborn.
    1. Re: Kicad? by BeaverCleaver · · Score: 3, 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.

    2. Re:Kicad? by Anonymous Coward · · Score: 0

      Same thing with Eagle.

    3. Re:Kicad? by Dragonslicer · · Score: 1

      I was thinking the same thing about Puppet. I haven't used it much, but I don't remember there being a programming language involved.

    4. Re:Kicad? by angel'o'sphere · · Score: 1

      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.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    5. Re:Kicad? by CrashNBrn · · Score: 1

      That and the people that use Puppet (that I have seen, e.g. Web Devs), aren't doing much more than a basic GREP and PIPE bash script. Tools for Fools.

    6. Re:Kicad? by angel'o'sphere · · Score: 1

      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.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    7. Re:Kicad? by pkphilip · · Score: 1

      Also, when did Nginx become a language?

  23. Population of Github users by Tony+Isaac · · Score: 3, 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:
    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 .NET languages (favored by programmers who want to make money with their code) will be underrepresented in the statistics.
    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.

    1. Re:Population of Github users by Anonymous Coward · · 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.

    2. Re:Population of Github users by squiggleslash · · Score: 1

      He's not. While Visual Studio has git support, users are encouraged to use Microsoft's own free source code repository/management system.. With the exception of a few Mono holdouts, I'm guessing 90% of C# developers, professional or otherwise, use Visual Studio, where you're encouraged to use Team Services.

      --
      You are not alone. This is not normal. None of this is normal.
    3. Re:Population of Github users by squiggleslash · · Score: 2

      (Replying to myself):To clarify, Team Services is a Github rival, not a git rival. TS even offers git hosting as an option.

      --
      You are not alone. This is not normal. None of this is normal.
  24. uhm.. by superwiz · · Score: 2

    Counting the most commits is only a step above counting kloc's. Or is it just the new kloc? If a language is at the point where it finally has it together (good std library support, intuitive syntax, etc.) one might expect projects in that language to get to stable condition much faster with fewer commits. The more messy and error-inducing a language is, the more the projects in it need to be fixed. So it would see more commits (assuming enough people are conned into using it).

    --
    Any guest worker system is indistinguishable from indentured servitude.
    1. Re:uhm.. by Anonymous Coward · · Score: 0

      Counting the most commits is only a step above counting kloc's.

      Riiiiight. As with LOC (Lines Of Code) it is *easy* to measure, and it's a step above because a commit is more semantic than a line of code. So, it's equally convenient but a better measure. Isn't it wonderful? Of course, you're free to contribute inventing a better metric. It doesn't need to be perfect, just one step above will be great.

    2. Re:uhm.. by superwiz · · Score: 1

      kloc is an acronym for "thousand lines of code". This was generally the way to describe complexity of code at some point (just as the number of transistors on a chip used to be a bragging point about its complexity).

      --
      Any guest worker system is indistinguishable from indentured servitude.
  25. Re:Weekend? As in fart with, not work with? by superwiz · · Score: 1

    There is no way that there is still 3000 people who wouldn't switch from Perl to Python in the entire world. Are you working with aliens.?

    --
    Any guest worker system is indistinguishable from indentured servitude.
  26. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  27. No c++ love? by Anonymous Coward · · 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.

    1. Re:No c++ love? by cpghost · · Score: 1

      To C++ aficionados, weekends are for reading and meditating through Stroustrup's and others' fine books, the ISO standard, Boost code, etc. to get a better grasp of the language and its modern features to then be used during the week days to create even more obscure, beautiful metaprograms that solve the Halting Problem at compile time by applying a policy meta-template instantiated with some magic traits. Do you think there's time to commit code like that on GitHub on the weekends and hoping those commits to still make sense on Monday?

      --
      cpghost at Cordula's Web.
    2. Re:No c++ love? by david_thornley · · Score: 1

      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.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  28. Nginx ? by Anonymous Coward · · Score: 2, Insightful

    So Nginx is a programming language now ? I always thought it was an HTTP and proxy server, not a programming language.

    1. Re:Nginx ? by Anonymous Coward · · 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.

  29. Re: Weekend? As in fart with, not work with? by Anonymous Coward · · Score: 0

    Count me as one of them. If it weren't for Tensor Flow, I wouldn't touch python with a 10 foot pole.

  30. perl is not surprising. by Anonymous Coward · · Score: 0

    what is surprising about perl? Perl 6 was finally released after like 15 years so obviously people wanted to play around with it.

    1. Re:perl is not surprising. by hughbar · · Score: 1

      In the last year Perl has become more popular than Java, PHP, and ASP as a weekend programming language

      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) makes things very mysterious, starting out. However, it's a very productive language with a huge set of library assets on CPAN (yes, too many perhaps and some are flaky as hell) and a lot of mature tools like Catalyst and mod_perl. You have to be defensive because of weak typing, but that becomes a habit, good to be defensive, anyway.

      Lastly, the community is good, funny and pretty welcoming. As I'm a Londoner, I got to: http://act.yapc.eu/lpw2016/ every year, learn some stuff, meet some friends too. Lastly, lastly (I lied about the previous 'lastly') it's not in anyone's hands, like Java and Go, for example.

      Try it and see. You may be surprised.

      --
      On y va, qui mal y pense!
  31. Weekdays: Java Weekends:Python and Arduino by Anonymous Coward · · Score: 0

    Short answer to this one, Java during the week because it pays the bills.

    Weekends are usually Raspberry Pi or Arduino projects, and Python seems to dominate the Pi libraries.

  32. Re:Weekend? As in fart with, not work with? by angel'o'sphere · · Score: 1

    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?

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  33. +1 Funny by CustomSolvers2 · · Score: 1

    Very funny! I also liked the one about NoSQL being web-scale referred in a comment some weeks ago.

    --
    Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
  34. Objective-C++ ??? by gnasher719 · · Score: 1

    That's interesting. The only practical use for Objective-C++ is to write wrappers for C++ classes to be used from Objective-C code or vice versa. So people are writing wrappers for either their C++ code or their Objective-C code on the weekends?

  35. The Multi-Platform Livecode by Nonsanity · · Score: 2

    I've used Livecode for all my "I need a program to do X immediately" needs for years. It has since become open source and free for most usesâ"including all of mine. The paid additional features, like compiling for iOS, are always available if needed. One if the best parts if using Livecode is its integrated IDE. It is exceedingly simple to fire it up, create a New project, and drag a few text fields and buttons on to its window. I've been using the language, or one of its ancestors, since 1988 when I first started using HyperCard on Macs. But Livecode today runs equally well on all platforms. Being able to compile from any of those platforms to make a stand-alone executable for any other has also been invaluable. I always recommend Livecode to anyone that wants to learn a little bit of programming. It's quick and easy to learn and use.

  36. AHK on the weekend by CrashNBrn · · Score: 1

    AutoHotkey... which is basically C with optional curly braces... Did you hear that Python? optional curly braces... imagine that.

  37. Nginx eh?? by Anonymous Coward · · Score: 0

    Wtf language is nginx. Sounds more like a web server.

  38. Lack Of Python Shows Result Is Invalid by Anonymous Coward · · 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.

  39. Re:Rusted away by SJWs by Anonymous Coward · · Score: 0

    Who you calling a boy, women.

  40. My Favorite Hammer! by Anonymous Coward · · Score: 0
  41. Re:Weekend? As in fart with, not work with? by Anonymous Coward · · Score: 0

    I know you were going for a funny mod, but I'm one of those 3000 people. I consider Perl my primary programming language. It just jibes well with me.

    I've looked at Python a few times but just don't get what's so good about it or why it's so popular. It seems like a 'standard' OO language, nothing special, method names contain strange underscores once in a while.

    I know Ruby (not Rails) though, and someone once said that Ruby and Python are mutually exclusive: once you know one, you can't learn the other, because they're so similar that you don't see the point of learning the other.

  42. Wait what? by Anonymous Coward · · Score: 0

    Since when did NGINX become a language? WTF are you trying to pull /.

  43. Re:Weekend? As in fart with, not work with? by superwiz · · Score: 1

    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.

    --
    Any guest worker system is indistinguishable from indentured servitude.
  44. Re:Weekend? As in fart with, not work with? by superwiz · · Score: 1

    Learn more about what 'yield' keyword does in it. And then learn what the 'with' keyword does in it (deterministic RAII within a gc-based language). Then read and fully understand what is a 'namedtuple'. And then you'll realize that it is pretty far from a standard OO language. Just as a function is a generalization of the concept of a stack, yield-based generators (closures) are a generalization of the concept of a queue. 'namedtuple' makes visitor pattern obsolete. So a lot of the hoops which people are forced to jump through in OO languages are naturally swept away by Python's native constructs. And because the white spaces are used for scope delineation, it is imminently readable.

    --
    Any guest worker system is indistinguishable from indentured servitude.
  45. Re:Weekend? As in fart with, not work with? by superwiz · · Score: 1

    Oh, and I guess I forgot to mention that it has all the constructs one would expect in a mature functional language (map, filter, lambda, reduce). But I forgot about it because they were so obviously there from the beginning.

    --
    Any guest worker system is indistinguishable from indentured servitude.
  46. Re:Weekend? As in fart with, not work with? by Anonymous Coward · · Score: 0

    Have you ever seen any forth code?

  47. Go as in golang by Walter+White · · Score: 1

    Go and some python on weekends.

    Should I try Rust next?

    During the week it is mostly C, some C# and for scripting, Python.

  48. Re:Weekend? As in fart with, not work with? by doom · · Score: 1

    There is no way that there is still 3000 people who wouldn't switch from Perl to Python

    Ah, would that there were only 3000 mindless trolls left on the internet.

  49. Re:Weekend? As in fart with, not work with? by doom · · Score: 1

    Lame piss.

  50. Re:Weekend? As in fart with, not work with? by superwiz · · Score: 1

    Seriously? It really gets you going that someone you don't even know would suggest that Perl is much easier to write than to read? I have never heard in my life anyone say that they saw a project which was written in Perl and the code was beautiful. I've heard it about C and Python... and, yes, about Java. I've even heard it about Bash scripting framework. But never about Perl. I guess your experience may be different, but if it is, I assure you that it is fairly unique.

    --
    Any guest worker system is indistinguishable from indentured servitude.
  51. Re:Weekend? As in fart with, not work with? by Anonymous Coward · · Score: 0

    I'm probably showing my ignorance here, but ...

    Learn more about what 'yield' keyword does in it.

    Callback function with a closure, I think? Ruby has the same keyword, and the Perl equivalent (not a keyword) was used plenty in the book Higher Order Perl.

    And then learn what the 'with' keyword does in it (deterministic RAII within a gc-based language).

    Lexical file handles close themselves when they go out of scope in Perl too. Other objects have the DESTROY method.

    Then read and fully understand what is a 'namedtuple'.

    An immutable array with custom index names? Kind of like a hash?

    And then you'll realize that it is pretty far from a standard OO language. Just as a function is a generalization of the concept of a stack, yield-based generators (closures) are a generalization of the concept of a queue.

    Cool, I've been using these generalisations for quite a long time already.

    'namedtuple' makes visitor pattern obsolete.

    I'm afraid I'm not big on OO patterns (they're always explained in UML or some other difficult-to-grasp way), but it sounds like it's describing a callback?

    So a lot of the hoops which people are forced to jump through in OO languages are naturally swept away by Python's native constructs. And because the white spaces are used for scope delineation, it is imminently readable.

    Uh-huh. Never cared about the whitespace, but never held it against the language either.

    Oh, and I guess I forgot to mention that it has all the constructs one would expect in a mature functional language (map, filter, lambda, reduce). But I forgot about it because they were so obviously there from the beginning.

    map, grep, sub, List::Util::reduce (the module is in core)

    Ruby has Enumerable#collect, Enumerable#select, lambda, and Enumerable#inject

  52. Re:Weekend? As in fart with, not work with? by Anonymous Coward · · Score: 0

    Not the same AC, but we're kind of tired of the same cheap shot always being used against Perl.

    People using it never seem to bother with any other, more concrete criticism. So yes, 'lame piss' as the GP said.

  53. Python and Lua by Anonymous Coward · · Score: 0

    Python mixed with a touch of Powershell for the weekdays. Learning Lua and a little Go on the weekend.

  54. Re:Rusted away by SJWs by david_thornley · · Score: 1

    Actually, that's the nail on his thumb that he hit. You don't have nails on your head.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  55. Re:Weekend? As in fart with, not work with? by david_thornley · · Score: 1

    Sounds like you don't know any good Perl programmers.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  56. Re:Weekend? As in fart with, not work with? by superwiz · · Score: 1

    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 language constructs) makes queue's effectively unnecessary. You just write generators which pump out data as you need it. In OO languages, you'd have to create an object and methods to have this behavior. In Python, you it's succinct and easy-to-read callables. Syntactically, it doesn't make the code set things up as callbacks (which are hard to debug), but as functions calling other functions (so it's much more intuitive and easier to debug).

    Lexical file handles close themselves when they go out of scope in Perl too. Other objects have the DESTROY method.

    Not quite. Destroy gets called when the object garbage collected. Context manager's __exit__ is called when the "with" scope is exited. So it's deterministic. Like a dtor of a C++'s object created on stack. You can use it to manage connections, locks and there is a well-known idiom combining closures (yielding functions) and context managers to produce cascading contexts. Mind you, this is still readable at a glance.

    An immutable array with custom index names? Kind of like a hash?

    No, it has dictionaries. Those are like hashes. Or, if hashes keep the order in which elements were added, then ordereddict. namedtuple is like an array which can be called by either positional attribute (attribute 3) or named attribute (attribute .something). This trivializes db bindings. At the same time, it allows to have the function run on all elements of a tuple (iterating by positional attribute). Mind you that you can do it without any extra hoops to jump. 'namedtuple' itself creates a factory method which can be used to create instances of a tuple, rather than creating instances of a tuple itself. So instead of doing $inst['something'], you can do inst[3] or inst.something (depending on how you are using it).

    visitors are the main reason the book of 4 was so widely read. They allow for double dispatch (demarshalling based on arguments) in languages which only support single dispatch (polymorphism). And, as I mentioned, because of namedtuple, it's largely unnecessary in Python. Even though people coming to Python from Java do overuse it out of ignorance.

    map, grep, sub, List::Util::reduce (the module is in core)

    Well, map, filter, lambda, reduce are functional-language concepts. I didn't say that Perl didn't have them. I just said that they are 1st class citizens in Python. So to call it just an OO language is to ignore some of its best and most widely-used features.

    In fact, writing Python code in a completely object-oriented fashion is something which almost immediately gives you away as a Java programmer. C++ programmers learn about 'with' fairly quickly because they want RAII guarantees which cannot be provided by loop-detecting garbage collector. Context managers, by the way, need not be objects. They are more often closures (so the closure ends when the context in which the context manager exists ends). Although this explanation sounds more complicated than the much clearer code which implements it.

    --
    Any guest worker system is indistinguishable from indentured servitude.
  57. Re:Weekend? As in fart with, not work with? by SoTuA · · Score: 1

    Well, now you can't say that anymore. I have seen beautiful Perl with my own two eyes. It was awesome.
    / I had been writing Perl regularly for a decade at that point. I did feel like I had found an unicorn.