I am moving this blog to kazimirmajorinc.com.
In the meantime, some posts may be unavailable.

Another difference between c++ and c#: the weekends.

Anyone to explain this?
Does it mean that C# programmers have more jobs and better weekends?

If you like this post, you might like Relative popularity of Lisp dialects.


  1. Pick and choose from the following hypotheses; any or none may be correct.

    Hypothesis #1:

    C# documentation and reference works aren't as thorough (or mature) as C++ documentation, so working programmers feel the need to search for documentation online more often during the working week.

    Hypothesis #2:

    The C++ programmers have an older spread of experience than C# programmers (it being an older and more mature language). They're less likely to search for documentation online during the working week because (as a group) they feel more confident in their language.

    Hypothesis #3:

    C# is seen more as a language you need a licensed product to use in a business environment, whereas C++'s implementations are used more often by hobbyists. Hence the sharper drop for C# searches at the weekend as searches by hobbyists become more significant.

    Hypothesis #4:

    C# sees proportionally more use in countries where a Monday-Friday working pattern is more strictly observed.

  2. Hypothesis #5

    You have to force programmers to use C#, no one is using it for their personal projects on the weekends. Kinda like your #3 but different.

  3. Hypothesis #6

    C++ Programmers are forced to work overtime on the weekend to catch up with the C# programmers.

  4. Hypothesis #6:

    A larger majority of C# programmers are working in Visual Studio than C++ ones are. VS's help system is so abysmally slow that it's often the case it's faster to copy&paste/type a query into google in another browser window.

    Or at least that's what I find myself doing rather than hitting F1. Google's a better index into MSDN than anything else, and searching for "c#" in a query is a good way to shortcut results to .NET relevant results.

    Having said that after using it all week, I've got no real desire to pick C# up for weekend projects. Python tends to win out there.

  5. Re comment #1 - What's the difference between "C# documentation" and "documentation online" anyway? To me, they are one and the same.

    I have plenty of books on C# and .Net stuff, but getting answers to specific questions online is usually the quickest and best way.

  6. My theory:

    C# is so bad that programmers don't want to use it in their spare time.

    Python's graph should be inverse of this one.

  7. When people search for "C# " the really mean "THE WHOLE .NET FRAMEWORK but give me sample code I can copy/paste in C#". The point is the thing they're searching for works in all .net languages (VB, F#, C++/CLI, etc)

    With that said, it's obvious what's going on..."C#" (.NET) has a huge runtime that you may need help with. C++ has almost no runtime in comparison, so you wouldn't put it in search queries. If you have questions about some libarary in C++ you don't need to put "C++ boost" because boost is only a c++ library.

    Now, why the big drop on weekends? Because at work you have to interface with all these parts of the .NET framework, but on the weekend you're using mostly the parts you know really well, or your own.

  8. My theory:

    C# coders learn C++ on weekends so they can, one day, never write C# again.

  9. Blue = Hourly contractors. Red = Salaried employees.

  10. >"C# is so bad that..."
    >"ever write C# again."

    Just a copy of our "slashdot" :)

  11. C# is way better than c++. If I never again have to take an extended coffee break from changing a single highly reused .h file again it will be too soon. Yes I can't make as intricately minimal a data structure in C# or play utterly bizarre games using templates which are already a very poor way to get genericity. But how often do I really want to do such things? I am utterly amazed anyone still uses or tries to use c++ for programming in the large.