[Curiosity] What does the "average" C++ developer work on?
-
Yeah, C++ isn't really appropriate for the types of applications most businesses want. Many need things like web front ends, administrative GUI's, and large databases. The need for the type of performance C++ provides is not as ubiquitous as the need for ease of use programming languages. Like it or now, programmers are more and more becoming "users".
That is correct. And a time will come when the "tools" will become so easy that anyone with a diploma will be able to write applications. You will no longer be required to study all the 'boring' details. Just get a diploma in a language and start cranking out code... like a monkey. It is happening right now.
NULL
-
What does the "average" C++ developer work on? Maintenance, the stats say. I am working on the PC software for a measurement system. Some of the measurements can run standalone, but all of them require the PC for post processing. Lots of data - not in amount, but variety. A big client app, an automation interface so that the C# kids can do their magic, a swarm of tools, interfacing a mathematical scripting language for the other stuff.
Agh! Reality! My Archnemesis![^]
| FoldWithUs! | sighist | µLaunch - program launcher for server core and hyper-v server.peterchen wrote:
so that the C# kids can do their magic
These days kids think that bringing data from a Database makes them "Programmers". And using an ActiveX control to do all the work makes them Magicians. A few years ago, displaying data wasn't "Programming". Now we have PHP Programmmers, ASP.NET Programmers, Javascript Programmers, Flash Programmers, Silverlight Wizards,...
NULL
-
All in the title.. Never worked with MFC, read a book about it in 1998, tried it and couldn't get into it. Peruse a few C++ book, never found them that appealing. I did write a Uniscribe wrapper in ManagedC++, an ObjectiveC/GNUstep wrapper in ManagedC++ and some OpenGL setup code in C (tapped in with interop), that's about it for my native / C development. Neither did I work with C++ developers. So I wonder what does this strange beast do for a living?
A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.
Multhi-threaded high volume client server application. However, to be fair My application is not just c++, it consists of JavaScript, vbscript, c#, and also vvb6 ( though it is being phased out slowly). For performance reasons, the core is c++ and core ui is also c++\mfc.
-
All in the title.. Never worked with MFC, read a book about it in 1998, tried it and couldn't get into it. Peruse a few C++ book, never found them that appealing. I did write a Uniscribe wrapper in ManagedC++, an ObjectiveC/GNUstep wrapper in ManagedC++ and some OpenGL setup code in C (tapped in with interop), that's about it for my native / C development. Neither did I work with C++ developers. So I wonder what does this strange beast do for a living?
A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.
CListCtrl
.45 ACP - because shooting twice is just silly
-----
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001 -
CListCtrl
.45 ACP - because shooting twice is just silly
-----
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001 -
Fair enough. Mmm I mostly write desktop GUI application. I wonder if the C++ developer does that too? But I think WPF is way more productive in general and easier in C#, so I guess the C++ developer is at a disadvantage here, so I guess (s)he doesn't... I don't do web app, neither does the C++ developer I guess... What does that leave... driver perhaps? micro controler?
A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.
Super Lloyd wrote:
I mostly write desktop GUI application. I wonder if the C++ developer does that too?
I suspect most Windows desktop apps. are written in C++ or maybe C and C++ but I don't know whether the "average" C++ dev does these.
Kevin
-
That is correct. And a time will come when the "tools" will become so easy that anyone with a diploma will be able to write applications. You will no longer be required to study all the 'boring' details. Just get a diploma in a language and start cranking out code... like a monkey. It is happening right now.
NULL
Mechanical wrote:
And a time will come when the "tools" will become so easy
Well, if you take .NET it doesn't seem to be getting easier but more complex. The languages raise their abstraction but then the complexity shifts to the frameworks and techniques. And then you get the ever merciless tyranny of version-itis. E.g., "must have six months commercial experience of Silverlight 4." "Done 2 years of Silverlight 3? Tough. We consider you to have zero experience." Speaks a cynical unemployed programmer. :(
Kevin
-
All in the title.. Never worked with MFC, read a book about it in 1998, tried it and couldn't get into it. Peruse a few C++ book, never found them that appealing. I did write a Uniscribe wrapper in ManagedC++, an ObjectiveC/GNUstep wrapper in ManagedC++ and some OpenGL setup code in C (tapped in with interop), that's about it for my native / C development. Neither did I work with C++ developers. So I wonder what does this strange beast do for a living?
A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.
I loved coding in C++ prior to getting a job, I guess because it was fun to work so close to the metal, allowed for heavy optimization and there were lots of nice tricks that could be achieved with things like macros and templates. Out in the real world though I've never come across a C/C++ job, and for over 95% of the projects I've worked on (for money) C++ would have been a worse choice than C#/.NET. It's usually faster to write something in .NET and I don't see any real benefit to spending longer writing common run-of-the-mill applications in C++, even if it was to use some framework such as MFC. My guess is the main reason to use it would be for low level device drivers. And possibly games - I'm not an expert in the pros/cons of writing a game using C++ and DirectX versus XNA framework, but I still think C++ would be a good choice for games anyway.
-
All in the title.. Never worked with MFC, read a book about it in 1998, tried it and couldn't get into it. Peruse a few C++ book, never found them that appealing. I did write a Uniscribe wrapper in ManagedC++, an ObjectiveC/GNUstep wrapper in ManagedC++ and some OpenGL setup code in C (tapped in with interop), that's about it for my native / C development. Neither did I work with C++ developers. So I wonder what does this strange beast do for a living?
A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.
Super Lloyd wrote:
So I wonder what does this strange beast do for a living?
Look at the job descriptions for C++ coders at any job site, or job postings of big software companies like Microsoft, Adobe or AutoDesk and you'll get a pretty good idea. Anyway, i don't know why you think C++ develpers are rare and strange creatures. Pretty much all the software you run on your computer is written in either C or C++.
-
Mechanical wrote:
And a time will come when the "tools" will become so easy
Well, if you take .NET it doesn't seem to be getting easier but more complex. The languages raise their abstraction but then the complexity shifts to the frameworks and techniques. And then you get the ever merciless tyranny of version-itis. E.g., "must have six months commercial experience of Silverlight 4." "Done 2 years of Silverlight 3? Tough. We consider you to have zero experience." Speaks a cynical unemployed programmer. :(
Kevin
By requiring years of experience, they can dictate what they are going to pay you. And most importantly the majority of applicants are kids who can barely write a 'Hello World' program. Talent is not so common these days and when a manager finds someone with talent, he tries to demean the person and assaults his experience and questions it. The Real ProgrammerTM fails while someone with a fast tongue gets the job.
NULL
-
All in the title.. Never worked with MFC, read a book about it in 1998, tried it and couldn't get into it. Peruse a few C++ book, never found them that appealing. I did write a Uniscribe wrapper in ManagedC++, an ObjectiveC/GNUstep wrapper in ManagedC++ and some OpenGL setup code in C (tapped in with interop), that's about it for my native / C development. Neither did I work with C++ developers. So I wonder what does this strange beast do for a living?
A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.
Super Lloyd wrote:
So I wonder what does this strange beast do for a living?
I wrote these VST plugins[^] in C++. FWIW.
-
CListCtrl
.45 ACP - because shooting twice is just silly
-----
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001 -
All in the title.. Never worked with MFC, read a book about it in 1998, tried it and couldn't get into it. Peruse a few C++ book, never found them that appealing. I did write a Uniscribe wrapper in ManagedC++, an ObjectiveC/GNUstep wrapper in ManagedC++ and some OpenGL setup code in C (tapped in with interop), that's about it for my native / C development. Neither did I work with C++ developers. So I wonder what does this strange beast do for a living?
A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.
"Average" C++ developers can no longer find employment -- you need to be a "rock-star" C++ developer nowadays. :cool:
-
By requiring years of experience, they can dictate what they are going to pay you. And most importantly the majority of applicants are kids who can barely write a 'Hello World' program. Talent is not so common these days and when a manager finds someone with talent, he tries to demean the person and assaults his experience and questions it. The Real ProgrammerTM fails while someone with a fast tongue gets the job.
NULL
Mechanical wrote:
By requiring years of experience, they can dictate what they are going to pay you.
No, by requiring years of experience they can dictate whether they are even going to hire you at all.
Mechanical wrote:
The Real ProgrammerTM fails while someone with a fast tongue gets the job.
Maybe that's why I'm unemployed? :laugh:
Kevin
-
Super Lloyd wrote:
So I wonder what does this strange beast do for a living?
Look at the job descriptions for C++ coders at any job site, or job postings of big software companies like Microsoft, Adobe or AutoDesk and you'll get a pretty good idea. Anyway, i don't know why you think C++ develpers are rare and strange creatures. Pretty much all the software you run on your computer is written in either C or C++.
Nemanja Trifunovic wrote:
Pretty much all the software you run on your computer is written in either C or C++
...including of course the higher level languages and runtimes that are currently in more demand than C++. :) C++ will always have a niche for certain problem domains. It covers the areas where "if you can't do it in anything else, you can do it in C++."
Kevin
-
All in the title.. Never worked with MFC, read a book about it in 1998, tried it and couldn't get into it. Peruse a few C++ book, never found them that appealing. I did write a Uniscribe wrapper in ManagedC++, an ObjectiveC/GNUstep wrapper in ManagedC++ and some OpenGL setup code in C (tapped in with interop), that's about it for my native / C development. Neither did I work with C++ developers. So I wonder what does this strange beast do for a living?
A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.
C, not C++. I work on an automated material handling system. On one end it controls conveyors, scanners, PLCs, stacker cranes, sortation systems and the occasional blinking light. On the other, user applications that allow receipt, selection and delivery of goods, stock inspection and workflow planning.
-
"Average" C++ developers can no longer find employment -- you need to be a "rock-star" C++ developer nowadays. :cool:
-
peterchen wrote:
so that the C# kids can do their magic
These days kids think that bringing data from a Database makes them "Programmers". And using an ActiveX control to do all the work makes them Magicians. A few years ago, displaying data wasn't "Programming". Now we have PHP Programmmers, ASP.NET Programmers, Javascript Programmers, Flash Programmers, Silverlight Wizards,...
NULL
This is not your first post praising C++ over other languages. Where does this attitude of superiority code from? Harder is better? I work with a compiler, an IDE, a source control system on an OS running on millions of transistors I couldn't build myself. Maybe I could one of these myself if I would spend a significant part of my life on it - but what would be gained? I do have a measure of better: Solving problems "they" can't solve. I do believe that is one of C++' strengths still. But it's not an accident that in C# displaying database results is easy: It's easy because these are the problems requiring a solution. In the end it's not the language. It's the programmers. The fundamental weakness of C++ is it's complexity and long learning curve before you can checkin non-pair-programmed non-test-driven non-code-reviewed production code. That means there won't be enough C++ programmers at all. (and the reason I am not afraid of my pension...)
Agh! Reality! My Archnemesis![^]
| FoldWithUs! | sighist | µLaunch - program launcher for server core and hyper-v server. -
This is not your first post praising C++ over other languages. Where does this attitude of superiority code from? Harder is better? I work with a compiler, an IDE, a source control system on an OS running on millions of transistors I couldn't build myself. Maybe I could one of these myself if I would spend a significant part of my life on it - but what would be gained? I do have a measure of better: Solving problems "they" can't solve. I do believe that is one of C++' strengths still. But it's not an accident that in C# displaying database results is easy: It's easy because these are the problems requiring a solution. In the end it's not the language. It's the programmers. The fundamental weakness of C++ is it's complexity and long learning curve before you can checkin non-pair-programmed non-test-driven non-code-reviewed production code. That means there won't be enough C++ programmers at all. (and the reason I am not afraid of my pension...)
Agh! Reality! My Archnemesis![^]
| FoldWithUs! | sighist | µLaunch - program launcher for server core and hyper-v server.peterchen wrote:
Where does this attitude of superiority code from?
I have no feeling of superiority. I am, however, sick of correcting and sometimes rewriting kids' code written in PHP, ASP, Flash, Javascript and I have seen that kids these days cannot code (or at least the ones I worked with).
peterchen wrote:
In the end it's not the language. It's the programmers. The fundamental weakness of C++ is it's complexity and long learning curve before you can checkin non-pair-programmed non-test-driven non-code-reviewed production code. That means there won't be enough C++ programmers at all.
Totally agree.
NULL
-
All in the title.. Never worked with MFC, read a book about it in 1998, tried it and couldn't get into it. Peruse a few C++ book, never found them that appealing. I did write a Uniscribe wrapper in ManagedC++, an ObjectiveC/GNUstep wrapper in ManagedC++ and some OpenGL setup code in C (tapped in with interop), that's about it for my native / C development. Neither did I work with C++ developers. So I wonder what does this strange beast do for a living?
A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.
Diplomatic answer: I'd suggest "average" is a meaningless concept in as diverse a profession as software development, and doubly so among developers using a language like C++. Honest answer: Quite frankly average implies, well, crap,* and that's not at all ideal, really. * That might be in part because I'm just coming down from #accu2010[^], which always reminds me what "Advanced" or "Expert" can really mean. Most of us have a long, long way to go to reach that level.
Anna :rose: Tech Blog | Visual Lint "Why would anyone prefer to wield a weapon that takes both hands at once, when they could use a lighter (and obviously superior) weapon that allows you to wield multiple ones at a time, and thus supports multi-paradigm carnage?"