Both are software development methods.
Agile software development
Lean software development
Bye, Andreas
Both are software development methods.
Agile software development
Lean software development
Bye, Andreas
You say you're trying to plan for the future. I'm trying to explain that the future is not going to have very much C in it. I thought that was relevant.
Code://try //{ if (a) do { f( b); } while(1); else do { f(!b); } while(1); //}
"...a computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are,in short, a perfect match.." Bill Bryson
Code://try //{ if (a) do { f( b); } while(1); else do { f(!b); } while(1); //}
There is still a big part of Microcontroller programming done in C.
Fact - Beethoven wrote his first symphony in C
That is true, but we're working hard to change it. There is a tremendous amount of superstition in the embedded development space surrounding C++. Manufacturers are slowly coming around, but progress is intermittent, and hampered by FUD.
It's unfortunate that Nominal Animal decided to ignore me instead of actually talk it over. I think he confused my attack on a programming language with an attack on the programmers who use it. Sadly, this is an all-too-common reaction.
I really don't want to hijack the OP's thread. If anybody is interested, let's take this to another thread.
Code://try //{ if (a) do { f( b); } while(1); else do { f(!b); } while(1); //}
The Arduino is a subset of C++ - (You can't do everything you can do in C++). I don't think that the compiler is very efficient, so I'd never use it for more than a hobby project - I think that that is doing more harm than good to your cause! I used it for my final year project, and got a little experience with it's implementation of C++.
I'm thinking about starting to program .NET in C++, but for now I don't think that there is any reason for me to learn C++.
Being proficient in C is perfect for my job - I'll probably learn C++ properly one day, but for now I don't need to know it.
Fact - Beethoven wrote his first symphony in C
What Operating Systems are written using C++?
The OS (including device drivers) and embedded programming are two places where C is likely to last the longest.
Tim S.
SNIP
Free free to answer my question in another thread; I will likely find it sooner or later.
Last edited by stahta01; 12-03-2012 at 06:58 PM.
"...a computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are,in short, a perfect match.." Bill Bryson
Don't bother arguing with a religious fanatic; they won't listen to logic or reason, their mind is set. The worst kind is those that are intelligent enough to twist your words to fit their definitions, to avoid even acknowledging the holes in their reasoning. Just like TV evangelistas, for example. They're very good at what they do, but don't let it fool you: they're still fanatics, unable to see anything outside their vision.
They don't care that C++ is already over 30 years old. To them, it is the best thing since sex, and they simply cannot see how others are not as impressed with it as they are. Limited minds, remember?
They don't care that there are more open source C projects than there are C++ projects; literally tens of thousands of software projects, and that discarding that kind of a resource for nothing in return would be sheer insanity. (Perhaps C++ proponents would like to force all C programmers to rewrite the code to be C++ compatible, so they could be labeled C++? I think I've actually seen that proposed somewhere, but I'm not sure if it was a joke or not.)
If you know C, you have that amazing resource at your fingertips. Obviously you need to abide by the licenses, but that should not be a problem today nor in the future. (If you have a client that has a problem with open source, I recommend you run. In my experience, those clients think nothing when breaking copyright laws, as long as their backs are covered by some kind of sacrificial scapegoat. Guess who they like to use for a scapegoat? Run.)
We've already seen the vocal be-all, end-all pontification from Java proponents just a few years earlier. We were all supposed to be running on hardware Java bytecode architectures by now. Yes, there are a few of those, but it turns out that the cost of the abstractions is a real physical cost, no matter what the claims were, and end users are not that interested in subsidizing cheaper development costs with higher purchase prices and energy use.
Because experience shows that the kind of high-abstraction platform that full C++ environment with full standard library involves actual real overheads, especially with exceptions, the C++ evangelistas are now clamoring for embedded environments and microcontrollers to support some form of freestanding or semi-freestanding C++. They pontificate about the benefits of C++ versus C at great length, but will typically be completely offended by requests of actual, practical example code that would work better if implemented in C++. If they do, it will be about as practical example as an one-legged chicken trained to mime. In fact, it seems that the main reason behind the push really is "you have to make it possible for us to write C++ because it is the only language we feel confident in".
I've tried discussing some of the underlying issues with some C++ people in the past. It is useless. They are completely unable to see anything outside their own viewpoint. In fact, based on indirect inferences, I honestly suspect most of the vocal C++ proponents are really failed C programmers. They never found an approach that allowed them to express themselves efficiently in C, without falling prey to common C problems wrt. memory management et cetera. They seem to be completely unable to even tentatively acknowledge the possibility that perhaps the issue was not in the programming language, but in that the paradigm and approach of the language did not fit their patterns of thought. And I personally just don't care enough about C, or any other programming language, to defend against that kind of fanaticism.
Note that I'm not even a C proponent, myself. I don't think most programmers should learn C. It is like a loaded weapon, and sadly most people are not careful enough to be trusted with a safetyless language like C. I do prefer C99 and/or GNU C99 when writing C code, and will rely on implementation-defined behaviour and compiler-specific extensions when they suit me; the standards are more like a guide to me, to look what kind of behaviour I should expect from the compiler and the libraries.
In fact, I happily use whatever tool I find works best. I think I've done commercial programming (maintenance or development) in at least half a dozen different languages -- not counting bash and POSIX shell maintenance scripts and awk-oneliners for fellow scientists --, and aside from perl would be happy to go back to any one of them. (The codebase I worked in perl was so horrible I fear I might get flashbacks; consider it post-crappy-perl-code-trauma if you will, not directly related to perl itself as a language.)
I like to work with C right now, because I feel it is best suited for the stuff I'm working on; anything I can think of, I can express in C. That may change in the future. C wasn't even the first or second programming language for me. For user applications, I've already switched from C++ to Python, because I can do equivalent applications faster, easier, and I like how easy it is to deploy and manage. (Patches, user customization possibilities..) It is not as efficient as C++, but I can always do the heavy work in C or C++, and write a Python interface for it.
For the work I do now, C++ is the utterly useless one. The difference between Brewbuck and me is that I realize that is just my perception, and a consequence from the fact that my needs and viewpoint is limited to my experience and current situation, and does not cover all the facets of programming. I think there are areas where C++ is the best choice, I just don't think that area is "everything".
That was really well written, Nominal Animal. I thought it was interesting that you mentioned the open-source issue as a contrast between the two languages. It reminded me of the movie Tron. They must use C++ at EmCom. Ha ha.
Well, at this point, I am planning on learning C, C++, and Java about equally well, until I can find a job. Actually, I will likely end up learning Java the best just because I will have more credit hours in it. Unless I can find a C company to hire me first. And i just found one today that I applied for, another internship asking for about a year experience in at least one of the following: C, C++, or Java. This job is in the pharmaceutical business. Oh yes, my last internship was at Boeing where we used C and C++ as happy friends together.
I think that your best approach would be to go to a website, like seek.com, and survey what languages are in demand.
I typed in "Software developer" and saw a lot of C# requests, Javascript
I typed in "Embedded engineer" and saw a lot of C/C++ requests
Note that this was for Australia and might vary from country to country.
Fact - Beethoven wrote his first symphony in C
Based on evidence you have provided in your post, a fair few people with a broader viewpoint might be justified in describing you as a religious fanatic. The only difference is that your religion, effectively, is that others have limited minds if they have preferences at odds with your own.
Brewbuck and I have quite different perspectives, but I don't think your comments about him are justified. But, following your advice, I won't bother arguing further.