
C/C++ facts we learned before going ahead with CLion - ingve
http://blog.jetbrains.com/clion/2015/07/infographics-cpp-facts-before-clion/
======
golergka
Also, if 39% of all developers work on Windows, and 36% of windows developers
work on Visual C++ compiler (sic!), it means that 14% of all developers use
Visual C++ compiler. This is higher than 12% of "other" compilers overall,
but, paradoxically, Visual C++ is supposedly somewhere inside that category.

How does that work?

~~~
ihnorton
Listing GCC usage essentially at parity with Visual C++ on Windows (34% vs
36%) is also _ridiculous_.

~~~
nextw33k
I know the Pidgin project used to build their windows version on Linux using
GCC and setting the make target.

You get a constantly up to date compiler (because of the system package
management) and you don't need a MS license for your buildbot. It's a win win.

------
fsloth
I was surprised of the amount of Linux devs using C++ compared to the number
of Windows devs (given the desktop marketshare). Also the fact that finance
was leading sector using C++ - and by such a high margin - was unexpected to
me.

~~~
paulhodge
I'm guessing that it's the finance industry itself which accounts for a high
Linux usage, since they mostly need C++ for server-side use.

Another surprising number was that Windows users use GCC almost as often as
Visual Studio. GCC on Windows is kind of a PITA, and the VS toolchain is
really pretty good. Maybe people go with GCC because they need proper C99/C11
support.

------
falcolas
I hadn't expected the dominance of Java in the "programmers per language"; I
should have, but didn't. I also hadn't expected the disparity between Python
and Ruby numbers.

I'm looking forward to digging into this further; it's a really useful and
interesting dataset!

~~~
gilgoomesh
> useful and interesting dataset

I think the usefulness is limited by the fact that they haven't explained how
they gathered this data. At first glance, the data looks to have some specific
quirks (44% Linux users, overwhelmingly in the Finance industry) – you'd have
to wonder it that's due to how the survey was conducted.

~~~
anastasiak2512
There are a couple of resources listed in the end. So we've gathered the
information from reddit surveys, stackoverflow, our own surveys (with more
than 5000 respondents), job ads, various language popularity indexes like
Tiobe.

------
Arzh
I really doubt #10, there is no way that they number of people using gcc and
the number of people using VSC++ are even close. The only time I've seen
someone use gcc on windows is to test some cross compiler errors.

~~~
noselasd
It does seem odd. Then again, don't underestimate the amount of people
developing for embedded devices on windows - which is often done with a gcc
toolchain supplied by the chip or rtos vendor.

------
lmedinas
To be honest i'm surprised with the adoption of C++11, i know the toolchain
supports C++11 since some time but still i can imagine there's lots of legacy
code using C++03 or older.

~~~
xyzzyz
C++11 compiler will compile C++03 code just fine, AFAIK.

~~~
plorkyeran
There were a handful of breaking changes in C++11, but nothing that takes any
meaningful amount of time to resolve. IME the only source of porting pain is
libraries which conditionally use C++11 features where the C++03 and C++11
versions aren't semantically equivalent.

------
sauere
Semi-OT: i would love to see a Go IDE from Jetbrains

------
golergka
C11 is C++ version? "Embedded" is C++ version?

~~~
jasode
C11 is not C++. That's not what JetBrains is saying, so I'm not sure what the
nitpick is about.

The webpage is clearly about C/C++ ... that's the title of page ... in other
words... "C Language" _and_ "C++ Language".

Both languages were included in their surveys and market research.

~~~
jordigh
I really wish people would stop lumping C and C++ together. They are two
separate language that have a common lineage, but neither is a subset of the
other. The people who write C well do not generally write C++ well, and vice
versa. It's a pretty different development community between the two
languages. Bjarne Stroustrup, also thinks that treating the two language as if
they were one is kind of silly.

Saying "C/C++" is like saying "ML/Haskell".

~~~
danieldk
They are separate languages, but it is definitely not like saying ML/Haskell.
Most C code can be converted in C++ without too much work. In fact, that is
what GCC did:

[https://lwn.net/Articles/542457/](https://lwn.net/Articles/542457/)

You cannot easily do that with a multi-million SLOC ML project.

~~~
golergka
> Most C code can be converted in C++

That is bad, and is ripe to create a lot of errors.

C programmer who tries to write C code in C++ has the worst problem ever, IMO:
he doesn't know that he's wrong. Everything compiles, everything works, and he
goes home happy after a productive day of laying mines for future maintainers.

~~~
yoklov
This is an opinion that I see a lot and it's very overstated IMO. If you write
good C code, I'm perfectly happy to see it in C++.

In fact, you could _almost_ say it's a relief, largely because it tends to be
impossible to write any overly-clever template-inspired madness that will be
hard to understand and drag down compile times for a small benefit.

Additionally, when it comes time to optimize code (assuming this block is
worth optimizing, and already is using the optimal algorithm), the C code
tends to be closer to what you want to optimize than the C++ code. With the
C++ code, you typically have to spend more time removing abstractions before
you can start actually tuning it.

That said, while bad code in either is bad (obviously), someone could probably
make the argument that bad C++ code is easier to fix than bad C code. I might
be able to be convinced of this.

