What makes C and C++ a "good" language?
-
It's good to know different languages and try to understand why they are the way they are. Even more, it's good to know about different technologies (SQL, COM, OLAP, EJB, Corba, XML, JSON, CSS, HTML, etc). It's not about being good, but keeping the right attitude towards developing knowledge. People that know a lot about developing are the ones that admit they know nothing and keep learning, with an open mind. About the pay...that usually involves other skills that have very little to do with technologies or programming...:): http://www.theregister.co.uk/2012/03/21/how_to_get_paid_more/[^]
it´s the journey, not the destination that matters
ErnestoNet wrote:
It's good to know different languages and try to understand why they are the way they are.
Which is why I do in fact know quite a few.
ErnestoNet wrote:
It's not about being good, but keeping the right attitude towards developing knowledge.
People that know a lot about developing are the ones that admit they know nothing and keep learning, with an open mind.And know how to look for objective data as well.
-
ErnestoNet wrote:
In Java and others, you load everything (even if you don't use it).
Wrong. In a number of ways. First both C and C++ in modern compilers commonly rely on shared libraries. Modern OSes load the entire shared library even if one method is used. Static linking although possible isn't normally used on desktop OSes and there is no reason to expect that Java/C# would need to do anything different on a desktop OS. In contrast Java and C# do something similar but, at least for Java, that is done solely as a run time performance optimization. One can create a stripped down version of the library is one wants. And one can also do a load only on use case (at least in java) even if using the standard API jars. I suspect the same is true for C#. And that is true for a desktop OS. If one has an embedded Java SDK then there ware going to be substantial differences when compared to a desktop OS. But the same thing apples to using C in embedded systems as well.
ErnestoNet wrote:
Java and C++ may exist, but they are not used.
If it wasn't used then there wouldn't be companies creating compilers for just that purpose. Googling provides that. A company selling nothing but compilers wouldn't be viable if there wasn't a sizable market of people creating applications using it. As another example the following is a link for a company that specializes in creating java embedded solutions. http://www.k-embedded-java.com/[^] Following is a device. http://www.avidwireless.com/AVIDdirector.html[^]
ErnestoNet wrote:
Java embedded only runs on ARM to start with. It requires at least 130Kb (with tweaking) and 700kb
That is a product that Oracle offers. It is far from the only product out there.
You said it yourself, in C and C++ you can statically link. Or not use. In Java/C# you can't. You load 42Mb rt.jar in Java. About embedded Java in http://www.avidwireless.com/Products.html[^], it looks rather expensive and not a custom solution. Most embedded code I've seen are for PIC modules http://en.wikipedia.org/wiki/PIC_microcontroller[^] We are talking about different kind of machines here.
it´s the journey, not the destination that matters
-
You said it yourself, in C and C++ you can statically link. Or not use. In Java/C# you can't. You load 42Mb rt.jar in Java. About embedded Java in http://www.avidwireless.com/Products.html[^], it looks rather expensive and not a custom solution. Most embedded code I've seen are for PIC modules http://en.wikipedia.org/wiki/PIC_microcontroller[^] We are talking about different kind of machines here.
it´s the journey, not the destination that matters
ErnestoNet wrote:
You said it yourself, in C and C++ you can statically link. Or not use. In Java/C# you can't. You load 42Mb rt.jar in Java.
Actually no I didn't say. Actually I said the opposite. Rather specifically. What part of what I said didn't you understand?
ErnestoNet wrote:
About embedded Java in http://www.avidwireless.com/Products.html[^], it looks rather expensive and not a custom solution.
Which is irrelevant.
ErnestoNet wrote:
We are talking about different kind of machines here.
If you want to define "embedded" software in a specific way and get the developers who currently call themselves embedded developers to agree that they are not in fact embedded developers then go for it. But until then my statement stands.