16 ms·
What programming languages are used late at night?
- falcolas 9y agoOtherwise written as "what programming languages are being asked about late at night." To me, who rarely pulls up SO, correlating SO questions and page views with usage is a bit biased.
- jacquesm 9y agoAnd also, languages with good documentation will be referred to less on SO.
- TimJYoung 9y agoIndeed. Likewise, software with good commercial support, software that is older and more stable/having less churn... There's a lot of SO content regarding working around JS/DOM incompatibilities between browsers. Without those incompatibilities through the years, SO might (incorrectly) think that JS usage is lower than it is.
- hsivonen 9y agoThere are also other forums. I prefer Rust’s own user forum over StackOverflow, because the latter is polluted with stale pre-1.0 answers.
- matt4077 9y agoThe article is about fluctuating interest dependent on time of day. Unless Haskell's documentation is worse at night than it is during the day, your perfectly parroted talking-point is controlled for.
- Ronsenshi 9y agoSeems to me like a perfectly reasonable correlation. During the day people might stumble on a problem that they aren't sure how to handle. They search that problem in google and end up in SO. You might not be an average SO user?
- moomin 9y agoIt's more of a problem for the "morning people" hypothesis. There's an alternative hypothesis that people work on something, get stuck, think about it overnight and are more likely to decide to ask a question in the morning.
- startupdiscuss 9y agoWhoah! The big news for me is that there is a programmer who rarely uses SO. I use it constantly. Can you say more about: 1. What your programming set up is. 2. What you do when there is an issue? I didn't know there was a reasonable alternative. I do the Google -> SO a lot. The only time Google brings up a different page is if the question is REALLY basic like how to use a function. Edit: added this postscript: I have found a lot less need to look up things like "are there optional parameters in .len()?" because the IDE helps with that. I need to look up strange errors that I don't understand. (Like when you install a new library and your code breaks). Those are almost never in the official documentation because they didn't plan for it.
- scalatohaskell 9y agoI very rarely use stackoverflow as well. Last time was probably week ago when googling something bash related. AMA
- startupdiscuss 9y agoWell, let me ask you the same questions: 1. What is your development environment? 2. What you do when there is an issue?
- cstrahan 9y agoI'm not the parent, but here's what I'd do (and, indeed, have done): Read the manual: https://www.gnu.org/software/bash/manual/bash.html https://www.gnu.org/software/bash/manual/bash.html Just sit down one weekend, and read it from beginning to end. The information contained therein is just about exhaustive. Assuming you touch bash scripts daily (as I do), there's really little excuse for not mastering the language. Referring to SO every time you stumble into an issue is inefficient compared to the one time cost of actually developing working knowledge of the subject at hand, and it also limits you to the canned solutions that a bunch of random people on the internet have proposed. I'd bet my money on you being more capable than a random stranger -- assuming you've read up first. When I was at an earlier stage in my career, I'd hit up SO every time I ran into an issue. And then I had the realization that I could just read up on: * The spec for your language(s) * The source code for the compiler and/or VMs that power your language(s) * The manual for the software you use * The RFCs that apply to you * Both the public API and the internal source code of the libraries you use * Etc
- matt4077 9y agoSelf-selection by, for example, inexperienced users is probably a valid criticism of using SO data for inferring a ranking of languages–although my impression is that they are at a scale where this is less and less relevant. In this case, the point the article is trying to make is actually something different: "What languages do people use for fun", and I'm having a really hard time coming up with any plausible alternative explanations for their data.
- onion2k 9y agoPlus someone who is doing dev work at night is more likely to be working alone and they won't have an office full of coworkers to ask before they Google. That's bound to skew the results a little.
- matt4077 9y agoUnless there are some secret Sharepoint Nightclubs or Subversive Subversion Speakeasies I have yet to find, that would affect all languages, and couldn't explain these day/night patterns.
- ikeyany 9y agoI was thinking that some languages like C++ take a lot longer between "tests" (e.g. compile times) and are thus more prone to be worked on at odd times.
- soheil 9y agoI always feel guilty asking questions from coworkers when the answer literally takes me a fraction of the time if I Googled it and opened the first SO link.
- falcolas 9y agoIMO, if it's something that I'm asking a coworker about, SO isn't going to have an easy (or correct) answer. For example, I am attempting to use a namespaced library installed with Pip in my Lambda function. It doesn't work - can't import the library. Google gives a bunch of noise. SO gives a bunch of noise. The solution? Asked a coworker, got an answer back immediately. Import the 'site' package, and set up the current working directory as a site directory. This makes the library .pth files work properly.
- Jtsummers 9y agoNo reason to feel guilty. Questions are good, and it keeps communications within the team going. Silence is worse. As I said in a cousin comment, it also helps your office/team discover what knowledge is lacking. I used git there, but linux (unix in general) is another example in my office. So many of my colleagues have only done Windows-based applications, or embedded (running a one-off RTOS or an off-the-shelf RTOS). We've been moving workload to embedded linux (for reasons), along with moving some development work to linux (because of tooling available there). If everyone googled it, they may get their answers. But no one would realize that it was a systemic issue because there's no communication.
- johndubchak 9y agoThere are some languages, like C++, where the first place to go seeking answers isn't SO. C++ devs tend to look at http://en.cppreference.com http://en.cppreference.com (using an English locale in this example). To me, it tends to bias the sample towards the subset of developer population using SO, which would not be a representative sample size for a true population sampling in a statistical problem - it would be oversampled in one group to the exclusion of all other groups.
- startupdiscuss 9y agoWell, what kind of things do you look up? I have found a lot less need to look up things like "are there optional parameters in .len()?" because the IDE helps with that. I need to look up strange errors that I don't understand. (Like when you install a new library and your code breaks). Those are almost never in the official documentation because they didn't plan for it.
- johndubchak 9y agoI was speaking partially from my experience and, as another poster put it, IDEs help considerably in areas of syntax usage. Besides, with more stable languages (C++ has a 3 yr standardization cadence and new features are not covered well on SO) you can find in-depth answers on SO. Otherwise, many mailing lists (yes, they still exist) are a better source of more current and more detailed treatment of the topic than, "hey, how do I do X so that I can move on to my next thing at work." Don't get me wrong, I love SO, but I feel it's more about, "how do I solve this problem now?" vs "I want to learn more about this topic." It's real value is in the comments that others contribute "around" the accepted answers.
- falcolas 9y agoYup, cppreference is a great resource, and fast to find answers in (I've found).
- smitherfield 9y agoDespite the name, cppreference is the best online (there's always `man 3`, of course) resource I've found for C, too. MSDN is good for C++ as well (usually the second place I check). And the GCC and Clang documentation is generally pretty comprehensive about compiler-specific stuff. The C and C++ sections of StackOverflow are good for finding language lawyers who can give you an exact answer, with citations, to "is this snippet well-defined?" type questions (the TL;DR is usually "if you have to ask, then it isn't"). But they'll scold you for tagging those sorts of questions with both C and C++, even though it's perfectly reasonable to do.• — • If you're asking about C, it's helpful to know whether your program will still have the same behavior when compiled as C++; if you're asking about C++ but your snippet doesn't have anything C++-specific, it's helpful to future viewers if the answers for both languages are in the same place, since more often than not they're the same (which also means it's helpful to make it clear when they aren't).
- bradleybuda 9y agoAn alternative interpretation is that C# devs are willing to ask for help at any time, while Haskell devs can only summon the humility to ask for help after they've been suffering all day. :-)
- empath75 9y ago"Learning haskell" is pretty much in the same category as "Write that novel I've been thinking about."
- 1ba9115454 9y agoYou've got more chance of writing the novel.
- 27182818284 9y agoThat was similar to my thinking. I chuckled a bit when I saw so much of what I think folks would consider corporate tool-sets like VBA being used in the day compared to like Haskell (that I've never seen in the professional world but know several people that hack around in it) being written at night. Kind of a fun chart.
- csours 9y agoI'm torn between laughing and crying; having used VBA extensively in the past. I've used VBA for stupid things like Excel based apps (not stupid at the time, but in hindsight there was a better way) and stupid things like HMI software with VBA hooks (GE Fanuc Cimplicity, in case you were wondering).
- thepratt 9y agoThe biggest player using Haskell would be Google.
- eru 9y agoThere have been a bunch of 20% projects; but only recently have they started any full-time Haskell work, as far as I know.
- Morgawr 9y agoOne of the biggest(.) Google projects with Haskell is probably Ganeti ( https://github.com/ganeti/ganeti https://github.com/ganeti/ganeti ), which is a mix of python and Haskell and has been around since 2008ish (although Haskell was introduced later, iirc). We recently moved our main development to github so the repo seems a bit empty, we're certainly happy to get more contributors if you are interested, as the community is fairly small and specialized. Everyone is welcome. Source: I'm one of the current main developers of the project. (.) Note: I actually have no idea if it's the 'biggest'.
- anqh4 9y agoI wish there was one of these correlating gender (actual gender) of the author of the question and language.
- matt4077 9y agoThird chart on https://stackoverflow.blog/2017/01/19/women-in-the-2016-stack-over-survey/ https://stackoverflow.blog/2017/01/19/women-in-the-2016-stac..., but it's not too interesting.
- rz2k 9y agoThe differences are very small, and I am not too surprised with the relative popularity of Matlab and R compared to say Haskell, since there are relatively more women majoring in engineering that computer science, as well as relatively high numbers doing quantitative work in the social sciences. I wonder why Rust, though, is such a huge outlier. Maybe it is just noisy because there are so few people asking about Rust at all on Stack Overflow.
- openasocket 9y agoFrom the link, the women surveyed skewed towards being more junior/less experienced. And Rust is not exactly a language that skews towards junior developers, due to its high learning curve. I bet Rust would be less of an outlier if one controlled for level of experience.
- Etheryte 9y agoLuckily, there is (still?) enough privacy on the net that you can't generally determine such private pieces of information unless the user provides it themselves.
- Arcsech 9y agoWhat do you mean by "actual gender"?
- 9y ago
- anshou- 9y agoYet another graph pointing toward the conclusion of "Tuesdays are the worst."
- thewhitetulip 9y agoI really do not understand how anyone could judge up which languages are being used at X time during the day or night based on stackoverflow. I rarely use stackoverflow (like once a few months), how do we factor in the data which we don't have in it? What's the accuracy of the current data? And how can we foem conclusion? The post should say, "What tags are used to ask questions on stackoverflow at night?" Because, as powerful as they are, SO can't quantitatively decide which languages are used at what time, they don't have the data!! I learned an entire language without ever looking at a SO qn, it was Go language.
- frogfuzion 9y agoThe point is that it's interesting to infer trends. This is not the supposed to be the authoritative source for what people are doing during day and night. It's just interesting and you can glean some patterns for sure. Stack overflow is hugely popular and millions of developers use it. Some people I guess are just so bright that they don't need it. That is not most people.
- thewhitetulip 9y agoTheir title makes it sound autoritative!
- rz2k 9y ago> I really do not understand how anyone... Someone contributing to an official Stack Overflow blog seems like a likely candidate! Sure, the conclusions are the result of a fishing expedition into the usage data for something to comment on, rather than something scientific that began with a question or tests a hypothesis. However, while the total number of questions isn't so meaningful, that is the denominator used to normalize the data across languages. Think of it as `n`, where the confidence interval for Java is probably smaller than the one for Sharepoint. I think it is best to think of this as exploratory analysis rather than a study exploring a specific question. It would be interesting to see further analysis into what puts Paris and London on one end and Moscow and Tokyo on another. Let's say that Stack Overflow makes programmers more productive, but some cultures might have a tendency to think that it is "cheating" to use the site while at work. Addressing that would be an easy way to increase market penetration. Maybe they should get some submarine articles published in Japanese and Filipino trade publications.
- cies 9y agoWhat language people learn out of own motivation, vs what languages people do for pay. I'd say based on this graph it, and knowing Haskell myself, that choosing Haskell is still a viable way to attract talent. (that Haskell-spike in the animated chart half through the article is... opportunity I guess)
- TorKlingberg 9y agoJust be aware that the animation makes it look like everyone is using Haskell in the evening. That's false and caused by normalization. Other languages are still more used.
- var_explained 9y agoThat's right: Haskell is disproportionately used in the evenings, but it's not highly used at any time. You can see in the 4th graph that of the 250 languages considered, Haskell is one of the lowest traffic.
- dmix 9y agoThis is assuming that SO is a popular destination for Haskell questions. Github would be the better indicator. Especially if Github could include anonymous stats for private repos too. That would give a good indication about the commercial viability of the various languages. I'm one of those people who uses Haskell a lot at night time and I rarely use SO for it. I often find answers in documentation, blog posts, IRC, and books. Whereas during my day job I tend to run into a lot of obscure framework errors when I work with Ruby on Rails or the various weird quirks in Javascript where SO is indispensable. I have different kinds of queries with Haskell rather than copy/pasting error msgs, likewise when I use Erlang/Elixir. Another example is Reddit: /r/python 122.1k users /r/javascript 82.4k users /r/java/ 51.4k users /r/php 40.8k users /r/cpp 35.7k users /r/ruby 31.1k users /r/csharp 28.2k users /r/haskell 22.8k users /r/golang 20.7k users /r/c_programming 19.6k users /r/swift 17.1k users /r/rust 16.1k users /r/sql 13.6k users /r/scala 10.4k users /r/lisp 10.3k users /r/clojure 10.0k users Haskell is not far behind Ruby, C#, or CPP on Reddit. Yet the difference in the SO chart is dramatic. But no doubt it's not as popular professionally as other languages, sadly, but it's not quite as fringe as this particular data source indicates.
- failrate 9y agoI generally switch from C# to Drunk Python.
- frogfuzion 9y agoI'm there too, except Drunk Swift. I tried Drunk React/Redux a few times but almost died.
- scandox 9y agoI do a fair bit of drunk C. Something beautiful about a pointer to pointer after a couple of gin and tonics.
- johndubchak 9y agoClearly you're not drunk enough... ;-)
- stinos 9y agoBeing drunk also really helps in dampening the excruciating pain from shooting yourself in the foot.
- x97256 9y agoIs this done in EST/EDT? Does it account for developers in India, US, Europe, etc simultaneously or does it convert the time stamps to say, UTC?
- kej 9y agoThe time charts are labeled "local time", so I'd assume they're using ip geolocation or profile info to normalize everyone's times.
- jakobegger 9y agoYou should read the article :) They used IP geolocation to determine the users local time.
- MasterScrat 9y agoAnyone knows what they used to render the plots?
- jrauser 9y agoAlmost certainly ggplot2 in R.
- madcaptenor 9y agoThe color palettes in charts with 2, 3, 4 colors are the ggplot2 defaults, and the author David Robinson has written packages that fit into the "tidyverse" of which ggplot2 is a part, so that seems quite likely.
- madcaptenor 9y agoAlso, the author says in the comments that he used ggplot2 for the static plots and gganimate for the animations.
- var_explained 9y agoI used ggplot2 and gganimate in R. The custom ggplot2 theme is called theme_roboto(): https://github.com/juliasilge/silgelib/blob/master/R/graphing.R https://github.com/juliasilge/silgelib/blob/master/R/graphin...
- cr0sh 9y agoI find it interesting how during the daytime hours, most languages are in the Microsoft camp...
- executesorder66 9y agoBecause most people are forced to use Microsoft technologies at work. But in their own time they would rather use other technologies.
- tormeh 9y agoWhat I'd really like is the correlation between different kinds of tools, languages etc. and forced overtime...
- pierrec 9y ago>My final (and favorite) observation is that developers in Paris take the longest and most consistent lunch breaks. Well, if I lived in Paris, I would too. A contributing factor might be that a lot of French companies include meal vouchers in their benefits. Generally employees are given the choice to deduce some amount from their payroll and get nearly double that amount in meal vouchers, because the vouchers are government-supported including a tax concession. You can use these at most restaurants in Paris. You can, of course, use the vouchers to grab a sandwich anywhere and eat it in front of your code, but overall it encourages actual restaurant breaks, since you basically have more money specifically to spend on your lunch.
- rdiddly 9y agoThe fact that you work in one of the most beautiful & well-designed cities for walking around or eating outside doesn't hurt either!
- dbmikus 9y agoThere's also a much more relaxed work culture. I'd say that's probably number 1.
- jgtrosh 9y agoAlso more money for food usually means more wine usually means more time before return to work
- olivier1664 9y agoThe voucher do not cover alcoholic beverages [1]. That and the difficulty to code after drinking do that peoples generally do not drink during lunch. But yes, Frenchs take their time for lunch :) [1] http://www.edenred.co.in/Our-Offerings/Work-life-Benefits/Ticket-Restaurant-Meal-card/FAQs.aspx http://www.edenred.co.in/Our-Offerings/Work-life-Benefits/Ti...
- israrkhan 9y agoI find myself using stackoverflow more while using certain languages, and almost never when using others. IMO, a C/C++ developer or a backend developer is less likely to use stack overflow as compared to a python/javascript/php or frontend developer.
- jakobegger 9y agoInteresting to see that C is used a lot in the evening. Maybe that's because C is used in many Open Source projects, and many people contribute to OS in their spare time?
- lowlevel 9y agoThey've given the answer to 'Which programming languages are used late at night by people coming to StackOverflow for help.' Interesting I guess, but flawed from the start.
- phoenixProgram 9y agoIf you have not yet done it, I suggest reading enough of SICP to implement a LR parser from the "E B 0 1 +" language of the Wikipedia page "LR parser". After having done this in Python, JavaScript, and Scheme, I get worse at it each time yet still come back for more like some drug addict or jazz musician. Ambiguous parses and disambiguation are actually a fascinating subject in the estimation of parsing effort. It is possible to try to estimate the parsing difficulty / amount of disambiguation required of a sentence with blanks that are labeled with the type of content the blank may be filled with, the "mad libs" parsing problem. A web server administrator must do this at some level; otherwise the device is vulnerable to a denial of service attack that causes it to waste time parsing input. The problem is rather complicated because these "attacks" may come from anywhere: you can consider a complex question your ten year old son poses to be a denial of service attack on your metaphysical foundations; alternatively, denial of service may be a tool used during war.
- trimbo 9y ago> C# programmers start and stop their day earlier Maybe because they're often in finance? Why wasn't Java compared?
- wslh 9y agoIn this context I would love to see more programming languages available for tablets, because tablets are good for learning.
- metalliqaz 9y agoTL;DR: Only students use Haskell
- jswny 9y agoThis is cool but every time I see something like this I think that this kind of data could be seriously skewed by individual language communities. For example, in the Elixir community we have our own forum, IRC, and Slack channel. Because of this, I almost never visit SO for my Elixir needs. However, I do when I am working with JavaScript, C, Java, etc. I know other languages like C++ have similar communities which take care of much of the questions which would otherwise be posted on SO. Does anyone else feel that their language is misrepresented by data such as this? (Not trying to knock SO here, this is a very cool analysis, but I do feel that some of these problems are relevant.)
- dmix 9y agoAnd the skill of the userbase. Haskell naturally attracts a more skilled developer who is more likely to dig into documentation/blog posts rather than running for help on SO. I used SO all the time when I was a newbie. But I only use it now for obscure issues, usually as a last resort.
- Nition 9y agoSame for Unity3D, which is one of the tags they have in their post but it doesn't look very popular there. Unity3D has their own separate SO-like site called Unity Answers, plus a large forum, plus a (somewhat out-of-date) community wiki. So lots of people won't be hitting SO for help Still, most of this particular blog post is about relatives between hours of the day per language, rather than comparisons between languages, so it won't be too affected.
- gls2ro 9y agoFrom an outside (Elixir slack,irc) perspective sometimes I think these communities on Slack or IRC are "hiding" things from a beginner or at least making the search for an answer harder: because they are not indexed and when one searches for an answer one does not receive a link to a Slack conversation about that topic. Personal example: I started to learn Elixir, but I don't know where are these communities. So I rely on SO or other open sources/articles on the web.
- ericfrederich 9y agoC programmers start the day a bit later, keep using the language in the evening, and stay up the longest. This suggests C may be particularly popular among hobbyist programmers who code during their free time (or perhaps among summer school students doing homework). ... or they're the only ones stuck down a rabbit hole chasing some obscure memory leak that keeps bugging them until late in the evening.
- kccqzy 9y agoUse address sanitizer and leak sanitizer (-fsanitize=address). Compile with options that forbid omission of frame pointers (-fno-omit-frame-pointer) to get a nice backtrace of where the allocation occurred. Also compile with full debugging info (-g) so that leak errors contain file and line numbers. Problem solved. EDIT: this apparently only works on x86-64 Linux. If you are targeting something else, it might be slightly harder.
- derefr 9y agoUnless you're working in the embedded space, there's no reason to not write your C project to target whatever arch is the most debug-friendly first, and then just port it to the system it's "for" at the end.
- jseaidou 9y agoUnless the issue ends up being arch specific
- 2trill2spill 9y ago> EDIT: this apparently only works on x86-64 Linux. If you are targeting something else, it might be slightly harder. What? I do the same thing on both FreeBSD and macOS.
- slavik81 9y agoI think he got that from the Clang documentation: https://clang.llvm.org/docs/LeakSanitizer.html https://clang.llvm.org/docs/LeakSanitizer.html
- bluejekyll 9y agoIt would be interesting to merge this data with GitHub commits.
- omg_ketchup 9y agoIs it just me or does this not actually tell you which programming language tags get the most traffic at night?
- goache 9y agoI wrote a blog post awhile back comparing the differences between day and night commit messages :-D. http://randomlyunique.com/data/2016/late-night-coding/ http://randomlyunique.com/data/2016/late-night-coding/ (it's a fun looking wordcloud)
- deleted 9y ago[deleted]
- contingencies 9y agoCompletely ignores VPNs? Everyone in China uses a VPN. Maybe China has more C programmers.
- blanket_the_cat 9y agoWhat this data definitively effectively demonstrates is that only about 1/5 of developers/engineers are taking a lunch. Way to go! Keep up the hard work guys!
- Safety1stClyde 9y agoIronically, if this was a question on stackoverflow it would be deleted.
- droningparrot 9y agoExcel in the streets, Haskell in the sheets
- cxseven 9y agoHaskell wins as the most nocturnal, but I suspect it's because a good portion of its users are students. It's funny that the runner up is on the opposite side of the abstraction spectrum: assembly. Students, longbeard contractors, and hax0rs must be the nocturnal contingent there. Meanwhile, COBOL programmers are stuck in bank basements with no internet access.