Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 909899
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T16:57:25+00:00 2026-05-15T16:57:25+00:00

I got into a discussion a while back. The company I work at develop

  • 0

I got into a discussion a while back. The company I work at develop under Linux and does so in ANSI C. A lot of benefits could come from moving to C++ as far as design goes I think. Our existing code would just have to get rid of all implicit type casts since C++ is a bit stricter about that and it would compile and run as usual. But I was told that we would never start using C++. The reason was that “Linux developers know C”, but it would be very hard to find Linux developers who know C++. Personally I find this kinda strange since I started out by learning C++ on Linux. But it made me curious and I wonder if there are any statistics anywhere or if you could help me get a general feel for the validity in this statement. Would be good for future reference since I have always thought that Linux developers with knowledge in C++ wouldn’t be that hard to find, but I could be totally wrong.

  • 1 1 Answer
  • 3 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T16:57:26+00:00Added an answer on May 15, 2026 at 4:57 pm

    A lot of benefits could come from
    moving to C++ as far as design goes I
    think.

    Probably (depends on who would decide on the design in C++).

    Our existing code would just
    have to get rid of all implicit type
    casts since C++ is a bit stricter
    about that and it would compile and
    run as usual.

    It’s not that simple. If you changed compiler options (or file extensions) to switch to C++ your code will not compile just like that (you will need to go over it and make changes).

    Furthermore, your existing C codebase will make for a poorly-written C++ codebase.

    It may also introduce all kinds of subtle bugs that to a seasoned C-thinking developer will be almost impossible to find (sizeof operator behaves differently for arrays in C and C++ for example but a seasoned C/beginner C++ developer would not even consider that the familiar sizeof in his code does something unexpected).

    The reason was that
    “Linux developers know C”, but it
    would be very hard to find Linux
    developers who know C++.

    That’s not a valid reason (if you make a job-posting online with “looking for C++ Linux developers you should get some good CVs – depending on your offer).

    It may be the belief of whoever can make that decision in your company or it may be just an excuse they gave to get rid of you :-\

    Here are some of the reasons (against switching) that may actually apply in your case – and that your manager probably considered:

    • the people who wrote your codebase may be good C developers but not know C++ – or be beginner C++ developers and/or poor C++ developers.

    Good C developers often make poor C++ developers (best practices in C++ are completely different and many times opposed to best practices in C. This is a problem because the C++ code looks familiar enough to a C developer that he will think his experience applies to it (and good design decisions in C often make for poor design decisions in C++).

    They may even be good C++ developers, but if that is the case, that should be unknown to your manager (if they were hired as C developers, their C++ skills probably never came up in the job interview).

    • your senior team members may have a good understanding of your application logic. If your application switches to C++ they may have to go (and be replaced by C++ developers). Such a change would lose you team members who are very familiar with your problem domain. Depending on your specific problem domain such a loss could be enormous.

    Depending on the size and structure of your codebase, moving to C++ may be a very good decision. You don’t give enough detail for us to know if that is the case.

    For example, I’ve seen a large C codebase that over the years ended up reinventing C++ poorly (pseudo-classes supporting virtual function tables and inheritance – with a structure holding a void* to a base structure, or a base structure having void* to specialized data created dynamically – and other monsters).

    Would be good for future reference
    since I have always thought that Linux
    developers with knowledge in C++
    wouldn’t be that hard to find, but I
    could be totally wrong.

    They shouldn’t be hard to find, but that’s only a valid point if you’re at the beginning of your project. No good manager will consider lightly changing seasoned developers who know the problem domain with new hires just for a few design decisions.

    If you can provide better reasons for switching they may consider it. Good reasons for switching (for a manager) involve lower maintenance costs, lower development costs, lower risks, less effort, better progress reporting and so on.

    If you want to keep pushing for this change, you will have to find some good arguments in those areas on top of some good counter-arguments to his “Linux developers know C”.

    Your arguments should be good enough that they overcome the arguments I’ve given above.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Today at work we got into a discussion about which is the best way
I got into an interesting discussion in a forum where we discussed the naming
We've got into a very tricky scenario in a project. We have used lot
It's been a while since I got into QCL but I ran into some
I am using mongoDB for a new project at work and I got into
Me and my colleagues got into this discussion early this morning, and our opinions
gcc 4.4.4 c89 I got into a recent discussion about fixed width strings and
Another person in my office and I got into a discussion about which complex
Recently I got into a discussion with my Team lead about using temp variables
After reading: Dive into Python: Unicode Discussion I got curious to try printing my

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.